diff --git a/.gitattributes b/.gitattributes
old mode 100755
new mode 100644
diff --git a/.gitignore b/.gitignore
old mode 100755
new mode 100644
diff --git a/.lfsconfig b/.lfsconfig
old mode 100755
new mode 100644
diff --git a/Compiled Plugins/V2.0/PiacereIDEIntegration.KR03_1.0.0.202206131844.jar b/Compiled Plugins/V2.0/PiacereIDEIntegration.KR03_1.0.0.202206131844.jar
new file mode 100644
index 0000000000000000000000000000000000000000..1b1aab8d74f5dd5c88a17569996261df84831b00
Binary files /dev/null and b/Compiled Plugins/V2.0/PiacereIDEIntegration.KR03_1.0.0.202206131844.jar differ
diff --git a/Compiled Plugins/V2.0/PiacereIDEIntegration.KR05_1.0.0.202206131844.jar b/Compiled Plugins/V2.0/PiacereIDEIntegration.KR05_1.0.0.202206131844.jar
new file mode 100644
index 0000000000000000000000000000000000000000..b34e5b50b5eb9cc9b1d7e982341efcd5923c3e85
Binary files /dev/null and b/Compiled Plugins/V2.0/PiacereIDEIntegration.KR05_1.0.0.202206131844.jar differ
diff --git a/Compiled Plugins/V2.0/PiacereIDEIntegration.KR06And07_1.0.0.202206131844.jar b/Compiled Plugins/V2.0/PiacereIDEIntegration.KR06And07_1.0.0.202206131844.jar
new file mode 100644
index 0000000000000000000000000000000000000000..342e9552be6bd636c65e2d3dd1f653f250d4af52
Binary files /dev/null and b/Compiled Plugins/V2.0/PiacereIDEIntegration.KR06And07_1.0.0.202206131844.jar differ
diff --git a/Compiled Plugins/V2.0/PiacereIDEIntegration.KR08_1.0.0.202206131844.jar b/Compiled Plugins/V2.0/PiacereIDEIntegration.KR08_1.0.0.202206131844.jar
new file mode 100644
index 0000000000000000000000000000000000000000..e2b5a2d11ab0647616d371cb7a9a9a8cec7c1757
Binary files /dev/null and b/Compiled Plugins/V2.0/PiacereIDEIntegration.KR08_1.0.0.202206131844.jar differ
diff --git a/Compiled Plugins/V2.0/PiacereIDEIntegration.KR09_1.0.0.202206131844.jar b/Compiled Plugins/V2.0/PiacereIDEIntegration.KR09_1.0.0.202206131844.jar
new file mode 100644
index 0000000000000000000000000000000000000000..264c4d9a10b18239b72e998c556b72f31938342e
Binary files /dev/null and b/Compiled Plugins/V2.0/PiacereIDEIntegration.KR09_1.0.0.202206131844.jar differ
diff --git a/Compiled Plugins/V2.0/PiacereIDEIntegration.KR10_KR11_KR12_1.0.0.202206131844.jar b/Compiled Plugins/V2.0/PiacereIDEIntegration.KR10_KR11_KR12_1.0.0.202206131844.jar
new file mode 100644
index 0000000000000000000000000000000000000000..267ab28bed6356b99490c386cbeadf6560027073
Binary files /dev/null and b/Compiled Plugins/V2.0/PiacereIDEIntegration.KR10_KR11_KR12_1.0.0.202206131844.jar differ
diff --git a/Compiled Plugins/V2.0/PiacereIDEIntegration.KRIEC_1.0.0.202206131844.jar b/Compiled Plugins/V2.0/PiacereIDEIntegration.KRIEC_1.0.0.202206131844.jar
new file mode 100644
index 0000000000000000000000000000000000000000..b7522575221db9eb2a730a53c2787023ce1c408a
Binary files /dev/null and b/Compiled Plugins/V2.0/PiacereIDEIntegration.KRIEC_1.0.0.202206131844.jar differ
diff --git a/Compiled Plugins/V2.0/PiacereToolCustomization_1.0.0.202206131844.jar b/Compiled Plugins/V2.0/PiacereToolCustomization_1.0.0.202206131844.jar
new file mode 100644
index 0000000000000000000000000000000000000000..709c15b05f804111e3fa32a23a1dc802888c12b5
Binary files /dev/null and b/Compiled Plugins/V2.0/PiacereToolCustomization_1.0.0.202206131844.jar differ
diff --git a/Compiled Plugins/V2.0/PiacereToolExtensions_1.0.0.202206131844.jar b/Compiled Plugins/V2.0/PiacereToolExtensions_1.0.0.202206131844.jar
new file mode 100644
index 0000000000000000000000000000000000000000..e71dd5b4a0909dc875b5048e6a8f4a44329d6ad2
Binary files /dev/null and b/Compiled Plugins/V2.0/PiacereToolExtensions_1.0.0.202206131844.jar differ
diff --git a/Compiled Plugins/V2.0/eu.piacere.doml.edit_1.0.0.202206131844.jar b/Compiled Plugins/V2.0/eu.piacere.doml.edit_1.0.0.202206131844.jar
new file mode 100644
index 0000000000000000000000000000000000000000..fe0041aaf942d93cdb8812cc4ae30d0c2120d174
Binary files /dev/null and b/Compiled Plugins/V2.0/eu.piacere.doml.edit_1.0.0.202206131844.jar differ
diff --git a/Compiled Plugins/V2.0/eu.piacere.doml.editor_1.0.0.202206131844.jar b/Compiled Plugins/V2.0/eu.piacere.doml.editor_1.0.0.202206131844.jar
new file mode 100644
index 0000000000000000000000000000000000000000..d2ab78243f8585c23fec6c9c05093bc0e28ecc9c
Binary files /dev/null and b/Compiled Plugins/V2.0/eu.piacere.doml.editor_1.0.0.202206131844.jar differ
diff --git a/Compiled Plugins/V2.0/eu.piacere.doml.grammar.ide_1.0.0.202206131844.jar b/Compiled Plugins/V2.0/eu.piacere.doml.grammar.ide_1.0.0.202206131844.jar
new file mode 100644
index 0000000000000000000000000000000000000000..1ed9611dffd8d4094db5e97087fc5eb32299e8c0
Binary files /dev/null and b/Compiled Plugins/V2.0/eu.piacere.doml.grammar.ide_1.0.0.202206131844.jar differ
diff --git a/Compiled Plugins/V2.0/eu.piacere.doml.grammar.ui_1.0.0.202206131844.jar b/Compiled Plugins/V2.0/eu.piacere.doml.grammar.ui_1.0.0.202206131844.jar
new file mode 100644
index 0000000000000000000000000000000000000000..747c11348cb8f347a95855754bfe17cfda863b62
Binary files /dev/null and b/Compiled Plugins/V2.0/eu.piacere.doml.grammar.ui_1.0.0.202206131844.jar differ
diff --git a/Compiled Plugins/V2.0/eu.piacere.doml.grammar_1.0.0.202206131844.jar b/Compiled Plugins/V2.0/eu.piacere.doml.grammar_1.0.0.202206131844.jar
new file mode 100644
index 0000000000000000000000000000000000000000..0c2f8718422d8a2887cac640ff354787c8619595
Binary files /dev/null and b/Compiled Plugins/V2.0/eu.piacere.doml.grammar_1.0.0.202206131844.jar differ
diff --git a/Compiled Plugins/V2.0/eu.piacere.doml_0.1.0.202206131844.jar b/Compiled Plugins/V2.0/eu.piacere.doml_0.1.0.202206131844.jar
new file mode 100644
index 0000000000000000000000000000000000000000..f7f56311c45e4a8a49111685520932638885b498
Binary files /dev/null and b/Compiled Plugins/V2.0/eu.piacere.doml_0.1.0.202206131844.jar differ
diff --git a/Compiled Plugins/V2.1/PiacereIDEIntegration.KR03_1.0.0.202210191821.jar b/Compiled Plugins/V2.1/PiacereIDEIntegration.KR03_1.0.0.202210191821.jar
new file mode 100644
index 0000000000000000000000000000000000000000..1f938c8a5e207007a30f0357126b791e0e5bc855
Binary files /dev/null and b/Compiled Plugins/V2.1/PiacereIDEIntegration.KR03_1.0.0.202210191821.jar differ
diff --git a/Compiled Plugins/V2.1/PiacereIDEIntegration.KR05_1.0.0.202210191821.jar b/Compiled Plugins/V2.1/PiacereIDEIntegration.KR05_1.0.0.202210191821.jar
new file mode 100644
index 0000000000000000000000000000000000000000..3e677b9e9c1703c0c8b2430f8220bd288c4922ad
Binary files /dev/null and b/Compiled Plugins/V2.1/PiacereIDEIntegration.KR05_1.0.0.202210191821.jar differ
diff --git a/Compiled Plugins/V2.1/PiacereIDEIntegration.KR06And07_1.0.0.202210191821.jar b/Compiled Plugins/V2.1/PiacereIDEIntegration.KR06And07_1.0.0.202210191821.jar
new file mode 100644
index 0000000000000000000000000000000000000000..b7c842b224d4f4b7cc3e49d68ff1496d9dc7ca29
Binary files /dev/null and b/Compiled Plugins/V2.1/PiacereIDEIntegration.KR06And07_1.0.0.202210191821.jar differ
diff --git a/Compiled Plugins/V2.1/PiacereIDEIntegration.KR08_1.0.0.202210191821.jar b/Compiled Plugins/V2.1/PiacereIDEIntegration.KR08_1.0.0.202210191821.jar
new file mode 100644
index 0000000000000000000000000000000000000000..70d33a5a60c6acc304e04ca3ce530e6adb185524
Binary files /dev/null and b/Compiled Plugins/V2.1/PiacereIDEIntegration.KR08_1.0.0.202210191821.jar differ
diff --git a/Compiled Plugins/V2.1/PiacereIDEIntegration.KR09_1.0.0.202210191821.jar b/Compiled Plugins/V2.1/PiacereIDEIntegration.KR09_1.0.0.202210191821.jar
new file mode 100644
index 0000000000000000000000000000000000000000..5ab004999675404d62634e28d615c073b5c2f6b8
Binary files /dev/null and b/Compiled Plugins/V2.1/PiacereIDEIntegration.KR09_1.0.0.202210191821.jar differ
diff --git a/Compiled Plugins/V2.1/PiacereIDEIntegration.KR10_KR11_KR12_1.0.0.202210191821.jar b/Compiled Plugins/V2.1/PiacereIDEIntegration.KR10_KR11_KR12_1.0.0.202210191821.jar
new file mode 100644
index 0000000000000000000000000000000000000000..332f555e35e9b6c155cfea2730311c1143c22c1c
Binary files /dev/null and b/Compiled Plugins/V2.1/PiacereIDEIntegration.KR10_KR11_KR12_1.0.0.202210191821.jar differ
diff --git a/Compiled Plugins/V2.1/PiacereIDEIntegration.KRIEC_1.0.0.202210191821.jar b/Compiled Plugins/V2.1/PiacereIDEIntegration.KRIEC_1.0.0.202210191821.jar
new file mode 100644
index 0000000000000000000000000000000000000000..39b6fa66449d4fbac0fa9ae1d6aca2e4b08231b1
Binary files /dev/null and b/Compiled Plugins/V2.1/PiacereIDEIntegration.KRIEC_1.0.0.202210191821.jar differ
diff --git a/Compiled Plugins/V2.1/PiacereToolCustomization_1.0.0.202210191821.jar b/Compiled Plugins/V2.1/PiacereToolCustomization_1.0.0.202210191821.jar
new file mode 100644
index 0000000000000000000000000000000000000000..22ee9ca92497e30ae1f502779f418cdd861c6209
Binary files /dev/null and b/Compiled Plugins/V2.1/PiacereToolCustomization_1.0.0.202210191821.jar differ
diff --git a/Compiled Plugins/V2.1/PiacereToolExtensions_1.0.0.202210191821.jar b/Compiled Plugins/V2.1/PiacereToolExtensions_1.0.0.202210191821.jar
new file mode 100644
index 0000000000000000000000000000000000000000..a3f6494c6f5d228111b2313f15a38e714313bdec
Binary files /dev/null and b/Compiled Plugins/V2.1/PiacereToolExtensions_1.0.0.202210191821.jar differ
diff --git a/Compiled Plugins/V2.1/eu.piacere.doml.edit_1.0.0.202210191821.jar b/Compiled Plugins/V2.1/eu.piacere.doml.edit_1.0.0.202210191821.jar
new file mode 100644
index 0000000000000000000000000000000000000000..74b71c71b3226f180c796433d5f8b5354747a0eb
Binary files /dev/null and b/Compiled Plugins/V2.1/eu.piacere.doml.edit_1.0.0.202210191821.jar differ
diff --git a/Compiled Plugins/V2.1/eu.piacere.doml.editor_1.0.0.202210191821.jar b/Compiled Plugins/V2.1/eu.piacere.doml.editor_1.0.0.202210191821.jar
new file mode 100644
index 0000000000000000000000000000000000000000..cdb71ea0e500782dcd1e8bdd9afaf2dd66be1b1a
Binary files /dev/null and b/Compiled Plugins/V2.1/eu.piacere.doml.editor_1.0.0.202210191821.jar differ
diff --git a/Compiled Plugins/V2.1/eu.piacere.doml.grammar.ide_1.0.0.202210191821.jar b/Compiled Plugins/V2.1/eu.piacere.doml.grammar.ide_1.0.0.202210191821.jar
new file mode 100644
index 0000000000000000000000000000000000000000..ac16895d51c8f47c2b4de748362d01090cd26286
Binary files /dev/null and b/Compiled Plugins/V2.1/eu.piacere.doml.grammar.ide_1.0.0.202210191821.jar differ
diff --git a/Compiled Plugins/V2.1/eu.piacere.doml.grammar.ui_1.0.0.202210191821.jar b/Compiled Plugins/V2.1/eu.piacere.doml.grammar.ui_1.0.0.202210191821.jar
new file mode 100644
index 0000000000000000000000000000000000000000..e6eac68ac0532756b8b945429db726e3d9c939a6
Binary files /dev/null and b/Compiled Plugins/V2.1/eu.piacere.doml.grammar.ui_1.0.0.202210191821.jar differ
diff --git a/Compiled Plugins/V2.1/eu.piacere.doml.grammar_1.0.0.202210191821.jar b/Compiled Plugins/V2.1/eu.piacere.doml.grammar_1.0.0.202210191821.jar
new file mode 100644
index 0000000000000000000000000000000000000000..11266ee19369c152157f694ce75aab69b952dc85
Binary files /dev/null and b/Compiled Plugins/V2.1/eu.piacere.doml.grammar_1.0.0.202210191821.jar differ
diff --git a/Compiled Plugins/V2.1/eu.piacere.doml_0.1.0.202210191821.jar b/Compiled Plugins/V2.1/eu.piacere.doml_0.1.0.202210191821.jar
new file mode 100644
index 0000000000000000000000000000000000000000..6c137a31107cf31eb5e868938aa3f744fb27eea2
Binary files /dev/null and b/Compiled Plugins/V2.1/eu.piacere.doml_0.1.0.202210191821.jar differ
diff --git a/ECLIPSE_BASED_IDE/DOML 1.0/OSX/.gitkeep b/ECLIPSE_BASED_IDE/DOML 1.0/OSX/.gitkeep
old mode 100755
new mode 100644
diff --git a/ECLIPSE_BASED_IDE/DOML 1.0/OSX/Piacere.zip b/ECLIPSE_BASED_IDE/DOML 1.0/OSX/Piacere.zip
old mode 100755
new mode 100644
diff --git a/ECLIPSE_BASED_IDE/DOML 1.0/UBUNTU ARM/.gitkeep b/ECLIPSE_BASED_IDE/DOML 1.0/UBUNTU ARM/.gitkeep
old mode 100755
new mode 100644
diff --git a/ECLIPSE_BASED_IDE/DOML 1.0/UBUNTU ARM/Piacere.zip b/ECLIPSE_BASED_IDE/DOML 1.0/UBUNTU ARM/Piacere.zip
old mode 100755
new mode 100644
diff --git a/ECLIPSE_BASED_IDE/DOML 1.0/UBUNTU x86-64/.gitkeep b/ECLIPSE_BASED_IDE/DOML 1.0/UBUNTU x86-64/.gitkeep
old mode 100755
new mode 100644
diff --git a/ECLIPSE_BASED_IDE/DOML 1.0/UBUNTU x86-64/Piacere.zip b/ECLIPSE_BASED_IDE/DOML 1.0/UBUNTU x86-64/Piacere.zip
old mode 100755
new mode 100644
diff --git a/ECLIPSE_BASED_IDE/DOML 1.0/WIN/Piacere.zip b/ECLIPSE_BASED_IDE/DOML 1.0/WIN/Piacere.zip
old mode 100755
new mode 100644
diff --git a/ECLIPSE_BASED_IDE/DOML 2.0/OSX/Piacere.zip b/ECLIPSE_BASED_IDE/DOML 2.0/OSX/Piacere.zip
old mode 100755
new mode 100644
diff --git a/ECLIPSE_BASED_IDE/DOML 2.0/OSX/dummy b/ECLIPSE_BASED_IDE/DOML 2.0/OSX/dummy
old mode 100755
new mode 100644
diff --git a/ECLIPSE_BASED_IDE/DOML 2.0/UBUNTU ARM/Piacere.zip b/ECLIPSE_BASED_IDE/DOML 2.0/UBUNTU ARM/Piacere.zip
old mode 100755
new mode 100644
diff --git a/ECLIPSE_BASED_IDE/DOML 2.0/UBUNTU ARM/dummy b/ECLIPSE_BASED_IDE/DOML 2.0/UBUNTU ARM/dummy
old mode 100755
new mode 100644
diff --git a/ECLIPSE_BASED_IDE/DOML 2.0/UBUNTU x86-64/PIACERE.zip b/ECLIPSE_BASED_IDE/DOML 2.0/UBUNTU x86-64/PIACERE.zip
old mode 100755
new mode 100644
diff --git a/ECLIPSE_BASED_IDE/DOML 2.0/UBUNTU x86-64/dummy b/ECLIPSE_BASED_IDE/DOML 2.0/UBUNTU x86-64/dummy
old mode 100755
new mode 100644
diff --git a/ECLIPSE_BASED_IDE/DOML 2.0/WIN/Piacere.zip b/ECLIPSE_BASED_IDE/DOML 2.0/WIN/Piacere.zip
old mode 100755
new mode 100644
diff --git a/ECLIPSE_BASED_IDE/DOML 2.0/WIN/dummy b/ECLIPSE_BASED_IDE/DOML 2.0/WIN/dummy
old mode 100755
new mode 100644
diff --git a/ECLIPSE_BASED_IDE/DOML 2.1/OSX/Piacere.zip b/ECLIPSE_BASED_IDE/DOML 2.1/OSX/Piacere.zip
new file mode 100644
index 0000000000000000000000000000000000000000..1cb11a59fca5d9312aff8c7ed32c09b351f783e7
--- /dev/null
+++ b/ECLIPSE_BASED_IDE/DOML 2.1/OSX/Piacere.zip	
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:965bcbacd17b00fd1f964cfe17c617ab2bb823690a7e1f948bab2abeb734c21a
+size 605928102
diff --git a/ECLIPSE_BASED_IDE/DOML 2.1/OSX/dummy b/ECLIPSE_BASED_IDE/DOML 2.1/OSX/dummy
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/ECLIPSE_BASED_IDE/DOML 2.1/UBUNTU ARM/Piacere.zip b/ECLIPSE_BASED_IDE/DOML 2.1/UBUNTU ARM/Piacere.zip
new file mode 100644
index 0000000000000000000000000000000000000000..81b69d6236249c1693ef75371ee7b209359f0f19
--- /dev/null
+++ b/ECLIPSE_BASED_IDE/DOML 2.1/UBUNTU ARM/Piacere.zip	
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:22edfa35c7c1ef8d7e2d8f17087ae284bc152eeb123d23f49d28d401aa95e3ce
+size 470222437
diff --git a/ECLIPSE_BASED_IDE/DOML 2.1/UBUNTU ARM/dummy b/ECLIPSE_BASED_IDE/DOML 2.1/UBUNTU ARM/dummy
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/ECLIPSE_BASED_IDE/DOML 2.1/UBUNTU x86-64/Piacere.zip b/ECLIPSE_BASED_IDE/DOML 2.1/UBUNTU x86-64/Piacere.zip
new file mode 100644
index 0000000000000000000000000000000000000000..8862a7e0cc297dbf774904ad61a9e55f183c67e0
--- /dev/null
+++ b/ECLIPSE_BASED_IDE/DOML 2.1/UBUNTU x86-64/Piacere.zip	
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:fbdbeb6cd29e6339466830b96a2686a00c788cdcf95688203917df3eedcaa5f1
+size 622675584
diff --git a/ECLIPSE_BASED_IDE/DOML 2.1/UBUNTU x86-64/dummy b/ECLIPSE_BASED_IDE/DOML 2.1/UBUNTU x86-64/dummy
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/ECLIPSE_BASED_IDE/DOML 2.1/WIN/Piacere.zip b/ECLIPSE_BASED_IDE/DOML 2.1/WIN/Piacere.zip
new file mode 100644
index 0000000000000000000000000000000000000000..999e9da511ddc223ff77a85ab91341a8d034cedc
--- /dev/null
+++ b/ECLIPSE_BASED_IDE/DOML 2.1/WIN/Piacere.zip	
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:f7f3a2b447be8167c24ce697b2ea1fcd161d345889790ecbb52adb4d7434aa7a
+size 602680391
diff --git a/ECLIPSE_BASED_IDE/DOML 2.1/WIN/dummy b/ECLIPSE_BASED_IDE/DOML 2.1/WIN/dummy
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/README.md b/README.md
old mode 100755
new mode 100644
index 2b1dbde73c51cc3f3bd7f00a9358d66868ca0b8a..35791398e8d336d2be68b4c7139ee62d2e131ba5
--- a/README.md
+++ b/README.md
@@ -21,7 +21,7 @@ echo you require lfs, the following command must report the installed version ot
 git lfs version
 echo this is something that I have done to be able to migrate the repo to lfs and avoid timeout problems
 git config lfs.activitytimeout 120
-git clone  https://git.code.tecnalia.com/piacere/public/the-platform/ide.git 
+git clone https://git.code.tecnalia.com/piacere/private/ide_tool.git
 cd ide_tool
 echo choose your IDE
 ls -l "ECLIPSE_BASED_IDE/DOML 1.0/WIN/Piacere.zip"
@@ -45,7 +45,7 @@ echo you require lfs, the following command must report the installed version ot
 git lfs version
 echo this is something that I have done to be able to migrate the repo to lfs and avoid timeout problems
 git config lfs.activitytimeout 120
-git clone  https://git.code.tecnalia.com/piacere/public/the-platform/ide.git
+git clone https://git.code.tecnalia.com/piacere/private/ide_tool.git
 cd ide_tool
 echo choose your IDE
 cp Somewhere/Piacere.zip "ECLIPSE_BASED_IDE/DOML 1.0/WIN/Piacere.zip"
diff --git a/Source Code/.gitkeep b/Source Code/.gitkeep
old mode 100755
new mode 100644
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR03/.classpath b/Source Code/V2.0/PiacereIDEIntegration.KR03/.classpath
new file mode 100644
index 0000000000000000000000000000000000000000..81fe078c20c05db46a8281fbb1a72875a5322b45
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KR03/.classpath	
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-17"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR03/.gitignore b/Source Code/V2.0/PiacereIDEIntegration.KR03/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..ae3c1726048cd06b9a143e0376ed46dd9b9a8d53
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KR03/.gitignore	
@@ -0,0 +1 @@
+/bin/
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR03/.project b/Source Code/V2.0/PiacereIDEIntegration.KR03/.project
new file mode 100644
index 0000000000000000000000000000000000000000..851c45bf6199b05e81499352e11341bc20f790bf
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KR03/.project	
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>PiacereIDEIntegration.KR03</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR03/.settings/org.eclipse.jdt.core.prefs b/Source Code/V2.0/PiacereIDEIntegration.KR03/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000000000000000000000000000000000000..62ef3488cc0468ee9c2d4440dfbbbd5877cd0c28
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KR03/.settings/org.eclipse.jdt.core.prefs	
@@ -0,0 +1,9 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=17
+org.eclipse.jdt.core.compiler.compliance=17
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
+org.eclipse.jdt.core.compiler.release=enabled
+org.eclipse.jdt.core.compiler.source=17
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR03/META-INF/MANIFEST.MF b/Source Code/V2.0/PiacereIDEIntegration.KR03/META-INF/MANIFEST.MF
new file mode 100644
index 0000000000000000000000000000000000000000..951134b9c2629f1cf0c780e37603ec5633340c8c
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KR03/META-INF/MANIFEST.MF	
@@ -0,0 +1,23 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: KR03
+Bundle-SymbolicName: PiacereIDEIntegration.KR03;singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Automatic-Module-Name: PiacereIDEIntegration.KR03
+Require-Bundle: org.eclipse.ui,
+ org.eclipse.core.runtime,
+ org.apache.httpcomponents.httpcore
+Import-Package: eu.piacere.doml.doml.commons,
+ eu.piacere.piacereTool.utils,
+ org.apache.commons.io,
+ org.apache.http.client;version="4.5.13",
+ org.apache.http.client.methods;version="4.5.13",
+ org.apache.http.impl.client;version="4.5.13",
+ org.eclipse.core.resources,
+ org.eclipse.core.runtime.preferences;version="3.4.0",
+ org.eclipse.emf.common.util,
+ org.eclipse.emf.ecore,
+ org.eclipse.emf.ecore.resource,
+ org.eclipse.emf.ecore.resource.impl,
+ org.eclipse.emf.ecore.util,
+ org.json
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR03/Piacere/PiacereIcon_16x16.png b/Source Code/V2.0/PiacereIDEIntegration.KR03/Piacere/PiacereIcon_16x16.png
new file mode 100644
index 0000000000000000000000000000000000000000..444de54d6cfe2958fac1bbb89dd8619b4c537c47
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KR03/Piacere/PiacereIcon_16x16.png differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR03/build.properties b/Source Code/V2.0/PiacereIDEIntegration.KR03/build.properties
new file mode 100644
index 0000000000000000000000000000000000000000..52086a7c305694aa678bde0640768488a5cf8e4f
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KR03/build.properties	
@@ -0,0 +1,6 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+               .,\
+               plugin.xml,\
+               Piacere/
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR03/plugin.xml b/Source Code/V2.0/PiacereIDEIntegration.KR03/plugin.xml
new file mode 100644
index 0000000000000000000000000000000000000000..1ecca739d4a205cd2489cf76d9dcc1783c3b0b29
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KR03/plugin.xml	
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+<plugin>
+   <extension
+         point="org.eclipse.ui.preferencePages">
+      <page
+            category="PiacereToolCustomization.preferences.page1"
+            class="eu.piacere.ide.toolIntegration.kr03.preferencePage.KR03PreferencePage"
+            id="PiacereIDEIntegration.KR03.preferences.page1"
+            name="Infrastructural Code Generator Preferences">
+      </page>
+   </extension>
+   <extension
+         point="org.eclipse.core.runtime.preferences">
+      <initializer
+            class="eu.piacere.ide.toolIntegration.kr03.preferencePage.KR03PreferenceInitializer">
+      </initializer>
+   </extension>
+   <extension
+         point="org.eclipse.ui.commands">
+      <command
+            categoryId="eu.piacere.piacereModelsCommands.category.id"
+            defaultHandler="eu.piacere.ide.toolIntegration.kr03.commandHandlers.CodeGeneratorCommandHandler"
+            id="eu.piacere.piacereModelsCommands.codeGeneratorCommand.id"
+            name="Generate Code">
+      </command>
+   </extension>
+   <extension
+         point="org.eclipse.ui.menus">
+      <menuContribution
+            allPopups="false"
+            locationURI="popup:eu.piacere.eclipsePopupMenu.id">
+         <command
+               commandId="eu.piacere.piacereModelsCommands.codeGeneratorCommand.id"
+               icon="Piacere/PiacereIcon_16x16.png"
+               label="Generate IaC Code"
+               style="push"
+               tooltip="Generate IaC code using DOML">
+            <visibleWhen
+                  checkEnabled="false">
+               <reference
+                     definitionId="eu.piacere.piacereTool.propertyTesters.extensionPropertyTester.isDOMLXModel.id">
+               </reference>
+            </visibleWhen>
+         </command>
+      </menuContribution>
+   </extension>
+
+</plugin>
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR03/src/eu/piacere/ide/toolIntegration/kr03/commandHandlers/CodeGeneratorCommandHandler.java b/Source Code/V2.0/PiacereIDEIntegration.KR03/src/eu/piacere/ide/toolIntegration/kr03/commandHandlers/CodeGeneratorCommandHandler.java
new file mode 100644
index 0000000000000000000000000000000000000000..8c4e12287bab59afaf15913c2b7b606a1a8b43d7
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KR03/src/eu/piacere/ide/toolIntegration/kr03/commandHandlers/CodeGeneratorCommandHandler.java	
@@ -0,0 +1,84 @@
+package eu.piacere.ide.toolIntegration.kr03.commandHandlers;
+
+import java.io.FileOutputStream;
+import java.io.IOException;
+
+import org.apache.http.client.ClientProtocolException;
+import org.apache.http.client.HttpClient;
+import org.apache.http.client.methods.CloseableHttpResponse;
+import org.apache.http.client.methods.HttpPost;
+import org.apache.http.entity.StringEntity;
+import org.apache.http.impl.client.HttpClientBuilder;
+import org.eclipse.core.commands.AbstractHandler;
+import org.eclipse.core.commands.ExecutionEvent;
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.ui.handlers.HandlerUtil;
+import org.json.JSONException;
+
+import eu.piacere.piacereTool.utils.FileUtils;
+import eu.piacere.piacereTool.utils.ToolCustomizationUtils;
+
+public class CodeGeneratorCommandHandler extends AbstractHandler{
+
+	private void doPostRequestToValidator(String fileContent, String path, String defaultFileName) throws ClientProtocolException, IOException, JSONException {
+		HttpClient httpClient = HttpClientBuilder.create().build();
+
+		String url=ToolCustomizationUtils.getPreference(this.getClass(), "KR03.protocol")+"://"+ToolCustomizationUtils.getPreference(this.getClass(), "KR03.host")+":"+ToolCustomizationUtils.getPreference(this.getClass(), "KR03.port")+"/iac/files";
+
+		HttpPost httpPost = new HttpPost(url);
+
+		StringEntity entity = new StringEntity(fileContent);
+		httpPost.setEntity(entity);
+
+		httpPost.setHeader("Accept", "application/json");
+		httpPost.setHeader("Content-type", "application/xml");
+
+		CloseableHttpResponse response = (CloseableHttpResponse) httpClient.execute(httpPost);
+		if(response.getStatusLine().getStatusCode()==200) {
+
+			String generationFileName=ToolCustomizationUtils.doDialogAsk("IaC Code Generator", "Enter the IaC Code File Name", defaultFileName);
+
+			FileOutputStream fos = new FileOutputStream(path + "//" + generationFileName+"_"+FileUtils.getTimestamp()+".tar.gz");
+			int br = -1;
+			byte[] buffer = new byte[4096];
+			while ((br = response.getEntity().getContent().read(buffer)) != -1 ) {
+				fos.write(buffer, 0, br);
+			}
+			fos.close();	
+		} 
+
+		else {
+			ToolCustomizationUtils.showErrorDialog("Code Generator", "Error: " + response.getStatusLine().getStatusCode() + ".\n\nCan not generate the IaC code.");
+		}
+	}
+
+	@Override
+	public Object execute(ExecutionEvent event) throws ExecutionException {
+		ToolCustomizationUtils.saveWorkbench();
+		ISelection selection = HandlerUtil.getCurrentSelection(event);
+		if (selection instanceof StructuredSelection) {
+			if(((StructuredSelection)selection).getFirstElement() instanceof IFile){
+				IFile res = (IFile)((StructuredSelection) selection).getFirstElement();
+
+				String fileContent=FileUtils.getIFileContents(res);
+				if(fileContent==null) {
+					return null;
+				}
+
+				String path = res.getLocation().removeLastSegments(1).toString();
+				try {
+					doPostRequestToValidator(fileContent, path, res.getFullPath().lastSegment().replace(".domlx", ""));
+					res.getParent().refreshLocal(IResource.DEPTH_INFINITE, null);
+				} catch (IOException | JSONException | CoreException e2) {
+					e2.printStackTrace();
+				}
+			}
+		}
+		return null;
+	}
+}
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR03/src/eu/piacere/ide/toolIntegration/kr03/preferencePage/KR03PreferenceInitializer.java b/Source Code/V2.0/PiacereIDEIntegration.KR03/src/eu/piacere/ide/toolIntegration/kr03/preferencePage/KR03PreferenceInitializer.java
new file mode 100644
index 0000000000000000000000000000000000000000..7a5e270927f78167e5a913e7e4052ba7ecf74343
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KR03/src/eu/piacere/ide/toolIntegration/kr03/preferencePage/KR03PreferenceInitializer.java	
@@ -0,0 +1,22 @@
+package eu.piacere.ide.toolIntegration.kr03.preferencePage;
+
+import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer;
+import org.eclipse.core.runtime.preferences.ConfigurationScope;
+import org.eclipse.ui.preferences.ScopedPreferenceStore;
+import org.osgi.framework.FrameworkUtil;
+
+import eu.piacere.ide.toolIntegration.kr03.preferencePage.KR03PreferenceInitializer;
+
+public class KR03PreferenceInitializer extends AbstractPreferenceInitializer {
+
+	@Override
+	public void initializeDefaultPreferences() {
+		
+		ScopedPreferenceStore scopedPreferenceStore = new ScopedPreferenceStore(ConfigurationScope.INSTANCE,(FrameworkUtil.getBundle(KR03PreferenceInitializer.class)).getSymbolicName());
+        scopedPreferenceStore.setDefault("KR03.host", "icg.ci.piacere.digital.tecnalia.dev");
+        scopedPreferenceStore.setDefault("KR03.port", 443);
+        scopedPreferenceStore.setDefault("KR03.protocol", "https");
+
+	}
+
+}
\ No newline at end of file
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR03/src/eu/piacere/ide/toolIntegration/kr03/preferencePage/KR03PreferencePage.java b/Source Code/V2.0/PiacereIDEIntegration.KR03/src/eu/piacere/ide/toolIntegration/kr03/preferencePage/KR03PreferencePage.java
new file mode 100644
index 0000000000000000000000000000000000000000..4c26e99bc5da8a16575ff91146258190919ecb52
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KR03/src/eu/piacere/ide/toolIntegration/kr03/preferencePage/KR03PreferencePage.java	
@@ -0,0 +1,36 @@
+package eu.piacere.ide.toolIntegration.kr03.preferencePage;
+
+import org.eclipse.core.runtime.preferences.ConfigurationScope;
+import org.eclipse.jface.preference.FieldEditorPreferencePage;
+import org.eclipse.jface.preference.IntegerFieldEditor;
+import org.eclipse.jface.preference.RadioGroupFieldEditor;
+import org.eclipse.jface.preference.StringFieldEditor;
+import org.eclipse.ui.IWorkbench;
+import org.eclipse.ui.IWorkbenchPreferencePage;
+import org.eclipse.ui.preferences.ScopedPreferenceStore;
+import org.osgi.framework.FrameworkUtil;
+
+public class KR03PreferencePage extends FieldEditorPreferencePage implements IWorkbenchPreferencePage {
+
+	public KR03PreferencePage() {
+		super(GRID);
+	}
+
+	@Override
+	public void init(IWorkbench workbench) {
+		//WHICH SCOPE SHOULD I SELECT: https://wiki.eclipse.org/FAQ_What_is_a_preference_scope%3F
+
+		setPreferenceStore(new ScopedPreferenceStore(ConfigurationScope.INSTANCE, (FrameworkUtil.getBundle(KR03PreferenceInitializer.class)).getSymbolicName()));
+		setDescription("These Are The Infrastructural Code Generator Preferences");
+
+	}
+
+	@Override
+	protected void createFieldEditors() {
+		addField(new StringFieldEditor("KR03.host", "Endpoint Host", getFieldEditorParent()));
+		addField(new IntegerFieldEditor("KR03.port", "Endpoint Port", getFieldEditorParent()));
+		addField(new RadioGroupFieldEditor("KR03.protocol", "Protocol", 1, new String[][] {{"HTTP","http"},{"HTTPS","https"}}, getFieldEditorParent()));
+
+	}
+
+}
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR05/.classpath b/Source Code/V2.0/PiacereIDEIntegration.KR05/.classpath
new file mode 100644
index 0000000000000000000000000000000000000000..1fa3e6803d3b22e055b735220510616c4e35f2fc
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KR05/.classpath	
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR05/.gitignore b/Source Code/V2.0/PiacereIDEIntegration.KR05/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..ae3c1726048cd06b9a143e0376ed46dd9b9a8d53
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KR05/.gitignore	
@@ -0,0 +1 @@
+/bin/
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR05/.project b/Source Code/V2.0/PiacereIDEIntegration.KR05/.project
new file mode 100644
index 0000000000000000000000000000000000000000..1ae7a77bc897917bd4e7579cdbc86ebfaa189192
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KR05/.project	
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>PiacereIDEIntegration.KR05</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR05/META-INF/MANIFEST.MF b/Source Code/V2.0/PiacereIDEIntegration.KR05/META-INF/MANIFEST.MF
new file mode 100644
index 0000000000000000000000000000000000000000..1e759f6bd6a99befc22c64b4edac3a95f3b81664
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KR05/META-INF/MANIFEST.MF	
@@ -0,0 +1,23 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: KR05
+Bundle-SymbolicName: PiacereIDEIntegration.KR05;singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Automatic-Module-Name: PiacereIDEIntegration.KR05
+Require-Bundle: org.eclipse.ui,
+ org.eclipse.core.runtime,
+ org.apache.httpcomponents.httpcore
+Import-Package: eu.piacere.doml.doml.commons,
+ eu.piacere.piacereTool.utils,
+ org.apache.commons.io,
+ org.apache.http.client;version="4.5.13",
+ org.apache.http.client.methods;version="4.5.13",
+ org.apache.http.impl.client;version="4.5.13",
+ org.eclipse.core.resources,
+ org.eclipse.core.runtime.preferences;version="3.4.0",
+ org.eclipse.emf.common.util,
+ org.eclipse.emf.ecore,
+ org.eclipse.emf.ecore.resource,
+ org.eclipse.emf.ecore.resource.impl,
+ org.eclipse.emf.ecore.util,
+ org.json
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR05/Piacere/PiacereIcon_16x16.png b/Source Code/V2.0/PiacereIDEIntegration.KR05/Piacere/PiacereIcon_16x16.png
new file mode 100644
index 0000000000000000000000000000000000000000..444de54d6cfe2958fac1bbb89dd8619b4c537c47
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KR05/Piacere/PiacereIcon_16x16.png differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR05/build.properties b/Source Code/V2.0/PiacereIDEIntegration.KR05/build.properties
new file mode 100644
index 0000000000000000000000000000000000000000..52086a7c305694aa678bde0640768488a5cf8e4f
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KR05/build.properties	
@@ -0,0 +1,6 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+               .,\
+               plugin.xml,\
+               Piacere/
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR05/plugin.xml b/Source Code/V2.0/PiacereIDEIntegration.KR05/plugin.xml
new file mode 100644
index 0000000000000000000000000000000000000000..21081ccf6ff1a358ecdb9681735807feae18b862
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KR05/plugin.xml	
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+<plugin>
+   <extension
+         point="org.eclipse.ui.preferencePages">
+      <page
+            category="PiacereToolCustomization.preferences.page1"
+            class="eu.piacere.ide.toolIntegration.kr05.preferencePage.KR05PreferencePage"
+            id="PiacereIDEIntegration.KR05.preferences.page1"
+            name="Model Checker Preferences">
+      </page>
+   </extension>
+   <extension
+         point="org.eclipse.core.runtime.preferences">
+      <initializer
+            class="eu.piacere.ide.toolIntegration.kr05.preferencePage.KR05PreferenceInitializer">
+      </initializer>
+   </extension>
+   
+   <extension
+         point="org.eclipse.ui.commands">
+      <command
+            categoryId="eu.piacere.piacereModelsCommands.category.id"
+            defaultHandler="eu.piacere.ide.toolIntegration.kr05.commandHandlers.ValidateDOMLCommandHandler"
+            id="eu.piacere.piacereModelsCommands.validateDOMLCommand.id"
+            name="Validate DOML">
+      </command>
+   </extension>
+   <extension
+         point="org.eclipse.ui.menus">
+      <menuContribution
+            allPopups="false"
+            locationURI="popup:eu.piacere.eclipsePopupMenu.id">
+         <command
+               commandId="eu.piacere.piacereModelsCommands.validateDOMLCommand.id"
+               icon="Piacere/PiacereIcon_16x16.png"
+               label="Validate DOML"
+               style="push"
+               tooltip="Validate the DOML Specification">
+            <visibleWhen
+                  checkEnabled="false">
+               <reference
+                     definitionId="eu.piacere.piacereTool.propertyTesters.extensionPropertyTester.isDOMLXModel.id">
+               </reference>
+            </visibleWhen>
+         </command>
+      </menuContribution>
+   </extension>
+
+</plugin>
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR05/src/eu/piacere/ide/toolIntegration/kr05/commandHandlers/ValidateDOMLCommandHandler.java b/Source Code/V2.0/PiacereIDEIntegration.KR05/src/eu/piacere/ide/toolIntegration/kr05/commandHandlers/ValidateDOMLCommandHandler.java
new file mode 100644
index 0000000000000000000000000000000000000000..07576ffcc1b75f671b34a3bc5240b0d1767fa92f
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KR05/src/eu/piacere/ide/toolIntegration/kr05/commandHandlers/ValidateDOMLCommandHandler.java	
@@ -0,0 +1,149 @@
+package eu.piacere.ide.toolIntegration.kr05.commandHandlers;
+
+import java.io.IOException;
+
+import org.apache.http.client.ClientProtocolException;
+import org.apache.http.client.HttpClient;
+import org.apache.http.client.methods.CloseableHttpResponse;
+import org.apache.http.client.methods.HttpPost;
+import org.apache.http.entity.StringEntity;
+import org.apache.http.impl.client.HttpClientBuilder;
+import org.apache.http.util.EntityUtils;
+import org.eclipse.core.commands.AbstractHandler;
+import org.eclipse.core.commands.ExecutionEvent;
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.resources.IContainer;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.jface.dialogs.ProgressMonitorDialog;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.ui.handlers.HandlerUtil;
+import org.json.JSONException;
+import org.json.JSONObject;
+
+import eu.piacere.piacereTool.utils.FileUtils;
+import eu.piacere.piacereTool.utils.ToolCustomizationUtils;
+
+
+public class ValidateDOMLCommandHandler extends AbstractHandler {
+
+	private JSONObject doPostRequestToValidator(String fileContent) throws ClientProtocolException, IOException, JSONException {
+		HttpClient httpClient = HttpClientBuilder.create().build();
+
+		String url=ToolCustomizationUtils.getPreference(this.getClass(), "KR05.protocol")+"://"+ToolCustomizationUtils.getPreference(this.getClass(), "KR05.host");
+		if(ToolCustomizationUtils.getPreference(this.getClass(), "KR05.port")!=null) {
+			if(!ToolCustomizationUtils.getPreference(this.getClass(), "KR05.port").equals("")) {
+				url=url+":"+ToolCustomizationUtils.getPreference(this.getClass(), "KR05.port");
+			}
+		}
+
+		url=url+"/modelcheck";
+
+		HttpPost httpPost = new HttpPost(url);
+
+		StringEntity entity = new StringEntity(fileContent);
+		httpPost.setEntity(entity);
+
+		httpPost.setHeader("Accept", "application/json");
+		httpPost.setHeader("Content-type", "application/xml");
+
+		CloseableHttpResponse response = (CloseableHttpResponse) httpClient.execute(httpPost);
+		if(response.getStatusLine().getStatusCode()==200) {
+			String content =  EntityUtils.toString(response.getEntity());
+			JSONObject responseAsJSON=new JSONObject(content);
+			return responseAsJSON;
+		}
+
+		else if(response.getStatusLine().getStatusCode()==400) {
+			String content =  EntityUtils.toString(response.getEntity());
+			JSONObject responseAsJSON =new JSONObject(content);
+			ToolCustomizationUtils.showErrorDialog("Model Checking Result","Model Checker Raised an Error HTTP-400:\n Message:" + responseAsJSON.getString("message") + "\n Debug Message:" + responseAsJSON.getString("debug_message"));
+			return null;
+		}
+
+		else {
+			String content =  EntityUtils.toString(response.getEntity());
+			ToolCustomizationUtils.showErrorDialog("Model Checking Result","Unknown error" + content);
+			return null;
+		}
+	}
+
+	private void saveFileInWorkspace(IContainer container, String fileContent, String defaultFileName) {
+
+
+		String domlModelName=ToolCustomizationUtils.doDialogAsk("DOML Model Validation", "Enter the DOML Model Validation Results File Name", defaultFileName);
+
+		ProgressMonitorDialog pd=new ProgressMonitorDialog(ToolCustomizationUtils.getActiveShell());
+		pd.open();
+		try {
+			FileUtils.createFile(domlModelName+"_"+FileUtils.getTimestamp()+".validation" , container, fileContent, pd);
+		} catch (Exception e1) {
+			e1.printStackTrace();
+		}
+		pd.close();
+		try {
+			container.refreshLocal(IResource.DEPTH_INFINITE, null);
+		} catch (CoreException e) {
+			e.printStackTrace();
+		}
+	}
+
+	private void interpretResult(JSONObject responseFromValidator) {
+		try {
+			if(responseFromValidator.getString("result").equals("sat")) {
+				ToolCustomizationUtils.showInformationDialog("Model Checking Result", "Your Requirements are SATISFIED");
+			}
+			else if(responseFromValidator.getString("result").equals("unsat")) {
+				ToolCustomizationUtils.showErrorDialog("Model Checking Result", "Your Requirements are UNSATISFIED:\n\n"+responseFromValidator.getString("description"));
+			}
+		} catch (JSONException e) {
+			e.printStackTrace();
+		}
+
+
+	}
+
+	@Override
+	public Object execute(ExecutionEvent event) throws ExecutionException {
+		ToolCustomizationUtils.saveWorkbench();
+		ISelection selection = HandlerUtil.getCurrentSelection(event);
+		if (selection instanceof StructuredSelection) {
+			if(((StructuredSelection)selection).getFirstElement() instanceof IFile){
+				IFile res = (IFile)((StructuredSelection) selection).getFirstElement();
+				
+
+				String fileContent=FileUtils.getIFileContents(res);
+				if(fileContent==null) {
+					//ARROJAR ERROR
+					return null;
+				}
+				JSONObject responseFromValidator=null;
+				try {
+					responseFromValidator=doPostRequestToValidator(fileContent);
+				} catch (IOException | JSONException e2) {
+					e2.printStackTrace();
+				}
+
+				if(responseFromValidator==null) {
+					//ARROJAR ERROR
+					return null;
+				}			
+
+
+				interpretResult(responseFromValidator);
+
+				if(ToolCustomizationUtils.showQuestionDialog("Save Result", "Do you want to save the validation result on workspace?")) {
+					try {
+						saveFileInWorkspace(res.getParent(), responseFromValidator.toString(4), res.getFullPath().lastSegment().replace(".domlx", ""));
+					} catch (JSONException e) {
+						e.printStackTrace();
+					}
+				}
+			}
+		}
+		return null;
+	}
+
+}
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR05/src/eu/piacere/ide/toolIntegration/kr05/preferencePage/KR05PreferenceInitializer.java b/Source Code/V2.0/PiacereIDEIntegration.KR05/src/eu/piacere/ide/toolIntegration/kr05/preferencePage/KR05PreferenceInitializer.java
new file mode 100644
index 0000000000000000000000000000000000000000..9d00e7ad8a2c6fec4e8eb8b6ffc22e20520a353e
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KR05/src/eu/piacere/ide/toolIntegration/kr05/preferencePage/KR05PreferenceInitializer.java	
@@ -0,0 +1,20 @@
+package eu.piacere.ide.toolIntegration.kr05.preferencePage;
+
+import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer;
+import org.eclipse.core.runtime.preferences.ConfigurationScope;
+import org.eclipse.ui.preferences.ScopedPreferenceStore;
+import org.osgi.framework.FrameworkUtil;
+
+public class KR05PreferenceInitializer extends AbstractPreferenceInitializer {
+
+	@Override
+	public void initializeDefaultPreferences() {
+		
+		ScopedPreferenceStore scopedPreferenceStore = new ScopedPreferenceStore(ConfigurationScope.INSTANCE,(FrameworkUtil.getBundle(KR05PreferenceInitializer.class)).getSymbolicName());
+        scopedPreferenceStore.setDefault("KR05.host", "dmc.ci.piacere.digital.tecnalia.dev");
+        scopedPreferenceStore.setDefault("KR05.port", 443);
+        scopedPreferenceStore.setDefault("KR05.protocol", "https");
+
+	}
+
+}
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR05/src/eu/piacere/ide/toolIntegration/kr05/preferencePage/KR05PreferencePage.java b/Source Code/V2.0/PiacereIDEIntegration.KR05/src/eu/piacere/ide/toolIntegration/kr05/preferencePage/KR05PreferencePage.java
new file mode 100644
index 0000000000000000000000000000000000000000..7e41b210d65be8031fe4a25bdd0b201deca1a1b3
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KR05/src/eu/piacere/ide/toolIntegration/kr05/preferencePage/KR05PreferencePage.java	
@@ -0,0 +1,42 @@
+package eu.piacere.ide.toolIntegration.kr05.preferencePage;
+
+import org.eclipse.core.runtime.preferences.ConfigurationScope;
+import org.eclipse.jface.preference.FieldEditorPreferencePage;
+import org.eclipse.jface.preference.IntegerFieldEditor;
+import org.eclipse.jface.preference.RadioGroupFieldEditor;
+import org.eclipse.jface.preference.StringFieldEditor;
+import org.eclipse.ui.IWorkbench;
+import org.eclipse.ui.IWorkbenchPreferencePage;
+import org.eclipse.ui.preferences.ScopedPreferenceStore;
+import org.osgi.framework.FrameworkUtil;
+
+public class KR05PreferencePage extends FieldEditorPreferencePage implements IWorkbenchPreferencePage {
+
+	public KR05PreferencePage() {
+		super(GRID);
+	}
+
+	@Override
+	public void init(IWorkbench workbench) {
+		//WHICH SCOPE SHOULD I SELECT: https://wiki.eclipse.org/FAQ_What_is_a_preference_scope%3F
+		
+		 setPreferenceStore(new ScopedPreferenceStore(ConfigurationScope.INSTANCE, (FrameworkUtil.getBundle(KR05PreferenceInitializer.class)).getSymbolicName()));
+	     setDescription("Model Checker Preferences");
+
+	}
+
+	@Override
+	protected void createFieldEditors() {
+		
+		StringFieldEditor hostFieldEditor = new StringFieldEditor("KR05.host", "Endpoint Host", getFieldEditorParent());
+		addField(hostFieldEditor);
+		
+		IntegerFieldEditor portfieldeditor= new IntegerFieldEditor("KR05.port", "Endpoint Port", getFieldEditorParent());
+		addField(portfieldeditor);
+		
+		RadioGroupFieldEditor protocolFieldEditor = new RadioGroupFieldEditor("KR05.protocol", "Protocol", 1, new String[][] {{"HTTP","http"},{"HTTPS","https"}}, getFieldEditorParent());
+		addField(protocolFieldEditor);
+
+	}
+
+}
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR06And07/.classpath b/Source Code/V2.0/PiacereIDEIntegration.KR06And07/.classpath
new file mode 100644
index 0000000000000000000000000000000000000000..1fa3e6803d3b22e055b735220510616c4e35f2fc
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KR06And07/.classpath	
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR06And07/.gitignore b/Source Code/V2.0/PiacereIDEIntegration.KR06And07/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..ae3c1726048cd06b9a143e0376ed46dd9b9a8d53
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KR06And07/.gitignore	
@@ -0,0 +1 @@
+/bin/
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR06And07/.project b/Source Code/V2.0/PiacereIDEIntegration.KR06And07/.project
new file mode 100644
index 0000000000000000000000000000000000000000..176ccaf78998f00709a2c2a5cd42472fd2e62ba4
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KR06And07/.project	
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>PiacereIDEIntegration.KR06And07</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR06And07/META-INF/MANIFEST.MF b/Source Code/V2.0/PiacereIDEIntegration.KR06And07/META-INF/MANIFEST.MF
new file mode 100644
index 0000000000000000000000000000000000000000..aad93834a06a887e25130bc9847c35bd5386925a
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KR06And07/META-INF/MANIFEST.MF	
@@ -0,0 +1,27 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: KR06And07
+Bundle-SymbolicName: PiacereIDEIntegration.KR06And07;singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Bundle-Vendor: VRAIN
+Automatic-Module-Name: PiacereIDEIntegration.KR06And07
+Require-Bundle: org.eclipse.ui,
+ org.eclipse.core.runtime,
+ org.apache.httpcomponents.httpcore
+Import-Package: eu.piacere.doml.doml.commons,
+ eu.piacere.piacereTool.utils,
+ org.apache.commons.io,
+ org.apache.http.client;version="4.5.13",
+ org.apache.http.client.methods;version="4.5.13",
+ org.apache.http.entity.mime;version="4.5.13",
+ org.apache.http.entity.mime.content;version="4.5.13",
+ org.apache.http.impl.client;version="4.5.13",
+ org.eclipse.core.resources,
+ org.eclipse.core.runtime.preferences;version="3.4.0",
+ org.eclipse.emf.common.util,
+ org.eclipse.emf.ecore,
+ org.eclipse.emf.ecore.resource,
+ org.eclipse.emf.ecore.resource.impl,
+ org.eclipse.emf.ecore.util,
+ org.json
+
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR06And07/Piacere/PiacereIcon_16x16.png b/Source Code/V2.0/PiacereIDEIntegration.KR06And07/Piacere/PiacereIcon_16x16.png
new file mode 100644
index 0000000000000000000000000000000000000000..444de54d6cfe2958fac1bbb89dd8619b4c537c47
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KR06And07/Piacere/PiacereIcon_16x16.png differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR06And07/build.properties b/Source Code/V2.0/PiacereIDEIntegration.KR06And07/build.properties
new file mode 100644
index 0000000000000000000000000000000000000000..52086a7c305694aa678bde0640768488a5cf8e4f
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KR06And07/build.properties	
@@ -0,0 +1,6 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+               .,\
+               plugin.xml,\
+               Piacere/
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR06And07/plugin.xml b/Source Code/V2.0/PiacereIDEIntegration.KR06And07/plugin.xml
new file mode 100644
index 0000000000000000000000000000000000000000..4dd9e6b4c87c745d369694c6ee6ff0531be6eac8
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KR06And07/plugin.xml	
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+<plugin>
+   <extension
+         point="org.eclipse.ui.preferencePages">
+      <page
+            category="PiacereToolCustomization.preferences.page1"
+            class="eu.piacere.ide.toolIntegration.kr06And07.preferencePage.KR06And07PreferencePage"
+            id="PiacereIDEIntegration.KR06And07.preferences.page1"
+            name="IaC Security Inspector Preferences">
+      </page>
+   </extension>
+   <extension
+         point="org.eclipse.core.runtime.preferences">
+      <initializer
+            class="eu.piacere.ide.toolIntegration.kr06And07.preferencePage.KR06And07PreferenceInitializer">
+      </initializer>
+   </extension>
+   <extension
+         point="org.eclipse.ui.commands">
+      <command
+            categoryId="eu.piacere.piacereModelsCommands.category.id"
+            defaultHandler="eu.piacere.ide.toolIntegration.kr06And07.commandHandlers.IaCSecurityInspectorCommandHandler"
+            id="eu.piacere.piacereModelsCommands.IaCSecurityInspectorCommand.id"
+            name="Security Inspector">
+      </command>
+     <!-- <command
+            categoryId="eu.piacere.piacereModelsCommands.category.id"
+            defaultHandler="eu.piacere.ide.toolIntegration.kr06And07.commandHandlers.IaCSecurityEnableCommandHandler"
+            id="eu.piacere.piacereModelsCommands.IaCSecurityEnableCommand.id"
+            name="Security Enable">
+      </command>
+      <command
+            categoryId="eu.piacere.piacereModelsCommands.category.id"
+            defaultHandler="eu.piacere.ide.toolIntegration.kr06And07.commandHandlers.IaCSecurityConfCommandHandlers"
+            id="eu.piacere.piacereModelsCommands.IaCSecurityConfCommand.id"
+            name="Security configuration">
+      </command> -->
+      <command
+            categoryId="eu.piacere.piacereModelsCommands.category.id"
+            defaultHandler="eu.piacere.ide.toolIntegration.kr06And07.commandHandlers.IaCSecurityScanCommandHandler"
+            id="eu.piacere.piacereModelsCommands.IaCSecurityScanCommand.id"
+            name="Security Scanner">
+      </command>
+   </extension>
+   <extension
+         point="org.eclipse.ui.menus">
+      <menuContribution
+            allPopups="false"
+            locationURI="menu:org.eclipse.ui.main.menu">
+         <menu
+               id="piacereMenu"
+               label="Piacere">
+            <menu
+                  label="Security Inspector">
+               <command
+                     commandId="eu.piacere.piacereModelsCommands.IaCSecurityInspectorCommand.id"
+                     label="Get Security Inspector Configuration"
+                     style="push"
+                     tooltip="Checks your IaC for security vulnerabilities">
+               </command>
+               <!--<command
+                     commandId="eu.piacere.piacereModelsCommands.IaCSecurityConfCommand.id"
+                     label="Set Security Configuration"
+                     style="push"
+                     tooltip="Set Security Configuration">
+               </command>
+               <command
+                     commandId="eu.piacere.piacereModelsCommands.IaCSecurityEnableCommand.id"
+                     label="Enable/Disable Security Checks"
+                     style="push"
+                     tooltip="Enable/Disable your IaC or Components">
+               </command>-->
+            </menu>
+         </menu>
+      </menuContribution>
+      <menuContribution
+            allPopups="false"
+            locationURI="popup:eu.piacere.eclipsePopupMenu.id">
+         <command
+               commandId="eu.piacere.piacereModelsCommands.IaCSecurityScanCommand.id"
+               icon="Piacere/PiacereIcon_16x16.png"
+               label="Perform Security Scan"
+               style="push"
+               tooltip="Scan IaC for security vulnerabilities">
+            <visibleWhen
+                  checkEnabled="false">
+                  <or>
+               <reference
+                     definitionId="eu.piacere.piacereTool.propertyTesters.extensionPropertyTester.isTarGz.id">
+               </reference>
+               <reference
+                     definitionId="eu.piacere.piacereTool.propertyTesters.extensionPropertyTester.isZip.id">
+               </reference>
+               <reference
+                     definitionId="eu.piacere.piacereTool.propertyTesters.extensionPropertyTester.isCSAR.id">
+               </reference>
+               </or>
+            </visibleWhen>
+         </command>
+      </menuContribution>
+   </extension>
+
+</plugin>
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR06And07/src/eu/piacere/ide/toolIntegration/kr06And07/commandHandlers/IaCSecurityConfCommandHandler.java b/Source Code/V2.0/PiacereIDEIntegration.KR06And07/src/eu/piacere/ide/toolIntegration/kr06And07/commandHandlers/IaCSecurityConfCommandHandler.java
new file mode 100644
index 0000000000000000000000000000000000000000..2a4021adc97021b48d800569afd1a27a073d9971
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KR06And07/src/eu/piacere/ide/toolIntegration/kr06And07/commandHandlers/IaCSecurityConfCommandHandler.java	
@@ -0,0 +1,141 @@
+package eu.piacere.ide.toolIntegration.kr06And07.commandHandlers;
+
+import java.io.File;
+import java.io.IOException;
+
+import javax.swing.JFrame;
+import javax.swing.JOptionPane;
+
+import org.apache.http.HttpEntity;
+import org.apache.http.client.ClientProtocolException;
+import org.apache.http.client.HttpClient;
+import org.apache.http.client.methods.CloseableHttpResponse;
+import org.apache.http.client.methods.HttpPatch;
+import org.apache.http.entity.ContentType;
+import org.apache.http.entity.mime.HttpMultipartMode;
+import org.apache.http.entity.mime.MultipartEntityBuilder;
+import org.apache.http.entity.mime.content.FileBody;
+import org.apache.http.impl.client.HttpClientBuilder;
+import org.apache.http.util.EntityUtils;
+import org.eclipse.core.commands.AbstractHandler;
+import org.eclipse.core.commands.ExecutionEvent;
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.preferences.ConfigurationScope;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.ui.handlers.HandlerUtil;
+import org.eclipse.ui.preferences.ScopedPreferenceStore;
+import org.json.JSONException;
+import org.json.JSONObject;
+import org.osgi.framework.FrameworkUtil;
+
+import eu.piacere.piacereTool.utils.FileUtils;
+import eu.piacere.piacereTool.utils.ToolCustomizationUtils;
+
+public class IaCSecurityConfCommandHandler  extends AbstractHandler {
+	
+	private String getPreference(String preferenceID) {
+		ScopedPreferenceStore scopedPreferenceStore = new ScopedPreferenceStore(ConfigurationScope.INSTANCE,(FrameworkUtil.getBundle(IaCSecurityConfCommandHandler.class)).getSymbolicName());
+		return scopedPreferenceStore.getString(preferenceID);
+	}
+
+	private JSONObject showDialog(IPath fileuri) throws ClientProtocolException, IOException, JSONException {
+		 
+	       JFrame frame = new JFrame("Security Options");
+
+	       String result = (String)JOptionPane.showInputDialog(
+	               frame,
+	               "Configure IaC/Component", 
+	               "Check Name",            
+	               JOptionPane.PLAIN_MESSAGE,
+	               null,            
+	               null, 
+	               ""
+	            );
+	       if(result == null) return null;
+	       String result2 = (String)JOptionPane.showInputDialog(
+	               frame,
+	               "Configure IaC/Component", 
+	               "Secret",            
+	               JOptionPane.PLAIN_MESSAGE,
+	               null,            
+	               null, 
+	               ""
+	            );
+	       
+	       if(result2 == null) return null;
+	       return doPostRequestTochecker(fileuri, result, result2);
+	       
+		}
+	private JSONObject doPostRequestTochecker(IPath fileuri, String chk_name, String secret) throws ClientProtocolException, IOException, JSONException {
+		HttpClient httpClient = HttpClientBuilder.create().build();
+		
+		String url=getPreference("KR06.protocol")+"://"+getPreference("KR06.host")+":"+getPreference("KR06.port")+"/checks/";
+
+		MultipartEntityBuilder  builder = MultipartEntityBuilder.create();
+		builder.setMode(HttpMultipartMode.BROWSER_COMPATIBLE);
+		if(!chk_name.equals("")) {
+			url+= chk_name + "/configure?";
+		}
+		if(!secret.equals("")) {
+			builder.addTextBody("secret", secret);
+		}
+		
+		if(!fileuri.equals("")) {
+			builder.addPart("config_file", new FileBody(new File(fileuri.toString()), ContentType.DEFAULT_BINARY));
+		}
+		
+		HttpPatch httpPatch = new HttpPatch(url);
+		HttpEntity entity = builder.build();
+		httpPatch.setEntity(entity);
+		
+		CloseableHttpResponse response = (CloseableHttpResponse) httpClient.execute(httpPatch);
+		if(response.getStatusLine().getStatusCode()==200) {
+			String content =  EntityUtils.toString(response.getEntity());
+			ToolCustomizationUtils.showInformationDialog("Security Configure Result", content);
+		} else {
+			String content =  EntityUtils.toString(response.getEntity());
+			ToolCustomizationUtils.showErrorDialog("Security Configure Error", content);
+		}
+		return null;
+	}
+
+	@Override
+	public Object execute(ExecutionEvent event) throws ExecutionException {
+		ToolCustomizationUtils.saveWorkbench();
+		ISelection selection = HandlerUtil.getCurrentSelection(event);
+		if (selection instanceof StructuredSelection) {
+			if(((StructuredSelection)selection).getFirstElement() instanceof IFile){
+				IFile res = (IFile)((StructuredSelection) selection).getFirstElement();
+				IProject project = ResourcesPlugin.getWorkspace().getRoot().getFileForLocation(ToolCustomizationUtils.getFullPath(URI.createURI(res.getLocationURI().toString()))).getProject();
+				
+				//DOMLModel theDOMLModel = (DOMLModel) ModelUtils.loadEMFModelRoot(res);
+
+				String fileContent=FileUtils.getIFileContents(res);
+				IPath path = res.getLocation();
+				if(fileContent==null) {
+					//ARROJAR ERROR
+					return null;
+				}
+				JSONObject responseFromChecker=null;
+				try {
+					// Escollir 1 desde la finestra emergent
+					responseFromChecker=showDialog(path);
+					
+					
+				} catch (IOException | JSONException e2) {
+					e2.printStackTrace();
+				}
+				
+				return null;
+			}
+		}
+		return null;
+	}
+
+}
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR06And07/src/eu/piacere/ide/toolIntegration/kr06And07/commandHandlers/IaCSecurityEnableCommandHandler.java b/Source Code/V2.0/PiacereIDEIntegration.KR06And07/src/eu/piacere/ide/toolIntegration/kr06And07/commandHandlers/IaCSecurityEnableCommandHandler.java
new file mode 100644
index 0000000000000000000000000000000000000000..ace26413e52a5ec74430783cdc877691535ce311
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KR06And07/src/eu/piacere/ide/toolIntegration/kr06And07/commandHandlers/IaCSecurityEnableCommandHandler.java	
@@ -0,0 +1,106 @@
+package eu.piacere.ide.toolIntegration.kr06And07.commandHandlers;
+
+import java.io.IOException;
+
+import javax.swing.JFrame;
+import javax.swing.JOptionPane;
+
+import org.apache.http.client.ClientProtocolException;
+import org.apache.http.client.HttpClient;
+import org.apache.http.client.methods.CloseableHttpResponse;
+import org.apache.http.client.methods.HttpPatch;
+import org.apache.http.impl.client.HttpClientBuilder;
+import org.apache.http.util.EntityUtils;
+import org.eclipse.core.commands.AbstractHandler;
+import org.eclipse.core.commands.ExecutionEvent;
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.runtime.preferences.ConfigurationScope;
+import org.eclipse.ui.preferences.ScopedPreferenceStore;
+import org.json.JSONException;
+import org.osgi.framework.FrameworkUtil;
+
+import eu.piacere.piacereTool.utils.ToolCustomizationUtils;
+
+public class IaCSecurityEnableCommandHandler extends AbstractHandler{
+
+
+	String url = "";
+	private String getPreference(String preferenceID) {
+		ScopedPreferenceStore scopedPreferenceStore = new ScopedPreferenceStore(ConfigurationScope.INSTANCE,(FrameworkUtil.getBundle(IaCSecurityInspectorCommandHandler.class)).getSymbolicName());
+		return scopedPreferenceStore.getString(preferenceID);
+	}
+
+	private String showDialog() throws ClientProtocolException, IOException, JSONException {
+
+		String[] options = {"true", "false"}; 
+		JFrame frame = new JFrame("Security Options");
+
+		String result = (String)JOptionPane.showInputDialog(
+				frame,
+				"Enable IaC/Component", 
+				"Check Name",            
+				JOptionPane.PLAIN_MESSAGE,
+				null,            
+				null, 
+				""
+				);
+		if(result == null) return null;
+		String result2 = (String)JOptionPane.showInputDialog(
+				frame,
+				"Select one option", 
+				"Enable IaC/Component", 
+				JOptionPane.PLAIN_MESSAGE,
+				null,            
+				options, 
+				options[0] 
+				);
+
+		if(result2 == null) return null;
+		return doPatchRequestToChecker(result, result2);
+
+	}
+
+	private String doPatchRequestToChecker(String chk_name, String enable) throws ClientProtocolException, IOException, JSONException {
+		HttpClient httpClient = HttpClientBuilder.create().build();
+
+		url=getPreference("KR06.protocol")+"://"+getPreference("KR06.host")+":"+getPreference("KR06.port")+"/checks/";
+		if(!chk_name.equals("")) {
+			url+=  chk_name + "/";
+		}
+		if(enable.equals("true")) {
+			url+= "enable";
+		} else {
+			url+= "disable";
+		}
+
+		HttpPatch httpPatch = new HttpPatch(url);
+
+		httpPatch.setHeader("Accept", "application/json");
+
+		CloseableHttpResponse response = (CloseableHttpResponse) httpClient.execute(httpPatch);
+		if(response.getStatusLine().getStatusCode()==200) {
+			String content =  EntityUtils.toString(response.getEntity());
+			ToolCustomizationUtils.showInformationDialog("Security Enable Result", content);
+		} else {
+			String content =  EntityUtils.toString(response.getEntity());
+			ToolCustomizationUtils.showErrorDialog("Security Enable Error", content);
+		}
+
+		return null;		
+	}
+
+	@Override
+	public Object execute(ExecutionEvent event) throws ExecutionException {
+
+		/*try {
+			// Escollir 1 desde la finestra emergent
+			String responseFromChecker=showDialog();
+
+
+		} catch (IOException | JSONException e2) {
+			e2.printStackTrace();
+		}*/
+
+		return null;
+	}
+}
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR06And07/src/eu/piacere/ide/toolIntegration/kr06And07/commandHandlers/IaCSecurityInspectorCommandHandler.java b/Source Code/V2.0/PiacereIDEIntegration.KR06And07/src/eu/piacere/ide/toolIntegration/kr06And07/commandHandlers/IaCSecurityInspectorCommandHandler.java
new file mode 100644
index 0000000000000000000000000000000000000000..e9106185c5cb84855b7897f6f6358bd53fd1397a
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KR06And07/src/eu/piacere/ide/toolIntegration/kr06And07/commandHandlers/IaCSecurityInspectorCommandHandler.java	
@@ -0,0 +1,214 @@
+package eu.piacere.ide.toolIntegration.kr06And07.commandHandlers;
+
+import java.io.IOException;
+
+import org.apache.http.client.ClientProtocolException;
+import org.apache.http.client.HttpClient;
+import org.apache.http.client.methods.CloseableHttpResponse;
+import org.apache.http.client.methods.HttpGet;
+import org.apache.http.impl.client.HttpClientBuilder;
+import org.apache.http.util.EntityUtils;
+import org.eclipse.core.commands.AbstractHandler;
+import org.eclipse.core.commands.ExecutionEvent;
+import org.eclipse.core.commands.ExecutionException;
+import org.json.JSONArray;
+import org.json.JSONException;
+import org.json.JSONObject;
+
+import eu.piacere.piacereTool.utils.ToolCustomizationUtils;
+
+public class IaCSecurityInspectorCommandHandler extends AbstractHandler {
+
+	private JSONArray showDialog() throws ClientProtocolException, IOException, JSONException {
+
+		String keyword=ToolCustomizationUtils.doDialogAskWithoutPostProcess("Keyword","Keyword","");
+
+		if(keyword==null) {
+			return null;
+		}
+		return doGetRequestToChecker(keyword);
+
+	}
+
+	private JSONArray doGetRequestToChecker(String keyword/*, String configured, String enabled, String target_entity*/) throws ClientProtocolException, IOException, JSONException {
+
+		String url=ToolCustomizationUtils.getPreference(this.getClass(), "KR06_07.protocol")+"://"+ToolCustomizationUtils.getPreference(this.getClass(), "KR06_07.host")+":"+ToolCustomizationUtils.getPreference(this.getClass(), "KR06_07.port")+"/checks?";
+
+		String target_entity=ToolCustomizationUtils.getPreference(this.getClass(), "KR06_07.entityType");
+		if(!target_entity.equals("both")) {
+			url+= "target_entity_type=" + target_entity+"&";
+		}
+
+		if(!keyword.equals("")) {
+			url+= "keyword=" + keyword+"&";
+		}
+
+		String enabled=ToolCustomizationUtils.getPreference(this.getClass(), "KR06_07.enableStatus");
+		if(!enabled.equals("both")) {
+			url+= "enabled=" + enabled+"&";
+		}
+		String configured=ToolCustomizationUtils.getPreference(this.getClass(), "KR06_07.confStatus");
+		if(!configured.equals("both")) {
+			url+= "configured=" + configured;
+		}
+
+		HttpGet httpGet = new HttpGet(url);
+
+		HttpClient httpClient = HttpClientBuilder.create().build();
+		CloseableHttpResponse response = (CloseableHttpResponse) httpClient.execute(httpGet);
+
+		if(response.getStatusLine().getStatusCode()==200) {
+			String content =  EntityUtils.toString(response.getEntity());
+			JSONArray responseAsJSON=new JSONArray(content);
+			return responseAsJSON;
+		}
+
+
+		return null;
+
+	}
+
+	private String capitalize(String str) {
+		if(str == null || str.isEmpty()) {
+			return str;
+		}
+
+		return str.substring(0, 1).toUpperCase() + str.substring(1);
+	}
+
+	/*
+	private JSONObject doPostRequestToScanner(String fileContent, List<String> checks) throws ClientProtocolException, IOException, JSONException {
+		HttpClient httpClient = HttpClientBuilder.create().build();
+
+		url=getPreference("KR06.protocol")+"://"+getPreference("KR06.host")+":"+getPreference("KR06.port")+"/scan?checks=" + checks + "&iac=" + fileContent;
+
+		HttpPost httpPost = new HttpPost();
+
+		StringEntity entity = new StringEntity(fileContent);
+		httpPost.setEntity(entity);
+
+		httpPost.setHeader("Accept", "application/json");
+		httpPost.setHeader("Content-type","multipart/form-data");
+
+		CloseableHttpResponse response = (CloseableHttpResponse) httpClient.execute(httpPost);
+		if(response.getStatusLine().getStatusCode()==200) {
+			String content =  EntityUtils.toString(response.getEntity());
+			JSONObject responseAsJSON = new JSONObject(content);
+			return responseAsJSON;
+		}
+		return null;
+
+	}
+
+	private JSONObject doPatchEnableRequestToChecker(String check_name) throws ClientProtocolException, IOException, JSONException {
+		HttpClient httpClient = HttpClientBuilder.create().build();
+
+		url=getPreference("KR06.protocol")+"://"+getPreference("KR06.host")+":"+getPreference("KR06.port")+"/checks/"+ check_name + "/enable";
+
+		HttpPatch httpPatch = new HttpPatch();
+
+		httpPatch.setHeader("Accept", "application/json");
+
+		CloseableHttpResponse response = (CloseableHttpResponse) httpClient.execute(httpPatch);
+		if(response.getStatusLine().getStatusCode()==200) {
+			String content =  EntityUtils.toString(response.getEntity());
+			JSONObject responseAsJSON = new JSONObject(content);
+			return responseAsJSON;
+		}
+		return null;
+
+	}
+
+	private JSONObject doPatchDisableRequestToChecker(String check_name) throws ClientProtocolException, IOException, JSONException {
+		HttpClient httpClient = HttpClientBuilder.create().build();
+
+		url=getPreference("KR06.protocol")+"://"+getPreference("KR06.host")+":"+getPreference("KR06.port")+"/checks/"+ check_name + "/disable";
+
+		HttpPatch httpPatch = new HttpPatch();
+
+		httpPatch.setHeader("Accept", "application/json");
+
+		CloseableHttpResponse response = (CloseableHttpResponse) httpClient.execute(httpPatch);
+		if(response.getStatusLine().getStatusCode()==200) {
+			String content =  EntityUtils.toString(response.getEntity());
+			JSONObject responseAsJSON = new JSONObject(content);
+			return responseAsJSON;
+		}
+		return null;
+
+	}
+
+	private JSONObject doPatchConfigureRequestToChecker(String fileContent, String check_name, String secret) throws ClientProtocolException, IOException, JSONException {
+		HttpClient httpClient = HttpClientBuilder.create().build();
+
+		url=getPreference("KR06.protocol")+"://"+getPreference("KR06.host")+":"+getPreference("KR06.port")+"/checks/" + check_name + "/configure?config_file=" + fileContent + "&secret=" + secret;
+
+		HttpPatch httpPatch = new HttpPatch();
+
+		StringEntity entity = new StringEntity(fileContent);
+		httpPatch.setEntity(entity);
+
+		httpPatch.setHeader("Accept", "application/json");
+		httpPatch.setHeader("Content-type","multipart/form-data");
+
+		CloseableHttpResponse response = (CloseableHttpResponse) httpClient.execute(httpPatch);
+		if(response.getStatusLine().getStatusCode()==200) {
+			String content =  EntityUtils.toString(response.getEntity());
+			JSONObject responseAsJSON = new JSONObject(content);
+			return responseAsJSON;
+		}
+		return null;
+
+	}
+	 */
+
+	private void interpretResult(JSONArray responseFromSchecker) {
+
+		String response = "";
+
+		try {
+
+			for (int i= 0; i < responseFromSchecker.length(); i++) { 
+				JSONObject jsonobj = responseFromSchecker.getJSONObject(i);
+				String name = jsonobj.getString("name");
+				if(jsonobj.getBoolean("enabled")) {
+					response += "- "+capitalize(jsonobj.getString("target_entity_type"))+" "+ name + " IS enabled. \n";
+				}
+				else {
+					response += "- "+capitalize(jsonobj.getString("target_entity_type"))+" "+ name + " IS NOT enabled. \n";
+				}
+				if(jsonobj.getBoolean("configured")) {
+					response += "- "+capitalize(jsonobj.getString("target_entity_type"))+" "+ name + " IS configured. \n";
+				}
+				else {
+					response += "- "+capitalize(jsonobj.getString("target_entity_type"))+" "+ name + " IS NOT configured. \n";
+				}
+			} 
+		} catch (JSONException e) {
+			e.printStackTrace();
+		}
+
+		ToolCustomizationUtils.showInformationDialog("Security Inspector Configuration", response);		
+	}
+
+
+
+	@Override
+	public Object execute(ExecutionEvent event) throws ExecutionException {
+
+		JSONArray responseFromChecker = null;
+		try {
+			responseFromChecker=showDialog();
+		} catch (IOException | JSONException e2) {
+			e2.printStackTrace();
+		}
+
+		if(responseFromChecker==null) {
+			//ARROJAR ERROR
+			return null;
+		}else {
+			interpretResult(responseFromChecker);
+		}
+		return null;
+	}
+}
\ No newline at end of file
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR06And07/src/eu/piacere/ide/toolIntegration/kr06And07/commandHandlers/IaCSecurityScanCommandHandler.java b/Source Code/V2.0/PiacereIDEIntegration.KR06And07/src/eu/piacere/ide/toolIntegration/kr06And07/commandHandlers/IaCSecurityScanCommandHandler.java
new file mode 100644
index 0000000000000000000000000000000000000000..95052bc75c5836e06369cc2d35b8720da6ee4990
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KR06And07/src/eu/piacere/ide/toolIntegration/kr06And07/commandHandlers/IaCSecurityScanCommandHandler.java	
@@ -0,0 +1,127 @@
+package eu.piacere.ide.toolIntegration.kr06And07.commandHandlers;
+
+import java.io.File;
+import java.io.IOException;
+
+import org.apache.http.HttpEntity;
+import org.apache.http.client.ClientProtocolException;
+import org.apache.http.client.HttpClient;
+import org.apache.http.client.methods.CloseableHttpResponse;
+import org.apache.http.client.methods.HttpPost;
+import org.apache.http.entity.ContentType;
+import org.apache.http.entity.mime.HttpMultipartMode;
+import org.apache.http.entity.mime.MultipartEntityBuilder;
+import org.apache.http.entity.mime.content.FileBody;
+import org.apache.http.impl.client.HttpClientBuilder;
+import org.apache.http.util.EntityUtils;
+import org.eclipse.core.commands.AbstractHandler;
+import org.eclipse.core.commands.ExecutionEvent;
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.resources.IContainer;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.jface.dialogs.ProgressMonitorDialog;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.ui.handlers.HandlerUtil;
+import org.json.JSONException;
+import org.json.JSONObject;
+
+import eu.piacere.piacereTool.utils.FileUtils;
+import eu.piacere.piacereTool.utils.ToolCustomizationUtils;
+
+public class IaCSecurityScanCommandHandler  extends AbstractHandler {
+
+	private String showDialog() throws ClientProtocolException, IOException, JSONException {
+		String checks=ToolCustomizationUtils.doDialogAskWithoutPostProcess("Perform Security Scan","Provide a comma-separated list of the Components/IaC  you want to scan (leave blank for a whole scan)","");
+		return checks;
+	}
+
+
+	private JSONObject doPostRequestTochecker(IPath fileuri, String checks) throws ClientProtocolException, IOException, JSONException {
+		HttpClient httpClient = HttpClientBuilder.create().build();
+
+		String url=ToolCustomizationUtils.getPreference(this.getClass(), "KR06_07.protocol")+"://"+ToolCustomizationUtils.getPreference(this.getClass(), "KR06_07.host")+":"+ToolCustomizationUtils.getPreference(this.getClass(), "KR06_07.port")+"/scan";
+
+		MultipartEntityBuilder  builder = MultipartEntityBuilder.create();  
+
+		builder.setMode(HttpMultipartMode.BROWSER_COMPATIBLE);
+		if(!checks.equals("")) {
+			String aux = checks.replace(" ", ",");
+			while(aux.contains(",,")) {
+				aux = aux.replace(",,", ",");
+
+			}
+			builder.addTextBody("checks", aux);
+		}
+
+		builder.addPart("iac", new FileBody(new File(fileuri.toString()), ContentType.DEFAULT_BINARY));
+
+		HttpPost httpPost = new HttpPost(url);
+		HttpEntity entity = builder.build();
+		httpPost.setEntity(entity);
+
+		CloseableHttpResponse response = (CloseableHttpResponse) httpClient.execute(httpPost);
+		if(response.getStatusLine().getStatusCode()==200) {
+			String content =  EntityUtils.toString(response.getEntity());
+			JSONObject reponseResult = new JSONObject(content);
+			ToolCustomizationUtils.showInformationDialog("Model Scanned", "Your Model was Scanned successfully");
+			return reponseResult;
+		} else {
+			String content =  EntityUtils.toString(response.getEntity());
+			ToolCustomizationUtils.showErrorDialog("Security Scan Error", content);
+		}
+
+		return null;
+	}
+
+
+	@Override
+	public Object execute(ExecutionEvent event) throws ExecutionException {
+		ToolCustomizationUtils.saveWorkbench();
+		ISelection selection = HandlerUtil.getCurrentSelection(event);
+		if (selection instanceof StructuredSelection) {
+			if(((StructuredSelection)selection).getFirstElement() instanceof IFile){
+				IFile res = (IFile)((StructuredSelection) selection).getFirstElement();
+
+				IPath path = res.getLocation();
+
+				JSONObject responseFromScaner=null;
+				try {
+
+					String checks=showDialog();
+					if(checks!=null) {
+						responseFromScaner=doPostRequestTochecker(path, checks);
+						if(responseFromScaner!=null) {
+							saveFileInWorkspace(res.getParent(), path ,responseFromScaner.toString(4));
+						}
+					}
+				} 
+				catch (JSONException|IOException e) {
+					e.printStackTrace();
+				}
+			}
+		}
+		return null;
+	}
+
+
+	private void saveFileInWorkspace(IContainer container, IPath path, String fileContent) {
+
+		ProgressMonitorDialog pd=new ProgressMonitorDialog(ToolCustomizationUtils.getActiveShell());
+		pd.open();
+		try {
+			FileUtils.createFile(path.lastSegment().split(".tar")[0]+".scannresult_"+FileUtils.getTimestamp()+".json", container, fileContent, pd);
+		} catch (Exception e1) {
+			e1.printStackTrace();
+		}
+		pd.close();
+		try {
+			container.refreshLocal(IResource.DEPTH_INFINITE, null);
+		} catch (CoreException e) {
+			e.printStackTrace();
+		}
+	}	
+}
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR06And07/src/eu/piacere/ide/toolIntegration/kr06And07/preferencePage/KR06And07PreferenceInitializer.java b/Source Code/V2.0/PiacereIDEIntegration.KR06And07/src/eu/piacere/ide/toolIntegration/kr06And07/preferencePage/KR06And07PreferenceInitializer.java
new file mode 100644
index 0000000000000000000000000000000000000000..d3a7ea17c56892d9d716dc649c78f567c6f592f8
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KR06And07/src/eu/piacere/ide/toolIntegration/kr06And07/preferencePage/KR06And07PreferenceInitializer.java	
@@ -0,0 +1,23 @@
+package eu.piacere.ide.toolIntegration.kr06And07.preferencePage;
+
+import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer;
+import org.eclipse.core.runtime.preferences.ConfigurationScope;
+import org.eclipse.ui.preferences.ScopedPreferenceStore;
+import org.osgi.framework.FrameworkUtil;
+
+public class KR06And07PreferenceInitializer extends AbstractPreferenceInitializer {
+
+	@Override
+	public void initializeDefaultPreferences() {
+		
+		ScopedPreferenceStore scopedPreferenceStore = new ScopedPreferenceStore(ConfigurationScope.INSTANCE,(FrameworkUtil.getBundle(KR06And07PreferenceInitializer.class)).getSymbolicName());
+        scopedPreferenceStore.setDefault("KR06_07.host", "isr.ci.piacere.digital.tecnalia.dev");
+        scopedPreferenceStore.setDefault("KR06_07.port", 443);
+        scopedPreferenceStore.setDefault("KR06_07.protocol", "https");
+        scopedPreferenceStore.setDefault("KR06_07.enableStatus", "both");
+        scopedPreferenceStore.setDefault("KR06_07.confStatus", "both");
+        scopedPreferenceStore.setDefault("KR06_07.entityType", "both");
+
+	}
+
+}
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR06And07/src/eu/piacere/ide/toolIntegration/kr06And07/preferencePage/KR06And07PreferencePage.java b/Source Code/V2.0/PiacereIDEIntegration.KR06And07/src/eu/piacere/ide/toolIntegration/kr06And07/preferencePage/KR06And07PreferencePage.java
new file mode 100644
index 0000000000000000000000000000000000000000..1501f019606e23a9691278672ccc51c7836c94b4
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KR06And07/src/eu/piacere/ide/toolIntegration/kr06And07/preferencePage/KR06And07PreferencePage.java	
@@ -0,0 +1,40 @@
+package eu.piacere.ide.toolIntegration.kr06And07.preferencePage;
+
+import org.eclipse.core.runtime.preferences.ConfigurationScope;
+import org.eclipse.jface.preference.FieldEditorPreferencePage;
+import org.eclipse.jface.preference.IntegerFieldEditor;
+import org.eclipse.jface.preference.RadioGroupFieldEditor;
+import org.eclipse.jface.preference.StringFieldEditor;
+import org.eclipse.ui.IWorkbench;
+import org.eclipse.ui.IWorkbenchPreferencePage;
+import org.eclipse.ui.preferences.ScopedPreferenceStore;
+import org.osgi.framework.FrameworkUtil;
+
+public class KR06And07PreferencePage extends FieldEditorPreferencePage implements IWorkbenchPreferencePage {
+
+	public KR06And07PreferencePage() {
+		super(GRID);
+	}
+
+	@Override
+	public void init(IWorkbench workbench) {
+		//WHICH SCOPE SHOULD I SELECT: https://wiki.eclipse.org/FAQ_What_is_a_preference_scope%3F
+		
+		 setPreferenceStore(new ScopedPreferenceStore(ConfigurationScope.INSTANCE, (FrameworkUtil.getBundle(KR06And07PreferenceInitializer.class)).getSymbolicName()));
+	     setDescription("These Are The IaC Security Inspector Preferences");
+
+	}
+
+	@Override
+	protected void createFieldEditors() {
+		addField(new StringFieldEditor("KR06_07.host", "Endpoint Host:", getFieldEditorParent()));
+		addField(new IntegerFieldEditor("KR06_07.port", "Endpoint Port:", getFieldEditorParent()));
+		addField(new RadioGroupFieldEditor("KR06_07.protocol", "Protocol:", 1, new String[][] {{"HTTP","http"},{"HTTPS","https"}}, getFieldEditorParent()));
+		
+		addField(new RadioGroupFieldEditor("KR06_07.enableStatus", "Enabled:", 1, new String[][] {{"Both Enabled and Disabled Checks","both"}, {"Only Enabled Checks","true"}, {"Only Disabled Checks","false"}}, getFieldEditorParent()));
+		addField(new RadioGroupFieldEditor("KR06_07.confStatus", "Configured:", 1, new String[][] {{"Both Configured and Not Configured Checks","both"}, {"Only Configured Checks","true"}, {"Only Not Configured Checks","false"}}, getFieldEditorParent()));
+		addField(new RadioGroupFieldEditor("KR06_07.entityType", "Entity Type:", 1, new String[][] {{"Both IaC and Component Checks","both"}, {"Only IaC","IaC"}, {"Only Component","component"}}, getFieldEditorParent()));
+
+	}
+
+}
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR08/.classpath b/Source Code/V2.0/PiacereIDEIntegration.KR08/.classpath
new file mode 100644
index 0000000000000000000000000000000000000000..81fe078c20c05db46a8281fbb1a72875a5322b45
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KR08/.classpath	
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-17"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR08/.gitignore b/Source Code/V2.0/PiacereIDEIntegration.KR08/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..ae3c1726048cd06b9a143e0376ed46dd9b9a8d53
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KR08/.gitignore	
@@ -0,0 +1 @@
+/bin/
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR08/.project b/Source Code/V2.0/PiacereIDEIntegration.KR08/.project
new file mode 100644
index 0000000000000000000000000000000000000000..9992dcf91ea39ba0923e8ec0765c648bffa25d1a
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KR08/.project	
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>PiacereIDEIntegration.KR08</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR08/.settings/org.eclipse.jdt.core.prefs b/Source Code/V2.0/PiacereIDEIntegration.KR08/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000000000000000000000000000000000000..62ef3488cc0468ee9c2d4440dfbbbd5877cd0c28
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KR08/.settings/org.eclipse.jdt.core.prefs	
@@ -0,0 +1,9 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=17
+org.eclipse.jdt.core.compiler.compliance=17
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
+org.eclipse.jdt.core.compiler.release=enabled
+org.eclipse.jdt.core.compiler.source=17
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR08/META-INF/MANIFEST.MF b/Source Code/V2.0/PiacereIDEIntegration.KR08/META-INF/MANIFEST.MF
new file mode 100644
index 0000000000000000000000000000000000000000..5f9ac6df7e573580a0e348acb5b281a38f89d198
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KR08/META-INF/MANIFEST.MF	
@@ -0,0 +1,33 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: KR08
+Bundle-SymbolicName: PiacereIDEIntegration.KR08;singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Automatic-Module-Name: PiacereIDEIntegration.KR08
+Require-Bundle: org.eclipse.ui,
+ org.eclipse.core.runtime,
+ org.apache.httpcomponents.httpcore
+Import-Package: eu.piacere.doml.doml.commons,
+ eu.piacere.piacereTool.utils,
+ org.apache.commons.io,
+ org.apache.http.client;version="4.5.13",
+ org.apache.http.client.methods;version="4.5.13",
+ org.apache.http.impl.client;version="4.5.13",
+ org.eclipse.core.resources,
+ org.eclipse.core.runtime.preferences;version="3.4.0",
+ org.eclipse.emf.common.notify,
+ org.eclipse.emf.common.util,
+ org.eclipse.emf.ecore,
+ org.eclipse.emf.ecore.resource,
+ org.eclipse.emf.ecore.resource.impl,
+ org.eclipse.emf.ecore.util,
+ org.eclipse.emf.edit.provider.resource,
+ org.eclipse.emf.edit.ui.provider,
+ org.eclipse.ui.dialogs,
+ org.eclipse.ui.navigator,
+ org.eclipse.ui.views.properties,
+ org.json,
+ org.restlet,
+ org.restlet.data,
+ org.restlet.representation,
+ org.restlet.resource
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR08/Piacere/PiacereIcon_16x16.png b/Source Code/V2.0/PiacereIDEIntegration.KR08/Piacere/PiacereIcon_16x16.png
new file mode 100644
index 0000000000000000000000000000000000000000..444de54d6cfe2958fac1bbb89dd8619b4c537c47
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KR08/Piacere/PiacereIcon_16x16.png differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR08/build.properties b/Source Code/V2.0/PiacereIDEIntegration.KR08/build.properties
new file mode 100644
index 0000000000000000000000000000000000000000..d3bb3b52a4b4e6918a27ed9328f514e80b23ccc0
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KR08/build.properties	
@@ -0,0 +1,7 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+               .,\
+               Piacere/,\
+               plugin.xml,\
+               icons/
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/ComponentsModel.png b/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/ComponentsModel.png
new file mode 100644
index 0000000000000000000000000000000000000000..9ee76accc89ff76934fe746a3af1a853843e1209
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/ComponentsModel.png differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/FAdAIcon_24.png b/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/FAdAIcon_24.png
new file mode 100644
index 0000000000000000000000000000000000000000..f4259625230e2b11b98a14aa6b75b52edad25dd8
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/FAdAIcon_24.png differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/FadaModelRepositoriesView.png b/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/FadaModelRepositoriesView.png
new file mode 100644
index 0000000000000000000000000000000000000000..4db27dd10ecbbcf29062e8cc7b7b3c22bf72c5a3
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/FadaModelRepositoriesView.png differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/FadaModelRepositoriesView_old.png b/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/FadaModelRepositoriesView_old.png
new file mode 100644
index 0000000000000000000000000000000000000000..d4f2feef7f465a95b720ec2a24aa4429b5a64aab
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/FadaModelRepositoriesView_old.png differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/RepoConnected.png b/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/RepoConnected.png
new file mode 100644
index 0000000000000000000000000000000000000000..bd178d026ebd3aa22573ca74e985f306d64a59c1
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/RepoConnected.png differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/RepoDisconnected.png b/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/RepoDisconnected.png
new file mode 100644
index 0000000000000000000000000000000000000000..0c78354020ea586917e7ec598e357c739b031aa0
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/RepoDisconnected.png differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/SystemConfigurationModel.png b/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/SystemConfigurationModel.png
new file mode 100644
index 0000000000000000000000000000000000000000..d4561b60458f1b50d06bfd23d7f8308af08688ef
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/SystemConfigurationModel.png differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/addRepository.png b/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/addRepository.png
new file mode 100644
index 0000000000000000000000000000000000000000..fe03f37202ca955983c42397173fb12faca9d187
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/addRepository.png differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/bundle.png b/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/bundle.png
new file mode 100644
index 0000000000000000000000000000000000000000..1f41d9b1bfcf6db40272453364a446ad457ec50f
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/bundle.png differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/collapseAll.gif b/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/collapseAll.gif
new file mode 100644
index 0000000000000000000000000000000000000000..a2d80a9044f38833cb728a69c88294ce3fd007c7
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/collapseAll.gif differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/deleteRepository.png b/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/deleteRepository.png
new file mode 100644
index 0000000000000000000000000000000000000000..807f97450c23a784814393f55a16ff75688ec15b
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/deleteRepository.png differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/download.png b/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/download.png
new file mode 100644
index 0000000000000000000000000000000000000000..236f4a77ea9131d404b0efb5e7bddd72098181f9
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/download.png differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/expandAll.gif b/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/expandAll.gif
new file mode 100644
index 0000000000000000000000000000000000000000..0205b29176d4e60307639b6ac80ebfc40be61c3b
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/expandAll.gif differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/export.png b/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/export.png
new file mode 100644
index 0000000000000000000000000000000000000000..670042c62ce6b5cb200fa3807c57d18511275f39
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/export.png differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/full/elcl16/addrepositorylocation.gif b/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/full/elcl16/addrepositorylocation.gif
new file mode 100644
index 0000000000000000000000000000000000000000..6237766393fcc7a602d4695d151c3e546abeab6a
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/full/elcl16/addrepositorylocation.gif differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/full/elcl16/copy.gif b/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/full/elcl16/copy.gif
new file mode 100644
index 0000000000000000000000000000000000000000..71d7c95aa8caa2e8f139d262a4e5e08aba2b88e5
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/full/elcl16/copy.gif differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/full/elcl16/integrateconceptualfragment.gif b/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/full/elcl16/integrateconceptualfragment.gif
new file mode 100644
index 0000000000000000000000000000000000000000..07164754e5ca231666d9daf7fa4a9d12e378a52a
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/full/elcl16/integrateconceptualfragment.gif differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/full/elcl16/integratetechnicalfragment.gif b/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/full/elcl16/integratetechnicalfragment.gif
new file mode 100644
index 0000000000000000000000000000000000000000..e7035189cd8dd45b6afba27b8cbccd75df5000e1
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/full/elcl16/integratetechnicalfragment.gif differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/full/elcl16/paste.gif b/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/full/elcl16/paste.gif
new file mode 100644
index 0000000000000000000000000000000000000000..39dd4d9d38aa85f9c4c9ff652c453c555b850980
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/full/elcl16/paste.gif differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/full/elcl16/search.gif b/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/full/elcl16/search.gif
new file mode 100644
index 0000000000000000000000000000000000000000..d540a01f4d9eeb9d2951f30cee165c7370e9fc6a
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/full/elcl16/search.gif differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/full/obj16/CapabilityPattern.gif b/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/full/obj16/CapabilityPattern.gif
new file mode 100644
index 0000000000000000000000000000000000000000..15ffbb0795fbdc2a0add02f0a07bcea02f034ab4
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/full/obj16/CapabilityPattern.gif differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/full/obj16/CapabilityPatterns.gif b/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/full/obj16/CapabilityPatterns.gif
new file mode 100644
index 0000000000000000000000000000000000000000..37147654e68f964a947278cb954e47633809c5c4
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/full/obj16/CapabilityPatterns.gif differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/full/obj16/ConceptualFragment.gif b/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/full/obj16/ConceptualFragment.gif
new file mode 100644
index 0000000000000000000000000000000000000000..49ab538b6c432e7eb280793484e555df7ba2761d
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/full/obj16/ConceptualFragment.gif differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/full/obj16/Delete.gif b/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/full/obj16/Delete.gif
new file mode 100644
index 0000000000000000000000000000000000000000..b6922ac11cf64e16a15cf2976cdaa1e40118abed
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/full/obj16/Delete.gif differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/full/obj16/DeliveryProcess.gif b/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/full/obj16/DeliveryProcess.gif
new file mode 100644
index 0000000000000000000000000000000000000000..7b40362c2f54cebce43f5511342df015c4f52feb
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/full/obj16/DeliveryProcess.gif differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/full/obj16/Description.gif b/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/full/obj16/Description.gif
new file mode 100644
index 0000000000000000000000000000000000000000..75f33c24fa441d09729e7adcbc78a4e55d84b443
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/full/obj16/Description.gif differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/full/obj16/Descriptor.gif b/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/full/obj16/Descriptor.gif
new file mode 100644
index 0000000000000000000000000000000000000000..04032a915a0d9eace79a7aec3c573ca07eb7f4ac
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/full/obj16/Descriptor.gif differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/full/obj16/Input.gif b/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/full/obj16/Input.gif
new file mode 100644
index 0000000000000000000000000000000000000000..d8d7d974fa596ee7a8d06b1d8b110ee7336850af
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/full/obj16/Input.gif differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/full/obj16/Interface.gif b/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/full/obj16/Interface.gif
new file mode 100644
index 0000000000000000000000000000000000000000..7c7d39ef65b96d71b7b2e1e576c3677bbf7757f1
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/full/obj16/Interface.gif differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/full/obj16/MethodPlugin.gif b/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/full/obj16/MethodPlugin.gif
new file mode 100644
index 0000000000000000000000000000000000000000..bb82c391ed462f0f01e988e00b07f8de262278e7
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/full/obj16/MethodPlugin.gif differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/full/obj16/Name.gif b/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/full/obj16/Name.gif
new file mode 100644
index 0000000000000000000000000000000000000000..75f33c24fa441d09729e7adcbc78a4e55d84b443
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/full/obj16/Name.gif differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/full/obj16/Objective.gif b/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/full/obj16/Objective.gif
new file mode 100644
index 0000000000000000000000000000000000000000..75f33c24fa441d09729e7adcbc78a4e55d84b443
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/full/obj16/Objective.gif differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/full/obj16/Origin.gif b/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/full/obj16/Origin.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c79bf78956a277d98343ab949be3efe08411f37f
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/full/obj16/Origin.gif differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/full/obj16/Output.gif b/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/full/obj16/Output.gif
new file mode 100644
index 0000000000000000000000000000000000000000..b4fe2c84ecd2cb1ce8a4fb03a091ba76cad78916
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/full/obj16/Output.gif differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/full/obj16/Package.gif b/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/full/obj16/Package.gif
new file mode 100644
index 0000000000000000000000000000000000000000..00a311efa25ac538073fb14e59efbb9a968a94e3
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/full/obj16/Package.gif differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/full/obj16/Processes.gif b/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/full/obj16/Processes.gif
new file mode 100644
index 0000000000000000000000000000000000000000..08d8c2d5d1a7a70f5af53200633a7ba92aab1788
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/full/obj16/Processes.gif differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/full/obj16/Repositories.gif b/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/full/obj16/Repositories.gif
new file mode 100644
index 0000000000000000000000000000000000000000..16eda8a78a63bfe5874e2e92a29f20a644241bba
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/full/obj16/Repositories.gif differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/full/obj16/RoleSetCategory.gif b/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/full/obj16/RoleSetCategory.gif
new file mode 100644
index 0000000000000000000000000000000000000000..54a3f677a3efc25358bb4f637de6166d1425a486
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/full/obj16/RoleSetCategory.gif differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/full/obj16/Task.gif b/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/full/obj16/Task.gif
new file mode 100644
index 0000000000000000000000000000000000000000..5c3b2b89a47caa2cbec35a9e9c3fe2efef4b2895
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/full/obj16/Task.gif differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/full/obj16/Tasks.gif b/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/full/obj16/Tasks.gif
new file mode 100644
index 0000000000000000000000000000000000000000..638bd83009d2d7bf881dab9dbc07c176edd23060
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/full/obj16/Tasks.gif differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/full/obj16/TechnicalFragment.gif b/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/full/obj16/TechnicalFragment.gif
new file mode 100644
index 0000000000000000000000000000000000000000..4f1b85a7801922060d6b5a968a76be30eb5326c9
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/full/obj16/TechnicalFragment.gif differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/full/obj16/TechnicalFragmentError.gif b/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/full/obj16/TechnicalFragmentError.gif
new file mode 100644
index 0000000000000000000000000000000000000000..50b162dbdfc4a7f0eabd5d7119871e378efe6940
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/full/obj16/TechnicalFragmentError.gif differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/full/obj16/TechnicalFragmentImported.gif b/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/full/obj16/TechnicalFragmentImported.gif
new file mode 100644
index 0000000000000000000000000000000000000000..3260ab2872cfcc35cc75b3501dd05bb23bd6f333
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/full/obj16/TechnicalFragmentImported.gif differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/full/obj16/Type.gif b/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/full/obj16/Type.gif
new file mode 100644
index 0000000000000000000000000000000000000000..358cbcb83d800352e59d672771057f3156f27491
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/full/obj16/Type.gif differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/full/obj16/WorkProduct.gif b/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/full/obj16/WorkProduct.gif
new file mode 100644
index 0000000000000000000000000000000000000000..1540f3d3c95605a8d7f641f8c93b098e356c40c3
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/full/obj16/WorkProduct.gif differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/full/obj16/WorkProducts.gif b/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/full/obj16/WorkProducts.gif
new file mode 100644
index 0000000000000000000000000000000000000000..cf289263e15224bfd984e2145ddc6c6eb415f50c
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/full/obj16/WorkProducts.gif differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/full/obj16/activity16.gif b/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/full/obj16/activity16.gif
new file mode 100644
index 0000000000000000000000000000000000000000..cf20deb439ab39a63162c93396060706051569b0
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/full/obj16/activity16.gif differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/full/obj16/role.gif b/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/full/obj16/role.gif
new file mode 100644
index 0000000000000000000000000000000000000000..69ebdf2959ed859952751f3f377d581671045873
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/full/obj16/role.gif differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/import.png b/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/import.png
new file mode 100644
index 0000000000000000000000000000000000000000..bb6ff06b7bcf18590deb1f93a519d5264b6a067f
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/import.png differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/jar.png b/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/jar.png
new file mode 100644
index 0000000000000000000000000000000000000000..660f8ea5131c2f9f59a5fa2491993cfa71a1ac57
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/jar.png differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/ref.png b/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/ref.png
new file mode 100644
index 0000000000000000000000000000000000000000..2839c60a42f8a79067981fd7b3a26f4b81a69231
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/ref.png differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/refresh.gif b/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/refresh.gif
new file mode 100644
index 0000000000000000000000000000000000000000..e3831471a6592da14f53b1e7c5a2f7d6a92d9937
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/refresh.gif differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/repository.png b/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/repository.png
new file mode 100644
index 0000000000000000000000000000000000000000..92794f126f846474fafef14aac6fccb82faaf4f8
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KR08/icons/repository.png differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR08/plugin.xml b/Source Code/V2.0/PiacereIDEIntegration.KR08/plugin.xml
new file mode 100644
index 0000000000000000000000000000000000000000..4562af168139bfe1d6d21ed78591496fcbf1f69d
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KR08/plugin.xml	
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+<plugin>
+   <extension
+         point="org.eclipse.ui.preferencePages">
+      <page
+            category="PiacereToolCustomization.preferences.page1"
+            class="eu.piacere.ide.toolIntegration.kr08.preferencePage.KR08PreferencePage"
+            id="PiacereIDEIntegration.KR08.preferences.page1"
+            name="Canary SandBox Environment Provisioner Preferences">
+      </page>
+   </extension>
+   <extension
+         point="org.eclipse.core.runtime.preferences">
+      <initializer
+            class="eu.piacere.ide.toolIntegration.kr08.preferencePage.KR08PreferenceInitializer">
+      </initializer>
+   </extension>
+   <extension point = "org.eclipse.ui.views">
+      <view
+         id = "PiacereIDEIntegration.KR08.CanarySandboxViewPart"
+         name = "Canary SandBox Environment"
+         category = "org.eclipse.ui"
+         class = "eu.piacere.ide.toolIntegration.kr08.viewPart.CanarySandboxViewPart"
+         icon = "Piacere/PiacereIcon_16x16.png" />
+   </extension>
+   <extension
+         point="org.eclipse.ui.commands">
+      <command
+            categoryId="eu.piacere.piacereModelsCommands.category.id"
+            defaultHandler="eu.piacere.ide.toolIntegration.kr08.commandHandlers.CreateCanarySandBoxDeploymentCommandHandler"
+            id="eu.piacere.piacereModelsCommands.createCanarySandBoxDeploymentCommand.id"
+            name="Create Canary SandBox Deployment">
+      </command>
+   </extension>
+   <extension
+         point="org.eclipse.ui.menus">
+      <menuContribution
+            allPopups="false"
+            locationURI="popup:eu.piacere.eclipsePopupMenu.id">
+         <command
+               commandId="eu.piacere.piacereModelsCommands.createCanarySandBoxDeploymentCommand.id"
+               icon="Piacere/PiacereIcon_16x16.png"
+               label="Create Canary SandBox Deployment"
+               style="push"
+               tooltip="Create Canary SandBox Deployment">
+            <visibleWhen
+                  checkEnabled="false">
+               <reference
+                     definitionId="eu.piacere.piacereTool.propertyTesters.extensionPropertyTester.isJSON.id">
+               </reference>
+            </visibleWhen>
+         </command>
+      </menuContribution>
+   </extension>
+
+</plugin>
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR08/src/eu/piacere/ide/toolIntegration/kr08/commandHandlers/CreateCanarySandBoxDeploymentCommandHandler.java b/Source Code/V2.0/PiacereIDEIntegration.KR08/src/eu/piacere/ide/toolIntegration/kr08/commandHandlers/CreateCanarySandBoxDeploymentCommandHandler.java
new file mode 100644
index 0000000000000000000000000000000000000000..727230978eeced93f43b1f674b9b101f94c331bc
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KR08/src/eu/piacere/ide/toolIntegration/kr08/commandHandlers/CreateCanarySandBoxDeploymentCommandHandler.java	
@@ -0,0 +1,67 @@
+package eu.piacere.ide.toolIntegration.kr08.commandHandlers;
+
+import java.io.OutputStream;
+import java.net.HttpURLConnection;
+import java.net.URL;
+import java.net.URLConnection;
+import java.nio.charset.StandardCharsets;
+
+import org.eclipse.core.commands.AbstractHandler;
+import org.eclipse.core.commands.ExecutionEvent;
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.ui.handlers.HandlerUtil;
+
+import eu.piacere.ide.toolIntegration.kr08.viewPart.util.CSEDeploymentClientUtil;
+import eu.piacere.piacereTool.utils.FileUtils;
+import eu.piacere.piacereTool.utils.ToolCustomizationUtils;
+
+public class CreateCanarySandBoxDeploymentCommandHandler extends AbstractHandler{
+	
+	private void doPostToCreateCSEDeployment(String filecontent) throws Exception {
+		String protocol=ToolCustomizationUtils.getPreference(this.getClass(), "KR08.protocol");
+		String host=ToolCustomizationUtils.getPreference(this.getClass(), "KR08.host");
+		String port=ToolCustomizationUtils.getPreference(this.getClass(), "KR08.port");
+		URL url = new URL(protocol+"://"+host+":"+port+"/deployments/");
+		URLConnection con = url.openConnection();
+		HttpURLConnection http = (HttpURLConnection)con;
+		http.setRequestMethod("POST");
+		http.setDoOutput(true);
+		byte[] out = filecontent.getBytes(StandardCharsets.UTF_8);
+		int length = out.length;
+
+		http.setFixedLengthStreamingMode(length);
+		http.setRequestProperty("Content-Type", "application/json; charset=UTF-8");
+		http.connect();
+		try(OutputStream os = http.getOutputStream()) {
+		    os.write(out);
+		}
+	}
+	
+	@Override
+	public Object execute(ExecutionEvent event) throws ExecutionException {
+		ToolCustomizationUtils.saveWorkbench();
+		ISelection selection = HandlerUtil.getCurrentSelection(event);
+		if (selection instanceof StructuredSelection) {
+			if(((StructuredSelection)selection).getFirstElement() instanceof IFile){
+				IFile res = (IFile)((StructuredSelection) selection).getFirstElement();
+
+				String fileContent=FileUtils.getIFileContents(res);
+				if(fileContent==null) {
+					return null;
+				}
+				try {
+					doPostToCreateCSEDeployment(fileContent);
+					CSEDeploymentClientUtil.getRuntimeControllerView().getCanarySandboxController().reloadContent();
+					CSEDeploymentClientUtil.getRuntimeControllerView().refreshViewer();
+				} catch (Exception e) {
+					e.printStackTrace();
+				}
+			}
+		}
+		return null;
+	}
+	
+}
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR08/src/eu/piacere/ide/toolIntegration/kr08/preferencePage/KR08PreferenceInitializer.java b/Source Code/V2.0/PiacereIDEIntegration.KR08/src/eu/piacere/ide/toolIntegration/kr08/preferencePage/KR08PreferenceInitializer.java
new file mode 100644
index 0000000000000000000000000000000000000000..fc9e443d023218d01342dc0e6933131d8ddf3539
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KR08/src/eu/piacere/ide/toolIntegration/kr08/preferencePage/KR08PreferenceInitializer.java	
@@ -0,0 +1,20 @@
+package eu.piacere.ide.toolIntegration.kr08.preferencePage;
+
+import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer;
+import org.eclipse.core.runtime.preferences.ConfigurationScope;
+import org.eclipse.ui.preferences.ScopedPreferenceStore;
+import org.osgi.framework.FrameworkUtil;
+
+public class KR08PreferenceInitializer extends AbstractPreferenceInitializer {
+
+	@Override
+	public void initializeDefaultPreferences() {
+		
+		ScopedPreferenceStore scopedPreferenceStore = new ScopedPreferenceStore(ConfigurationScope.INSTANCE,(FrameworkUtil.getBundle(KR08PreferenceInitializer.class)).getSymbolicName());
+        scopedPreferenceStore.setDefault("KR08.host", "csep.ci.piacere.digital.tecnalia.dev");
+        scopedPreferenceStore.setDefault("KR08.port", 443);
+        scopedPreferenceStore.setDefault("KR08.protocol", "https");
+
+	}
+
+}
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR08/src/eu/piacere/ide/toolIntegration/kr08/preferencePage/KR08PreferencePage.java b/Source Code/V2.0/PiacereIDEIntegration.KR08/src/eu/piacere/ide/toolIntegration/kr08/preferencePage/KR08PreferencePage.java
new file mode 100644
index 0000000000000000000000000000000000000000..328434b33c03ed6e502b1719692a7aac520c07a2
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KR08/src/eu/piacere/ide/toolIntegration/kr08/preferencePage/KR08PreferencePage.java	
@@ -0,0 +1,36 @@
+package eu.piacere.ide.toolIntegration.kr08.preferencePage;
+
+import org.eclipse.core.runtime.preferences.ConfigurationScope;
+import org.eclipse.jface.preference.FieldEditorPreferencePage;
+import org.eclipse.jface.preference.IntegerFieldEditor;
+import org.eclipse.jface.preference.RadioGroupFieldEditor;
+import org.eclipse.jface.preference.StringFieldEditor;
+import org.eclipse.ui.IWorkbench;
+import org.eclipse.ui.IWorkbenchPreferencePage;
+import org.eclipse.ui.preferences.ScopedPreferenceStore;
+import org.osgi.framework.FrameworkUtil;
+
+public class KR08PreferencePage  extends FieldEditorPreferencePage implements IWorkbenchPreferencePage {
+
+	public KR08PreferencePage() {
+		super(GRID);
+	}
+
+	@Override
+	public void init(IWorkbench workbench) {
+		//WHICH SCOPE SHOULD I SELECT: https://wiki.eclipse.org/FAQ_What_is_a_preference_scope%3F
+		
+		 setPreferenceStore(new ScopedPreferenceStore(ConfigurationScope.INSTANCE, (FrameworkUtil.getBundle(KR08PreferenceInitializer.class)).getSymbolicName()));
+	     setDescription("These are the Canary SandBox Environment Provisioner preferences");
+
+	}
+
+	@Override
+	protected void createFieldEditors() {
+		addField(new StringFieldEditor("KR08.host", "Endpoint Host", getFieldEditorParent()));
+		addField(new IntegerFieldEditor("KR08.port", "Endpoint Port", getFieldEditorParent()));
+		addField(new RadioGroupFieldEditor("KR08.protocol", "Protocol", 1, new String[][] {{"HTTP","http"},{"HTTPS","https"}}, getFieldEditorParent()));
+
+	}
+
+}
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR08/src/eu/piacere/ide/toolIntegration/kr08/viewPart/CanarySandboxViewPart.java b/Source Code/V2.0/PiacereIDEIntegration.KR08/src/eu/piacere/ide/toolIntegration/kr08/viewPart/CanarySandboxViewPart.java
new file mode 100644
index 0000000000000000000000000000000000000000..2e71295cb623e99e7f82cbe354e56ec36d1124f8
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KR08/src/eu/piacere/ide/toolIntegration/kr08/viewPart/CanarySandboxViewPart.java	
@@ -0,0 +1,198 @@
+package eu.piacere.ide.toolIntegration.kr08.viewPart;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.edit.provider.resource.ResourceItemProviderAdapterFactory;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.action.IMenuListener;
+import org.eclipse.jface.action.IMenuManager;
+import org.eclipse.jface.action.MenuManager;
+import org.eclipse.jface.action.Separator;
+import org.eclipse.jface.resource.FontDescriptor;
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.jface.resource.JFaceResources;
+import org.eclipse.jface.resource.LocalResourceManager;
+import org.eclipse.jface.resource.ResourceManager;
+import org.eclipse.jface.viewers.IBaseLabelProvider;
+import org.eclipse.jface.viewers.IContentProvider;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.ISelectionChangedListener;
+import org.eclipse.jface.viewers.ISelectionProvider;
+import org.eclipse.jface.viewers.SelectionChangedEvent;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Menu;
+import org.eclipse.ui.IMemento;
+import org.eclipse.ui.IViewSite;
+import org.eclipse.ui.PartInitException;
+import org.eclipse.ui.actions.ActionGroup;
+import org.eclipse.ui.navigator.CommonNavigator;
+import org.eclipse.ui.navigator.CommonViewer;
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+
+import eu.piacere.ide.toolIntegration.kr08.viewPart.actions.CanarySandboxViewActionGroup;
+import eu.piacere.ide.toolIntegration.kr08.viewPart.actions.DeleteDeploymentAction;
+import eu.piacere.ide.toolIntegration.kr08.viewPart.actions.DownloadDeploymentInfoAction;
+import eu.piacere.ide.toolIntegration.kr08.viewPart.actions.LoadDeploymentInfoAction;
+import eu.piacere.ide.toolIntegration.kr08.viewPart.actions.RedeployDeploymentAction;
+import eu.piacere.ide.toolIntegration.kr08.viewPart.actions.RefreshAction;
+import eu.piacere.ide.toolIntegration.kr08.viewPart.providers.CSEContentProvider;
+import eu.piacere.ide.toolIntegration.kr08.viewPart.providers.CSELabelProvider;
+import eu.piacere.ide.toolIntegration.kr08.viewPart.util.CSEDeployment;
+import eu.piacere.ide.toolIntegration.kr08.viewPart.util.CanarySandboxEnvironmentProvisioner;
+
+
+public class CanarySandboxViewPart extends CommonNavigator implements IMenuListener {
+
+	private static CanarySandboxEnvironmentProvisioner canarySandboxEnvironmentProvisioner = new CanarySandboxEnvironmentProvisioner();
+
+	public CanarySandboxEnvironmentProvisioner getCanarySandboxController() {
+		return canarySandboxEnvironmentProvisioner;
+	}
+	@Override
+	public void createPartControl(Composite parent) {
+		super.createPartControl(parent);
+
+		if (getCommonViewer() != null) {
+
+			getCommonViewer().setContentProvider((IContentProvider)new CSEContentProvider((AdapterFactory)new ResourceItemProviderAdapterFactory()));
+			getCommonViewer().setInput(canarySandboxEnvironmentProvisioner);
+			getCommonViewer().setLabelProvider((IBaseLabelProvider)new CSELabelProvider());
+			ResourceManager resourceManager = new LocalResourceManager(JFaceResources.getResources(), parent);
+			getCommonViewer().getTree().setFont(resourceManager.createFont(FontDescriptor.createFrom(getCommonViewer().getTree().getFont()).setHeight(14)));
+			getCommonViewer().setSorter(null);
+			getCommonViewer().addSelectionChangedListener(new SelectionChangedListener());
+			createContextMenuForViewer(getCommonViewer());
+			refreshViewer();
+		} 
+	}
+
+	public void init(IViewSite aSite, IMemento aMemento) throws PartInitException {
+		super.init(aSite, aMemento);
+
+		if (aMemento != null && this.getCanarySandboxController().getDeployments().size() == 0) {
+			/*int i = 0;
+			while (aMemento.getString("host" + i) != null) {
+				RepositoryLocation rp = new RepositoryLocation();
+				rp.setHost(aMemento.getString("host" + i));
+				rp.setRepositoryPath(aMemento.getString("repositorypath" + i));
+				rp.setName(aMemento.getString("name" + i));
+				if(DeploymentClientUtil.testConnection(rp, false)) {
+					rp.reloadContent();
+				}
+				locations.add(rp);
+				i++;
+			} */
+		} 
+	}
+
+	protected CommonViewer createCommonViewerObject(Composite aParent) {
+		return new CommonViewer(getViewSite().getId(), aParent, 768);
+	}
+
+	private class SelectionChangedListener implements ISelectionChangedListener {
+		@SuppressWarnings("unused")
+		public void selectionChanged(SelectionChangedEvent event) {
+			if (event.getSelection() instanceof StructuredSelection) {
+				Object selected = ((StructuredSelection)event.getSelection()).getFirstElement(); 
+			}
+		}
+	}
+
+	protected ActionGroup createCommonActionGroup() {
+		return (ActionGroup)new CanarySandboxViewActionGroup(getCommonViewer());
+	}
+
+	public void refreshViewer() {
+		CommonViewer viewer = getCommonViewer();
+		if (viewer != null && !viewer.getTree().isDisposed())
+			viewer.refresh(); 
+	}
+
+	public void saveState(IMemento aMemento) {
+		super.saveState(aMemento);/*
+		int size = locations.size();
+		for (int i = 0; i < size; i++) {
+			RepositoryLocation rp = locations.get(i);
+			aMemento.putString("host" + i, rp.getHost());
+			aMemento.putString("repositorypath" + i, rp.getRepositoryPath());
+			aMemento.putString("name" + i, rp.getName());
+		} */
+	}
+
+	private void createContextMenuForViewer(CommonViewer viewer) {
+		MenuManager contextMenu = new MenuManager("Popup", getImageDescriptor("icons/FadaModelRepositoriesView.png"), null);
+		contextMenu.setRemoveAllWhenShown(true);
+		contextMenu.addMenuListener(this);
+
+		Menu menu = contextMenu.createContextMenu(viewer.getControl());
+		viewer.getControl().setMenu(menu);
+		this.getSite().registerContextMenu(contextMenu, (ISelectionProvider)viewer);
+	}
+
+	public void menuAboutToShow(IMenuManager manager) {
+		ISelection selection = getCommonViewer().getSelection();
+		if (selection instanceof StructuredSelection) {
+			StructuredSelection sel = (StructuredSelection)selection;
+			Object selectedObject = sel.getFirstElement();
+			if (selectedObject instanceof CSEDeployment) {
+				
+				
+				RefreshAction ra = new RefreshAction();
+				ra.setText("Refresh All");
+				ra.setImageDescriptor(getImageDescriptor("icons/refresh.gif"));
+				
+				LoadDeploymentInfoAction ldia = new LoadDeploymentInfoAction();
+				ldia.setText("Load Info");
+				ldia.setImageDescriptor(getImageDescriptor("icons/repository.png"));
+				
+				DownloadDeploymentInfoAction ddia = new DownloadDeploymentInfoAction();
+				ddia.setText("Download Info");
+				ddia.setImageDescriptor(getImageDescriptor("icons/repository.png"));
+				
+				/*GetDeploymentInfoAction gdia = new GetDeploymentInfoAction();
+				gdia.setText("Get Deployment Details");
+				gdia.setImageDescriptor(getImageDescriptor("icons/repository.png"));
+				
+				OpenPerformanceMonitoringAction opma = new OpenPerformanceMonitoringAction();
+				opma.setText("Open Performance Monitor");
+				opma.setImageDescriptor(getImageDescriptor("icons/ref.png"));		
+*/
+				RedeployDeploymentAction rdda = new RedeployDeploymentAction ();
+				rdda.setText("Redeploy Deployment");
+				rdda.setImageDescriptor(getImageDescriptor("icons/refresh.gif"));
+				
+				DeleteDeploymentAction dda = new DeleteDeploymentAction ();
+				dda.setText("Delete Deployment");
+				dda.setImageDescriptor(getImageDescriptor("icons/deleteRepository.png"));
+			
+				
+				
+				
+				manager.add((IAction)ra);
+				manager.add(new Separator("additions"));
+				manager.add((IAction)ldia);
+				manager.add((IAction)ddia);
+				manager.add(new Separator("additions"));
+				manager.add((IAction)rdda);
+				/*manager.add((IAction)opma);*/
+				manager.add(new Separator("additions"));
+				manager.add((IAction)dda);
+			}
+			/*if (selectedObject instanceof AppComponentsModelVersion || selectedObject instanceof AppSystemConfigurationModelVersion) {
+				DownloadModelAction dma = new DownloadModelAction();
+				dma.setText("Download Model");
+				dma.setImageDescriptor(getImageDescriptor("icons/download.png"));
+				manager.add((IAction)dma);
+
+				DeleteModelAction dma2 = new DeleteModelAction();
+				dma2.setText("Delete Model from Repository");
+				dma2.setImageDescriptor(getImageDescriptor("icons/deleteRepository.png"));
+				manager.add((IAction)dma2);
+			}*/
+		} 
+	}
+
+	protected final ImageDescriptor getImageDescriptor(String relativePath) {
+		return AbstractUIPlugin.imageDescriptorFromPlugin("PiacereIDEIntegration.KR08", relativePath);
+	}
+}
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR08/src/eu/piacere/ide/toolIntegration/kr08/viewPart/actions/CanarySandboxViewActionGroup.java b/Source Code/V2.0/PiacereIDEIntegration.KR08/src/eu/piacere/ide/toolIntegration/kr08/viewPart/actions/CanarySandboxViewActionGroup.java
new file mode 100644
index 0000000000000000000000000000000000000000..f4905c20f12e671e7e43e166b7e30e8bed3fc55e
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KR08/src/eu/piacere/ide/toolIntegration/kr08/viewPart/actions/CanarySandboxViewActionGroup.java	
@@ -0,0 +1,53 @@
+package eu.piacere.ide.toolIntegration.kr08.viewPart.actions;
+
+import org.eclipse.jface.action.Separator;
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.ui.IActionBars;
+import org.eclipse.ui.actions.ActionGroup;
+import org.eclipse.ui.navigator.CommonViewer;
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+
+
+public class CanarySandboxViewActionGroup extends ActionGroup
+{
+	private final CommonViewer commonViewer;
+	
+	public CanarySandboxViewActionGroup(CommonViewer viewer) {
+		this.commonViewer = viewer;
+	}
+
+	protected final ImageDescriptor getImageDescriptor(String relativePath) {
+		return AbstractUIPlugin.imageDescriptorFromPlugin("PiacereIDEIntegration.KR10_KR11_KR12", relativePath);
+	}
+
+	public void fillActionBars(IActionBars actionBars) {
+
+		RefreshAction ra = new RefreshAction();
+		ra.setText("Refresh All");
+		ra.setImageDescriptor(getImageDescriptor("icons/refresh.gif"));
+		
+		/*CreateDeploymentAction cda = new CreateDeploymentAction();
+		cda.setText("Create Deployment");
+		cda.setImageDescriptor(getImageDescriptor("icons/addRepository.png"));
+*/
+		CollapseAllAction ca = new CollapseAllAction(this.commonViewer);
+		ca.setText("Collapse All");
+		ca.setImageDescriptor(getImageDescriptor("icons/collapseAll.gif"));
+		
+		ExpandAllAction ea = new ExpandAllAction(this.commonViewer);
+		ea.setText("Expand All");
+		ea.setImageDescriptor(getImageDescriptor("icons/expandAll.gif"));
+
+		actionBars.getMenuManager().add(ra);
+		//actionBars.getMenuManager().add(new Separator("additions"));
+		//actionBars.getMenuManager().add(cda);
+		actionBars.getMenuManager().add(new Separator("additions"));
+		actionBars.getMenuManager().add(ca);
+		actionBars.getMenuManager().add(ea);
+	}
+}
+
+
+
+
+
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR08/src/eu/piacere/ide/toolIntegration/kr08/viewPart/actions/CollapseAllAction.java b/Source Code/V2.0/PiacereIDEIntegration.KR08/src/eu/piacere/ide/toolIntegration/kr08/viewPart/actions/CollapseAllAction.java
new file mode 100644
index 0000000000000000000000000000000000000000..98ff044ee02492c02f4fe00b949a3ee6051518d3
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KR08/src/eu/piacere/ide/toolIntegration/kr08/viewPart/actions/CollapseAllAction.java	
@@ -0,0 +1,24 @@
+package eu.piacere.ide.toolIntegration.kr08.viewPart.actions;
+
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.ui.IWorkbenchCommandConstants;
+import org.eclipse.ui.navigator.CommonViewer;
+
+public class CollapseAllAction extends Action implements IAction
+{
+	private final CommonViewer commonViewer;
+
+	public CollapseAllAction(CommonViewer aViewer) {
+		super("Collapse all");
+		setToolTipText("Collapse all");
+		setActionDefinitionId(IWorkbenchCommandConstants.NAVIGATE_COLLAPSE_ALL);
+		this.commonViewer = aViewer;
+	}
+
+	public void run() {
+		if (this.commonViewer != null)
+			this.commonViewer.collapseAll(); 
+	}
+}
+
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR08/src/eu/piacere/ide/toolIntegration/kr08/viewPart/actions/DeleteDeploymentAction.java b/Source Code/V2.0/PiacereIDEIntegration.KR08/src/eu/piacere/ide/toolIntegration/kr08/viewPart/actions/DeleteDeploymentAction.java
new file mode 100644
index 0000000000000000000000000000000000000000..a13df3631f7bbad24b6293d8758e60d84179b3b6
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KR08/src/eu/piacere/ide/toolIntegration/kr08/viewPart/actions/DeleteDeploymentAction.java	
@@ -0,0 +1,47 @@
+package eu.piacere.ide.toolIntegration.kr08.viewPart.actions;
+
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.restlet.data.Protocol;
+
+import eu.piacere.ide.toolIntegration.kr08.viewPart.CanarySandboxViewPart;
+import eu.piacere.ide.toolIntegration.kr08.viewPart.util.CSEDeployment;
+import eu.piacere.ide.toolIntegration.kr08.viewPart.util.CSEDeploymentClientUtil;
+import eu.piacere.piacereTool.utils.ToolCustomizationUtils;
+
+
+public class DeleteDeploymentAction extends Action implements IAction
+{
+
+	public void run() {
+		CanarySandboxViewPart repositoriesView = CSEDeploymentClientUtil.getRuntimeControllerView();
+		ISelection selection = repositoriesView.getCommonViewer().getSelection();
+		if (selection instanceof StructuredSelection) {
+			StructuredSelection sel = (StructuredSelection)selection;
+			Object selectedObject = sel.getFirstElement();
+			if (selectedObject instanceof CSEDeployment) {
+				CSEDeployment deployment = (CSEDeployment)selectedObject;
+
+				String protocol = ToolCustomizationUtils.getPreference(this.getClass(), "KR08.protocol");
+				String host = ToolCustomizationUtils.getPreference(this.getClass(), "KR08.host");
+				String port = ToolCustomizationUtils.getPreference(this.getClass(), "KR08.port");		
+				Protocol p = null;
+				if(protocol.equals("http")) {
+					p=Protocol.HTTP;
+				}
+				else if(protocol.equals("https")) {
+					p=Protocol.HTTPS;
+				}
+				if(CSEDeploymentClientUtil.deleteDeployment(protocol+"://"+host+":"+port+"/", p, deployment)){
+					CanarySandboxViewPart csView = CSEDeploymentClientUtil.getRuntimeControllerView();
+					if (csView != null) {
+						csView.getCanarySandboxController().reloadContent();
+						csView.refreshViewer();
+					}
+				}
+			}
+		}
+	}
+}
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR08/src/eu/piacere/ide/toolIntegration/kr08/viewPart/actions/DownloadDeploymentInfoAction.java b/Source Code/V2.0/PiacereIDEIntegration.KR08/src/eu/piacere/ide/toolIntegration/kr08/viewPart/actions/DownloadDeploymentInfoAction.java
new file mode 100644
index 0000000000000000000000000000000000000000..b8f845f72f01667e73c1a39e257aadb321cbd7a1
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KR08/src/eu/piacere/ide/toolIntegration/kr08/viewPart/actions/DownloadDeploymentInfoAction.java	
@@ -0,0 +1,104 @@
+package eu.piacere.ide.toolIntegration.kr08.viewPart.actions;
+
+import org.eclipse.core.resources.IContainer;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.IWorkspace;
+import org.eclipse.core.resources.IWorkspaceRoot;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.dialogs.ProgressMonitorDialog;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.ui.dialogs.ContainerSelectionDialog;
+import org.json.JSONException;
+import org.json.JSONObject;
+import org.restlet.data.Protocol;
+
+import eu.piacere.ide.toolIntegration.kr08.viewPart.CanarySandboxViewPart;
+import eu.piacere.ide.toolIntegration.kr08.viewPart.util.CSEDeployment;
+import eu.piacere.ide.toolIntegration.kr08.viewPart.util.CSEDeploymentClientUtil;
+import eu.piacere.piacereTool.utils.FileUtils;
+import eu.piacere.piacereTool.utils.ToolCustomizationUtils;
+
+
+public class DownloadDeploymentInfoAction extends Action implements IAction
+{
+
+	public void run() {
+		CanarySandboxViewPart repositoriesView = CSEDeploymentClientUtil.getRuntimeControllerView();
+		ISelection selection = repositoriesView.getCommonViewer().getSelection();
+		if (selection instanceof StructuredSelection) {
+			StructuredSelection sel = (StructuredSelection)selection;
+			Object selectedObject = sel.getFirstElement();
+			if (selectedObject instanceof CSEDeployment) {
+				CSEDeployment deployment = (CSEDeployment)selectedObject;
+
+				String protocol = ToolCustomizationUtils.getPreference(this.getClass(), "KR08.protocol");
+				String host = ToolCustomizationUtils.getPreference(this.getClass(), "KR08.host");
+				String port = ToolCustomizationUtils.getPreference(this.getClass(), "KR08.port");		
+				Protocol p = null;
+				if(protocol.equals("http")) {
+					p=Protocol.HTTP;
+				}
+				else if(protocol.equals("https")) {
+					p=Protocol.HTTPS;
+				}
+				JSONObject deploymentInfo=CSEDeploymentClientUtil.retrieveDeploymentGet(protocol+"://"+host+":"+port+"/", p, deployment);
+				if(ToolCustomizationUtils.showQuestionDialog("Save Result", "Do you want to save the validation result on workspace?")) {
+					try {
+						String destinationPath=handleBrowse();
+						if(destinationPath!=null) {
+							IContainer cont=ResourcesPlugin.getWorkspace().getRoot().getContainerForLocation(new Path(ResourcesPlugin.getWorkspace().getRoot().getLocation().toString()+destinationPath));
+							saveFileInWorkspace(cont, deploymentInfo.toString(4), deployment.getDeploymentName()+"_DeploymentInfo.json");
+						}							
+					} catch (JSONException e) {
+						e.printStackTrace();
+					}
+				}
+			}
+		}
+	}
+
+
+	private void saveFileInWorkspace(IContainer container, String fileContent, String defaultFileName) {
+
+
+		String domlModelName=ToolCustomizationUtils.doDialogAsk("Deployment Info", "Enter the Deployment Info File Name", defaultFileName);
+
+		ProgressMonitorDialog pd=new ProgressMonitorDialog(ToolCustomizationUtils.getActiveShell());
+		pd.open();
+		try {
+			FileUtils.createFile(domlModelName , container, fileContent, pd);
+		} catch (Exception e1) {
+			e1.printStackTrace();
+		}
+		pd.close();
+		try {
+			container.refreshLocal(IResource.DEPTH_INFINITE, null);
+		} catch (CoreException e) {
+			e.printStackTrace();
+		}
+	}
+
+	public String handleBrowse() {
+		IWorkspace _workspace = ResourcesPlugin.getWorkspace();
+		IWorkspaceRoot _root = _workspace.getRoot();
+		ContainerSelectionDialog _containerSelectionDialog = new ContainerSelectionDialog(ToolCustomizationUtils.getActiveShell(), _root, false, "Select new file container");
+		final ContainerSelectionDialog dialog = _containerSelectionDialog;
+		int _open = dialog.open();
+		if (_open == ContainerSelectionDialog.OK) {
+			final Object[] result = dialog.getResult();
+			int _length = result.length;
+			if (_length == 1) {
+				Object _get = result[0];
+				String _string = ((Path) _get).toString();
+				return _string;
+			}
+		}
+		return null;
+	}
+}
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR08/src/eu/piacere/ide/toolIntegration/kr08/viewPart/actions/ExpandAllAction.java b/Source Code/V2.0/PiacereIDEIntegration.KR08/src/eu/piacere/ide/toolIntegration/kr08/viewPart/actions/ExpandAllAction.java
new file mode 100644
index 0000000000000000000000000000000000000000..b3d50050b322558542a08a76cab72dc56800df96
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KR08/src/eu/piacere/ide/toolIntegration/kr08/viewPart/actions/ExpandAllAction.java	
@@ -0,0 +1,25 @@
+package eu.piacere.ide.toolIntegration.kr08.viewPart.actions;
+
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.ui.IWorkbenchCommandConstants;
+import org.eclipse.ui.navigator.CommonViewer;
+
+public class ExpandAllAction extends Action implements IAction
+{
+	private final CommonViewer commonViewer;
+
+	public ExpandAllAction(CommonViewer aViewer) {
+		super("Expand All");
+		setToolTipText("Expand All");
+		setActionDefinitionId(IWorkbenchCommandConstants.NAVIGATE_EXPAND_ALL);
+
+		this.commonViewer = aViewer;
+	}
+
+	public void run() {
+		if (this.commonViewer != null)
+			this.commonViewer.expandAll(); 
+	}
+}
+
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR08/src/eu/piacere/ide/toolIntegration/kr08/viewPart/actions/LoadDeploymentInfoAction.java b/Source Code/V2.0/PiacereIDEIntegration.KR08/src/eu/piacere/ide/toolIntegration/kr08/viewPart/actions/LoadDeploymentInfoAction.java
new file mode 100644
index 0000000000000000000000000000000000000000..3e04fcba0de2d219821528d26f9447b03c79b0c4
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KR08/src/eu/piacere/ide/toolIntegration/kr08/viewPart/actions/LoadDeploymentInfoAction.java	
@@ -0,0 +1,48 @@
+package eu.piacere.ide.toolIntegration.kr08.viewPart.actions;
+
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.json.JSONException;
+import org.json.JSONObject;
+import org.restlet.data.Protocol;
+
+import eu.piacere.ide.toolIntegration.kr08.viewPart.CanarySandboxViewPart;
+import eu.piacere.ide.toolIntegration.kr08.viewPart.util.CSEDeployment;
+import eu.piacere.ide.toolIntegration.kr08.viewPart.util.CSEDeploymentClientUtil;
+import eu.piacere.piacereTool.utils.ToolCustomizationUtils;
+
+
+public class LoadDeploymentInfoAction extends Action implements IAction
+{
+
+	public void run() {
+		CanarySandboxViewPart repositoriesView = CSEDeploymentClientUtil.getRuntimeControllerView();
+		ISelection selection = repositoriesView.getCommonViewer().getSelection();
+		if (selection instanceof StructuredSelection) {
+			StructuredSelection sel = (StructuredSelection)selection;
+			Object selectedObject = sel.getFirstElement();
+			if (selectedObject instanceof CSEDeployment) {
+				CSEDeployment deployment = (CSEDeployment)selectedObject;
+
+				String protocol = ToolCustomizationUtils.getPreference(this.getClass(), "KR08.protocol");
+				String host = ToolCustomizationUtils.getPreference(this.getClass(), "KR08.host");
+				String port = ToolCustomizationUtils.getPreference(this.getClass(), "KR08.port");		
+				Protocol p = null;
+				if(protocol.equals("http")) {
+					p=Protocol.HTTP;
+				}
+				else if(protocol.equals("https")) {
+					p=Protocol.HTTPS;
+				}
+				JSONObject res=CSEDeploymentClientUtil.retrieveDeploymentGet(protocol+"://"+host+":"+port+"/", p, deployment);
+				try {
+					ToolCustomizationUtils.showInformationDialog(deployment.getDeploymentName()+" INFO", res.toString(4));
+				} catch (JSONException e) {
+					e.printStackTrace();
+				}
+			}
+		}
+	}
+}
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR08/src/eu/piacere/ide/toolIntegration/kr08/viewPart/actions/RedeployDeploymentAction.java b/Source Code/V2.0/PiacereIDEIntegration.KR08/src/eu/piacere/ide/toolIntegration/kr08/viewPart/actions/RedeployDeploymentAction.java
new file mode 100644
index 0000000000000000000000000000000000000000..39b7124f53b0aea956b9f3bda95ac170b7c441f0
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KR08/src/eu/piacere/ide/toolIntegration/kr08/viewPart/actions/RedeployDeploymentAction.java	
@@ -0,0 +1,47 @@
+package eu.piacere.ide.toolIntegration.kr08.viewPart.actions;
+
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.restlet.data.Protocol;
+
+import eu.piacere.ide.toolIntegration.kr08.viewPart.CanarySandboxViewPart;
+import eu.piacere.ide.toolIntegration.kr08.viewPart.util.CSEDeployment;
+import eu.piacere.ide.toolIntegration.kr08.viewPart.util.CSEDeploymentClientUtil;
+import eu.piacere.piacereTool.utils.ToolCustomizationUtils;
+
+
+public class RedeployDeploymentAction extends Action implements IAction
+{
+
+	public void run() {
+		CanarySandboxViewPart repositoriesView = CSEDeploymentClientUtil.getRuntimeControllerView();
+		ISelection selection = repositoriesView.getCommonViewer().getSelection();
+		if (selection instanceof StructuredSelection) {
+			StructuredSelection sel = (StructuredSelection)selection;
+			Object selectedObject = sel.getFirstElement();
+			if (selectedObject instanceof CSEDeployment) {
+				CSEDeployment deployment = (CSEDeployment)selectedObject;
+
+				String protocol = ToolCustomizationUtils.getPreference(this.getClass(), "KR08.protocol");
+				String host = ToolCustomizationUtils.getPreference(this.getClass(), "KR08.host");
+				String port = ToolCustomizationUtils.getPreference(this.getClass(), "KR08.port");		
+				Protocol p = null;
+				if(protocol.equals("http")) {
+					p=Protocol.HTTP;
+				}
+				else if(protocol.equals("https")) {
+					p=Protocol.HTTPS;
+				}
+				if(CSEDeploymentClientUtil.redeployDeployment(protocol+"://"+host+":"+port+"/", p, deployment)){
+					CanarySandboxViewPart csView = CSEDeploymentClientUtil.getRuntimeControllerView();
+					if (csView != null) {
+						csView.getCanarySandboxController().reloadContent();
+						csView.refreshViewer();
+					}
+				}
+			}
+		}
+	}
+}
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR08/src/eu/piacere/ide/toolIntegration/kr08/viewPart/actions/RefreshAction.java b/Source Code/V2.0/PiacereIDEIntegration.KR08/src/eu/piacere/ide/toolIntegration/kr08/viewPart/actions/RefreshAction.java
new file mode 100644
index 0000000000000000000000000000000000000000..98904b179246c3574c75d0996ecb32799083eabe
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KR08/src/eu/piacere/ide/toolIntegration/kr08/viewPart/actions/RefreshAction.java	
@@ -0,0 +1,18 @@
+package eu.piacere.ide.toolIntegration.kr08.viewPart.actions;
+
+import org.eclipse.jface.action.Action;
+
+import eu.piacere.ide.toolIntegration.kr08.viewPart.CanarySandboxViewPart;
+import eu.piacere.ide.toolIntegration.kr08.viewPart.util.CSEDeploymentClientUtil;
+
+public class RefreshAction extends Action
+{
+	public void run() {
+		super.run();
+		CanarySandboxViewPart csView = CSEDeploymentClientUtil.getRuntimeControllerView();
+		if (csView != null) {
+			csView.getCanarySandboxController().reloadContent();
+			csView.refreshViewer();
+		}
+	}
+}
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR08/src/eu/piacere/ide/toolIntegration/kr08/viewPart/providers/CSEContentProvider.java b/Source Code/V2.0/PiacereIDEIntegration.KR08/src/eu/piacere/ide/toolIntegration/kr08/viewPart/providers/CSEContentProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..ad670c58d7927ee6e5d07804cb55599591ac2b7f
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KR08/src/eu/piacere/ide/toolIntegration/kr08/viewPart/providers/CSEContentProvider.java	
@@ -0,0 +1,60 @@
+package eu.piacere.ide.toolIntegration.kr08.viewPart.providers;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.edit.ui.provider.AdapterFactoryContentProvider;
+
+import eu.piacere.ide.toolIntegration.kr08.viewPart.util.CSEDeployment;
+import eu.piacere.ide.toolIntegration.kr08.viewPart.util.CanarySandboxEnvironmentProvisioner;
+
+public class CSEContentProvider extends AdapterFactoryContentProvider
+{
+	public CSEContentProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+		
+	}
+
+	@SuppressWarnings("unchecked")
+	public Object[] getElements(Object object) {
+		if (object instanceof List) {
+			List<CanarySandboxEnvironmentProvisioner> elements = (List<CanarySandboxEnvironmentProvisioner>)object;
+			return elements.toArray();
+		}
+		if (object instanceof CanarySandboxEnvironmentProvisioner) {
+			return ((CanarySandboxEnvironmentProvisioner)object).getDeployments().values().toArray();
+			
+		}
+
+		return super.getElements(object);
+	}
+
+
+
+	public boolean hasChildren(Object object) {
+		if (object instanceof CanarySandboxEnvironmentProvisioner) {
+			return ((CanarySandboxEnvironmentProvisioner)object).getDeployments().size()>0;
+		}
+		else if(object instanceof CSEDeployment) {
+			return false;
+		}
+		return super.hasChildren(object);
+	}
+
+
+
+	public Object[] getChildren(Object object) {
+		if (object instanceof CanarySandboxEnvironmentProvisioner) {
+			CanarySandboxEnvironmentProvisioner csep = (CanarySandboxEnvironmentProvisioner)object;
+			ArrayList<Object> assets = new ArrayList<Object>();
+			for(CSEDeployment dep : csep.getDeployments().values()) {
+				assets.add(dep);
+			}
+			return assets.toArray();
+		}
+		return null;
+	}
+	
+}
+
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR08/src/eu/piacere/ide/toolIntegration/kr08/viewPart/providers/CSELabelProvider.java b/Source Code/V2.0/PiacereIDEIntegration.KR08/src/eu/piacere/ide/toolIntegration/kr08/viewPart/providers/CSELabelProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..0221834c739a3ec466d05fc6ee7f37925fa0693b
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KR08/src/eu/piacere/ide/toolIntegration/kr08/viewPart/providers/CSELabelProvider.java	
@@ -0,0 +1,94 @@
+package eu.piacere.ide.toolIntegration.kr08.viewPart.providers;
+
+import java.io.IOException;
+
+import org.eclipse.core.runtime.FileLocator;
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.jface.viewers.LabelProvider;
+import org.eclipse.swt.graphics.Device;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.swt.widgets.Display;
+
+import eu.piacere.ide.toolIntegration.kr08.viewPart.util.CSEDeployment;
+import eu.piacere.ide.toolIntegration.kr08.viewPart.util.CanarySandboxEnvironmentProvisioner;
+
+public class CSELabelProvider extends LabelProvider
+{
+	
+	public String getText(Object element) {
+		if (element instanceof CanarySandboxEnvironmentProvisioner) {
+			return getCanarySandboxEnvironmentProvisionerLabel((CanarySandboxEnvironmentProvisioner)element);
+		}
+		else if(element instanceof CSEDeployment) {
+			return "Deployment ID: "+((CSEDeployment)element).getDeploymentName();
+		}
+		return super.getText(element);
+	}
+
+	public Image getImage(Object element) {
+		try {
+			String imagePath = FileLocator.toFileURL(Platform.getBundle("PiacereIDEIntegration.KR08").getResource("icons/")).getPath();
+			/*if (element instanceof PiacereRuntimeController) {
+				Image image = null;
+				if(((PiacereRuntimeController)element).isConnected()) {
+					image = new Image((Device)Display.getCurrent(), String.valueOf(imagePath) + "RepoConnected.png");
+				}
+				else {
+					image = new Image((Device)Display.getCurrent(), String.valueOf(imagePath) + "RepoDisconnected.png");
+				}
+				return image;
+			} 
+			else */
+			if (element instanceof CSEDeployment) {
+				Image image = new Image((Device)Display.getCurrent(), String.valueOf(imagePath) + "repository.png");
+				return image;
+			} 
+			/*else if (element instanceof AppComponentsModel) {
+				Image image = new Image((Device)Display.getCurrent(), String.valueOf(imagePath) + "ComponentsModel.png");
+				return image;
+			} 
+			else if (element instanceof AppSystemConfigurationModel) {
+				Image image = new Image((Device)Display.getCurrent(), String.valueOf(imagePath) + "SystemConfigurationModel.png");
+				return image;
+			} 
+
+			else if (element instanceof AppComponentsModelVersion) {
+				Image image = new Image((Device)Display.getCurrent(), String.valueOf(imagePath) + "bundle.png");
+				return image;
+			} 
+			else if (element instanceof AppSystemConfigurationModelVersion) {
+				Image image = new Image((Device)Display.getCurrent(), String.valueOf(imagePath) + "bundle.png");
+				return image;
+			} 
+
+			else if (element instanceof AppComponentsModelReference) {
+				Image image = new Image((Device)Display.getCurrent(), String.valueOf(imagePath) + "ref.png");
+				return image;
+			} */
+		} catch (IOException iOException) {
+			return null;
+		} 
+		return super.getImage(element);
+	}
+
+
+	private String getCanarySandboxEnvironmentProvisionerLabel(CanarySandboxEnvironmentProvisioner cse) {
+		String res=cse.getCanarySandboxEnvironmentProvisionerURL();
+		
+		/*if(location.getName()!=null && location.getName()!="") {
+			res = location.getName()+": ";
+		}
+
+		String host = (location.getHost() == null) ? "" : location.getHost();
+		String repositoryPath = (location.getRepositoryPath() == null) ? "" : location.getRepositoryPath();
+
+		return res+host + "/" + repositoryPath;*/
+		return res;
+	}
+
+}
+
+
+
+
+
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR08/src/eu/piacere/ide/toolIntegration/kr08/viewPart/util/CSEDeployment.java b/Source Code/V2.0/PiacereIDEIntegration.KR08/src/eu/piacere/ide/toolIntegration/kr08/viewPart/util/CSEDeployment.java
new file mode 100644
index 0000000000000000000000000000000000000000..cd98a545f952b1578582d90f354a0f9bb532264c
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KR08/src/eu/piacere/ide/toolIntegration/kr08/viewPart/util/CSEDeployment.java	
@@ -0,0 +1,20 @@
+package eu.piacere.ide.toolIntegration.kr08.viewPart.util;
+
+public class CSEDeployment {
+	private String deploymentName;
+	
+	
+	public CSEDeployment(String name) {
+		this.setDeploymentName(name);
+	}
+
+
+	public String getDeploymentName() {
+		return deploymentName;
+	}
+
+
+	public void setDeploymentName(String deploymentName) {
+		this.deploymentName = deploymentName;
+	}
+}
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR08/src/eu/piacere/ide/toolIntegration/kr08/viewPart/util/CSEDeploymentClientUtil.java b/Source Code/V2.0/PiacereIDEIntegration.KR08/src/eu/piacere/ide/toolIntegration/kr08/viewPart/util/CSEDeploymentClientUtil.java
new file mode 100644
index 0000000000000000000000000000000000000000..ade9913f7dbd2689b99784a474c05161626de169
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KR08/src/eu/piacere/ide/toolIntegration/kr08/viewPart/util/CSEDeploymentClientUtil.java	
@@ -0,0 +1,97 @@
+package eu.piacere.ide.toolIntegration.kr08.viewPart.util;
+
+import org.eclipse.ui.IViewPart;
+import org.eclipse.ui.PlatformUI;
+import org.json.JSONObject;
+import org.restlet.Client;
+import org.restlet.Context;
+import org.restlet.data.MediaType;
+import org.restlet.data.Protocol;
+import org.restlet.resource.ClientResource;
+
+import eu.piacere.ide.toolIntegration.kr08.viewPart.CanarySandboxViewPart;
+
+public class CSEDeploymentClientUtil {
+
+	
+
+	public static boolean testConnection(CanarySandboxEnvironmentProvisioner csep, boolean showErrors) {
+		return csep.isConnected();
+
+	}
+
+	public static CanarySandboxViewPart getRuntimeControllerView() {
+		try {
+			IViewPart viewPart = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().findView("PiacereIDEIntegration.KR08.CanarySandboxViewPart");
+			if (viewPart instanceof CanarySandboxViewPart)
+				return (CanarySandboxViewPart)viewPart; 
+		} catch (Exception exception) {
+			return null;
+		} 
+		return null;
+	}
+	
+	public static JSONObject retrieveDeploymentGet(String getURL, Protocol proto, CSEDeployment deployment) {
+		Client client = new Client(new Context(), proto);
+
+		ClientResource service = new ClientResource(getURL);
+		service.setNext(client);
+		ClientResource resource = service.getChild("deployments/"+deployment.getDeploymentName());
+		String respuesta="";
+		try {
+			respuesta=resource.get().getText();
+			return new JSONObject(respuesta);
+		}
+		catch (Exception e) {
+			e.printStackTrace();
+		}
+		return null;
+	}
+	
+	public static boolean deleteDeployment(String deleteURL, Protocol proto, CSEDeployment deployment) {
+
+			Client client = new Client(new Context(), proto);
+
+			ClientResource service = new ClientResource(deleteURL);
+			service.setNext(client);
+			try {
+				ClientResource resource = service.getChild("deployments/"+deployment.getDeploymentName());
+				resource.delete();
+				return resource.getResponse().getStatus().getCode()/100==2;
+			}
+			catch (Exception e) {
+				e.printStackTrace();
+			}
+
+			return false;
+	}
+	
+	public static boolean redeployDeployment(String postURL, Protocol proto, CSEDeployment deployment) {
+			//DEVUELVE SIEMPRE UN ERROR 400
+			Client client = new Client(new Context(), proto);
+
+			ClientResource service = new ClientResource(postURL);
+			service.setNext(client);
+			try {
+				JSONObject objectToPost=new JSONObject();
+				objectToPost.put("type", "dummy");
+				objectToPost.put("time_to_start", 0);
+				objectToPost.put("time_to_complete", 0);
+				objectToPost.put("should_succeed", true);
+				
+				ClientResource resource = service.getChild("deployments/"+deployment.getDeploymentName()+"/redeploy");
+				resource.post(resource.toRepresentation(objectToPost.toString(), MediaType.APPLICATION_JSON));
+				return resource.getResponse().getStatus().getCode()/100==2;
+			}
+			catch (Exception e) {
+				e.printStackTrace();
+			}
+
+			return false;
+	}
+	
+	
+
+
+
+}
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR08/src/eu/piacere/ide/toolIntegration/kr08/viewPart/util/CSEPClientUtil.java b/Source Code/V2.0/PiacereIDEIntegration.KR08/src/eu/piacere/ide/toolIntegration/kr08/viewPart/util/CSEPClientUtil.java
new file mode 100644
index 0000000000000000000000000000000000000000..269715f3b4ed40b41ccd5864b407304c17c6ad73
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KR08/src/eu/piacere/ide/toolIntegration/kr08/viewPart/util/CSEPClientUtil.java	
@@ -0,0 +1,31 @@
+package eu.piacere.ide.toolIntegration.kr08.viewPart.util;
+
+import org.json.JSONArray;
+import org.restlet.Client;
+import org.restlet.Context;
+import org.restlet.data.Protocol;
+import org.restlet.resource.ClientResource;
+
+public class CSEPClientUtil {
+
+	public static JSONArray retrieveAllDeploymentsGet(String getURL, Protocol proto) {
+		Client client = new Client(new Context(), proto);
+
+		ClientResource service = new ClientResource(getURL);
+		service.setNext(client);
+		ClientResource resource = service.getChild("deployments");
+		String respuesta="";
+		try {
+			respuesta=resource.get().getText();
+			if(respuesta.equals("[]")) {
+				//respuesta="[{\"name\": \"test_os\"}]";
+			}
+			return new JSONArray(respuesta);
+		}
+		catch (Exception e) {
+			e.printStackTrace();
+		}
+		return null;
+	}
+	
+}
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR08/src/eu/piacere/ide/toolIntegration/kr08/viewPart/util/CanarySandboxEnvironmentProvisioner.java b/Source Code/V2.0/PiacereIDEIntegration.KR08/src/eu/piacere/ide/toolIntegration/kr08/viewPart/util/CanarySandboxEnvironmentProvisioner.java
new file mode 100644
index 0000000000000000000000000000000000000000..0e993299ba05c5d422581ab06c5a42a42af9977f
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KR08/src/eu/piacere/ide/toolIntegration/kr08/viewPart/util/CanarySandboxEnvironmentProvisioner.java	
@@ -0,0 +1,134 @@
+package eu.piacere.ide.toolIntegration.kr08.viewPart.util;
+
+import java.util.TreeMap;
+
+import org.json.JSONArray;
+import org.json.JSONException;
+import org.json.JSONObject;
+import org.restlet.Client;
+import org.restlet.Context;
+import org.restlet.data.Protocol;
+import org.restlet.data.Status;
+import org.restlet.resource.ClientResource;
+
+import eu.piacere.piacereTool.utils.ToolCustomizationUtils;
+
+public class CanarySandboxEnvironmentProvisioner {
+
+	
+	private String protocol;
+	private String host;
+	private String port;
+	
+	
+	public static String DEPLOYMENTS_PATH = "deployments";
+	
+	private TreeMap<String, CSEDeployment> rpcDeployments;
+	private Boolean isConnected;
+	
+	public CanarySandboxEnvironmentProvisioner() {
+		this.setProtocol(ToolCustomizationUtils.getPreference(this.getClass(), "KR08.protocol"));
+		this.setHost(ToolCustomizationUtils.getPreference(this.getClass(), "KR08.host"));
+		this.setPort(ToolCustomizationUtils.getPreference(this.getClass(), "KR08.port"));
+		this.setDeployments(new TreeMap<String,CSEDeployment>());
+		reloadContent();
+
+	}
+
+	public String getProtocol() {
+		return protocol;
+	}
+
+	public void setProtocol(String protocol) {
+		this.protocol = protocol;
+	}
+
+	public String getHost() {
+		return host;
+	}
+
+	public void setHost(String host) {
+		this.host = host;
+	}
+
+	public String getPort() {
+		return port;
+	}
+
+	public void setPort(String port) {
+		this.port = port;
+	}
+
+	public TreeMap<String, CSEDeployment> getDeployments() {
+		return rpcDeployments;
+	}
+
+	public void setDeployments(TreeMap<String, CSEDeployment> rpcDeployments) {
+		this.rpcDeployments = rpcDeployments;
+	}
+	
+	@Override
+	public String toString() {
+		return "Canary SandBox Environment Provisioner";
+	}
+	
+	public void reloadContent() {
+		if(this.testConnection()) {
+			this.setDeployments(new TreeMap<String,CSEDeployment>());
+			
+			Protocol p = loadProtocol();
+			JSONArray res=CSEPClientUtil.retrieveAllDeploymentsGet(getCanarySandboxEnvironmentProvisionerURL(), p);
+			for(int i = 0; i < res.length(); i++) {
+				try {
+					JSONObject obj = res.getJSONObject(i);
+					this.getDeployments().put(obj.getString("name"), new CSEDeployment(obj.getString("name")));
+				} catch (JSONException e) {
+					e.printStackTrace();
+				}				
+			}	
+		}
+	}
+	
+	private Protocol loadProtocol() {
+		Protocol p = null;
+		if(this.getProtocol().equals("http")) {
+			p=Protocol.HTTP;
+		}
+		else if(this.getProtocol().equals("https")) {
+			p=Protocol.HTTPS;
+		}
+		return p;
+	}
+	
+	public String getCanarySandboxEnvironmentProvisionerURL() {
+		String res = this.getProtocol()+"://"+this.getHost()+":"+this.getPort()+"/";
+		return res;
+	}
+
+	public boolean testConnection() {
+		Protocol p = loadProtocol();
+		if(p!=null) {
+			Client client = new Client(new Context(), p);
+			ClientResource service = new ClientResource(getCanarySandboxEnvironmentProvisionerURL());
+			service.setNext(client);
+			ClientResource resource = service.getChild("/"+DEPLOYMENTS_PATH);
+			try {
+				resource.get().getText();
+				Status s=resource.getStatus();
+				if(s.getCode()==200) {
+					return true;
+				}
+			}
+			catch (Exception e) {
+			}
+		}
+		return false;
+	}
+	
+	public boolean isConnected() {
+		if(this.isConnected==null) {
+			isConnected=testConnection();
+		}
+		return isConnected.booleanValue();
+	}
+}
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR09/.classpath b/Source Code/V2.0/PiacereIDEIntegration.KR09/.classpath
new file mode 100644
index 0000000000000000000000000000000000000000..81fe078c20c05db46a8281fbb1a72875a5322b45
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KR09/.classpath	
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-17"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR09/.gitignore b/Source Code/V2.0/PiacereIDEIntegration.KR09/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..ae3c1726048cd06b9a143e0376ed46dd9b9a8d53
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KR09/.gitignore	
@@ -0,0 +1 @@
+/bin/
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR09/.project b/Source Code/V2.0/PiacereIDEIntegration.KR09/.project
new file mode 100644
index 0000000000000000000000000000000000000000..4d3c8d95c5cdf8f7400e0b9b81f3b00d97a0ceb9
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KR09/.project	
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>PiacereIDEIntegration.KR09</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR09/.settings/org.eclipse.jdt.core.prefs b/Source Code/V2.0/PiacereIDEIntegration.KR09/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000000000000000000000000000000000000..62ef3488cc0468ee9c2d4440dfbbbd5877cd0c28
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KR09/.settings/org.eclipse.jdt.core.prefs	
@@ -0,0 +1,9 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=17
+org.eclipse.jdt.core.compiler.compliance=17
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
+org.eclipse.jdt.core.compiler.release=enabled
+org.eclipse.jdt.core.compiler.source=17
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR09/META-INF/MANIFEST.MF b/Source Code/V2.0/PiacereIDEIntegration.KR09/META-INF/MANIFEST.MF
new file mode 100644
index 0000000000000000000000000000000000000000..afc02e72e13c3c6f34bae98fcc5f98dc68fae7a6
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KR09/META-INF/MANIFEST.MF	
@@ -0,0 +1,23 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: KR09
+Bundle-SymbolicName: PiacereIDEIntegration.KR09;singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Automatic-Module-Name: PiacereIDEIntegration.KR09
+Require-Bundle: org.eclipse.ui,
+ org.eclipse.core.runtime,
+ org.apache.httpcomponents.httpcore
+Import-Package: eu.piacere.doml.doml.commons,
+ eu.piacere.piacereTool.utils,
+ org.apache.commons.io,
+ org.apache.http.client;version="4.5.13",
+ org.apache.http.client.methods;version="4.5.13",
+ org.apache.http.impl.client;version="4.5.13",
+ org.eclipse.core.resources,
+ org.eclipse.core.runtime.preferences;version="3.4.0",
+ org.eclipse.emf.common.util,
+ org.eclipse.emf.ecore,
+ org.eclipse.emf.ecore.resource,
+ org.eclipse.emf.ecore.resource.impl,
+ org.eclipse.emf.ecore.util,
+ org.json
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR09/Piacere/PiacereIcon_16x16.png b/Source Code/V2.0/PiacereIDEIntegration.KR09/Piacere/PiacereIcon_16x16.png
new file mode 100644
index 0000000000000000000000000000000000000000..444de54d6cfe2958fac1bbb89dd8619b4c537c47
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KR09/Piacere/PiacereIcon_16x16.png differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR09/build.properties b/Source Code/V2.0/PiacereIDEIntegration.KR09/build.properties
new file mode 100644
index 0000000000000000000000000000000000000000..52086a7c305694aa678bde0640768488a5cf8e4f
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KR09/build.properties	
@@ -0,0 +1,6 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+               .,\
+               plugin.xml,\
+               Piacere/
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR09/plugin.xml b/Source Code/V2.0/PiacereIDEIntegration.KR09/plugin.xml
new file mode 100644
index 0000000000000000000000000000000000000000..905c4578b32a57513839287c5b6e9859647cb9c0
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KR09/plugin.xml	
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+<plugin>
+   <extension
+         point="org.eclipse.ui.preferencePages">
+      <page
+            category="PiacereToolCustomization.preferences.page1"
+            class="eu.piacere.ide.toolIntegration.kr09.preferencePage.KR09PreferencePage"
+            id="PiacereIDEIntegration.KR09.preferences.page1"
+            name="IaC Optimizer Platform Preferences">
+      </page>
+   </extension>
+   <extension
+         point="org.eclipse.core.runtime.preferences">
+      <initializer
+            class="eu.piacere.ide.toolIntegration.kr09.preferencePage.KR09PreferenceInitializer">
+      </initializer>
+   </extension>
+   
+   <extension
+         point="org.eclipse.ui.commands">
+      <command
+            categoryId="eu.piacere.piacereModelsCommands.category.id"
+            defaultHandler="eu.piacere.ide.toolIntegration.kr09.commandHandlers.OptimizerCommandHandler"
+            id="eu.piacere.piacereModelsCommands.OptimizerCommand.id"
+            name="Optimize DOML">
+      </command>
+   </extension>
+   <extension
+         point="org.eclipse.ui.menus">
+      <menuContribution
+            allPopups="false"
+            locationURI="popup:eu.piacere.eclipsePopupMenu.id">
+         <command
+               commandId="eu.piacere.piacereModelsCommands.OptimizerCommand.id"
+               icon="Piacere/PiacereIcon_16x16.png"
+               label="Optimize DOML"
+               style="push"
+               tooltip="Optimize the DOML Specification">
+            <visibleWhen
+                  checkEnabled="false">
+               <reference
+                     definitionId="eu.piacere.piacereTool.propertyTesters.extensionPropertyTester.isDOMLModel.id">
+               </reference>
+            </visibleWhen>
+         </command>
+      </menuContribution>
+   </extension>
+
+</plugin>
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR09/src/eu/piacere/ide/toolIntegration/kr09/commandHandlers/OptimizerCommandHandler.java b/Source Code/V2.0/PiacereIDEIntegration.KR09/src/eu/piacere/ide/toolIntegration/kr09/commandHandlers/OptimizerCommandHandler.java
new file mode 100644
index 0000000000000000000000000000000000000000..4150eb73b2505302392ad16dadd42b888e32824c
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KR09/src/eu/piacere/ide/toolIntegration/kr09/commandHandlers/OptimizerCommandHandler.java	
@@ -0,0 +1,107 @@
+package eu.piacere.ide.toolIntegration.kr09.commandHandlers;
+
+import java.io.IOException;
+
+import org.apache.http.client.ClientProtocolException;
+import org.apache.http.client.HttpClient;
+import org.apache.http.client.methods.CloseableHttpResponse;
+import org.apache.http.client.methods.HttpPost;
+import org.apache.http.entity.StringEntity;
+import org.apache.http.impl.client.HttpClientBuilder;
+import org.apache.http.util.EntityUtils;
+import org.eclipse.core.commands.AbstractHandler;
+import org.eclipse.core.commands.ExecutionEvent;
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.resources.IContainer;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.jface.dialogs.ProgressMonitorDialog;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.ui.handlers.HandlerUtil;
+import org.json.JSONException;
+
+import eu.piacere.piacereTool.utils.FileUtils;
+import eu.piacere.piacereTool.utils.ToolCustomizationUtils;
+
+public class OptimizerCommandHandler extends AbstractHandler {
+
+	private String doPostRequestToValidator(String fileContent) throws ClientProtocolException, IOException, JSONException {
+		HttpClient httpClient = HttpClientBuilder.create().build();
+
+		String url=ToolCustomizationUtils.getPreference(this.getClass(), "KR09.protocol")+"://"+ToolCustomizationUtils.getPreference(this.getClass(), "KR09.host")+":"+ToolCustomizationUtils.getPreference(this.getClass(), "KR09.port")+"/api/optimize";
+
+		HttpPost httpPost = new HttpPost(url);
+
+		StringEntity entity = new StringEntity(fileContent);
+		httpPost.setEntity(entity);
+
+		httpPost.setHeader("Accept", "application/json");
+
+		CloseableHttpResponse response = (CloseableHttpResponse) httpClient.execute(httpPost);
+		if(response.getStatusLine().getStatusCode()==200) {
+			String content =  EntityUtils.toString(response.getEntity());
+			ToolCustomizationUtils.showInformationDialog("Model Optimized", "Your Model has been optimized successfull");
+			return content;
+		}
+		else {
+			ToolCustomizationUtils.showErrorDialog("Model Optimized", "Your model can not be optimized");
+
+		}
+		return null;
+	}
+
+	private void saveFileInWorkspace(IContainer container, String fileContent, String defaultFileName) {
+		String domlModelName=ToolCustomizationUtils.doDialogAsk("DOML Optimizer", "Enter the DOML Optimizer Results File Name", defaultFileName);
+
+
+		ProgressMonitorDialog pd=new ProgressMonitorDialog(ToolCustomizationUtils.getActiveShell());
+		pd.open();
+		try {
+			FileUtils.createFile(domlModelName+".optimized_"+ FileUtils.getTimestamp() +".doml", container, fileContent, pd);
+		} catch (Exception e1) {
+			e1.printStackTrace();
+		}
+		pd.close();
+		try {
+			container.refreshLocal(IResource.DEPTH_INFINITE, null);
+		} catch (CoreException e) {
+			e.printStackTrace();
+		}
+	}	
+
+	@Override
+	public Object execute(ExecutionEvent event) throws ExecutionException {
+		ToolCustomizationUtils.saveWorkbench();
+		ISelection selection = HandlerUtil.getCurrentSelection(event);
+		if (selection instanceof StructuredSelection) {
+			if(((StructuredSelection)selection).getFirstElement() instanceof IFile){
+				IFile res = (IFile)((StructuredSelection) selection).getFirstElement();
+				
+
+				String fileContent=FileUtils.getIFileContents(res);
+				if(fileContent==null) {
+					//ARROJAR ERROR
+					return null;
+				}
+				String responseFromValidator=null;
+				try {
+					responseFromValidator=doPostRequestToValidator(fileContent);
+				} catch (IOException | JSONException e2) {
+					e2.printStackTrace();
+				}
+
+				if(responseFromValidator==null) {
+					//ARROJAR ERROR
+					return null;
+				}	
+
+				if(ToolCustomizationUtils.showQuestionDialog("Save Result", "Do you want to save the result on workspace?")) {
+					saveFileInWorkspace(res.getParent(), responseFromValidator, res.getFullPath().lastSegment().replace(".doml", ""));
+				}
+			}
+		}
+		return null;
+	}
+}
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR09/src/eu/piacere/ide/toolIntegration/kr09/preferencePage/KR09PreferenceInitializer.java b/Source Code/V2.0/PiacereIDEIntegration.KR09/src/eu/piacere/ide/toolIntegration/kr09/preferencePage/KR09PreferenceInitializer.java
new file mode 100644
index 0000000000000000000000000000000000000000..408f2a60fc4b7f06544c2586ae1bec90addcf166
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KR09/src/eu/piacere/ide/toolIntegration/kr09/preferencePage/KR09PreferenceInitializer.java	
@@ -0,0 +1,20 @@
+package eu.piacere.ide.toolIntegration.kr09.preferencePage;
+
+import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer;
+import org.eclipse.core.runtime.preferences.ConfigurationScope;
+import org.eclipse.ui.preferences.ScopedPreferenceStore;
+import org.osgi.framework.FrameworkUtil;
+
+public class KR09PreferenceInitializer extends AbstractPreferenceInitializer {
+
+	@Override
+	public void initializeDefaultPreferences() {
+		
+		ScopedPreferenceStore scopedPreferenceStore = new ScopedPreferenceStore(ConfigurationScope.INSTANCE,(FrameworkUtil.getBundle(KR09PreferenceInitializer.class)).getSymbolicName());
+        scopedPreferenceStore.setDefault("KR09.host", "iop.ci.piacere.digital.tecnalia.dev");
+        scopedPreferenceStore.setDefault("KR09.port", 443);
+        scopedPreferenceStore.setDefault("KR09.protocol", "https");
+
+	}
+
+}
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR09/src/eu/piacere/ide/toolIntegration/kr09/preferencePage/KR09PreferencePage.java b/Source Code/V2.0/PiacereIDEIntegration.KR09/src/eu/piacere/ide/toolIntegration/kr09/preferencePage/KR09PreferencePage.java
new file mode 100644
index 0000000000000000000000000000000000000000..e98558ce9be2cfd0bfb09a7ebc4cccf65f75cdb2
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KR09/src/eu/piacere/ide/toolIntegration/kr09/preferencePage/KR09PreferencePage.java	
@@ -0,0 +1,37 @@
+package eu.piacere.ide.toolIntegration.kr09.preferencePage;
+
+import org.eclipse.core.runtime.preferences.ConfigurationScope;
+import org.eclipse.jface.preference.FieldEditorPreferencePage;
+import org.eclipse.jface.preference.IntegerFieldEditor;
+import org.eclipse.jface.preference.RadioGroupFieldEditor;
+import org.eclipse.jface.preference.StringFieldEditor;
+import org.eclipse.ui.IWorkbench;
+import org.eclipse.ui.IWorkbenchPreferencePage;
+import org.eclipse.ui.preferences.ScopedPreferenceStore;
+import org.osgi.framework.FrameworkUtil;
+
+public class KR09PreferencePage extends FieldEditorPreferencePage implements IWorkbenchPreferencePage{
+
+
+	public KR09PreferencePage() {
+		super(GRID);
+	}
+
+	@Override
+	public void init(IWorkbench workbench) {
+		//WHICH SCOPE SHOULD I SELECT: https://wiki.eclipse.org/FAQ_What_is_a_preference_scope%3F
+		
+		 setPreferenceStore(new ScopedPreferenceStore(ConfigurationScope.INSTANCE, (FrameworkUtil.getBundle(KR09PreferenceInitializer.class)).getSymbolicName()));
+	     setDescription("These Are The IaC Optimizer Platform Preferences");
+
+	}
+
+	@Override
+	protected void createFieldEditors() {
+		addField(new StringFieldEditor("KR09.host", "Endpoint Host", getFieldEditorParent()));
+		addField(new IntegerFieldEditor("KR09.port", "Endpoint Port", getFieldEditorParent()));
+		addField(new RadioGroupFieldEditor("KR09.protocol", "Protocol", 1, new String[][] {{"HTTP","http"},{"HTTPS","https"}}, getFieldEditorParent()));
+
+	}
+
+}
\ No newline at end of file
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/.classpath b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/.classpath
new file mode 100644
index 0000000000000000000000000000000000000000..81fe078c20c05db46a8281fbb1a72875a5322b45
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/.classpath	
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-17"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/.gitignore b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..ae3c1726048cd06b9a143e0376ed46dd9b9a8d53
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/.gitignore	
@@ -0,0 +1 @@
+/bin/
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/.project b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/.project
new file mode 100644
index 0000000000000000000000000000000000000000..7e947e928fdf4cac658a6ed315d4efaea5c5ea72
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/.project	
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>PiacereIDEIntegration.KR10_KR11_KR12</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/.settings/org.eclipse.jdt.core.prefs b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000000000000000000000000000000000000..62ef3488cc0468ee9c2d4440dfbbbd5877cd0c28
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/.settings/org.eclipse.jdt.core.prefs	
@@ -0,0 +1,9 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=17
+org.eclipse.jdt.core.compiler.compliance=17
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
+org.eclipse.jdt.core.compiler.release=enabled
+org.eclipse.jdt.core.compiler.source=17
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/META-INF/MANIFEST.MF b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/META-INF/MANIFEST.MF
new file mode 100644
index 0000000000000000000000000000000000000000..56e829ea880caec250bb2f05ad815dafc4f30dfa
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/META-INF/MANIFEST.MF	
@@ -0,0 +1,33 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: PiacereIDEIntegration.KR10_KR11_KR12
+Bundle-SymbolicName: PiacereIDEIntegration.KR10_KR11_KR12;singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Automatic-Module-Name: PiacereIDEIntegration.KR10_KR11_KR12
+Require-Bundle: org.eclipse.ui,
+ org.eclipse.core.runtime,
+ org.apache.httpcomponents.httpcore
+Import-Package: eu.piacere.doml.doml.commons,
+ eu.piacere.piacereTool.utils,
+ org.apache.commons.io,
+ org.apache.http.client;version="4.5.13",
+ org.apache.http.client.methods;version="4.5.13",
+ org.apache.http.impl.client;version="4.5.13",
+ org.eclipse.core.resources,
+ org.eclipse.core.runtime.preferences;version="3.4.0",
+ org.eclipse.emf.common.notify,
+ org.eclipse.emf.common.util,
+ org.eclipse.emf.ecore,
+ org.eclipse.emf.ecore.resource,
+ org.eclipse.emf.ecore.resource.impl,
+ org.eclipse.emf.ecore.util,
+ org.eclipse.emf.edit.provider.resource,
+ org.eclipse.emf.edit.ui.provider,
+ org.eclipse.ui.dialogs,
+ org.eclipse.ui.navigator,
+ org.eclipse.ui.views.properties,
+ org.json,
+ org.restlet,
+ org.restlet.data,
+ org.restlet.representation,
+ org.restlet.resource
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/Piacere/PiacereIcon_16x16.png b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/Piacere/PiacereIcon_16x16.png
new file mode 100644
index 0000000000000000000000000000000000000000..444de54d6cfe2958fac1bbb89dd8619b4c537c47
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/Piacere/PiacereIcon_16x16.png differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/build.properties b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/build.properties
new file mode 100644
index 0000000000000000000000000000000000000000..d3bb3b52a4b4e6918a27ed9328f514e80b23ccc0
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/build.properties	
@@ -0,0 +1,7 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+               .,\
+               Piacere/,\
+               plugin.xml,\
+               icons/
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/ComponentsModel.png b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/ComponentsModel.png
new file mode 100644
index 0000000000000000000000000000000000000000..9ee76accc89ff76934fe746a3af1a853843e1209
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/ComponentsModel.png differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/FAdAIcon_24.png b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/FAdAIcon_24.png
new file mode 100644
index 0000000000000000000000000000000000000000..f4259625230e2b11b98a14aa6b75b52edad25dd8
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/FAdAIcon_24.png differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/FadaModelRepositoriesView.png b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/FadaModelRepositoriesView.png
new file mode 100644
index 0000000000000000000000000000000000000000..4db27dd10ecbbcf29062e8cc7b7b3c22bf72c5a3
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/FadaModelRepositoriesView.png differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/FadaModelRepositoriesView_old.png b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/FadaModelRepositoriesView_old.png
new file mode 100644
index 0000000000000000000000000000000000000000..d4f2feef7f465a95b720ec2a24aa4429b5a64aab
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/FadaModelRepositoriesView_old.png differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/RepoConnected.png b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/RepoConnected.png
new file mode 100644
index 0000000000000000000000000000000000000000..bd178d026ebd3aa22573ca74e985f306d64a59c1
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/RepoConnected.png differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/RepoDisconnected.png b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/RepoDisconnected.png
new file mode 100644
index 0000000000000000000000000000000000000000..0c78354020ea586917e7ec598e357c739b031aa0
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/RepoDisconnected.png differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/SystemConfigurationModel.png b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/SystemConfigurationModel.png
new file mode 100644
index 0000000000000000000000000000000000000000..d4561b60458f1b50d06bfd23d7f8308af08688ef
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/SystemConfigurationModel.png differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/addRepository.png b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/addRepository.png
new file mode 100644
index 0000000000000000000000000000000000000000..fe03f37202ca955983c42397173fb12faca9d187
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/addRepository.png differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/bundle.png b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/bundle.png
new file mode 100644
index 0000000000000000000000000000000000000000..1f41d9b1bfcf6db40272453364a446ad457ec50f
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/bundle.png differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/collapseAll.gif b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/collapseAll.gif
new file mode 100644
index 0000000000000000000000000000000000000000..a2d80a9044f38833cb728a69c88294ce3fd007c7
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/collapseAll.gif differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/deleteRepository.png b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/deleteRepository.png
new file mode 100644
index 0000000000000000000000000000000000000000..807f97450c23a784814393f55a16ff75688ec15b
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/deleteRepository.png differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/download.png b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/download.png
new file mode 100644
index 0000000000000000000000000000000000000000..236f4a77ea9131d404b0efb5e7bddd72098181f9
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/download.png differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/expandAll.gif b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/expandAll.gif
new file mode 100644
index 0000000000000000000000000000000000000000..0205b29176d4e60307639b6ac80ebfc40be61c3b
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/expandAll.gif differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/export.png b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/export.png
new file mode 100644
index 0000000000000000000000000000000000000000..670042c62ce6b5cb200fa3807c57d18511275f39
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/export.png differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/elcl16/addrepositorylocation.gif b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/elcl16/addrepositorylocation.gif
new file mode 100644
index 0000000000000000000000000000000000000000..6237766393fcc7a602d4695d151c3e546abeab6a
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/elcl16/addrepositorylocation.gif differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/elcl16/copy.gif b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/elcl16/copy.gif
new file mode 100644
index 0000000000000000000000000000000000000000..71d7c95aa8caa2e8f139d262a4e5e08aba2b88e5
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/elcl16/copy.gif differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/elcl16/integrateconceptualfragment.gif b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/elcl16/integrateconceptualfragment.gif
new file mode 100644
index 0000000000000000000000000000000000000000..07164754e5ca231666d9daf7fa4a9d12e378a52a
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/elcl16/integrateconceptualfragment.gif differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/elcl16/integratetechnicalfragment.gif b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/elcl16/integratetechnicalfragment.gif
new file mode 100644
index 0000000000000000000000000000000000000000..e7035189cd8dd45b6afba27b8cbccd75df5000e1
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/elcl16/integratetechnicalfragment.gif differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/elcl16/paste.gif b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/elcl16/paste.gif
new file mode 100644
index 0000000000000000000000000000000000000000..39dd4d9d38aa85f9c4c9ff652c453c555b850980
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/elcl16/paste.gif differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/elcl16/search.gif b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/elcl16/search.gif
new file mode 100644
index 0000000000000000000000000000000000000000..d540a01f4d9eeb9d2951f30cee165c7370e9fc6a
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/elcl16/search.gif differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/CapabilityPattern.gif b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/CapabilityPattern.gif
new file mode 100644
index 0000000000000000000000000000000000000000..15ffbb0795fbdc2a0add02f0a07bcea02f034ab4
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/CapabilityPattern.gif differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/CapabilityPatterns.gif b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/CapabilityPatterns.gif
new file mode 100644
index 0000000000000000000000000000000000000000..37147654e68f964a947278cb954e47633809c5c4
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/CapabilityPatterns.gif differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/ConceptualFragment.gif b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/ConceptualFragment.gif
new file mode 100644
index 0000000000000000000000000000000000000000..49ab538b6c432e7eb280793484e555df7ba2761d
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/ConceptualFragment.gif differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/Delete.gif b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/Delete.gif
new file mode 100644
index 0000000000000000000000000000000000000000..b6922ac11cf64e16a15cf2976cdaa1e40118abed
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/Delete.gif differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/DeliveryProcess.gif b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/DeliveryProcess.gif
new file mode 100644
index 0000000000000000000000000000000000000000..7b40362c2f54cebce43f5511342df015c4f52feb
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/DeliveryProcess.gif differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/Description.gif b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/Description.gif
new file mode 100644
index 0000000000000000000000000000000000000000..75f33c24fa441d09729e7adcbc78a4e55d84b443
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/Description.gif differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/Descriptor.gif b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/Descriptor.gif
new file mode 100644
index 0000000000000000000000000000000000000000..04032a915a0d9eace79a7aec3c573ca07eb7f4ac
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/Descriptor.gif differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/Input.gif b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/Input.gif
new file mode 100644
index 0000000000000000000000000000000000000000..d8d7d974fa596ee7a8d06b1d8b110ee7336850af
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/Input.gif differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/Interface.gif b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/Interface.gif
new file mode 100644
index 0000000000000000000000000000000000000000..7c7d39ef65b96d71b7b2e1e576c3677bbf7757f1
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/Interface.gif differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/MethodPlugin.gif b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/MethodPlugin.gif
new file mode 100644
index 0000000000000000000000000000000000000000..bb82c391ed462f0f01e988e00b07f8de262278e7
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/MethodPlugin.gif differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/Name.gif b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/Name.gif
new file mode 100644
index 0000000000000000000000000000000000000000..75f33c24fa441d09729e7adcbc78a4e55d84b443
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/Name.gif differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/Objective.gif b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/Objective.gif
new file mode 100644
index 0000000000000000000000000000000000000000..75f33c24fa441d09729e7adcbc78a4e55d84b443
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/Objective.gif differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/Origin.gif b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/Origin.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c79bf78956a277d98343ab949be3efe08411f37f
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/Origin.gif differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/Output.gif b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/Output.gif
new file mode 100644
index 0000000000000000000000000000000000000000..b4fe2c84ecd2cb1ce8a4fb03a091ba76cad78916
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/Output.gif differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/Package.gif b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/Package.gif
new file mode 100644
index 0000000000000000000000000000000000000000..00a311efa25ac538073fb14e59efbb9a968a94e3
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/Package.gif differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/Processes.gif b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/Processes.gif
new file mode 100644
index 0000000000000000000000000000000000000000..08d8c2d5d1a7a70f5af53200633a7ba92aab1788
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/Processes.gif differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/Repositories.gif b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/Repositories.gif
new file mode 100644
index 0000000000000000000000000000000000000000..16eda8a78a63bfe5874e2e92a29f20a644241bba
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/Repositories.gif differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/RoleSetCategory.gif b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/RoleSetCategory.gif
new file mode 100644
index 0000000000000000000000000000000000000000..54a3f677a3efc25358bb4f637de6166d1425a486
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/RoleSetCategory.gif differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/Task.gif b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/Task.gif
new file mode 100644
index 0000000000000000000000000000000000000000..5c3b2b89a47caa2cbec35a9e9c3fe2efef4b2895
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/Task.gif differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/Tasks.gif b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/Tasks.gif
new file mode 100644
index 0000000000000000000000000000000000000000..638bd83009d2d7bf881dab9dbc07c176edd23060
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/Tasks.gif differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/TechnicalFragment.gif b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/TechnicalFragment.gif
new file mode 100644
index 0000000000000000000000000000000000000000..4f1b85a7801922060d6b5a968a76be30eb5326c9
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/TechnicalFragment.gif differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/TechnicalFragmentError.gif b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/TechnicalFragmentError.gif
new file mode 100644
index 0000000000000000000000000000000000000000..50b162dbdfc4a7f0eabd5d7119871e378efe6940
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/TechnicalFragmentError.gif differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/TechnicalFragmentImported.gif b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/TechnicalFragmentImported.gif
new file mode 100644
index 0000000000000000000000000000000000000000..3260ab2872cfcc35cc75b3501dd05bb23bd6f333
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/TechnicalFragmentImported.gif differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/Type.gif b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/Type.gif
new file mode 100644
index 0000000000000000000000000000000000000000..358cbcb83d800352e59d672771057f3156f27491
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/Type.gif differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/WorkProduct.gif b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/WorkProduct.gif
new file mode 100644
index 0000000000000000000000000000000000000000..1540f3d3c95605a8d7f641f8c93b098e356c40c3
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/WorkProduct.gif differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/WorkProducts.gif b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/WorkProducts.gif
new file mode 100644
index 0000000000000000000000000000000000000000..cf289263e15224bfd984e2145ddc6c6eb415f50c
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/WorkProducts.gif differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/activity16.gif b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/activity16.gif
new file mode 100644
index 0000000000000000000000000000000000000000..cf20deb439ab39a63162c93396060706051569b0
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/activity16.gif differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/role.gif b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/role.gif
new file mode 100644
index 0000000000000000000000000000000000000000..69ebdf2959ed859952751f3f377d581671045873
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/role.gif differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/import.png b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/import.png
new file mode 100644
index 0000000000000000000000000000000000000000..bb6ff06b7bcf18590deb1f93a519d5264b6a067f
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/import.png differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/jar.png b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/jar.png
new file mode 100644
index 0000000000000000000000000000000000000000..660f8ea5131c2f9f59a5fa2491993cfa71a1ac57
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/jar.png differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/ref.png b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/ref.png
new file mode 100644
index 0000000000000000000000000000000000000000..2839c60a42f8a79067981fd7b3a26f4b81a69231
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/ref.png differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/refresh.gif b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/refresh.gif
new file mode 100644
index 0000000000000000000000000000000000000000..e3831471a6592da14f53b1e7c5a2f7d6a92d9937
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/refresh.gif differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/repository.png b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/repository.png
new file mode 100644
index 0000000000000000000000000000000000000000..92794f126f846474fafef14aac6fccb82faaf4f8
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/icons/repository.png differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/plugin.xml b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/plugin.xml
new file mode 100644
index 0000000000000000000000000000000000000000..ee80c57ce364d3f1cade833ba0bfab316f59d2c6
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/plugin.xml	
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+<plugin>
+   <extension
+         point="org.eclipse.ui.preferencePages">
+      <page
+            category="PiacereToolCustomization.preferences.page1"
+            class="eu.piacere.ide.toolIntegration.kr10kr11kr12.preferencePage.KR10PreferencePage"
+            id="PiacereIDEIntegration.KR10KR11KR12.preferences.page1"
+            name="PIACERE Runtime Controller Preferences">
+      </page>
+      <page
+            category="PiacereToolCustomization.preferences.page1"
+            class="eu.piacere.ide.toolIntegration.kr10kr11kr12.preferencePage.KR11_12PreferencePage"
+            id="PiacereIDEIntegration.KR10KR11KR12.preferences.page2"
+            name="PIACERE Performance Monitoring Controller Preferences">
+      </page>
+   </extension>
+   <extension
+         point="org.eclipse.core.runtime.preferences">
+      <initializer
+            class="eu.piacere.ide.toolIntegration.kr10kr11kr12.preferencePage.KR10PreferenceInitializer">
+      </initializer>
+      <initializer
+            class="eu.piacere.ide.toolIntegration.kr10kr11kr12.preferencePage.KR11_12PreferenceInitializer">
+      </initializer>
+   </extension>
+   <extension point = "org.eclipse.ui.views">
+      <view
+         id = "PiacereIDEIntegration.KR10KR11KR12.PiacereRuntimeControllerViewPart"
+         name = "PIACERE Runtime Controller"
+         category = "org.eclipse.ui"
+         class = "eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.PiacereRuntimeControllerViewPart"
+         icon = "Piacere/PiacereIcon_16x16.png" />
+   </extension>
+
+</plugin>
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/preferencePage/KR10PreferenceInitializer.java b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/preferencePage/KR10PreferenceInitializer.java
new file mode 100644
index 0000000000000000000000000000000000000000..66b9b24ccbad705c696b06a5cb7858158ebbdf1b
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/preferencePage/KR10PreferenceInitializer.java	
@@ -0,0 +1,20 @@
+package eu.piacere.ide.toolIntegration.kr10kr11kr12.preferencePage;
+
+import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer;
+import org.eclipse.core.runtime.preferences.ConfigurationScope;
+import org.eclipse.ui.preferences.ScopedPreferenceStore;
+import org.osgi.framework.FrameworkUtil;
+
+public class KR10PreferenceInitializer extends AbstractPreferenceInitializer {
+
+	@Override
+	public void initializeDefaultPreferences() {
+		
+		ScopedPreferenceStore scopedPreferenceStore = new ScopedPreferenceStore(ConfigurationScope.INSTANCE,(FrameworkUtil.getBundle(KR10PreferenceInitializer.class)).getSymbolicName());
+        scopedPreferenceStore.setDefault("KR10.host", "prc.ci.piacere.digital.tecnalia.dev");
+        scopedPreferenceStore.setDefault("KR10.port", 443);
+        scopedPreferenceStore.setDefault("KR10.protocol", "https");
+
+	}
+
+}
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/preferencePage/KR10PreferencePage.java b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/preferencePage/KR10PreferencePage.java
new file mode 100644
index 0000000000000000000000000000000000000000..6449ac6e8874a3a08f1c32794883f36551898091
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/preferencePage/KR10PreferencePage.java	
@@ -0,0 +1,37 @@
+package eu.piacere.ide.toolIntegration.kr10kr11kr12.preferencePage;
+
+import org.eclipse.core.runtime.preferences.ConfigurationScope;
+import org.eclipse.jface.preference.FieldEditorPreferencePage;
+import org.eclipse.jface.preference.IntegerFieldEditor;
+import org.eclipse.jface.preference.RadioGroupFieldEditor;
+import org.eclipse.jface.preference.StringFieldEditor;
+import org.eclipse.ui.IWorkbench;
+import org.eclipse.ui.IWorkbenchPreferencePage;
+import org.eclipse.ui.preferences.ScopedPreferenceStore;
+import org.osgi.framework.FrameworkUtil;
+
+public class KR10PreferencePage extends FieldEditorPreferencePage implements IWorkbenchPreferencePage{
+
+
+	public KR10PreferencePage() {
+		super(GRID);
+	}
+
+	@Override
+	public void init(IWorkbench workbench) {
+		//WHICH SCOPE SHOULD I SELECT: https://wiki.eclipse.org/FAQ_What_is_a_preference_scope%3F
+		
+		 setPreferenceStore(new ScopedPreferenceStore(ConfigurationScope.INSTANCE, (FrameworkUtil.getBundle(KR10PreferenceInitializer.class)).getSymbolicName()));
+	     setDescription("These Are The PIACERE Runtime Controller Preferences");
+
+	}
+
+	@Override
+	protected void createFieldEditors() {
+		addField(new StringFieldEditor("KR10.host", "Endpoint Host", getFieldEditorParent()));
+		addField(new IntegerFieldEditor("KR10.port", "Endpoint Port", getFieldEditorParent()));
+		addField(new RadioGroupFieldEditor("KR10.protocol", "Protocol", 1, new String[][] {{"HTTP","http"},{"HTTPS","https"}}, getFieldEditorParent()));
+
+	}
+
+}
\ No newline at end of file
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/preferencePage/KR11_12PreferenceInitializer.java b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/preferencePage/KR11_12PreferenceInitializer.java
new file mode 100644
index 0000000000000000000000000000000000000000..2922929768aeaeacbf535ff70ba1a37a2fc6d436
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/preferencePage/KR11_12PreferenceInitializer.java	
@@ -0,0 +1,20 @@
+package eu.piacere.ide.toolIntegration.kr10kr11kr12.preferencePage;
+
+import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer;
+import org.eclipse.core.runtime.preferences.ConfigurationScope;
+import org.eclipse.ui.preferences.ScopedPreferenceStore;
+import org.osgi.framework.FrameworkUtil;
+
+public class KR11_12PreferenceInitializer extends AbstractPreferenceInitializer {
+
+	@Override
+	public void initializeDefaultPreferences() {
+		
+		ScopedPreferenceStore scopedPreferenceStore = new ScopedPreferenceStore(ConfigurationScope.INSTANCE,(FrameworkUtil.getBundle(KR11_12PreferenceInitializer.class)).getSymbolicName());
+        scopedPreferenceStore.setDefault("KR11_12.host", "c.pm.ci.piacere.digital.tecnalia.dev");
+        scopedPreferenceStore.setDefault("KR11_12.port", 443);
+        scopedPreferenceStore.setDefault("KR11_12.protocol", "https");
+
+	}
+
+}
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/preferencePage/KR11_12PreferencePage.java b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/preferencePage/KR11_12PreferencePage.java
new file mode 100644
index 0000000000000000000000000000000000000000..fc54757eae5f7b70a3605be2f1b94e9097e314ff
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/preferencePage/KR11_12PreferencePage.java	
@@ -0,0 +1,37 @@
+package eu.piacere.ide.toolIntegration.kr10kr11kr12.preferencePage;
+
+import org.eclipse.core.runtime.preferences.ConfigurationScope;
+import org.eclipse.jface.preference.FieldEditorPreferencePage;
+import org.eclipse.jface.preference.IntegerFieldEditor;
+import org.eclipse.jface.preference.RadioGroupFieldEditor;
+import org.eclipse.jface.preference.StringFieldEditor;
+import org.eclipse.ui.IWorkbench;
+import org.eclipse.ui.IWorkbenchPreferencePage;
+import org.eclipse.ui.preferences.ScopedPreferenceStore;
+import org.osgi.framework.FrameworkUtil;
+
+public class KR11_12PreferencePage extends FieldEditorPreferencePage implements IWorkbenchPreferencePage{
+
+
+	public KR11_12PreferencePage() {
+		super(GRID);
+	}
+
+	@Override
+	public void init(IWorkbench workbench) {
+		//WHICH SCOPE SHOULD I SELECT: https://wiki.eclipse.org/FAQ_What_is_a_preference_scope%3F
+		
+		 setPreferenceStore(new ScopedPreferenceStore(ConfigurationScope.INSTANCE, (FrameworkUtil.getBundle(KR10PreferenceInitializer.class)).getSymbolicName()));
+	     setDescription("These Are The Piacere Performance Monitoring Controller Preferences");
+
+	}
+
+	@Override
+	protected void createFieldEditors() {
+		addField(new StringFieldEditor("KR11_12.host", "Endpoint Host", getFieldEditorParent()));
+		addField(new IntegerFieldEditor("KR11_12.port", "Endpoint Port", getFieldEditorParent()));
+		addField(new RadioGroupFieldEditor("KR11_12.protocol", "Protocol", 1, new String[][] {{"HTTP","http"},{"HTTPS","https"}}, getFieldEditorParent()));
+
+	}
+
+}
\ No newline at end of file
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/PiacereRuntimeControllerViewPart.java b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/PiacereRuntimeControllerViewPart.java
new file mode 100644
index 0000000000000000000000000000000000000000..a00819d6190a1f6d3265625f0bde6de051f3f047
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/PiacereRuntimeControllerViewPart.java	
@@ -0,0 +1,207 @@
+package eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.edit.provider.resource.ResourceItemProviderAdapterFactory;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.action.IMenuListener;
+import org.eclipse.jface.action.IMenuManager;
+import org.eclipse.jface.action.MenuManager;
+import org.eclipse.jface.action.Separator;
+import org.eclipse.jface.resource.FontDescriptor;
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.jface.resource.JFaceResources;
+import org.eclipse.jface.resource.LocalResourceManager;
+import org.eclipse.jface.resource.ResourceManager;
+import org.eclipse.jface.viewers.IBaseLabelProvider;
+import org.eclipse.jface.viewers.IContentProvider;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.ISelectionChangedListener;
+import org.eclipse.jface.viewers.ISelectionProvider;
+import org.eclipse.jface.viewers.SelectionChangedEvent;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Menu;
+import org.eclipse.ui.IMemento;
+import org.eclipse.ui.IViewSite;
+import org.eclipse.ui.PartInitException;
+import org.eclipse.ui.actions.ActionGroup;
+import org.eclipse.ui.navigator.CommonNavigator;
+import org.eclipse.ui.navigator.CommonViewer;
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+
+import eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.actions.FinishDeploymentAction;
+import eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.actions.GetDeploymentInfoAction;
+import eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.actions.OpenPerformanceMonitoringAction;
+import eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.actions.OpenPerformanceSelfLearningMonitoringAction;
+import eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.actions.OpenSecurityMonitoringAction;
+import eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.actions.OpenSecuritySelfLearningMonitoringAction;
+import eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.actions.OpenSelfHealingAction;
+import eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.actions.PiacereRuntimeControllerViewActionGroup;
+import eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.actions.RefreshAction;
+import eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.providers.PRCContentProvider;
+import eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.providers.PRCLabelProvider;
+import eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.util.PiacereDeployment;
+import eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.util.PiacereRuntimeController;
+
+
+public class PiacereRuntimeControllerViewPart extends CommonNavigator implements IMenuListener {
+
+	private static PiacereRuntimeController piacereRuntimeController = new PiacereRuntimeController();
+
+	public PiacereRuntimeController getPiacereRuntimeController() {
+		return piacereRuntimeController;
+	}
+
+	@Override
+	public void createPartControl(Composite parent) {
+		super.createPartControl(parent);
+
+		if (getCommonViewer() != null) {
+
+			getCommonViewer().setContentProvider((IContentProvider)new PRCContentProvider((AdapterFactory)new ResourceItemProviderAdapterFactory()));
+			getCommonViewer().setInput(piacereRuntimeController);
+			getCommonViewer().setLabelProvider((IBaseLabelProvider)new PRCLabelProvider());
+			ResourceManager resourceManager = new LocalResourceManager(JFaceResources.getResources(), parent);
+			getCommonViewer().getTree().setFont(resourceManager.createFont(FontDescriptor.createFrom(getCommonViewer().getTree().getFont()).setHeight(14)));
+			getCommonViewer().setSorter(null);
+			getCommonViewer().addSelectionChangedListener(new SelectionChangedListener());
+			createContextMenuForViewer(getCommonViewer());
+			refreshViewer();
+		} 
+	}
+
+	public void init(IViewSite aSite, IMemento aMemento) throws PartInitException {
+		super.init(aSite, aMemento);
+
+		if (aMemento != null && this.getPiacereRuntimeController().getDeployments().size() == 0) {
+			/*int i = 0;
+			while (aMemento.getString("host" + i) != null) {
+				RepositoryLocation rp = new RepositoryLocation();
+				rp.setHost(aMemento.getString("host" + i));
+				rp.setRepositoryPath(aMemento.getString("repositorypath" + i));
+				rp.setName(aMemento.getString("name" + i));
+				if(DeploymentClientUtil.testConnection(rp, false)) {
+					rp.reloadContent();
+				}
+				locations.add(rp);
+				i++;
+			} */
+		} 
+	}
+
+	protected CommonViewer createCommonViewerObject(Composite aParent) {
+		return new CommonViewer(getViewSite().getId(), aParent, 768);
+	}
+
+	private class SelectionChangedListener implements ISelectionChangedListener {
+		@SuppressWarnings("unused")
+		public void selectionChanged(SelectionChangedEvent event) {
+			if (event.getSelection() instanceof StructuredSelection) {
+				Object selected = ((StructuredSelection)event.getSelection()).getFirstElement(); 
+			}
+		}
+	}
+
+	protected ActionGroup createCommonActionGroup() {
+		return (ActionGroup)new PiacereRuntimeControllerViewActionGroup(getCommonViewer());
+	}
+
+	public void refreshViewer() {
+		CommonViewer viewer = getCommonViewer();
+		if (viewer != null && !viewer.getTree().isDisposed())
+			viewer.refresh(); 
+	}
+
+	public void saveState(IMemento aMemento) {
+		super.saveState(aMemento);/*
+		int size = locations.size();
+		for (int i = 0; i < size; i++) {
+			RepositoryLocation rp = locations.get(i);
+			aMemento.putString("host" + i, rp.getHost());
+			aMemento.putString("repositorypath" + i, rp.getRepositoryPath());
+			aMemento.putString("name" + i, rp.getName());
+		} */
+	}
+
+	private void createContextMenuForViewer(CommonViewer viewer) {
+		MenuManager contextMenu = new MenuManager("Popup", getImageDescriptor("icons/FadaModelRepositoriesView.png"), null);
+		contextMenu.setRemoveAllWhenShown(true);
+		contextMenu.addMenuListener(this);
+
+		Menu menu = contextMenu.createContextMenu(viewer.getControl());
+		viewer.getControl().setMenu(menu);
+		this.getSite().registerContextMenu(contextMenu, (ISelectionProvider)viewer);
+	}
+
+	public void menuAboutToShow(IMenuManager manager) {
+		ISelection selection = getCommonViewer().getSelection();
+		if (selection instanceof StructuredSelection) {
+			StructuredSelection sel = (StructuredSelection)selection;
+			Object selectedObject = sel.getFirstElement();
+			if (selectedObject instanceof PiacereDeployment) {
+				
+				
+				RefreshAction ra = new RefreshAction();
+				ra.setText("Refresh All");
+				ra.setImageDescriptor(getImageDescriptor("icons/refresh.gif"));
+				
+				GetDeploymentInfoAction gdia = new GetDeploymentInfoAction();
+				gdia.setText("Get Deployment Details");
+				gdia.setImageDescriptor(getImageDescriptor("icons/repository.png"));
+				
+				OpenPerformanceMonitoringAction opma = new OpenPerformanceMonitoringAction();
+				opma.setText("Open Performance Monitor");
+				opma.setImageDescriptor(getImageDescriptor("icons/ref.png"));		
+
+				OpenPerformanceSelfLearningMonitoringAction opslma = new OpenPerformanceSelfLearningMonitoringAction();
+				opslma.setText("Open Performance Self Learning Monitor");
+				opslma.setImageDescriptor(getImageDescriptor("icons/ref.png"));		
+				
+				OpenSecurityMonitoringAction osma = new OpenSecurityMonitoringAction();
+				osma.setText("Open Security Monitor");
+				osma.setImageDescriptor(getImageDescriptor("icons/ref.png"));		
+				
+				OpenSecuritySelfLearningMonitoringAction osslma = new OpenSecuritySelfLearningMonitoringAction();
+				osslma.setText("Open Security Self Learning Monitor");
+				osslma.setImageDescriptor(getImageDescriptor("icons/ref.png"));		
+				
+				OpenSelfHealingAction osha = new OpenSelfHealingAction();
+				osha.setText("Open Self Healing Events");
+				osha.setImageDescriptor(getImageDescriptor("icons/ref.png"));		
+				
+				FinishDeploymentAction fda = new FinishDeploymentAction ();
+				fda.setText("Finish Deployment");
+				fda.setImageDescriptor(getImageDescriptor("icons/deleteRepository.png"));
+				
+				
+				
+				
+				manager.add((IAction)ra);
+				manager.add(new Separator("additions"));
+				manager.add((IAction)gdia);
+				manager.add((IAction)opma);
+				manager.add((IAction)opslma);
+				manager.add((IAction)osma);
+				manager.add((IAction)osslma);
+				manager.add((IAction)osha);
+				manager.add(new Separator("additions"));
+				manager.add((IAction)fda);
+			}
+			/*if (selectedObject instanceof AppComponentsModelVersion || selectedObject instanceof AppSystemConfigurationModelVersion) {
+				DownloadModelAction dma = new DownloadModelAction();
+				dma.setText("Download Model");
+				dma.setImageDescriptor(getImageDescriptor("icons/download.png"));
+				manager.add((IAction)dma);
+
+				DeleteModelAction dma2 = new DeleteModelAction();
+				dma2.setText("Delete Model from Repository");
+				dma2.setImageDescriptor(getImageDescriptor("icons/deleteRepository.png"));
+				manager.add((IAction)dma2);
+			}*/
+		} 
+	}
+
+	protected final ImageDescriptor getImageDescriptor(String relativePath) {
+		return AbstractUIPlugin.imageDescriptorFromPlugin("PiacereIDEIntegration.KR10_KR11_KR12", relativePath);
+	}
+}
\ No newline at end of file
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/actions/CollapseAllAction.java b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/actions/CollapseAllAction.java
new file mode 100644
index 0000000000000000000000000000000000000000..b8da9d62e89dc6765c0be850f536125486688df9
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/actions/CollapseAllAction.java	
@@ -0,0 +1,24 @@
+package eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.actions;
+
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.ui.IWorkbenchCommandConstants;
+import org.eclipse.ui.navigator.CommonViewer;
+
+public class CollapseAllAction extends Action implements IAction
+{
+	private final CommonViewer commonViewer;
+
+	public CollapseAllAction(CommonViewer aViewer) {
+		super("Collapse all");
+		setToolTipText("Collapse all");
+		setActionDefinitionId(IWorkbenchCommandConstants.NAVIGATE_COLLAPSE_ALL);
+		this.commonViewer = aViewer;
+	}
+
+	public void run() {
+		if (this.commonViewer != null)
+			this.commonViewer.collapseAll(); 
+	}
+}
+
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/actions/CreateDeploymentAction.java b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/actions/CreateDeploymentAction.java
new file mode 100644
index 0000000000000000000000000000000000000000..eb56f536535e87b84d2c53db17acd89e07eaedfb
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/actions/CreateDeploymentAction.java	
@@ -0,0 +1,46 @@
+package eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.actions;
+
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.action.IAction;
+import org.restlet.data.Protocol;
+
+import eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.PiacereRuntimeControllerViewPart;
+import eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.util.DeploymentClientUtil;
+import eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.util.PRCClientUtil;
+import eu.piacere.piacereTool.utils.ToolCustomizationUtils;
+
+
+public class CreateDeploymentAction extends Action implements IAction
+{
+	
+	public void run() {
+		
+		String repositoryURL=ToolCustomizationUtils.doDialogAskWithoutPostProcess("Repository URL", "Provide the respository URL of the deployment", "");
+		if(repositoryURL==null) {
+			return;
+		}
+		String deploymentID=ToolCustomizationUtils.doDialogAskWithoutPostProcess("Deployment ID", "Provide the new Deployment ID", "");
+		if(deploymentID==null) {
+			return;
+		}
+		
+		String protocol = ToolCustomizationUtils.getPreference(this.getClass(), "KR10.protocol");
+		String host = ToolCustomizationUtils.getPreference(this.getClass(), "KR10.host");
+		String port = ToolCustomizationUtils.getPreference(this.getClass(), "KR10.port");		
+		Protocol p = null;
+		if(protocol.equals("http")) {
+			p=Protocol.HTTP;
+		}
+		else if(protocol.equals("https")) {
+			p=Protocol.HTTPS;
+		}
+		
+		PRCClientUtil.createDeploymentPOST(protocol+"://"+host+":"+port+"/", p, repositoryURL, deploymentID);
+		PiacereRuntimeControllerViewPart prcView = DeploymentClientUtil.getRuntimeControllerView();
+		if (prcView != null) {
+			prcView.getPiacereRuntimeController().reloadContent();
+			prcView.refreshViewer();
+		}
+		
+	}
+}
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/actions/ExpandAllAction.java b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/actions/ExpandAllAction.java
new file mode 100644
index 0000000000000000000000000000000000000000..a1facb6cf0b9934a90aea59e8f1f1bcaedb6dca7
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/actions/ExpandAllAction.java	
@@ -0,0 +1,25 @@
+package eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.actions;
+
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.ui.IWorkbenchCommandConstants;
+import org.eclipse.ui.navigator.CommonViewer;
+
+public class ExpandAllAction extends Action implements IAction
+{
+	private final CommonViewer commonViewer;
+
+	public ExpandAllAction(CommonViewer aViewer) {
+		super("Expand All");
+		setToolTipText("Expand All");
+		setActionDefinitionId(IWorkbenchCommandConstants.NAVIGATE_EXPAND_ALL);
+
+		this.commonViewer = aViewer;
+	}
+
+	public void run() {
+		if (this.commonViewer != null)
+			this.commonViewer.expandAll(); 
+	}
+}
+
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/actions/FinishDeploymentAction.java b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/actions/FinishDeploymentAction.java
new file mode 100644
index 0000000000000000000000000000000000000000..b7367f40a60f12ad60d0b8840229622581e2cf6e
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/actions/FinishDeploymentAction.java	
@@ -0,0 +1,48 @@
+package eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.actions;
+
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.restlet.data.Protocol;
+
+import eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.PiacereRuntimeControllerViewPart;
+import eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.util.DeploymentClientUtil;
+import eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.util.PRCClientUtil;
+import eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.util.PiacereDeployment;
+import eu.piacere.piacereTool.utils.ToolCustomizationUtils;
+
+
+public class FinishDeploymentAction extends Action implements IAction
+{
+
+	public void run() {
+		PiacereRuntimeControllerViewPart repositoriesView = DeploymentClientUtil.getRuntimeControllerView();
+		ISelection selection = repositoriesView.getCommonViewer().getSelection();
+		if (selection instanceof StructuredSelection) {
+			StructuredSelection sel = (StructuredSelection)selection;
+			Object selectedObject = sel.getFirstElement();
+			if (selectedObject instanceof PiacereDeployment) {
+				PiacereDeployment deployment = (PiacereDeployment)selectedObject;
+
+				String protocol = ToolCustomizationUtils.getPreference(this.getClass(), "KR10.protocol");
+				String host = ToolCustomizationUtils.getPreference(this.getClass(), "KR10.host");
+				String port = ToolCustomizationUtils.getPreference(this.getClass(), "KR10.port");		
+				Protocol p = null;
+				if(protocol.equals("http")) {
+					p=Protocol.HTTP;
+				}
+				else if(protocol.equals("https")) {
+					p=Protocol.HTTPS;
+				}
+				if(PRCClientUtil.finishDeploymentPOST(protocol+"://"+host+":"+port+"/", p, deployment)){
+					PiacereRuntimeControllerViewPart prcView = DeploymentClientUtil.getRuntimeControllerView();
+					if (prcView != null) {
+						prcView.getPiacereRuntimeController().reloadContent();
+						prcView.refreshViewer();
+					}
+				}
+			}
+		}
+	}
+}
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/actions/GetDeploymentInfoAction.java b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/actions/GetDeploymentInfoAction.java
new file mode 100644
index 0000000000000000000000000000000000000000..19f4b950161df89704bd01a07096773833a81b19
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/actions/GetDeploymentInfoAction.java	
@@ -0,0 +1,49 @@
+package eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.actions;
+
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.json.JSONException;
+import org.json.JSONObject;
+import org.restlet.data.Protocol;
+
+import eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.PiacereRuntimeControllerViewPart;
+import eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.util.DeploymentClientUtil;
+import eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.util.PRCClientUtil;
+import eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.util.PiacereDeployment;
+import eu.piacere.piacereTool.utils.ToolCustomizationUtils;
+
+
+public class GetDeploymentInfoAction extends Action implements IAction
+{
+	public void run() {
+		PiacereRuntimeControllerViewPart repositoriesView = DeploymentClientUtil.getRuntimeControllerView();
+		ISelection selection = repositoriesView.getCommonViewer().getSelection();
+		if (selection instanceof StructuredSelection) {
+			StructuredSelection sel = (StructuredSelection)selection;
+			Object selectedObject = sel.getFirstElement();
+			if (selectedObject instanceof PiacereDeployment) {
+				PiacereDeployment deployment = (PiacereDeployment)selectedObject;
+				
+				String protocol = ToolCustomizationUtils.getPreference(this.getClass(), "KR10.protocol");
+				String host = ToolCustomizationUtils.getPreference(this.getClass(), "KR10.host");
+				String port = ToolCustomizationUtils.getPreference(this.getClass(), "KR10.port");		
+				Protocol p = null;
+				if(protocol.equals("http")) {
+					p=Protocol.HTTP;
+				}
+				else if(protocol.equals("https")) {
+					p=Protocol.HTTPS;
+				}
+				JSONObject res=PRCClientUtil.retrieveDeploymentGet(protocol+"://"+host+":"+port+"/", p, deployment);
+				
+				try {
+					ToolCustomizationUtils.showInformationDialog("Deployment Information", res.toString(4));
+				} catch (JSONException e) {
+					e.printStackTrace();
+				}
+			}
+		}
+	}
+}
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/actions/OpenPerformanceMonitoringAction.java b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/actions/OpenPerformanceMonitoringAction.java
new file mode 100644
index 0000000000000000000000000000000000000000..5e04bbfebbdaef6a45c9f2155c2ab38968a0fa78
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/actions/OpenPerformanceMonitoringAction.java	
@@ -0,0 +1,43 @@
+package eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.actions;
+
+import java.net.URL;
+
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.ui.browser.IWebBrowser;
+
+import eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.PiacereRuntimeControllerViewPart;
+import eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.util.DeploymentClientUtil;
+import eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.util.PiacereDeployment;
+
+
+public class OpenPerformanceMonitoringAction extends Action implements IAction
+{
+	public void run() {
+		PiacereRuntimeControllerViewPart repositoriesView = DeploymentClientUtil.getRuntimeControllerView();
+		ISelection selection = repositoriesView.getCommonViewer().getSelection();
+		if (selection instanceof StructuredSelection) {
+			StructuredSelection sel = (StructuredSelection)selection;
+			Object selectedObject = sel.getFirstElement();
+			if (selectedObject instanceof PiacereDeployment) {
+				String url=DeploymentClientUtil.getPerformanceMonitoringURL((PiacereDeployment)selectedObject, "performance");
+				if(url==null) url="https://grafana.pm.ci.piacere.digital.tecnalia.dev/d/m69joqMVk/performance?orgId=1";
+				try {
+					openWeb(url, ((PiacereDeployment)selectedObject).getDeploymentID());
+				} catch (Exception e) {
+					// TODO Auto-generated catch block
+					e.printStackTrace();
+				}
+			}
+		}
+	}
+
+
+	private void openWeb(String webURL, String deploymentID) throws Exception {
+		final IWebBrowser browser = PlatformUI.getWorkbench().getBrowserSupport().createBrowser(deploymentID);
+		browser.openURL(new URL(webURL));
+	}
+}
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/actions/OpenPerformanceSelfLearningMonitoringAction.java b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/actions/OpenPerformanceSelfLearningMonitoringAction.java
new file mode 100644
index 0000000000000000000000000000000000000000..193fd10aa9b17903fd2ec0c7c254d971afa19f7c
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/actions/OpenPerformanceSelfLearningMonitoringAction.java	
@@ -0,0 +1,43 @@
+package eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.actions;
+
+import java.net.URL;
+
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.ui.browser.IWebBrowser;
+
+import eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.PiacereRuntimeControllerViewPart;
+import eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.util.DeploymentClientUtil;
+import eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.util.PiacereDeployment;
+
+
+public class OpenPerformanceSelfLearningMonitoringAction extends Action implements IAction
+{
+	public void run() {
+		PiacereRuntimeControllerViewPart repositoriesView = DeploymentClientUtil.getRuntimeControllerView();
+		ISelection selection = repositoriesView.getCommonViewer().getSelection();
+		if (selection instanceof StructuredSelection) {
+			StructuredSelection sel = (StructuredSelection)selection;
+			Object selectedObject = sel.getFirstElement();
+			if (selectedObject instanceof PiacereDeployment) {
+				String url=DeploymentClientUtil.getPerformanceMonitoringURL((PiacereDeployment)selectedObject, "performance-self-learning");
+				if(url==null) url="https://grafana.pm.ci.piacere.digital.tecnalia.dev/d/G39CTqMVk/performance-self-learning?orgId=1";
+				try {
+					openWeb(url, ((PiacereDeployment)selectedObject).getDeploymentID());
+				} catch (Exception e) {
+					// TODO Auto-generated catch block
+					e.printStackTrace();
+				}
+			}
+		}
+	}
+
+
+	private void openWeb(String webURL, String deploymentID) throws Exception {
+		final IWebBrowser browser = PlatformUI.getWorkbench().getBrowserSupport().createBrowser(deploymentID);
+		browser.openURL(new URL(webURL));
+	}
+}
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/actions/OpenSecurityMonitoringAction.java b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/actions/OpenSecurityMonitoringAction.java
new file mode 100644
index 0000000000000000000000000000000000000000..c85adde209fc651d0424923e4a3808eeff850a8f
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/actions/OpenSecurityMonitoringAction.java	
@@ -0,0 +1,43 @@
+package eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.actions;
+
+import java.net.URL;
+
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.ui.browser.IWebBrowser;
+
+import eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.PiacereRuntimeControllerViewPart;
+import eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.util.DeploymentClientUtil;
+import eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.util.PiacereDeployment;
+
+
+public class OpenSecurityMonitoringAction extends Action implements IAction
+{
+	public void run() {
+		PiacereRuntimeControllerViewPart repositoriesView = DeploymentClientUtil.getRuntimeControllerView();
+		ISelection selection = repositoriesView.getCommonViewer().getSelection();
+		if (selection instanceof StructuredSelection) {
+			StructuredSelection sel = (StructuredSelection)selection;
+			Object selectedObject = sel.getFirstElement();
+			if (selectedObject instanceof PiacereDeployment) {
+				String url=DeploymentClientUtil.getSecurityMonitoringURL((PiacereDeployment)selectedObject);
+				if(url==null) url="https://sm-wazuh-kibana.ci.piacere.digital.tecnalia.dev/";
+				try {
+					openWeb(url, ((PiacereDeployment)selectedObject).getDeploymentID());
+				} catch (Exception e) {
+					// TODO Auto-generated catch block
+					e.printStackTrace();
+				}
+			}
+		}
+	}
+
+
+	private void openWeb(String webURL, String deploymentID) throws Exception {
+		final IWebBrowser browser = PlatformUI.getWorkbench().getBrowserSupport().createBrowser(deploymentID);
+		browser.openURL(new URL(webURL));
+	}
+}
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/actions/OpenSecuritySelfLearningMonitoringAction.java b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/actions/OpenSecuritySelfLearningMonitoringAction.java
new file mode 100644
index 0000000000000000000000000000000000000000..62c8824b78fa6bc87eab55f593e2a844386eb0ec
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/actions/OpenSecuritySelfLearningMonitoringAction.java	
@@ -0,0 +1,43 @@
+package eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.actions;
+
+import java.net.URL;
+
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.ui.browser.IWebBrowser;
+
+import eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.PiacereRuntimeControllerViewPart;
+import eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.util.DeploymentClientUtil;
+import eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.util.PiacereDeployment;
+
+
+public class OpenSecuritySelfLearningMonitoringAction extends Action implements IAction
+{
+	public void run() {
+		PiacereRuntimeControllerViewPart repositoriesView = DeploymentClientUtil.getRuntimeControllerView();
+		ISelection selection = repositoriesView.getCommonViewer().getSelection();
+		if (selection instanceof StructuredSelection) {
+			StructuredSelection sel = (StructuredSelection)selection;
+			Object selectedObject = sel.getFirstElement();
+			if (selectedObject instanceof PiacereDeployment) {
+				String url=DeploymentClientUtil.getSecuritySelfLearningMonitoringURL((PiacereDeployment)selectedObject);
+				if(url==null) url="https://piacere-security-monitoring.xlab.si/grafana/";
+				try {
+					openWeb(url, ((PiacereDeployment)selectedObject).getDeploymentID());
+				} catch (Exception e) {
+					// TODO Auto-generated catch block
+					e.printStackTrace();
+				}
+			}
+		}
+	}
+
+
+	private void openWeb(String webURL, String deploymentID) throws Exception {
+		final IWebBrowser browser = PlatformUI.getWorkbench().getBrowserSupport().createBrowser(deploymentID);
+		browser.openURL(new URL(webURL));
+	}
+}
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/actions/OpenSelfHealingAction.java b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/actions/OpenSelfHealingAction.java
new file mode 100644
index 0000000000000000000000000000000000000000..218abab1f15ee72371eb422e95fbd1b74f232b59
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/actions/OpenSelfHealingAction.java	
@@ -0,0 +1,43 @@
+package eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.actions;
+
+import java.net.URL;
+
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.ui.browser.IWebBrowser;
+
+import eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.PiacereRuntimeControllerViewPart;
+import eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.util.DeploymentClientUtil;
+import eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.util.PiacereDeployment;
+
+
+public class OpenSelfHealingAction extends Action implements IAction
+{
+	public void run() {
+		PiacereRuntimeControllerViewPart repositoriesView = DeploymentClientUtil.getRuntimeControllerView();
+		ISelection selection = repositoriesView.getCommonViewer().getSelection();
+		if (selection instanceof StructuredSelection) {
+			StructuredSelection sel = (StructuredSelection)selection;
+			Object selectedObject = sel.getFirstElement();
+			if (selectedObject instanceof PiacereDeployment) {
+				String url=DeploymentClientUtil.getSelfHealingURL((PiacereDeployment)selectedObject);
+				if(url==null) url="https://sh.ci.piacere.digital.tecnalia.dev/";
+				try {
+					openWeb(url, ((PiacereDeployment)selectedObject).getDeploymentID());
+				} catch (Exception e) {
+					// TODO Auto-generated catch block
+					e.printStackTrace();
+				}
+			}
+		}
+	}
+
+
+	private void openWeb(String webURL, String deploymentID) throws Exception {
+		final IWebBrowser browser = PlatformUI.getWorkbench().getBrowserSupport().createBrowser(deploymentID);
+		browser.openURL(new URL(webURL));
+	}
+}
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/actions/PiacereRuntimeControllerViewActionGroup.java b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/actions/PiacereRuntimeControllerViewActionGroup.java
new file mode 100644
index 0000000000000000000000000000000000000000..e1f771256ad6f4a5810847baec329213a70e30ff
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/actions/PiacereRuntimeControllerViewActionGroup.java	
@@ -0,0 +1,53 @@
+package eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.actions;
+
+import org.eclipse.jface.action.Separator;
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.ui.IActionBars;
+import org.eclipse.ui.actions.ActionGroup;
+import org.eclipse.ui.navigator.CommonViewer;
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+
+
+public class PiacereRuntimeControllerViewActionGroup extends ActionGroup
+{
+	private final CommonViewer commonViewer;
+	
+	public PiacereRuntimeControllerViewActionGroup(CommonViewer viewer) {
+		this.commonViewer = viewer;
+	}
+
+	protected final ImageDescriptor getImageDescriptor(String relativePath) {
+		return AbstractUIPlugin.imageDescriptorFromPlugin("PiacereIDEIntegration.KR10_KR11_KR12", relativePath);
+	}
+
+	public void fillActionBars(IActionBars actionBars) {
+
+		RefreshAction ra = new RefreshAction();
+		ra.setText("Refresh All");
+		ra.setImageDescriptor(getImageDescriptor("icons/refresh.gif"));
+		
+		CreateDeploymentAction cda = new CreateDeploymentAction();
+		cda.setText("Create Deployment");
+		cda.setImageDescriptor(getImageDescriptor("icons/addRepository.png"));
+
+		CollapseAllAction ca = new CollapseAllAction(this.commonViewer);
+		ca.setText("Collapse All");
+		ca.setImageDescriptor(getImageDescriptor("icons/collapseAll.gif"));
+
+		ExpandAllAction ea = new ExpandAllAction(this.commonViewer);
+		ea.setText("Expand All");
+		ea.setImageDescriptor(getImageDescriptor("icons/expandAll.gif"));
+
+		actionBars.getMenuManager().add(ra);
+		actionBars.getMenuManager().add(new Separator("additions"));
+		actionBars.getMenuManager().add(cda);
+		//actionBars.getMenuManager().add(new Separator("additions"));
+		//actionBars.getMenuManager().add(ca);
+		//actionBars.getMenuManager().add(ea);
+	}
+}
+
+
+
+
+
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/actions/RefreshAction.java b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/actions/RefreshAction.java
new file mode 100644
index 0000000000000000000000000000000000000000..8d6f0d08758856fdb9f6aa217e4287056352ddd7
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/actions/RefreshAction.java	
@@ -0,0 +1,18 @@
+package eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.actions;
+
+import org.eclipse.jface.action.Action;
+
+import eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.PiacereRuntimeControllerViewPart;
+import eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.util.DeploymentClientUtil;
+
+public class RefreshAction extends Action
+{
+	public void run() {
+		super.run();
+		PiacereRuntimeControllerViewPart prcView = DeploymentClientUtil.getRuntimeControllerView();
+		if (prcView != null) {
+			prcView.getPiacereRuntimeController().reloadContent();
+			prcView.refreshViewer();
+		}
+	}
+}
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/actions/old/AddRepositoryLocationAction.java b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/actions/old/AddRepositoryLocationAction.java
new file mode 100644
index 0000000000000000000000000000000000000000..c72dbb36bcd47feae0ae0916fba50de4a3c15a5c
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/actions/old/AddRepositoryLocationAction.java	
@@ -0,0 +1,53 @@
+package eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.actions.old;
+
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.action.IAction;
+
+
+public class AddRepositoryLocationAction extends Action implements IAction
+{
+	public void run() {
+		/*PiacereRuntimeControllerViewPart repositoriesView = DeploymentClientUtil.getModelRepositoriesView();
+		if (repositoriesView != null) { 
+
+			AddRepositoryLocationDialog dialog = new AddRepositoryLocationDialog(repositoriesView.getSite().getShell());
+
+			if (dialog.open() == 0) {
+				String host = dialog.getHost();
+				String repositoryPath = dialog.getRepositoryPath();
+				String repositoryName = dialog.getRepositoryName();
+				
+
+				if (existingLocation(repositoriesView, host, repositoryPath)) {
+					MessageDialog.openError(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), "Repository Already Exists", "The repository location already exists");
+				} 
+				else {
+
+					RepositoryLocation location = new RepositoryLocation(host, repositoryPath, repositoryName);
+
+					if(DeploymentClientUtil.testConnection(location, true)) {
+						location.reloadContent();
+						repositoriesView.getLocations().add(location);
+						repositoriesView.getCommonViewer().setInput(repositoriesView.getLocations());
+						
+					} 
+				} 
+			} 
+		} */
+	}
+
+
+
+	/*private boolean existingLocation(PiacereRuntimeControllerViewPart repositoriesView, String host, String repositoryPath) {
+		List<RepositoryLocation> locations = repositoriesView.getLocations();
+
+		for (RepositoryLocation location : locations) {
+			if (location.getHost().equals(host) && 
+					location.getRepositoryPath().equals(repositoryPath))
+			{
+				return true;
+			}
+		} 
+		return false;
+	}*/
+}
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/actions/old/DeleteModelAction.java b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/actions/old/DeleteModelAction.java
new file mode 100644
index 0000000000000000000000000000000000000000..f1b05f706b5c41482e07ab378256bd0510581245
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/actions/old/DeleteModelAction.java	
@@ -0,0 +1,64 @@
+package eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.actions.old;
+
+import org.eclipse.jface.action.Action;
+
+public class DeleteModelAction extends Action
+{
+	public void run() {
+		super.run();
+
+		/*boolean result = MessageDialog.openConfirm(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), "Delete Model From Repository", "Are you sure you want to delete the selected model from the repository location?");
+
+		if (result) {
+
+			IWorkbenchPart part = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActivePart();
+
+			if (part instanceof FadaModelRepositoriesPart) {
+				FadaModelRepositoriesPart rv = (FadaModelRepositoriesPart)part;
+				ISelection selection = rv.getCommonViewer().getSelection();
+				if (selection instanceof StructuredSelection) {
+					StructuredSelection sel = (StructuredSelection)selection;
+					Object selectedObject = sel.getFirstElement();
+					if (selectedObject instanceof AppComponentsModelVersion) {
+						AppComponentsModelVersion theModelToDownload = (AppComponentsModelVersion)selectedObject;
+						String theURL="/modelsRepository/" + theModelToDownload.getModel().getApp().getAppName() + "/cm/" + theModelToDownload.getModel().getAppComponentsModelName() + "/" + theModelToDownload.getVersion();
+						boolean respuesta=DeploymentClientUtil.doDelete(theURL, theModelToDownload.getModel().getApp().getAppLocation());
+						if(!respuesta) {
+							ErrorDialog.openError(null, "Error", "Error deleting Components Model",null, IStatus.ERROR);
+						}
+						else {
+							theModelToDownload.getModel().getAppComponentsModelVersions().remove(theModelToDownload.getVersion());
+							if(theModelToDownload.getModel().getAppComponentsModelVersions().size()==0) {
+								theModelToDownload.getModel().getApp().getAppComponentsModels().remove(theModelToDownload.getModel().getAppComponentsModelName());
+							}
+							if(theModelToDownload.getModel().getApp().getAppComponentsModels().size()+theModelToDownload.getModel().getApp().getAppSystemConfigurationModels().size()==0) {
+								theModelToDownload.getModel().getApp().getAppLocation().getRepositoryApps().remove(theModelToDownload.getModel().getApp().getAppName());
+							}
+							
+						}
+					}
+					else if (selectedObject instanceof AppSystemConfigurationModelVersion) {
+						AppSystemConfigurationModelVersion theModelToDownload = (AppSystemConfigurationModelVersion)selectedObject;
+						String theURL="/modelsRepository/" + theModelToDownload.getModel().getApp().getAppName() + "/scm/" + theModelToDownload.getModel().getAppSystemConfigurationModelName() + "/" + theModelToDownload.getVersion();
+						boolean respuesta=DeploymentClientUtil.doDelete(theURL, theModelToDownload.getModel().getApp().getAppLocation());
+						if(!respuesta) {
+							ErrorDialog.openError(null, "Error", "Error deleting System Configuration Model",null, IStatus.ERROR);
+						}
+						else {
+							theModelToDownload.getModel().getAppSystemConfigurationModelVersions().remove(theModelToDownload.getVersion());
+							if(theModelToDownload.getModel().getAppSystemConfigurationModelVersions().size()==0) {
+								theModelToDownload.getModel().getApp().getAppSystemConfigurationModels().remove(theModelToDownload.getModel().getAppSystemConfigurationModelName());
+							}
+							if(theModelToDownload.getModel().getApp().getAppComponentsModels().size()+theModelToDownload.getModel().getApp().getAppSystemConfigurationModels().size()==0) {
+								theModelToDownload.getModel().getApp().getAppLocation().getRepositoryApps().remove(theModelToDownload.getModel().getApp().getAppName());
+							}
+							
+						}
+					}
+					rv.refreshViewer();
+				} 
+			} 
+		}*/ 
+	}
+}
+
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/actions/old/DiscardLocationAction.java b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/actions/old/DiscardLocationAction.java
new file mode 100644
index 0000000000000000000000000000000000000000..c5af3facb16a9e80d684e75a7b1faeb5c7724bc1
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/actions/old/DiscardLocationAction.java	
@@ -0,0 +1,37 @@
+package eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.actions.old;
+
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.ui.IWorkbenchPart;
+import org.eclipse.ui.PlatformUI;
+
+public class DiscardLocationAction extends Action
+{
+	public void run() {
+		super.run();
+
+		boolean result = MessageDialog.openConfirm(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), "Discard Repository", "Are you sure you want to discard the selected repository location?");
+
+		if (result) {
+
+			IWorkbenchPart part = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActivePart();
+
+			/*if (part instanceof FadaModelRepositoriesPart) {
+				FadaModelRepositoriesPart rv = (FadaModelRepositoriesPart)part;
+				ISelection selection = rv.getCommonViewer().getSelection();
+				if (selection instanceof StructuredSelection) {
+					StructuredSelection sel = (StructuredSelection)selection;
+					Object selectedobject = sel.getFirstElement();
+					if (selectedobject instanceof RepositoryLocation) {
+						RepositoryLocation rp = (RepositoryLocation)selectedobject;
+						rv.getLocations().remove(rp);
+						rv.refreshViewer();
+					} 
+				} 
+			} */
+		} 
+	}
+}
+
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/actions/old/DownloadModelAction.java b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/actions/old/DownloadModelAction.java
new file mode 100644
index 0000000000000000000000000000000000000000..4396288f8c2167b625ff853e3da3d940c5c0cc6d
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/actions/old/DownloadModelAction.java	
@@ -0,0 +1,121 @@
+package eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.actions.old;
+
+
+
+
+import java.io.File;
+import java.io.FileWriter;
+import java.io.IOException;
+
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.ui.IWorkbenchPart;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.ui.dialogs.ContainerSelectionDialog;
+import org.json.JSONException;
+import org.json.JSONObject;
+
+import eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.util.DeploymentClientUtil;
+
+public class DownloadModelAction extends Action
+{
+	public void run() {
+		super.run();
+
+		/*IWorkbenchPart part = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActivePart();
+
+		if (part instanceof FadaModelRepositoriesPart) {
+			FadaModelRepositoriesPart rv = (FadaModelRepositoriesPart)part;
+			ISelection selection = rv.getCommonViewer().getSelection();
+			if (selection instanceof StructuredSelection) {
+				StructuredSelection sel = (StructuredSelection)selection;
+				Object selectedObject = sel.getFirstElement();
+				if (selectedObject instanceof AppComponentsModelVersion) {
+					AppComponentsModelVersion theModelToDownload = (AppComponentsModelVersion)selectedObject;
+					String destDirectory = getDestDirectory();
+					if(destDirectory!=null) {
+						
+						String theURL="/modelsRepository/" + theModelToDownload.getModel().getApp().getAppName() + "/cm/" + theModelToDownload.getModel().getAppComponentsModelName() + "/" + theModelToDownload.getVersion();
+						JSONObject respuesta=DeploymentClientUtil.doGet(theURL, theModelToDownload.getModel().getApp().getAppLocation());
+						if(respuesta!=null) {
+							try {
+								String fileName=theModelToDownload.getAppCMFileName();
+								createFile(destDirectory+File.separator+fileName, respuesta.getString("CM"));
+								ResourcesPlugin.getWorkspace().getRoot().refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor());
+							} catch (IOException | JSONException | CoreException e) {
+								e.printStackTrace();
+							}
+						}
+					}
+				}
+				else if (selectedObject instanceof AppSystemConfigurationModelVersion) {
+					AppSystemConfigurationModelVersion theModelToDownload = (AppSystemConfigurationModelVersion)selectedObject;
+					String destDirectory = getDestDirectory();
+					if(destDirectory!=null) {
+						String theURL="/modelsRepository/" + theModelToDownload.getModel().getApp().getAppName() + "/scm/" + theModelToDownload.getModel().getAppSystemConfigurationModelName() + "/" + theModelToDownload.getVersion();
+						JSONObject respuesta=DeploymentClientUtil.doGet(theURL, theModelToDownload.getModel().getApp().getAppLocation());
+						if(respuesta!=null) {
+							try {
+								String scmFileName=theModelToDownload.getAppSCMFileName();
+								String cmFileName=theModelToDownload.getModel().getApp().getAppComponentsModels().get(theModelToDownload.getAppComponentsModelReference().getAppComponentsModelReferenceName()).getAppComponentsModelVersions().get(theModelToDownload.getAppComponentsModelReference().getAppComponentsModelReferenceVersion()).getAppCMFileName();
+								createFile(destDirectory+File.separator+cmFileName, respuesta.getString("CM"));
+								createFile(destDirectory+File.separator+scmFileName, changeReference(respuesta.getString("SCM"), cmFileName));
+								ResourcesPlugin.getWorkspace().getRoot().refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor());
+								
+							} catch (IOException | JSONException | CoreException e) {
+								e.printStackTrace();
+							}
+						}
+					}
+				}
+			} 
+		} */
+	}
+
+
+	
+	private void createFile(String fileURI, String fileContent) throws IOException {
+		File f = new File(fileURI);
+		f.getParentFile().mkdirs();
+		if(!f.exists()) {
+			f.createNewFile();
+		}
+		FileWriter fw = new FileWriter(f);
+		fw.write(fileContent);
+		fw.flush();
+		fw.close();
+	}
+	
+	
+	private String changeReference(String scmAsString, String cmFileName) {
+		String toReplace = scmAsString.split("<componentsModel href=\"")[1].split("#")[0];
+		String scmAsString2 = scmAsString.replace(toReplace, cmFileName);
+		return scmAsString2;
+	}
+
+	private String getDestDirectory() {
+		
+		ContainerSelectionDialog csd = new ContainerSelectionDialog(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), ResourcesPlugin.getWorkspace().getRoot(), true, "Select the destination directory");
+		String dir=null;
+		if(csd.open()==ContainerSelectionDialog.OK) {
+			Object[] result = csd.getResult();
+			if (result.length == 1) {
+				dir=((Path)result[0]).toOSString();
+				String s = ResourcesPlugin.getWorkspace().getRoot().getLocationURI().toString();
+				if(s.startsWith("file:")) {
+					s=s.substring(5);
+				}
+				return s+dir;
+			}
+		}
+		return dir == null ? null : dir;
+
+	}
+}
+
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/providers/PRCContentProvider.java b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/providers/PRCContentProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..4c3d5b8e32c8c5f44f98bcaf07bcf2f9b0d09745
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/providers/PRCContentProvider.java	
@@ -0,0 +1,60 @@
+package eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.providers;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.edit.ui.provider.AdapterFactoryContentProvider;
+
+import eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.util.PiacereDeployment;
+import eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.util.PiacereRuntimeController;
+
+public class PRCContentProvider extends AdapterFactoryContentProvider
+{
+	public PRCContentProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+		
+	}
+
+	@SuppressWarnings("unchecked")
+	public Object[] getElements(Object object) {
+		if (object instanceof List) {
+			List<PiacereRuntimeController> elements = (List<PiacereRuntimeController>)object;
+			return elements.toArray();
+		}
+		if (object instanceof PiacereRuntimeController) {
+			return ((PiacereRuntimeController)object).getDeployments().values().toArray();
+			
+		}
+
+		return super.getElements(object);
+	}
+
+
+
+	public boolean hasChildren(Object object) {
+		if (object instanceof PiacereRuntimeController) {
+			return ((PiacereRuntimeController)object).getDeployments().size()>0;
+		}
+		else if(object instanceof PiacereDeployment) {
+			return false;
+		}
+		return super.hasChildren(object);
+	}
+
+
+
+	public Object[] getChildren(Object object) {
+		if (object instanceof PiacereRuntimeController) {
+			PiacereRuntimeController prc = (PiacereRuntimeController)object;
+			ArrayList<Object> assets = new ArrayList<Object>();
+			for(PiacereDeployment dep : prc.getDeployments().values()) {
+				assets.add(dep);
+			}
+			return assets.toArray();
+		}
+		return null;
+	}
+	
+}
+
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/providers/PRCLabelProvider.java b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/providers/PRCLabelProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..a447236af07b5ab093b5565b7e46335668854a47
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/providers/PRCLabelProvider.java	
@@ -0,0 +1,94 @@
+package eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.providers;
+
+import java.io.IOException;
+
+import org.eclipse.core.runtime.FileLocator;
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.jface.viewers.LabelProvider;
+import org.eclipse.swt.graphics.Device;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.swt.widgets.Display;
+
+import eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.util.PiacereDeployment;
+import eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.util.PiacereRuntimeController;
+
+public class PRCLabelProvider extends LabelProvider
+{
+	
+	public String getText(Object element) {
+		if (element instanceof PiacereRuntimeController) {
+			return getPiacereRuntimeControllerLabel((PiacereRuntimeController)element);
+		}
+		else if(element instanceof PiacereDeployment) {
+			return "Deployment ID: "+((PiacereDeployment)element).getDeploymentID();
+		}
+		return super.getText(element);
+	}
+
+	public Image getImage(Object element) {
+		try {
+			String imagePath = FileLocator.toFileURL(Platform.getBundle("PiacereIDEIntegration.KR10_KR11_KR12").getResource("icons/")).getPath();
+			/*if (element instanceof PiacereRuntimeController) {
+				Image image = null;
+				if(((PiacereRuntimeController)element).isConnected()) {
+					image = new Image((Device)Display.getCurrent(), String.valueOf(imagePath) + "RepoConnected.png");
+				}
+				else {
+					image = new Image((Device)Display.getCurrent(), String.valueOf(imagePath) + "RepoDisconnected.png");
+				}
+				return image;
+			} 
+			else */
+			if (element instanceof PiacereDeployment) {
+				Image image = new Image((Device)Display.getCurrent(), String.valueOf(imagePath) + "repository.png");
+				return image;
+			} 
+			/*else if (element instanceof AppComponentsModel) {
+				Image image = new Image((Device)Display.getCurrent(), String.valueOf(imagePath) + "ComponentsModel.png");
+				return image;
+			} 
+			else if (element instanceof AppSystemConfigurationModel) {
+				Image image = new Image((Device)Display.getCurrent(), String.valueOf(imagePath) + "SystemConfigurationModel.png");
+				return image;
+			} 
+
+			else if (element instanceof AppComponentsModelVersion) {
+				Image image = new Image((Device)Display.getCurrent(), String.valueOf(imagePath) + "bundle.png");
+				return image;
+			} 
+			else if (element instanceof AppSystemConfigurationModelVersion) {
+				Image image = new Image((Device)Display.getCurrent(), String.valueOf(imagePath) + "bundle.png");
+				return image;
+			} 
+
+			else if (element instanceof AppComponentsModelReference) {
+				Image image = new Image((Device)Display.getCurrent(), String.valueOf(imagePath) + "ref.png");
+				return image;
+			} */
+		} catch (IOException iOException) {
+			return null;
+		} 
+		return super.getImage(element);
+	}
+
+
+	private String getPiacereRuntimeControllerLabel(PiacereRuntimeController prc) {
+		String res=prc.getPiacereRuntimeControllerURL();
+		
+		/*if(location.getName()!=null && location.getName()!="") {
+			res = location.getName()+": ";
+		}
+
+		String host = (location.getHost() == null) ? "" : location.getHost();
+		String repositoryPath = (location.getRepositoryPath() == null) ? "" : location.getRepositoryPath();
+
+		return res+host + "/" + repositoryPath;*/
+		return res;
+	}
+
+}
+
+
+
+
+
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/util/DeploymentClientUtil.java b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/util/DeploymentClientUtil.java
new file mode 100644
index 0000000000000000000000000000000000000000..0c1ce410d7f74995eebe06b29be06db5abdc7e8f
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/util/DeploymentClientUtil.java	
@@ -0,0 +1,171 @@
+package eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.util;
+
+import org.eclipse.ui.IViewPart;
+import org.eclipse.ui.PlatformUI;
+import org.json.JSONObject;
+import org.restlet.Client;
+import org.restlet.Context;
+import org.restlet.data.Protocol;
+import org.restlet.resource.ClientResource;
+
+import eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.PiacereRuntimeControllerViewPart;
+import eu.piacere.piacereTool.utils.ToolCustomizationUtils;
+
+public class DeploymentClientUtil {
+
+	public static String getPerformanceMonitoringURL(PiacereDeployment deployment, String dashboardTitle) {
+
+		String protocol = ToolCustomizationUtils.getPreference(DeploymentClientUtil.class, "KR11_12.protocol");
+		String host = ToolCustomizationUtils.getPreference(DeploymentClientUtil.class, "KR11_12.host");
+		String port = ToolCustomizationUtils.getPreference(DeploymentClientUtil.class, "KR11_12.port");
+		String epURL = protocol+"://"+host+":"+port+"/";
+		Protocol p = null;
+		if(protocol.equals("http")) {
+			p=Protocol.HTTP;
+		}
+		else {
+			p=Protocol.HTTPS;
+		}
+		Client client = new Client(new Context(), p);
+
+		ClientResource service = new ClientResource(epURL);
+		service.setNext(client);
+		try {
+			ClientResource resource = service.getChild("pmc/api/v1/deployments/"+deployment.getDeploymentID()+"/"+dashboardTitle);
+
+			if(resource.getStatus().getCode()==200){
+				JSONObject respuesta= new JSONObject(resource.get().getText());
+				if(respuesta.has("dashboard_url")) {
+					return respuesta.getString("dashboard_url");
+				}
+			}
+		}
+		catch (Exception e) {
+			e.printStackTrace();
+		}
+
+		return null;
+
+		//return "https://grafana.pm.ci.piacere.digital.tecnalia.dev/d/ADRVbdL7z/piacere-monitoring-dashboard-influx-v1?orgId=1";
+	}
+
+
+	/*public static JSONObject doGet(String getURL, RepositoryLocation modelLocation) {
+
+		if(modelLocation.isConnected()) {
+
+			Protocol p = null;
+			if(modelLocation.getHost().split("://")[0].equals("http")) {
+				p=Protocol.HTTP;
+			}
+			else {
+				p=Protocol.HTTPS;
+			}
+			Client client = new Client(new Context(), p);
+
+			ClientResource service = new ClientResource(modelLocation.getRepositoryURL());
+			service.setNext(client);
+			ClientResource resource = service.getChild(getURL);
+			String respuesta="";
+			try {
+				respuesta=resource.get().getText();
+				return new JSONObject(respuesta);
+			}
+			catch (Exception e) {
+				e.printStackTrace();
+			}
+		}
+		return null;
+	}
+
+	public static boolean doDelete(String deleteURL, RepositoryLocation modelLocation) {
+
+		if(modelLocation.isConnected()) {
+
+			Protocol p = null;
+			if(modelLocation.getHost().split("://")[0].equals("http")) {
+				p=Protocol.HTTP;
+			}
+			else {
+				p=Protocol.HTTPS;
+			}
+			Client client = new Client(new Context(), p);
+
+			ClientResource service = new ClientResource(modelLocation.getRepositoryURL());
+			service.setNext(client);
+			ClientResource resource = service.getChild(deleteURL);
+			try {
+				resource.delete();
+				return resource.getResponse().getStatus().getCode()/100==2;
+			}
+			catch (Exception e) {
+				e.printStackTrace();
+			}
+		}
+		return false;
+	}
+
+	public static boolean doPut(String putURL, Object objectToPut, RepositoryLocation modelLocation) {
+
+		if(modelLocation.isConnected()) {
+
+			Protocol p = null;
+			if(modelLocation.getHost().split("://")[0].equals("http")) {
+				p=Protocol.HTTP;
+			}
+			else {
+				p=Protocol.HTTPS;
+			}
+			Client client = new Client(new Context(), p);
+
+			ClientResource service = new ClientResource(modelLocation.getRepositoryURL());
+			service.setNext(client);
+			ClientResource resource = service.getChild(putURL);
+			try {
+				resource.put(resource.toRepresentation(objectToPut.toString(), MediaType.APPLICATION_JSON));
+				return resource.getResponse().getStatus().getCode()/100==2;
+			}
+			catch (Exception e) {
+				e.printStackTrace();
+			}
+		}
+		return false;
+	}*/
+
+	public static boolean testConnection(PiacereRuntimeController prc, boolean showErrors) {
+		return prc.isConnected();
+
+	}
+
+	public static PiacereRuntimeControllerViewPart getRuntimeControllerView() {
+		try {
+			IViewPart viewPart = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().findView("PiacereIDEIntegration.KR10KR11KR12.PiacereRuntimeControllerViewPart");
+			if (viewPart instanceof PiacereRuntimeControllerViewPart)
+				return (PiacereRuntimeControllerViewPart)viewPart; 
+		} catch (Exception exception) {
+			return null;
+		} 
+		return null;
+	}
+
+
+	public static String getSelfHealingURL(PiacereDeployment selectedObject) {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+
+	public static String getSecuritySelfLearningMonitoringURL(PiacereDeployment selectedObject) {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+
+	public static String getSecurityMonitoringURL(PiacereDeployment selectedObject) {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+
+
+}
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/util/PRCClientUtil.java b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/util/PRCClientUtil.java
new file mode 100644
index 0000000000000000000000000000000000000000..7392e3b824f98be654bdfcac2457b245dcc50eae
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/util/PRCClientUtil.java	
@@ -0,0 +1,98 @@
+package eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.util;
+
+import org.json.JSONArray;
+import org.json.JSONObject;
+import org.restlet.Client;
+import org.restlet.Context;
+import org.restlet.data.MediaType;
+import org.restlet.data.Protocol;
+import org.restlet.representation.EmptyRepresentation;
+import org.restlet.resource.ClientResource;
+
+public class PRCClientUtil {
+
+	public static JSONArray retrieveAllDeploymentsGet(String getURL, Protocol proto) {
+
+		Client client = new Client(new Context(), proto);
+
+		ClientResource service = new ClientResource(getURL);
+		service.setNext(client);
+		ClientResource resource = service.getChild("deployments");
+		String respuesta="";
+		try {
+			respuesta=resource.get().getText();
+			if(respuesta.equals("[]")) {
+				//respuesta="[{\"deploymentId\": \"123e4567-e89b-12d3-a456-426614174000\"}]";
+			}
+			return new JSONArray(respuesta);
+		}
+		catch (Exception e) {
+			e.printStackTrace();
+		}
+		return null;
+
+	}
+
+	public static JSONObject retrieveDeploymentGet(String getURL, Protocol proto, PiacereDeployment deployment) {
+
+		Client client = new Client(new Context(), proto);
+
+		ClientResource service = new ClientResource(getURL);
+		service.setNext(client);
+		ClientResource resource = service.getChild("deployments/"+deployment.getDeploymentID());
+		String respuesta="";
+		try {
+			respuesta=resource.get().getText();
+			return new JSONObject(respuesta);
+		}
+		catch (Exception e) {
+			e.printStackTrace();
+		}
+		return null;
+
+	}
+
+
+
+	public static boolean createDeploymentPOST(String postURL, Protocol proto, String repositoryURL, String deploymentID) {
+
+		Client client = new Client(new Context(), proto);
+
+		ClientResource service = new ClientResource(postURL);
+		service.setNext(client);
+		try {
+			ClientResource resource = service.getChild("deployments");
+			JSONObject objectToPost=new JSONObject();
+			objectToPost.put("repository_url", repositoryURL);
+			objectToPost.put("deployment_id", deploymentID);
+
+			resource.post(resource.toRepresentation(objectToPost.toString(), MediaType.APPLICATION_JSON));
+			return resource.getResponse().getStatus().getCode()/100==2;
+		}
+		catch (Exception e) {
+			e.printStackTrace();
+		}
+
+		return false;
+	}
+
+
+
+	public static boolean finishDeploymentPOST(String postURL, Protocol proto, PiacereDeployment deployment) {
+
+		Client client = new Client(new Context(), proto);
+
+		ClientResource service = new ClientResource(postURL);
+		service.setNext(client);
+		try {
+			ClientResource resource = service.getChild("deployments/"+deployment.getDeploymentID()+"/finish");
+			resource.post(new EmptyRepresentation());
+			return resource.getResponse().getStatus().getCode()/100==2;
+		}
+		catch (Exception e) {
+			e.printStackTrace();
+		}
+
+		return false;
+	}
+}
\ No newline at end of file
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/util/PiacereDeployment.java b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/util/PiacereDeployment.java
new file mode 100644
index 0000000000000000000000000000000000000000..462857fbd9f4367d55c006f27adeb6248a7a6d96
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/util/PiacereDeployment.java	
@@ -0,0 +1,20 @@
+package eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.util;
+
+public class PiacereDeployment {
+	private String deploymentID;
+	
+	
+	public PiacereDeployment(String id) {
+		this.setDeploymentID(id);
+	}
+
+
+	public String getDeploymentID() {
+		return deploymentID;
+	}
+
+
+	public void setDeploymentID(String deploymentID) {
+		this.deploymentID = deploymentID;
+	}
+}
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/util/PiacereRuntimeController.java b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/util/PiacereRuntimeController.java
new file mode 100644
index 0000000000000000000000000000000000000000..87ee56f70b45171eb34e68cbb9e834e8890754d4
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/util/PiacereRuntimeController.java	
@@ -0,0 +1,141 @@
+package eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.util;
+
+import java.util.TreeMap;
+
+import org.json.JSONArray;
+import org.json.JSONException;
+import org.json.JSONObject;
+import org.restlet.Client;
+import org.restlet.Context;
+import org.restlet.data.Protocol;
+import org.restlet.data.Status;
+import org.restlet.resource.ClientResource;
+
+import eu.piacere.piacereTool.utils.ToolCustomizationUtils;
+
+public class PiacereRuntimeController {
+	
+	private String protocol;
+	private String host;
+	private String port;
+	
+	
+	public static String DEPLOYMENTS_PATH = "deployments";
+	
+	private TreeMap<String, PiacereDeployment> rpcDeployments;
+	private Boolean isConnected;
+	
+	public PiacereRuntimeController() {
+		this.setProtocol(ToolCustomizationUtils.getPreference(this.getClass(), "KR10.protocol"));
+		this.setHost(ToolCustomizationUtils.getPreference(this.getClass(), "KR10.host"));
+		this.setPort(ToolCustomizationUtils.getPreference(this.getClass(), "KR10.port"));
+		this.setDeployments(new TreeMap<String,PiacereDeployment>());
+		reloadContent();
+
+	}
+
+	public String getProtocol() {
+		return protocol;
+	}
+
+	public void setProtocol(String protocol) {
+		this.protocol = protocol;
+	}
+
+	public String getHost() {
+		return host;
+	}
+
+	public void setHost(String host) {
+		this.host = host;
+	}
+
+	public String getPort() {
+		return port;
+	}
+
+	public void setPort(String port) {
+		this.port = port;
+	}
+
+	public TreeMap<String, PiacereDeployment> getDeployments() {
+		return rpcDeployments;
+	}
+
+	public void setDeployments(TreeMap<String, PiacereDeployment> rpcDeployments) {
+		this.rpcDeployments = rpcDeployments;
+	}
+	
+	@Override
+	public String toString() {
+		return "PIACERE Runtime Controller";
+	}
+	
+	public void reloadContent() {
+		if(this.testConnection()) {
+			this.setDeployments(new TreeMap<String,PiacereDeployment>());
+			
+			Protocol p = null;
+			if(this.getProtocol().equals("http")) {
+				p=Protocol.HTTP;
+			}
+			else if(this.getProtocol().equals("https")) {
+				p=Protocol.HTTPS;
+			}
+			JSONArray res=PRCClientUtil.retrieveAllDeploymentsGet(getPiacereRuntimeControllerURL(), p);
+			for(int i = 0; i < res.length(); i++) {
+				try {
+					JSONObject obj = res.getJSONObject(i);
+					this.getDeployments().put(obj.getString("deploymentId"), new PiacereDeployment(obj.getString("deploymentId")));
+				} catch (JSONException e) {
+					e.printStackTrace();
+				}				
+			}	
+		}
+	}
+
+	
+	
+	
+	public String getPiacereRuntimeControllerURL() {
+		String res = this.getProtocol()+"://"+this.getHost()+":"+this.getPort()+"/";
+		return res;
+	}
+
+
+	public boolean testConnection() {
+		Protocol p = null;
+		if(this.getProtocol().equals("http")) {
+			p=Protocol.HTTP;
+		}
+		else if(this.getProtocol().equals("https")) {
+			p=Protocol.HTTPS;
+		}
+		if(p!=null) {
+			Client client = new Client(new Context(), p);
+			ClientResource service = new ClientResource(getPiacereRuntimeControllerURL());
+			service.setNext(client);
+			ClientResource resource = service.getChild("/"+DEPLOYMENTS_PATH);
+			try {
+				resource.get().getText();
+				Status s=resource.getStatus();
+				if(s.getCode()==200) {
+					return true;
+				}
+			}
+			catch (Exception e) {
+			}
+		}
+		return false;
+	}
+	
+	public boolean isConnected() {
+		if(this.isConnected==null) {
+			isConnected=testConnection();
+		}
+		return isConnected.booleanValue();
+	}
+
+
+
+}
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KRIEC/.classpath b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/.classpath
new file mode 100644
index 0000000000000000000000000000000000000000..1fa3e6803d3b22e055b735220510616c4e35f2fc
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/.classpath	
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KRIEC/.gitignore b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..ae3c1726048cd06b9a143e0376ed46dd9b9a8d53
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/.gitignore	
@@ -0,0 +1 @@
+/bin/
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KRIEC/.project b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/.project
new file mode 100644
index 0000000000000000000000000000000000000000..3f4326f10b37100d2495485a3e38f9cc84a6824d
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/.project	
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>PiacereIDEIntegration.KRIEC</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KRIEC/META-INF/MANIFEST.MF b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/META-INF/MANIFEST.MF
new file mode 100644
index 0000000000000000000000000000000000000000..d87ae05bc6d391f5a433f5c9916e202c087af35b
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/META-INF/MANIFEST.MF	
@@ -0,0 +1,34 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: PiacereIDEIntegration.KRIEC
+Bundle-SymbolicName: PiacereIDEIntegration.KRIEC;singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Automatic-Module-Name: PiacereIDEIntegration.KRIEC
+Require-Bundle: org.eclipse.ui,
+ org.eclipse.core.runtime,
+ org.apache.httpcomponents.httpcore
+Import-Package: eu.piacere.doml.doml.commons,
+ eu.piacere.piacereTool.utils,
+ org.apache.commons.io,
+ org.apache.http.client;version="4.5.13",
+ org.apache.http.client.methods;version="4.5.13",
+ org.apache.http.impl.client;version="4.5.13",
+ org.eclipse.core.resources,
+ org.eclipse.core.runtime.preferences;version="3.4.0",
+ org.eclipse.emf.common.notify,
+ org.eclipse.emf.common.util,
+ org.eclipse.emf.ecore,
+ org.eclipse.emf.ecore.resource,
+ org.eclipse.emf.ecore.resource.impl,
+ org.eclipse.emf.ecore.util,
+ org.eclipse.emf.edit.provider.resource,
+ org.eclipse.emf.edit.ui.provider,
+ org.eclipse.ui.dialogs,
+ org.eclipse.ui.navigator,
+ org.eclipse.ui.views.properties,
+ org.json,
+ org.restlet,
+ org.restlet.data,
+ org.restlet.representation,
+ org.restlet.resource,
+ org.restlet.util
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KRIEC/Piacere/PiacereIcon_16x16.png b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/Piacere/PiacereIcon_16x16.png
new file mode 100644
index 0000000000000000000000000000000000000000..444de54d6cfe2958fac1bbb89dd8619b4c537c47
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/Piacere/PiacereIcon_16x16.png differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KRIEC/build.properties b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/build.properties
new file mode 100644
index 0000000000000000000000000000000000000000..243224fe60916a29037bb69158cadf01892d797f
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/build.properties	
@@ -0,0 +1,7 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+               .,\
+               plugin.xml,\
+               icons/,\
+               Piacere/
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/ComponentsModel.png b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/ComponentsModel.png
new file mode 100644
index 0000000000000000000000000000000000000000..9ee76accc89ff76934fe746a3af1a853843e1209
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/ComponentsModel.png differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/FAdAIcon_24.png b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/FAdAIcon_24.png
new file mode 100644
index 0000000000000000000000000000000000000000..f4259625230e2b11b98a14aa6b75b52edad25dd8
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/FAdAIcon_24.png differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/FadaModelRepositoriesView.png b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/FadaModelRepositoriesView.png
new file mode 100644
index 0000000000000000000000000000000000000000..4db27dd10ecbbcf29062e8cc7b7b3c22bf72c5a3
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/FadaModelRepositoriesView.png differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/FadaModelRepositoriesView_old.png b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/FadaModelRepositoriesView_old.png
new file mode 100644
index 0000000000000000000000000000000000000000..d4f2feef7f465a95b720ec2a24aa4429b5a64aab
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/FadaModelRepositoriesView_old.png differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/RepoConnected.png b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/RepoConnected.png
new file mode 100644
index 0000000000000000000000000000000000000000..bd178d026ebd3aa22573ca74e985f306d64a59c1
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/RepoConnected.png differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/RepoDisconnected.png b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/RepoDisconnected.png
new file mode 100644
index 0000000000000000000000000000000000000000..0c78354020ea586917e7ec598e357c739b031aa0
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/RepoDisconnected.png differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/SystemConfigurationModel.png b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/SystemConfigurationModel.png
new file mode 100644
index 0000000000000000000000000000000000000000..d4561b60458f1b50d06bfd23d7f8308af08688ef
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/SystemConfigurationModel.png differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/Task.gif b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/Task.gif
new file mode 100644
index 0000000000000000000000000000000000000000..5c3b2b89a47caa2cbec35a9e9c3fe2efef4b2895
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/Task.gif differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/addRepository.png b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/addRepository.png
new file mode 100644
index 0000000000000000000000000000000000000000..fe03f37202ca955983c42397173fb12faca9d187
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/addRepository.png differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/bundle.png b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/bundle.png
new file mode 100644
index 0000000000000000000000000000000000000000..1f41d9b1bfcf6db40272453364a446ad457ec50f
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/bundle.png differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/collapseAll.gif b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/collapseAll.gif
new file mode 100644
index 0000000000000000000000000000000000000000..a2d80a9044f38833cb728a69c88294ce3fd007c7
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/collapseAll.gif differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/deleteRepository.png b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/deleteRepository.png
new file mode 100644
index 0000000000000000000000000000000000000000..807f97450c23a784814393f55a16ff75688ec15b
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/deleteRepository.png differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/download.png b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/download.png
new file mode 100644
index 0000000000000000000000000000000000000000..236f4a77ea9131d404b0efb5e7bddd72098181f9
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/download.png differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/expandAll.gif b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/expandAll.gif
new file mode 100644
index 0000000000000000000000000000000000000000..0205b29176d4e60307639b6ac80ebfc40be61c3b
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/expandAll.gif differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/export.png b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/export.png
new file mode 100644
index 0000000000000000000000000000000000000000..670042c62ce6b5cb200fa3807c57d18511275f39
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/export.png differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/full/elcl16/addrepositorylocation.gif b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/full/elcl16/addrepositorylocation.gif
new file mode 100644
index 0000000000000000000000000000000000000000..6237766393fcc7a602d4695d151c3e546abeab6a
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/full/elcl16/addrepositorylocation.gif differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/full/elcl16/copy.gif b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/full/elcl16/copy.gif
new file mode 100644
index 0000000000000000000000000000000000000000..71d7c95aa8caa2e8f139d262a4e5e08aba2b88e5
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/full/elcl16/copy.gif differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/full/elcl16/integrateconceptualfragment.gif b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/full/elcl16/integrateconceptualfragment.gif
new file mode 100644
index 0000000000000000000000000000000000000000..07164754e5ca231666d9daf7fa4a9d12e378a52a
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/full/elcl16/integrateconceptualfragment.gif differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/full/elcl16/integratetechnicalfragment.gif b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/full/elcl16/integratetechnicalfragment.gif
new file mode 100644
index 0000000000000000000000000000000000000000..e7035189cd8dd45b6afba27b8cbccd75df5000e1
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/full/elcl16/integratetechnicalfragment.gif differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/full/elcl16/paste.gif b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/full/elcl16/paste.gif
new file mode 100644
index 0000000000000000000000000000000000000000..39dd4d9d38aa85f9c4c9ff652c453c555b850980
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/full/elcl16/paste.gif differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/full/elcl16/search.gif b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/full/elcl16/search.gif
new file mode 100644
index 0000000000000000000000000000000000000000..d540a01f4d9eeb9d2951f30cee165c7370e9fc6a
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/full/elcl16/search.gif differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/full/obj16/CapabilityPattern.gif b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/full/obj16/CapabilityPattern.gif
new file mode 100644
index 0000000000000000000000000000000000000000..15ffbb0795fbdc2a0add02f0a07bcea02f034ab4
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/full/obj16/CapabilityPattern.gif differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/full/obj16/CapabilityPatterns.gif b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/full/obj16/CapabilityPatterns.gif
new file mode 100644
index 0000000000000000000000000000000000000000..37147654e68f964a947278cb954e47633809c5c4
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/full/obj16/CapabilityPatterns.gif differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/full/obj16/ConceptualFragment.gif b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/full/obj16/ConceptualFragment.gif
new file mode 100644
index 0000000000000000000000000000000000000000..49ab538b6c432e7eb280793484e555df7ba2761d
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/full/obj16/ConceptualFragment.gif differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/full/obj16/Delete.gif b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/full/obj16/Delete.gif
new file mode 100644
index 0000000000000000000000000000000000000000..b6922ac11cf64e16a15cf2976cdaa1e40118abed
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/full/obj16/Delete.gif differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/full/obj16/DeliveryProcess.gif b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/full/obj16/DeliveryProcess.gif
new file mode 100644
index 0000000000000000000000000000000000000000..7b40362c2f54cebce43f5511342df015c4f52feb
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/full/obj16/DeliveryProcess.gif differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/full/obj16/Description.gif b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/full/obj16/Description.gif
new file mode 100644
index 0000000000000000000000000000000000000000..75f33c24fa441d09729e7adcbc78a4e55d84b443
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/full/obj16/Description.gif differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/full/obj16/Descriptor.gif b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/full/obj16/Descriptor.gif
new file mode 100644
index 0000000000000000000000000000000000000000..04032a915a0d9eace79a7aec3c573ca07eb7f4ac
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/full/obj16/Descriptor.gif differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/full/obj16/Input.gif b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/full/obj16/Input.gif
new file mode 100644
index 0000000000000000000000000000000000000000..d8d7d974fa596ee7a8d06b1d8b110ee7336850af
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/full/obj16/Input.gif differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/full/obj16/Interface.gif b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/full/obj16/Interface.gif
new file mode 100644
index 0000000000000000000000000000000000000000..7c7d39ef65b96d71b7b2e1e576c3677bbf7757f1
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/full/obj16/Interface.gif differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/full/obj16/MethodPlugin.gif b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/full/obj16/MethodPlugin.gif
new file mode 100644
index 0000000000000000000000000000000000000000..bb82c391ed462f0f01e988e00b07f8de262278e7
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/full/obj16/MethodPlugin.gif differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/full/obj16/Name.gif b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/full/obj16/Name.gif
new file mode 100644
index 0000000000000000000000000000000000000000..75f33c24fa441d09729e7adcbc78a4e55d84b443
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/full/obj16/Name.gif differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/full/obj16/Objective.gif b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/full/obj16/Objective.gif
new file mode 100644
index 0000000000000000000000000000000000000000..75f33c24fa441d09729e7adcbc78a4e55d84b443
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/full/obj16/Objective.gif differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/full/obj16/Origin.gif b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/full/obj16/Origin.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c79bf78956a277d98343ab949be3efe08411f37f
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/full/obj16/Origin.gif differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/full/obj16/Output.gif b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/full/obj16/Output.gif
new file mode 100644
index 0000000000000000000000000000000000000000..b4fe2c84ecd2cb1ce8a4fb03a091ba76cad78916
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/full/obj16/Output.gif differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/full/obj16/Package.gif b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/full/obj16/Package.gif
new file mode 100644
index 0000000000000000000000000000000000000000..00a311efa25ac538073fb14e59efbb9a968a94e3
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/full/obj16/Package.gif differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/full/obj16/Processes.gif b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/full/obj16/Processes.gif
new file mode 100644
index 0000000000000000000000000000000000000000..08d8c2d5d1a7a70f5af53200633a7ba92aab1788
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/full/obj16/Processes.gif differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/full/obj16/Repositories.gif b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/full/obj16/Repositories.gif
new file mode 100644
index 0000000000000000000000000000000000000000..16eda8a78a63bfe5874e2e92a29f20a644241bba
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/full/obj16/Repositories.gif differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/full/obj16/RoleSetCategory.gif b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/full/obj16/RoleSetCategory.gif
new file mode 100644
index 0000000000000000000000000000000000000000..54a3f677a3efc25358bb4f637de6166d1425a486
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/full/obj16/RoleSetCategory.gif differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/full/obj16/Task.gif b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/full/obj16/Task.gif
new file mode 100644
index 0000000000000000000000000000000000000000..5c3b2b89a47caa2cbec35a9e9c3fe2efef4b2895
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/full/obj16/Task.gif differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/full/obj16/Tasks.gif b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/full/obj16/Tasks.gif
new file mode 100644
index 0000000000000000000000000000000000000000..638bd83009d2d7bf881dab9dbc07c176edd23060
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/full/obj16/Tasks.gif differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/full/obj16/TechnicalFragment.gif b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/full/obj16/TechnicalFragment.gif
new file mode 100644
index 0000000000000000000000000000000000000000..4f1b85a7801922060d6b5a968a76be30eb5326c9
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/full/obj16/TechnicalFragment.gif differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/full/obj16/TechnicalFragmentError.gif b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/full/obj16/TechnicalFragmentError.gif
new file mode 100644
index 0000000000000000000000000000000000000000..50b162dbdfc4a7f0eabd5d7119871e378efe6940
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/full/obj16/TechnicalFragmentError.gif differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/full/obj16/TechnicalFragmentImported.gif b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/full/obj16/TechnicalFragmentImported.gif
new file mode 100644
index 0000000000000000000000000000000000000000..3260ab2872cfcc35cc75b3501dd05bb23bd6f333
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/full/obj16/TechnicalFragmentImported.gif differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/full/obj16/Type.gif b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/full/obj16/Type.gif
new file mode 100644
index 0000000000000000000000000000000000000000..358cbcb83d800352e59d672771057f3156f27491
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/full/obj16/Type.gif differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/full/obj16/WorkProduct.gif b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/full/obj16/WorkProduct.gif
new file mode 100644
index 0000000000000000000000000000000000000000..1540f3d3c95605a8d7f641f8c93b098e356c40c3
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/full/obj16/WorkProduct.gif differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/full/obj16/WorkProducts.gif b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/full/obj16/WorkProducts.gif
new file mode 100644
index 0000000000000000000000000000000000000000..cf289263e15224bfd984e2145ddc6c6eb415f50c
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/full/obj16/WorkProducts.gif differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/full/obj16/activity16.gif b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/full/obj16/activity16.gif
new file mode 100644
index 0000000000000000000000000000000000000000..cf20deb439ab39a63162c93396060706051569b0
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/full/obj16/activity16.gif differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/full/obj16/role.gif b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/full/obj16/role.gif
new file mode 100644
index 0000000000000000000000000000000000000000..69ebdf2959ed859952751f3f377d581671045873
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/full/obj16/role.gif differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/import.png b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/import.png
new file mode 100644
index 0000000000000000000000000000000000000000..bb6ff06b7bcf18590deb1f93a519d5264b6a067f
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/import.png differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/jar.png b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/jar.png
new file mode 100644
index 0000000000000000000000000000000000000000..660f8ea5131c2f9f59a5fa2491993cfa71a1ac57
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/jar.png differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/ref.png b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/ref.png
new file mode 100644
index 0000000000000000000000000000000000000000..2839c60a42f8a79067981fd7b3a26f4b81a69231
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/ref.png differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/refresh.gif b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/refresh.gif
new file mode 100644
index 0000000000000000000000000000000000000000..e3831471a6592da14f53b1e7c5a2f7d6a92d9937
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/refresh.gif differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/repository.png b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/repository.png
new file mode 100644
index 0000000000000000000000000000000000000000..92794f126f846474fafef14aac6fccb82faaf4f8
Binary files /dev/null and b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/icons/repository.png differ
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KRIEC/plugin.xml b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/plugin.xml
new file mode 100644
index 0000000000000000000000000000000000000000..8013924ee5945bc4ddaf313ca5c7c8ff8d95a373
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/plugin.xml	
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+<plugin>
+   <extension
+         point="org.eclipse.ui.preferencePages">
+      <page
+            category="PiacereToolCustomization.preferences.page1"
+            class="eu.piacere.ide.toolIntegration.kriec.preferencePage.KRIECPreferencePage"
+            id="PiacereIDEIntegration.KRIEC.preferences.page1"
+            name="PIACERE Infrastructure Elements Catalog Preferences">
+      </page>
+   </extension>
+   <extension
+         point="org.eclipse.core.runtime.preferences">
+      <initializer
+            class="eu.piacere.ide.toolIntegration.kriec.preferencePage.KRIECPreferenceInitializer">
+      </initializer>
+   </extension>
+   <extension point = "org.eclipse.ui.views">
+      <view
+         id = "PiacereIDEIntegration.KRIEC.PiacereIECViewPart"
+         name = "PIACERE Infrastructure Elements Catalog"
+         category = "org.eclipse.ui"
+         class = "eu.piacere.ide.toolIntegration.kriec.viewPart.InfrastructureElementsCatalogViewPart"
+         icon = "Piacere/PiacereIcon_16x16.png" />
+   </extension>
+   <extension
+         point="org.eclipse.core.runtime.adapters">
+      <factory
+            adaptableType="eu.piacere.ide.toolIntegration.kriec.util.IECServiceAttribute"
+            class="eu.piacere.ide.toolIntegration.kriec.viewPart.properties.IECServiceAttributeAdapterFactory">
+         <adapter
+               type="org.eclipse.ui.views.properties.IPropertySource">
+         </adapter>
+      </factory>
+   </extension>
+
+</plugin>
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/preferencePage/KRIECPreferenceInitializer.java b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/preferencePage/KRIECPreferenceInitializer.java
new file mode 100644
index 0000000000000000000000000000000000000000..07229925ac6ff4c43c4cec7d90e8c6ac5da0aea1
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/preferencePage/KRIECPreferenceInitializer.java	
@@ -0,0 +1,22 @@
+package eu.piacere.ide.toolIntegration.kriec.preferencePage;
+
+import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer;
+import org.eclipse.core.runtime.preferences.ConfigurationScope;
+import org.eclipse.ui.preferences.ScopedPreferenceStore;
+import org.osgi.framework.FrameworkUtil;
+
+public class KRIECPreferenceInitializer extends AbstractPreferenceInitializer {
+
+	@Override
+	public void initializeDefaultPreferences() {
+		
+		ScopedPreferenceStore scopedPreferenceStore = new ScopedPreferenceStore(ConfigurationScope.INSTANCE,(FrameworkUtil.getBundle(KRIECPreferenceInitializer.class)).getSymbolicName());
+        scopedPreferenceStore.setDefault("KRIEC.host", "iec.ci.piacere.digital.tecnalia.dev");
+        scopedPreferenceStore.setDefault("KRIEC.port", 443);
+        scopedPreferenceStore.setDefault("KRIEC.protocol", "https");
+        
+        
+        
+	}
+
+}
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/preferencePage/KRIECPreferencePage.java b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/preferencePage/KRIECPreferencePage.java
new file mode 100644
index 0000000000000000000000000000000000000000..840dbee6500a8016cd0c3d5627b26094c344ef37
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/preferencePage/KRIECPreferencePage.java	
@@ -0,0 +1,37 @@
+package eu.piacere.ide.toolIntegration.kriec.preferencePage;
+
+import org.eclipse.core.runtime.preferences.ConfigurationScope;
+import org.eclipse.jface.preference.FieldEditorPreferencePage;
+import org.eclipse.jface.preference.IntegerFieldEditor;
+import org.eclipse.jface.preference.RadioGroupFieldEditor;
+import org.eclipse.jface.preference.StringFieldEditor;
+import org.eclipse.ui.IWorkbench;
+import org.eclipse.ui.IWorkbenchPreferencePage;
+import org.eclipse.ui.preferences.ScopedPreferenceStore;
+import org.osgi.framework.FrameworkUtil;
+
+public class KRIECPreferencePage extends FieldEditorPreferencePage implements IWorkbenchPreferencePage{
+
+
+	public KRIECPreferencePage() {
+		super(GRID);
+	}
+
+	@Override
+	public void init(IWorkbench workbench) {
+		//WHICH SCOPE SHOULD I SELECT: https://wiki.eclipse.org/FAQ_What_is_a_preference_scope%3F
+		
+		 setPreferenceStore(new ScopedPreferenceStore(ConfigurationScope.INSTANCE, (FrameworkUtil.getBundle(KRIECPreferenceInitializer.class)).getSymbolicName()));
+	     setDescription("These Are The PIACERE Infrastructure Elements Catalog Preferences");
+
+	}
+
+	@Override
+	protected void createFieldEditors() {
+		addField(new StringFieldEditor("KRIEC.host", "Endpoint Host", getFieldEditorParent()));
+		addField(new IntegerFieldEditor("KRIEC.port", "Endpoint Port", getFieldEditorParent()));
+		addField(new RadioGroupFieldEditor("KRIEC.protocol", "Protocol", 1, new String[][] {{"HTTP","http"},{"HTTPS","https"}}, getFieldEditorParent()));
+
+	}
+
+}
\ No newline at end of file
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/util/IECAbstractElement.java b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/util/IECAbstractElement.java
new file mode 100644
index 0000000000000000000000000000000000000000..2c7b2c69bd28cabcc6c7a9b0433726e9f793e07d
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/util/IECAbstractElement.java	
@@ -0,0 +1,67 @@
+package eu.piacere.ide.toolIntegration.kriec.util;
+
+import java.util.TreeMap;
+
+import org.json.JSONException;
+import org.json.JSONObject;
+
+public abstract class IECAbstractElement {
+
+	private String serviceName;
+	private int serviceID;
+	private int serviceClass;
+	
+	private TreeMap<String, IECServiceAttribute> attributes;
+	
+	public IECAbstractElement(String name, int id, int serviceClass) {
+		this.setServiceName(name);
+		this.setServiceID(id);
+		this.setServiceClass(serviceClass);
+		this.setAttributes(new TreeMap<String, IECServiceAttribute>());
+	}
+
+	public String getServiceName() {
+		return serviceName;
+	}
+
+	public void setServiceName(String serviceName) {
+		this.serviceName = serviceName;
+	}
+
+	public int getServiceID() {
+		return serviceID;
+	}
+
+	public void setServiceID(int serviceID) {
+		this.serviceID = serviceID;
+	}
+
+	public int getServiceClass() {
+		return serviceClass;
+	}
+
+	public void setServiceClass(int serviceClass) {
+		this.serviceClass = serviceClass;
+	}
+
+	public TreeMap<String, IECServiceAttribute> getAttributes() {
+		return attributes;
+	}
+
+	public void setAttributes(TreeMap<String, IECServiceAttribute> attributes) {
+		this.attributes = attributes;
+	}
+	
+	public void addAttribute(IECServiceAttribute attribute) {
+		this.attributes.put(attribute.getType().getName(), attribute);
+	}
+
+	public static IECAbstractElement fromJSON(JSONObject representation, IECAbstractElement theElement) throws JSONException {
+		for(int i=0; i<representation.getJSONArray("serviceAttributeValues").length(); i++) {
+			theElement.addAttribute(IECServiceAttribute.fromJSON(representation.getJSONArray("serviceAttributeValues").getJSONObject(i)));
+		}
+		return theElement;
+	}
+	
+	
+}
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/util/IECCatalog.java b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/util/IECCatalog.java
new file mode 100644
index 0000000000000000000000000000000000000000..78ad87c72f42cdc4daf7c8b54d11aa9bd21a774b
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/util/IECCatalog.java	
@@ -0,0 +1,97 @@
+package eu.piacere.ide.toolIntegration.kriec.util;
+
+import java.util.ArrayList;
+
+import org.json.JSONArray;
+
+
+public class IECCatalog {
+
+	private IECDatabasesContainer databasesContainer;
+	private IECStoragesContainer storagesContainer;
+	private IECVirtualMachinesContainer virtualMachinesContainer;
+
+	public IECCatalog() {
+		this.setDatabasesContainer(new IECDatabasesContainer());
+		this.setStoragesContainer(new IECStoragesContainer());
+		this.setVirtualMachinesContainer(new IECVirtualMachinesContainer());
+
+	}
+	
+	@SuppressWarnings({ "rawtypes", "unchecked" })
+	public Object[] getContainers() {
+		ArrayList l = new ArrayList();
+		l.add(this.getDatabasesContainer());
+		l.add(this.getStoragesContainer());
+		l.add(this.getVirtualMachinesContainer());
+		return l.toArray();
+	}
+
+	public IECDatabasesContainer getDatabasesContainer() {
+		return databasesContainer;
+	}
+
+	public void setDatabasesContainer(IECDatabasesContainer databasesContainer) {
+		this.databasesContainer = databasesContainer;
+	}
+
+	public void addDatabase(IECDatabase database) {
+		this.getDatabasesContainer().getCatalogDatabases().put(database.getServiceName(), database);
+	}
+	public IECStoragesContainer getStoragesContainer() {
+		return storagesContainer;
+	}
+
+	public void setStoragesContainer(IECStoragesContainer storagesContainer) {
+		this.storagesContainer = storagesContainer;
+	}
+
+	public void addStorage(IECStorage storage) {
+		this.getStoragesContainer().getCatalogStorages().put(storage.getServiceName(), storage);
+	}
+
+	public IECVirtualMachinesContainer getVirtualMachinesContainer() {
+		return virtualMachinesContainer;
+	}
+
+	public void setVirtualMachinesContainer(IECVirtualMachinesContainer virtualMachinesContainer) {
+		this.virtualMachinesContainer = virtualMachinesContainer;
+	}
+	
+	public void addVirtualMachine(IECVirtualMachine virtualMachine) {
+		this.getVirtualMachinesContainer().getCatalogVirtualMachines().put(virtualMachine.getServiceName(), virtualMachine);
+	}
+
+	public static IECCatalog fromJSON(JSONArray representation) {
+
+		IECCatalog catalog = new IECCatalog();
+		try {
+			for(int i=0; i<representation.length(); i++) {
+				int serviceClassID=representation.getJSONObject(i).getJSONObject("serviceClass").getInt("id");
+				if(serviceClassID==IECDatabase.IEC_SERVICE_CLASS) {
+					catalog.addDatabase(IECDatabase.fromJSON(representation.getJSONObject(i)));
+				}
+				else if(serviceClassID==IECStorage.IEC_SERVICE_CLASS) {
+					catalog.addStorage(IECStorage.fromJSON(representation.getJSONObject(i)));
+				}
+				else if(serviceClassID==IECVirtualMachine.IEC_SERVICE_CLASS) {
+					catalog.addVirtualMachine(IECVirtualMachine.fromJSON(representation.getJSONObject(i)));
+				}
+
+			}
+		}
+		catch (Exception e) {
+			e.printStackTrace();
+		}
+		return catalog;		
+	}
+	
+	public void reloadContent() {
+		IECCatalog temp = IECCatalogUtil.loadCatalogFromServer();
+		this.setDatabasesContainer(temp.getDatabasesContainer());
+		this.setStoragesContainer(temp.getStoragesContainer());
+		this.setVirtualMachinesContainer(temp.getVirtualMachinesContainer());
+		temp=null;
+	}
+
+}
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/util/IECCatalogUtil.java b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/util/IECCatalogUtil.java
new file mode 100644
index 0000000000000000000000000000000000000000..f8ab76e71d275dc6baca50e24ab0e8607df596a3
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/util/IECCatalogUtil.java	
@@ -0,0 +1,79 @@
+package eu.piacere.ide.toolIntegration.kriec.util;
+
+import org.eclipse.ui.IViewPart;
+import org.eclipse.ui.PlatformUI;
+import org.json.JSONArray;
+import org.restlet.Client;
+import org.restlet.Context;
+import org.restlet.data.Header;
+import org.restlet.data.Protocol;
+import org.restlet.resource.ClientResource;
+import org.restlet.util.Series;
+
+import eu.piacere.ide.toolIntegration.kriec.viewPart.InfrastructureElementsCatalogViewPart;
+import eu.piacere.piacereTool.utils.ToolCustomizationUtils;
+
+public class IECCatalogUtil {
+
+	
+	private static String catalogAPIAuth="Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsImF1dGgiOiJST0xFX0FETUlOLFJPTEVfVVNFUiIsImV4cCI6MTY1NDI0MTQ3OH0.HXSkmE4DLyuxqNQCOxZ7SuNMUNSsA_WV9H3BdTx7W7-gbRBpKPRcQN3nGbHHMDfffkqYITWW1YeiXVckBx9RqA";
+	
+	
+
+
+	public static InfrastructureElementsCatalogViewPart getRuntimeControllerView() {
+		try {
+			IViewPart viewPart = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().findView("PiacereIDEIntegration.KRIEC.PiacereIECViewPart");
+			if (viewPart instanceof InfrastructureElementsCatalogViewPart)
+				return (InfrastructureElementsCatalogViewPart)viewPart; 
+		} catch (Exception exception) {
+			return null;
+		} 
+		return null;
+	}
+	
+	public static IECCatalog loadCatalogFromServer() {
+		
+		String protocol = ToolCustomizationUtils.getPreference(IECCatalogUtil.class, "KRIEC.protocol");
+		String host = ToolCustomizationUtils.getPreference(IECCatalogUtil.class, "KRIEC.host");
+		String port = ToolCustomizationUtils.getPreference(IECCatalogUtil.class, "KRIEC.port");
+		String epURL = protocol+"://"+host+":"+port+"/";
+		Protocol p = null;
+		if(protocol.equals("http")) {
+			p=Protocol.HTTP;
+		}
+		else {
+			p=Protocol.HTTPS;
+		}
+		Client client = new Client(new Context(), p);
+
+		ClientResource service = new ClientResource(epURL);
+		
+		/*@SuppressWarnings("unchecked")
+		Series<Header> headers = (Series<Header>) service.getRequestAttributes().get("org.restlet.http.headers");
+		if(headers!=null) {
+			headers.set("Authorization", catalogAPIAuth);
+		}
+		else {
+			headers=new Series<>(Header.class);
+			headers.set("Authorization", catalogAPIAuth);
+		}
+		service.getRequestAttributes().put("org.restlet.http.headers", headers);
+			*/	
+		service.setNext(client);
+		try {
+			ClientResource resource = service.getChild("services/iecbackend/api/root-services/catalogue");
+			if(resource.getStatus().getCode()==200){
+				JSONArray respuesta= new JSONArray(resource.get().getText());
+				return IECCatalog.fromJSON(respuesta);				
+			}
+		}
+		catch (Exception e) {
+			e.printStackTrace();
+		}
+
+		return null;
+	}
+	
+	
+}
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/util/IECDatabase.java b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/util/IECDatabase.java
new file mode 100644
index 0000000000000000000000000000000000000000..2743a446354607d6596a652dc61334a1d34dafba
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/util/IECDatabase.java	
@@ -0,0 +1,17 @@
+package eu.piacere.ide.toolIntegration.kriec.util;
+
+import org.json.JSONException;
+import org.json.JSONObject;
+
+public class IECDatabase extends IECAbstractElement{
+
+	public static int IEC_SERVICE_CLASS = 1;
+	
+	public IECDatabase(String name, int id) {
+		super(name, id, IECDatabase.IEC_SERVICE_CLASS);
+	}
+	
+	public static IECDatabase fromJSON(JSONObject representation) throws JSONException {
+		return (IECDatabase) IECAbstractElement.fromJSON(representation, new IECDatabase(representation.getString("serviceName"), representation.getInt("id")));
+	}
+}
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/util/IECDatabasesContainer.java b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/util/IECDatabasesContainer.java
new file mode 100644
index 0000000000000000000000000000000000000000..b012e4a9556f4072209e72e5357368248333404d
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/util/IECDatabasesContainer.java	
@@ -0,0 +1,21 @@
+package eu.piacere.ide.toolIntegration.kriec.util;
+
+import java.util.TreeMap;
+
+public class IECDatabasesContainer {
+	
+	private TreeMap<String, IECDatabase> catalogDatabases;
+	
+	public IECDatabasesContainer() {
+		this.setCatalogDatabases(new TreeMap<String, IECDatabase>());
+	}
+
+	public TreeMap<String, IECDatabase> getCatalogDatabases() {
+		return catalogDatabases;
+	}
+
+	public void setCatalogDatabases(TreeMap<String, IECDatabase> catalogDatabases) {
+		this.catalogDatabases = catalogDatabases;
+	}
+
+}
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/util/IECServiceAttribute.java b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/util/IECServiceAttribute.java
new file mode 100644
index 0000000000000000000000000000000000000000..01af67720ab83b4de9849ade1d45c6e9fc4bcaca
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/util/IECServiceAttribute.java	
@@ -0,0 +1,56 @@
+package eu.piacere.ide.toolIntegration.kriec.util;
+
+import org.json.JSONException;
+import org.json.JSONObject;
+
+public class IECServiceAttribute {
+	private int id;
+    private String serviceAttributeValue;
+    private String unitValue;
+    
+    private IECServiceAttributeType type;
+    
+    public IECServiceAttribute(int id, String value, String unitValue) {
+		this.setId(id);
+		this.setServiceAttributeValue(value);
+		this.setUnitValue(unitValue);
+	}
+
+	public int getId() {
+		return id;
+	}
+
+	public void setId(int id) {
+		this.id = id;
+	}
+
+	public String getServiceAttributeValue() {
+		return serviceAttributeValue;
+	}
+
+	public void setServiceAttributeValue(String serviceAttributeValue) {
+		this.serviceAttributeValue = serviceAttributeValue;
+	}
+
+	public String getUnitValue() {
+		return unitValue;
+	}
+
+	public void setUnitValue(String unitValue) {
+		this.unitValue = unitValue;
+	}
+
+	public IECServiceAttributeType getType() {
+		return type;
+	}
+
+	public void setType(IECServiceAttributeType type) {
+		this.type = type;
+	}
+	
+	public static IECServiceAttribute fromJSON(JSONObject representation) throws JSONException {
+		IECServiceAttribute res = new IECServiceAttribute(representation.getInt("id"), representation.getString("serviceAttributeValue"), representation.getString("unitValue"));
+		res.setType(IECServiceAttributeType.fromJSON(representation.getJSONObject("serviceAttributeType")));
+		return res;
+	}
+}
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/util/IECServiceAttributeType.java b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/util/IECServiceAttributeType.java
new file mode 100644
index 0000000000000000000000000000000000000000..fd1bbaee89da7e6ba1227fce8a470255fc92f008
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/util/IECServiceAttributeType.java	
@@ -0,0 +1,126 @@
+package eu.piacere.ide.toolIntegration.kriec.util;
+
+import org.json.JSONException;
+import org.json.JSONObject;
+
+public class IECServiceAttributeType {
+
+	private int id;
+	private String name;
+	private String nfrName;
+	private boolean isEnumeration;
+	private boolean isForm;
+	private boolean isCommon;
+	private boolean isFunctionalRequirement;
+	private String units;
+	private String unitFactor;
+	private String unitRule;
+	private String evalRule;
+
+	public IECServiceAttributeType(int id, String name) {
+		this.setId(id);
+		this.setName(name);
+	}
+
+	public int getId() {
+		return id;
+	}
+	
+	public void setId(int id) {
+		this.id = id;
+	}
+	
+	public String getName() {
+		return name;
+	}
+	
+	public void setName(String name) {
+		this.name = name;
+	}
+	
+	public String getNfrName() {
+		return nfrName;
+	}
+	
+	public void setNfrName(String nfrName) {
+		this.nfrName = nfrName;
+	}
+	
+	public boolean isEnumeration() {
+		return isEnumeration;
+	}
+	
+	public void setEnumeration(boolean isEnumeration) {
+		this.isEnumeration = isEnumeration;
+	}
+	
+	public boolean isForm() {
+		return isForm;
+	}
+	
+	public void setForm(boolean isForm) {
+		this.isForm = isForm;
+	}
+	
+	public boolean isCommon() {
+		return isCommon;
+	}
+	
+	public void setCommon(boolean isCommon) {
+		this.isCommon = isCommon;
+	}
+	
+	public boolean isFunctionalRequirement() {
+		return isFunctionalRequirement;
+	}
+	
+	public void setFunctionalRequirement(boolean isFunctionalRequirement) {
+		this.isFunctionalRequirement = isFunctionalRequirement;
+	}
+	
+	public String getUnits() {
+		return units;
+	}
+	
+	public void setUnits(String units) {
+		this.units = units;
+	}
+	
+	public String getUnitFactor() {
+		return unitFactor;
+	}
+	
+	public void setUnitFactor(String unitFactor) {
+		this.unitFactor = unitFactor;
+	}
+	
+	public String getUnitRule() {
+		return unitRule;
+	}
+	
+	public void setUnitRule(String unitRule) {
+		this.unitRule = unitRule;
+	}
+	
+	public String getEvalRule() {
+		return evalRule;
+	}
+	
+	public void setEvalRule(String evalRule) {
+		this.evalRule = evalRule;
+	}
+	
+	public static IECServiceAttributeType fromJSON(JSONObject representation) throws JSONException {
+		IECServiceAttributeType res = new IECServiceAttributeType(representation.getInt("id"), representation.getString("name"));
+		res.setNfrName(representation.getString("nfrName"));
+		res.setEnumeration(representation.getBoolean("isEnumeration"));
+		res.setForm(representation.getBoolean("isForm"));
+		res.setCommon(representation.getBoolean("isCommon"));
+		res.setFunctionalRequirement(representation.getBoolean("isFunctionalRequirement"));
+		res.setUnits(representation.getString("units"));
+		res.setUnitFactor(representation.getString("unitFactor"));
+		res.setUnitRule(representation.getString("unitRule"));
+		res.setEvalRule(representation.getString("evalRule"));
+		return res;
+	}
+}
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/util/IECStorage.java b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/util/IECStorage.java
new file mode 100644
index 0000000000000000000000000000000000000000..ce5ab07e88d24057f8bb375270b3737a90e1f09d
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/util/IECStorage.java	
@@ -0,0 +1,18 @@
+package eu.piacere.ide.toolIntegration.kriec.util;
+
+import org.json.JSONException;
+import org.json.JSONObject;
+
+public class IECStorage extends IECAbstractElement{
+
+	public static int IEC_SERVICE_CLASS = 2;
+	
+	public IECStorage(String name, int id) {
+		super(name, id, IECStorage.IEC_SERVICE_CLASS);
+	}
+	
+	public static IECStorage fromJSON(JSONObject representation) throws JSONException {
+		return (IECStorage) IECAbstractElement.fromJSON(representation, new IECStorage(representation.getString("serviceName"), representation.getInt("id")));
+	}
+
+}
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/util/IECStoragesContainer.java b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/util/IECStoragesContainer.java
new file mode 100644
index 0000000000000000000000000000000000000000..3df20660b15ec99da10b94d2116fde4e8b4c1921
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/util/IECStoragesContainer.java	
@@ -0,0 +1,20 @@
+package eu.piacere.ide.toolIntegration.kriec.util;
+
+import java.util.TreeMap;
+
+public class IECStoragesContainer {
+	
+	private TreeMap<String, IECStorage> catalogStorages;
+
+	public IECStoragesContainer() {
+		this.setCatalogStorages(new TreeMap<String, IECStorage>());
+	}
+
+	public TreeMap<String, IECStorage> getCatalogStorages() {
+		return catalogStorages;
+	}
+
+	public void setCatalogStorages(TreeMap<String, IECStorage> catalogStorages) {
+		this.catalogStorages = catalogStorages;
+	}
+}
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/util/IECVirtualMachine.java b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/util/IECVirtualMachine.java
new file mode 100644
index 0000000000000000000000000000000000000000..82822bb07bcb75f8da106a85019149986023ed8f
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/util/IECVirtualMachine.java	
@@ -0,0 +1,18 @@
+package eu.piacere.ide.toolIntegration.kriec.util;
+
+import org.json.JSONException;
+import org.json.JSONObject;
+
+public class IECVirtualMachine extends IECAbstractElement{
+
+	public static int IEC_SERVICE_CLASS = 3;
+	
+	public IECVirtualMachine(String name, int id) {
+		super(name, id, IECVirtualMachine.IEC_SERVICE_CLASS);
+	}
+	
+	public static IECVirtualMachine fromJSON(JSONObject representation) throws JSONException {
+		return (IECVirtualMachine) IECAbstractElement.fromJSON(representation, new IECVirtualMachine(representation.getString("serviceName"), representation.getInt("id")));
+	}
+	
+}
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/util/IECVirtualMachinesContainer.java b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/util/IECVirtualMachinesContainer.java
new file mode 100644
index 0000000000000000000000000000000000000000..135247e2de1d21d588258f891a13b9e3fe482287
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/util/IECVirtualMachinesContainer.java	
@@ -0,0 +1,20 @@
+package eu.piacere.ide.toolIntegration.kriec.util;
+
+import java.util.TreeMap;
+
+public class IECVirtualMachinesContainer {
+
+	private TreeMap<String, IECVirtualMachine> catalogVirtualMachines;
+
+	public IECVirtualMachinesContainer() {
+		this.setCatalogVirtualMachines(new TreeMap<String, IECVirtualMachine>());
+	}
+
+	public TreeMap<String, IECVirtualMachine> getCatalogVirtualMachines() {
+		return catalogVirtualMachines;
+	}
+
+	public void setCatalogVirtualMachines(TreeMap<String, IECVirtualMachine> catalogVirtualMachines) {
+		this.catalogVirtualMachines = catalogVirtualMachines;
+	}
+}
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/viewPart/InfrastructureElementsCatalogViewPart.java b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/viewPart/InfrastructureElementsCatalogViewPart.java
new file mode 100644
index 0000000000000000000000000000000000000000..da93998dff2200a41af97b8a55adf44047aeea1e
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/viewPart/InfrastructureElementsCatalogViewPart.java	
@@ -0,0 +1,143 @@
+package eu.piacere.ide.toolIntegration.kriec.viewPart;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.edit.provider.resource.ResourceItemProviderAdapterFactory;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.action.IMenuListener;
+import org.eclipse.jface.action.IMenuManager;
+import org.eclipse.jface.action.MenuManager;
+import org.eclipse.jface.action.Separator;
+import org.eclipse.jface.resource.FontDescriptor;
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.jface.resource.JFaceResources;
+import org.eclipse.jface.resource.LocalResourceManager;
+import org.eclipse.jface.resource.ResourceManager;
+import org.eclipse.jface.viewers.IBaseLabelProvider;
+import org.eclipse.jface.viewers.IContentProvider;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.ISelectionChangedListener;
+import org.eclipse.jface.viewers.ISelectionProvider;
+import org.eclipse.jface.viewers.SelectionChangedEvent;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Menu;
+import org.eclipse.ui.IMemento;
+import org.eclipse.ui.IViewSite;
+import org.eclipse.ui.PartInitException;
+import org.eclipse.ui.actions.ActionGroup;
+import org.eclipse.ui.navigator.CommonNavigator;
+import org.eclipse.ui.navigator.CommonViewer;
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+
+import eu.piacere.ide.toolIntegration.kriec.util.IECCatalog;
+import eu.piacere.ide.toolIntegration.kriec.viewPart.actions.CollapseAllAction;
+import eu.piacere.ide.toolIntegration.kriec.viewPart.actions.ExpandAllAction;
+import eu.piacere.ide.toolIntegration.kriec.viewPart.actions.InfrastructureElementsCatalogViewActionGroup;
+import eu.piacere.ide.toolIntegration.kriec.viewPart.actions.RefreshAction;
+import eu.piacere.ide.toolIntegration.kriec.viewPart.providers.IECContentProvider;
+import eu.piacere.ide.toolIntegration.kriec.viewPart.providers.IECLabelProvider;
+
+
+public class InfrastructureElementsCatalogViewPart extends CommonNavigator implements IMenuListener {
+
+	private static IECCatalog catalog = new IECCatalog();
+
+	public IECCatalog getIECCatalog() {
+		return catalog;
+	}
+
+	
+	@Override
+	public void createPartControl(Composite parent) {
+		super.createPartControl(parent);
+
+		if (getCommonViewer() != null) {
+
+			getCommonViewer().setContentProvider((IContentProvider)new IECContentProvider((AdapterFactory)new ResourceItemProviderAdapterFactory()));
+			getCommonViewer().setInput(getIECCatalog());
+			getCommonViewer().setLabelProvider((IBaseLabelProvider)new IECLabelProvider());
+			ResourceManager resourceManager = new LocalResourceManager(JFaceResources.getResources(), parent);
+			getCommonViewer().getTree().setFont(resourceManager.createFont(FontDescriptor.createFrom(getCommonViewer().getTree().getFont()).setHeight(14)));
+			getCommonViewer().setSorter(null);
+			getCommonViewer().addSelectionChangedListener(new SelectionChangedListener());
+			createContextMenuForViewer(getCommonViewer());
+			getIECCatalog().reloadContent();
+			refreshViewer();
+		} 
+	}
+
+	public void init(IViewSite aSite, IMemento aMemento) throws PartInitException {
+		super.init(aSite, aMemento);
+	}
+	
+
+
+	protected CommonViewer createCommonViewerObject(Composite aParent) {
+		return new CommonViewer(getViewSite().getId(), aParent, 768);
+	}
+
+	private class SelectionChangedListener implements ISelectionChangedListener {
+		@SuppressWarnings("unused")
+		public void selectionChanged(SelectionChangedEvent event) {
+			if (event.getSelection() instanceof StructuredSelection) {
+				Object selected = ((StructuredSelection)event.getSelection()).getFirstElement(); 
+			}
+		}
+	}
+
+	protected ActionGroup createCommonActionGroup() {
+		return (ActionGroup)new InfrastructureElementsCatalogViewActionGroup(getCommonViewer());
+	}
+
+	public void refreshViewer() {
+		CommonViewer viewer = getCommonViewer();
+		if (viewer != null && !viewer.getTree().isDisposed())
+			viewer.refresh(); 
+	}
+
+	public void saveState(IMemento aMemento) {
+		super.saveState(aMemento);
+	}
+	
+	private void createContextMenuForViewer(CommonViewer viewer) {
+		MenuManager contextMenu = new MenuManager("Popup", getImageDescriptor("icons/FadaModelRepositoriesView.png"), null);
+		contextMenu.setRemoveAllWhenShown(true);
+		contextMenu.addMenuListener(this);
+
+		Menu menu = contextMenu.createContextMenu(viewer.getControl());
+		viewer.getControl().setMenu(menu);
+		this.getSite().registerContextMenu(contextMenu, (ISelectionProvider)viewer);
+	}
+
+	public void menuAboutToShow(IMenuManager manager) {
+		ISelection selection = getCommonViewer().getSelection();
+		if (selection instanceof StructuredSelection) {
+			StructuredSelection sel = (StructuredSelection)selection;
+			Object selectedObject = sel.getFirstElement();
+			if (selectedObject instanceof IECCatalog) {
+				
+				RefreshAction ra = new RefreshAction();
+				ra.setText("Refresh All");
+				ra.setImageDescriptor(getImageDescriptor("icons/refresh.gif"));
+				
+				ExpandAllAction eaa = new ExpandAllAction(getCommonViewer());
+				eaa.setText("Expand All");
+				eaa.setImageDescriptor(getImageDescriptor("icons/expandAll.gif"));
+				
+				CollapseAllAction caa = new CollapseAllAction(getCommonViewer());
+				caa.setText("Collapse All");
+				caa.setImageDescriptor(getImageDescriptor("icons/collapseAll.gif"));
+				
+				manager.add((IAction)ra);
+				manager.add(new Separator("additions"));
+				manager.add((IAction)eaa);
+				manager.add((IAction)caa);
+			}
+		} 
+	}
+
+	protected final ImageDescriptor getImageDescriptor(String relativePath) {
+		return AbstractUIPlugin.imageDescriptorFromPlugin("PiacereIDEIntegration.KRIEC", relativePath);
+	}
+	
+}
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/viewPart/actions/CollapseAllAction.java b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/viewPart/actions/CollapseAllAction.java
new file mode 100644
index 0000000000000000000000000000000000000000..c75a2aad2b2c93ad6686c288295a1ec154e3773c
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/viewPart/actions/CollapseAllAction.java	
@@ -0,0 +1,24 @@
+package eu.piacere.ide.toolIntegration.kriec.viewPart.actions;
+
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.ui.IWorkbenchCommandConstants;
+import org.eclipse.ui.navigator.CommonViewer;
+
+public class CollapseAllAction extends Action implements IAction
+{
+	private final CommonViewer commonViewer;
+
+	public CollapseAllAction(CommonViewer aViewer) {
+		super("Collapse all");
+		setToolTipText("Collapse all");
+		setActionDefinitionId(IWorkbenchCommandConstants.NAVIGATE_COLLAPSE_ALL);
+		this.commonViewer = aViewer;
+	}
+
+	public void run() {
+		if (this.commonViewer != null)
+			this.commonViewer.collapseAll(); 
+	}
+}
+
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/viewPart/actions/ExpandAllAction.java b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/viewPart/actions/ExpandAllAction.java
new file mode 100644
index 0000000000000000000000000000000000000000..f5c102752b00e3706d176307bb80b3900fde5c8f
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/viewPart/actions/ExpandAllAction.java	
@@ -0,0 +1,25 @@
+package eu.piacere.ide.toolIntegration.kriec.viewPart.actions;
+
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.ui.IWorkbenchCommandConstants;
+import org.eclipse.ui.navigator.CommonViewer;
+
+public class ExpandAllAction extends Action implements IAction
+{
+	private final CommonViewer commonViewer;
+
+	public ExpandAllAction(CommonViewer aViewer) {
+		super("Expand All");
+		setToolTipText("Expand All");
+		setActionDefinitionId(IWorkbenchCommandConstants.NAVIGATE_EXPAND_ALL);
+
+		this.commonViewer = aViewer;
+	}
+
+	public void run() {
+		if (this.commonViewer != null)
+			this.commonViewer.expandAll(); 
+	}
+}
+
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/viewPart/actions/InfrastructureElementsCatalogViewActionGroup.java b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/viewPart/actions/InfrastructureElementsCatalogViewActionGroup.java
new file mode 100644
index 0000000000000000000000000000000000000000..69af78d9a5ce205747ca88def74c52274dcab6ff
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/viewPart/actions/InfrastructureElementsCatalogViewActionGroup.java	
@@ -0,0 +1,53 @@
+package eu.piacere.ide.toolIntegration.kriec.viewPart.actions;
+
+import org.eclipse.jface.action.Separator;
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.ui.IActionBars;
+import org.eclipse.ui.actions.ActionGroup;
+import org.eclipse.ui.navigator.CommonViewer;
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+
+
+public class InfrastructureElementsCatalogViewActionGroup extends ActionGroup
+{
+	private final CommonViewer commonViewer;
+	
+	public InfrastructureElementsCatalogViewActionGroup(CommonViewer viewer) {
+		this.commonViewer = viewer;
+	}
+
+	protected final ImageDescriptor getImageDescriptor(String relativePath) {
+		return AbstractUIPlugin.imageDescriptorFromPlugin("PiacereIDEIntegration.KRIEC", relativePath);
+	}
+
+	public void fillActionBars(IActionBars actionBars) {
+
+		RefreshAction ra = new RefreshAction();
+		ra.setText("Refresh All");
+		ra.setImageDescriptor(getImageDescriptor("icons/refresh.gif"));
+		
+		/*CreateDeploymentAction cda = new CreateDeploymentAction();
+		cda.setText("Create Deployment");
+		cda.setImageDescriptor(getImageDescriptor("icons/addRepository.png"));*/
+
+		CollapseAllAction caa = new CollapseAllAction(this.commonViewer);
+		caa.setText("Collapse All");
+		caa.setImageDescriptor(getImageDescriptor("icons/collapseAll.gif"));
+
+		ExpandAllAction eaa = new ExpandAllAction(this.commonViewer);
+		eaa.setText("Expand All");
+		eaa.setImageDescriptor(getImageDescriptor("icons/expandAll.gif"));
+
+		actionBars.getMenuManager().add(ra);
+		/*actionBars.getMenuManager().add(new Separator("additions"));
+		actionBars.getMenuManager().add(cda);*/
+		actionBars.getMenuManager().add(new Separator("additions"));
+		actionBars.getMenuManager().add(caa);
+		actionBars.getMenuManager().add(eaa);
+	}
+}
+
+
+
+
+
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/viewPart/actions/RefreshAction.java b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/viewPart/actions/RefreshAction.java
new file mode 100644
index 0000000000000000000000000000000000000000..98c73c2b02c29c3b8b4de56102e0bf2d2afa72d0
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/viewPart/actions/RefreshAction.java	
@@ -0,0 +1,19 @@
+package eu.piacere.ide.toolIntegration.kriec.viewPart.actions;
+
+import org.eclipse.jface.action.Action;
+
+import eu.piacere.ide.toolIntegration.kriec.util.IECCatalogUtil;
+import eu.piacere.ide.toolIntegration.kriec.viewPart.InfrastructureElementsCatalogViewPart;
+
+
+public class RefreshAction extends Action
+{
+	public void run() {
+		super.run();
+		InfrastructureElementsCatalogViewPart prcView = IECCatalogUtil.getRuntimeControllerView();
+		if (prcView != null) {
+			prcView.getIECCatalog().reloadContent();
+			prcView.refreshViewer();
+		}
+	}
+}
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/viewPart/properties/IECServiceAttributeAdapterFactory.java b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/viewPart/properties/IECServiceAttributeAdapterFactory.java
new file mode 100644
index 0000000000000000000000000000000000000000..7477547c240fd4a97bec06e43a39d558839256ac
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/viewPart/properties/IECServiceAttributeAdapterFactory.java	
@@ -0,0 +1,25 @@
+package eu.piacere.ide.toolIntegration.kriec.viewPart.properties;
+
+import org.eclipse.core.runtime.IAdapterFactory;
+import org.eclipse.ui.views.properties.IPropertySource;
+
+import eu.piacere.ide.toolIntegration.kriec.util.IECServiceAttribute;
+
+public class IECServiceAttributeAdapterFactory implements IAdapterFactory {
+
+	private static final Class<?>[] adapterList = new Class<?>[] { IPropertySource.class };
+
+    @Override
+    public <T> T getAdapter(Object adaptableObject, Class<T> adapterType) {
+        if (adapterType== IPropertySource.class && adaptableObject instanceof IECServiceAttribute){
+            return adapterType.cast(new IECServiceAttributePropertySource((IECServiceAttribute) adaptableObject));
+        }
+        return null;
+    }
+
+    @Override
+    public Class<?>[] getAdapterList() {
+        return adapterList;
+    }
+
+}
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/viewPart/properties/IECServiceAttributePropertySource.java b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/viewPart/properties/IECServiceAttributePropertySource.java
new file mode 100644
index 0000000000000000000000000000000000000000..32ef319e235352ea9bd066a1fcb3b7bcafe8e203
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/viewPart/properties/IECServiceAttributePropertySource.java	
@@ -0,0 +1,100 @@
+package eu.piacere.ide.toolIntegration.kriec.viewPart.properties;
+
+import org.eclipse.ui.views.properties.IPropertyDescriptor;
+import org.eclipse.ui.views.properties.IPropertySource;
+import org.eclipse.ui.views.properties.PropertyDescriptor;
+
+import eu.piacere.ide.toolIntegration.kriec.util.IECServiceAttribute;
+
+public class IECServiceAttributePropertySource implements IPropertySource {
+
+	private final IECServiceAttribute serviceAttribute;
+
+	public IECServiceAttributePropertySource(IECServiceAttribute serviceAttribute) {
+		this.serviceAttribute = serviceAttribute;
+	}
+
+	@Override
+	public boolean isPropertySet(Object id) {
+		return false;
+	}
+
+	@Override
+	public Object getEditableValue() {
+		return this;
+	}
+
+	@Override
+	public IPropertyDescriptor[] getPropertyDescriptors() {
+
+		return new IPropertyDescriptor[] {
+				new PropertyDescriptor("id", "ID"),
+				new PropertyDescriptor("name", "Name"),
+				new PropertyDescriptor("value", "Value"),
+				new PropertyDescriptor("unitValue", "Unit Value"),
+				new PropertyDescriptor("evalRule", "Eval Rule"),
+				new PropertyDescriptor("nfrName", "NFR Name"),
+				new PropertyDescriptor("unitFactor", "Unit Factor"),
+				new PropertyDescriptor("unitRule", "Unit Rule"),
+				new PropertyDescriptor("units", "Units"),
+				new PropertyDescriptor("isCommon", "Is Common"),
+				new PropertyDescriptor("isEnumeration", "Is Enumeration"),
+				new PropertyDescriptor("isForm", "Is Form"),
+				new PropertyDescriptor("isFunctionalRequirement", "Is Functional Requirement")};
+	}
+
+	@Override
+	public Object getPropertyValue(Object id) {
+		if (id.equals("id")) {
+			return serviceAttribute.getId();
+		}
+		else if (id.equals("name")) {
+			return serviceAttribute.getType().getName();
+		}
+		else if (id.equals("value")) {
+			return serviceAttribute.getServiceAttributeValue();
+		}
+		else if (id.equals("unitValue")) {
+			return serviceAttribute.getUnitValue();
+		}
+		else if (id.equals("evalRule")) {
+			return serviceAttribute.getType().getEvalRule();
+		}
+		else if (id.equals("nfrName")) {
+			return serviceAttribute.getType().getNfrName();
+		}
+		else if (id.equals("unitFactor")) {
+			return serviceAttribute.getType().getUnitFactor();
+		}
+		else if (id.equals("unitRule")) {
+			return serviceAttribute.getType().getUnitRule();
+		}
+		else if (id.equals("units")) {
+			return serviceAttribute.getType().getUnits();
+		}
+		else if (id.equals("isCommon")) {
+			return serviceAttribute.getType().isCommon();
+		}
+		else if (id.equals("isEnumeration")) {
+			return serviceAttribute.getType().isEnumeration();
+		}
+		else if (id.equals("isForm")) {
+			return serviceAttribute.getType().isForm();
+		}
+		else if (id.equals("isFunctionalRequirement")) {
+			return serviceAttribute.getType().isFunctionalRequirement();
+		}
+		return null;
+	}
+
+	@Override
+	public void resetPropertyValue(Object id) {
+
+	}
+
+	@Override
+	public void setPropertyValue(Object id, Object value) {
+
+	}
+
+}
\ No newline at end of file
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/viewPart/providers/IECContentProvider.java b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/viewPart/providers/IECContentProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..d7ce05e85c62a5a33ac79ca1bc01dfe73a20dce5
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/viewPart/providers/IECContentProvider.java	
@@ -0,0 +1,129 @@
+package eu.piacere.ide.toolIntegration.kriec.viewPart.providers;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.edit.ui.provider.AdapterFactoryContentProvider;
+
+import eu.piacere.ide.toolIntegration.kriec.util.IECCatalog;
+import eu.piacere.ide.toolIntegration.kriec.util.IECDatabase;
+import eu.piacere.ide.toolIntegration.kriec.util.IECDatabasesContainer;
+import eu.piacere.ide.toolIntegration.kriec.util.IECServiceAttribute;
+import eu.piacere.ide.toolIntegration.kriec.util.IECStorage;
+import eu.piacere.ide.toolIntegration.kriec.util.IECStoragesContainer;
+import eu.piacere.ide.toolIntegration.kriec.util.IECVirtualMachine;
+import eu.piacere.ide.toolIntegration.kriec.util.IECVirtualMachinesContainer;
+
+
+public class IECContentProvider extends AdapterFactoryContentProvider
+{
+	public IECContentProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+		
+	}
+
+	
+	public Object[] getElements(Object object) {
+		if (object instanceof IECCatalog) {
+			return ((IECCatalog)object).getContainers();	
+		}
+		
+		else if (object instanceof IECDatabasesContainer) {
+			return ((IECDatabasesContainer)object).getCatalogDatabases().values().toArray();
+		}
+		
+		else if (object instanceof IECStoragesContainer) {
+			return ((IECStoragesContainer)object).getCatalogStorages().values().toArray();
+		}
+		
+		else if (object instanceof IECVirtualMachinesContainer) {
+			return ((IECVirtualMachinesContainer)object).getCatalogVirtualMachines().values().toArray();
+		}
+		
+		else if (object instanceof IECDatabase) {
+			return ((IECDatabase)object).getAttributes().values().toArray();
+		}
+		
+		else if (object instanceof IECStorage) {
+			return ((IECStorage)object).getAttributes().values().toArray();
+		}
+		
+		else if (object instanceof IECVirtualMachine) {
+			return ((IECVirtualMachine)object).getAttributes().values().toArray();
+		}
+
+		return super.getElements(object);
+	}
+
+
+
+	public boolean hasChildren(Object object) {
+		if (object instanceof IECCatalog) {
+			return true;	
+		}
+		
+		else if (object instanceof IECDatabasesContainer) {
+			return ((IECDatabasesContainer)object).getCatalogDatabases().values().size()>0;
+		}
+		
+		else if (object instanceof IECStoragesContainer) {
+			return ((IECStoragesContainer)object).getCatalogStorages().values().size()>0;
+		}
+		
+		else if (object instanceof IECVirtualMachinesContainer) {
+			return ((IECVirtualMachinesContainer)object).getCatalogVirtualMachines().values().size()>0;
+		}
+		
+		else if (object instanceof IECDatabase) {
+			return ((IECDatabase)object).getAttributes().size()>0;
+		}
+		
+		else if (object instanceof IECStorage) {
+			return ((IECStorage)object).getAttributes().size()>0;
+		}
+		
+		else if (object instanceof IECVirtualMachine) {
+			return ((IECVirtualMachine)object).getAttributes().size()>0;
+		}
+		
+		else if (object instanceof IECServiceAttribute) {
+			return false;
+		}
+		
+		return super.hasChildren(object);
+	}
+
+
+
+	public Object[] getChildren(Object object) {
+		if (object instanceof IECCatalog) {
+			((IECCatalog)object).getContainers();	
+		}
+		
+		else if (object instanceof IECDatabasesContainer) {
+			return ((IECDatabasesContainer)object).getCatalogDatabases().values().toArray();
+		}
+		
+		else if (object instanceof IECStoragesContainer) {
+			return ((IECStoragesContainer)object).getCatalogStorages().values().toArray();
+		}
+		
+		else if (object instanceof IECVirtualMachinesContainer) {
+			return ((IECVirtualMachinesContainer)object).getCatalogVirtualMachines().values().toArray();
+		}
+		
+		else if (object instanceof IECDatabase) {
+			return ((IECDatabase)object).getAttributes().values().toArray();
+		}
+		
+		else if (object instanceof IECStorage) {
+			return ((IECStorage)object).getAttributes().values().toArray();
+		}
+		
+		else if (object instanceof IECVirtualMachine) {
+			return ((IECVirtualMachine)object).getAttributes().values().toArray();
+		}
+		
+		return null;
+	}
+	
+}
+
diff --git a/Source Code/V2.0/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/viewPart/providers/IECLabelProvider.java b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/viewPart/providers/IECLabelProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..e4ff06ad9bb0f3e5c4f877b1cf2406afc337b0ed
--- /dev/null
+++ b/Source Code/V2.0/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/viewPart/providers/IECLabelProvider.java	
@@ -0,0 +1,92 @@
+package eu.piacere.ide.toolIntegration.kriec.viewPart.providers;
+
+import java.io.IOException;
+
+import org.eclipse.core.runtime.FileLocator;
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.jface.viewers.LabelProvider;
+import org.eclipse.swt.graphics.Device;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.swt.widgets.Display;
+
+import eu.piacere.ide.toolIntegration.kriec.util.IECDatabase;
+import eu.piacere.ide.toolIntegration.kriec.util.IECDatabasesContainer;
+import eu.piacere.ide.toolIntegration.kriec.util.IECServiceAttribute;
+import eu.piacere.ide.toolIntegration.kriec.util.IECStorage;
+import eu.piacere.ide.toolIntegration.kriec.util.IECStoragesContainer;
+import eu.piacere.ide.toolIntegration.kriec.util.IECVirtualMachine;
+import eu.piacere.ide.toolIntegration.kriec.util.IECVirtualMachinesContainer;
+
+public class IECLabelProvider extends LabelProvider
+{
+	
+	public String getText(Object element) {
+		if (element instanceof IECDatabasesContainer) {
+			return "Databases";
+		} 
+		else if (element instanceof IECStoragesContainer) {
+			
+			return "Storages";
+		} 
+		else if (element instanceof IECVirtualMachinesContainer) {
+			return "Virtual Machines";
+		}
+		else if (element instanceof IECDatabase) {
+			return ((IECDatabase)element).getServiceName();
+		} 
+		else if (element instanceof IECStorage) {
+			return ((IECStorage)element).getServiceName();
+		} 
+		else if (element instanceof IECVirtualMachine) {
+			return ((IECVirtualMachine)element).getServiceName();
+		} 
+		else if (element instanceof IECServiceAttribute) {
+			return ((IECServiceAttribute)element).getType().getName()+": "+((IECServiceAttribute)element).getServiceAttributeValue();
+		}
+		return super.getText(element);
+	}
+
+	public Image getImage(Object element) {
+		try {
+			String imagePath = FileLocator.toFileURL(Platform.getBundle("PiacereIDEIntegration.KRIEC").getResource("icons/")).getPath();
+			
+			if (element instanceof IECDatabasesContainer) {
+				Image image = new Image((Device)Display.getCurrent(), String.valueOf(imagePath) + "bundle.png");
+				return image;
+			} 
+			else if (element instanceof IECStoragesContainer) {
+				Image image = new Image((Device)Display.getCurrent(), String.valueOf(imagePath) + "bundle.png");
+				return image;
+			} 
+			else if (element instanceof IECVirtualMachinesContainer) {
+				Image image = new Image((Device)Display.getCurrent(), String.valueOf(imagePath) + "bundle.png");
+				return image;
+			}
+			else if (element instanceof IECDatabase) {
+				Image image = new Image((Device)Display.getCurrent(), String.valueOf(imagePath) + "repository.png");
+				return image;
+			} 
+			else if (element instanceof IECStorage) {
+				Image image = new Image((Device)Display.getCurrent(), String.valueOf(imagePath) + "jar.png");
+				return image;
+			} 
+			else if (element instanceof IECVirtualMachine) {
+				Image image = new Image((Device)Display.getCurrent(), String.valueOf(imagePath) + "ref.png");
+				return image;
+			}
+			else if (element instanceof IECServiceAttribute) {
+				Image image = new Image((Device)Display.getCurrent(), String.valueOf(imagePath) + "Task.gif");
+				return image;
+			}
+		} catch (IOException iOException) {
+			return null;
+		} 
+		return super.getImage(element);
+	}
+
+}
+
+
+
+
+
diff --git a/Source Code/V2.0/PiacereToolCustomization/.classpath b/Source Code/V2.0/PiacereToolCustomization/.classpath
new file mode 100755
index 0000000000000000000000000000000000000000..1fa3e6803d3b22e055b735220510616c4e35f2fc
--- /dev/null
+++ b/Source Code/V2.0/PiacereToolCustomization/.classpath	
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/Source Code/V2.0/PiacereToolCustomization/.project b/Source Code/V2.0/PiacereToolCustomization/.project
new file mode 100755
index 0000000000000000000000000000000000000000..f8c1892e4ab3a4a3df9dcb7c8b2d9657268a676a
--- /dev/null
+++ b/Source Code/V2.0/PiacereToolCustomization/.project	
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>PiacereToolCustomization</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
diff --git a/Source Code/V2.0/PiacereToolCustomization/FAdAIcons/ConvertToFAdAProject.png b/Source Code/V2.0/PiacereToolCustomization/FAdAIcons/ConvertToFAdAProject.png
new file mode 100644
index 0000000000000000000000000000000000000000..ce012c20e3848f2d0c8a2f08c79ed39ce929e206
Binary files /dev/null and b/Source Code/V2.0/PiacereToolCustomization/FAdAIcons/ConvertToFAdAProject.png differ
diff --git a/Source Code/V2.0/PiacereToolCustomization/FAdAIcons/ConvertToFAdAProject_old.png b/Source Code/V2.0/PiacereToolCustomization/FAdAIcons/ConvertToFAdAProject_old.png
new file mode 100644
index 0000000000000000000000000000000000000000..56108deeb219042fc8da6b8e1ec22cbfe1db1d3d
Binary files /dev/null and b/Source Code/V2.0/PiacereToolCustomization/FAdAIcons/ConvertToFAdAProject_old.png differ
diff --git a/Source Code/V2.0/PiacereToolCustomization/FAdAIcons/FAdAIcon_16.png b/Source Code/V2.0/PiacereToolCustomization/FAdAIcons/FAdAIcon_16.png
new file mode 100644
index 0000000000000000000000000000000000000000..b4078db8573c6315207b6362fbc752336dfff5c4
Binary files /dev/null and b/Source Code/V2.0/PiacereToolCustomization/FAdAIcons/FAdAIcon_16.png differ
diff --git a/Source Code/V2.0/PiacereToolCustomization/FAdAIcons/FAdAIcon_24.png b/Source Code/V2.0/PiacereToolCustomization/FAdAIcons/FAdAIcon_24.png
new file mode 100644
index 0000000000000000000000000000000000000000..f4259625230e2b11b98a14aa6b75b52edad25dd8
Binary files /dev/null and b/Source Code/V2.0/PiacereToolCustomization/FAdAIcons/FAdAIcon_24.png differ
diff --git a/Source Code/V2.0/PiacereToolCustomization/FAdAIcons/FAdAIcon_32.png b/Source Code/V2.0/PiacereToolCustomization/FAdAIcons/FAdAIcon_32.png
new file mode 100644
index 0000000000000000000000000000000000000000..2672c3891b01f3ce5be893b404d727263244cd6d
Binary files /dev/null and b/Source Code/V2.0/PiacereToolCustomization/FAdAIcons/FAdAIcon_32.png differ
diff --git a/Source Code/V2.0/PiacereToolCustomization/FAdAIcons/FAdAIcon_8.png b/Source Code/V2.0/PiacereToolCustomization/FAdAIcons/FAdAIcon_8.png
new file mode 100644
index 0000000000000000000000000000000000000000..41fc8b997c629493aec4979e02aa5bfd59a37204
Binary files /dev/null and b/Source Code/V2.0/PiacereToolCustomization/FAdAIcons/FAdAIcon_8.png differ
diff --git a/Source Code/V2.0/PiacereToolCustomization/FAdAIcons/old/FAdAIcon_16.png b/Source Code/V2.0/PiacereToolCustomization/FAdAIcons/old/FAdAIcon_16.png
new file mode 100644
index 0000000000000000000000000000000000000000..08e6b6036ad0e360db3020dde7df28a87d04a84a
Binary files /dev/null and b/Source Code/V2.0/PiacereToolCustomization/FAdAIcons/old/FAdAIcon_16.png differ
diff --git a/Source Code/V2.0/PiacereToolCustomization/FAdAIcons/old/FAdAIcon_24.png b/Source Code/V2.0/PiacereToolCustomization/FAdAIcons/old/FAdAIcon_24.png
new file mode 100644
index 0000000000000000000000000000000000000000..07bd601d63b754c1e89e11c9496a2ee882105fef
Binary files /dev/null and b/Source Code/V2.0/PiacereToolCustomization/FAdAIcons/old/FAdAIcon_24.png differ
diff --git a/Source Code/V2.0/PiacereToolCustomization/FAdAIcons/old/FAdAIcon_32.png b/Source Code/V2.0/PiacereToolCustomization/FAdAIcons/old/FAdAIcon_32.png
new file mode 100644
index 0000000000000000000000000000000000000000..c0813f81135515bc5b9a21770152855ecf1e45b6
Binary files /dev/null and b/Source Code/V2.0/PiacereToolCustomization/FAdAIcons/old/FAdAIcon_32.png differ
diff --git a/Source Code/V2.0/PiacereToolCustomization/FAdAIcons/old/FAdAIcon_8.png b/Source Code/V2.0/PiacereToolCustomization/FAdAIcons/old/FAdAIcon_8.png
new file mode 100644
index 0000000000000000000000000000000000000000..934b971eb6e91c6f3efd8e0b9b441ba741dbeb85
Binary files /dev/null and b/Source Code/V2.0/PiacereToolCustomization/FAdAIcons/old/FAdAIcon_8.png differ
diff --git a/Source Code/V2.0/PiacereToolCustomization/META-INF/MANIFEST.MF b/Source Code/V2.0/PiacereToolCustomization/META-INF/MANIFEST.MF
new file mode 100755
index 0000000000000000000000000000000000000000..81fbc68a202aceaffa32c73d8fd9fab1a9b3d938
--- /dev/null
+++ b/Source Code/V2.0/PiacereToolCustomization/META-INF/MANIFEST.MF	
@@ -0,0 +1,32 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: PiacereToolCustomization
+Bundle-SymbolicName: PiacereToolCustomization;singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Bundle-Vendor: TaTAmI
+Import-Package: eu.piacere.doml,
+ eu.piacere.doml.generator,
+ eu.piacere.doml.grammar.ui.internal,
+ eu.piacere.doml.ide.contentassist.antlr,
+ eu.piacere.doml.ide.contentassist.antlr.internal,
+ eu.piacere.doml.parser.antlr,
+ eu.piacere.doml.parser.antlr.internal,
+ eu.piacere.doml.scoping,
+ eu.piacere.doml.serializer,
+ eu.piacere.doml.services,
+ eu.piacere.doml.ui.contentassist,
+ eu.piacere.doml.ui.quickfix,
+ eu.piacere.doml.validation,
+ org.eclipse.core.commands,
+ org.eclipse.core.resources,
+ org.eclipse.core.runtime,
+ org.eclipse.jface.viewers,
+ org.eclipse.jface.wizard,
+ org.eclipse.swt.graphics,
+ org.eclipse.ui,
+ org.eclipse.ui.dialogs,
+ org.eclipse.ui.handlers
+Export-Package: eu.piacere.piacereTool.piacereProjectNature
+Require-Bundle: eu.piacere.doml.editor,
+ eu.piacere.doml,
+ eu.piacere.doml.edit
diff --git a/Source Code/V2.0/PiacereToolCustomization/PiacereIcons/PiacereIcon_128x128.png b/Source Code/V2.0/PiacereToolCustomization/PiacereIcons/PiacereIcon_128x128.png
new file mode 100644
index 0000000000000000000000000000000000000000..515cef7760b8362f3c33ae438a648256dae149b0
Binary files /dev/null and b/Source Code/V2.0/PiacereToolCustomization/PiacereIcons/PiacereIcon_128x128.png differ
diff --git a/Source Code/V2.0/PiacereToolCustomization/PiacereIcons/PiacereIcon_16x16.png b/Source Code/V2.0/PiacereToolCustomization/PiacereIcons/PiacereIcon_16x16.png
new file mode 100644
index 0000000000000000000000000000000000000000..444de54d6cfe2958fac1bbb89dd8619b4c537c47
Binary files /dev/null and b/Source Code/V2.0/PiacereToolCustomization/PiacereIcons/PiacereIcon_16x16.png differ
diff --git a/Source Code/V2.0/PiacereToolCustomization/PiacereIcons/PiacereIcon_24x24.png b/Source Code/V2.0/PiacereToolCustomization/PiacereIcons/PiacereIcon_24x24.png
new file mode 100644
index 0000000000000000000000000000000000000000..15a6cd0966080e5292e1ab99a96df89bd694e5b9
Binary files /dev/null and b/Source Code/V2.0/PiacereToolCustomization/PiacereIcons/PiacereIcon_24x24.png differ
diff --git a/Source Code/V2.0/PiacereToolCustomization/PiacereIcons/PiacereIcon_256x256.png b/Source Code/V2.0/PiacereToolCustomization/PiacereIcons/PiacereIcon_256x256.png
new file mode 100644
index 0000000000000000000000000000000000000000..6db52fe2c2ed0dd9f75163214b094476416e341a
Binary files /dev/null and b/Source Code/V2.0/PiacereToolCustomization/PiacereIcons/PiacereIcon_256x256.png differ
diff --git a/Source Code/V2.0/PiacereToolCustomization/PiacereIcons/PiacereIcon_32x32.png b/Source Code/V2.0/PiacereToolCustomization/PiacereIcons/PiacereIcon_32x32.png
new file mode 100644
index 0000000000000000000000000000000000000000..bb51b447d7bc3b9b0c866b35cc9c65917508e0f7
Binary files /dev/null and b/Source Code/V2.0/PiacereToolCustomization/PiacereIcons/PiacereIcon_32x32.png differ
diff --git a/Source Code/V2.0/PiacereToolCustomization/PiacereIcons/PiacereIcon_48x48.png b/Source Code/V2.0/PiacereToolCustomization/PiacereIcons/PiacereIcon_48x48.png
new file mode 100644
index 0000000000000000000000000000000000000000..b610e19f8483d4592b5bd75e3f1f31631fe7d74e
Binary files /dev/null and b/Source Code/V2.0/PiacereToolCustomization/PiacereIcons/PiacereIcon_48x48.png differ
diff --git a/Source Code/V2.0/PiacereToolCustomization/PiacereIcons/PiacereIcon_64x64.png b/Source Code/V2.0/PiacereToolCustomization/PiacereIcons/PiacereIcon_64x64.png
new file mode 100644
index 0000000000000000000000000000000000000000..35e591d0b099c68a688d1f1e8524effa1f20e54a
Binary files /dev/null and b/Source Code/V2.0/PiacereToolCustomization/PiacereIcons/PiacereIcon_64x64.png differ
diff --git a/Source Code/V2.0/PiacereToolCustomization/PiacereIcons/PiacereIcon_8x8.png b/Source Code/V2.0/PiacereToolCustomization/PiacereIcons/PiacereIcon_8x8.png
new file mode 100644
index 0000000000000000000000000000000000000000..7ef08d6c3d1f9db2becf7d9be4f4b63f920aa6af
Binary files /dev/null and b/Source Code/V2.0/PiacereToolCustomization/PiacereIcons/PiacereIcon_8x8.png differ
diff --git a/Source Code/V2.0/PiacereToolCustomization/PiacereIcons/icon16.bmp b/Source Code/V2.0/PiacereToolCustomization/PiacereIcons/icon16.bmp
new file mode 100644
index 0000000000000000000000000000000000000000..b7e20845b6a19075baedbeeb6e08187ae431ab07
Binary files /dev/null and b/Source Code/V2.0/PiacereToolCustomization/PiacereIcons/icon16.bmp differ
diff --git a/Source Code/V2.0/PiacereToolCustomization/PiacereIcons/icon24.bmp b/Source Code/V2.0/PiacereToolCustomization/PiacereIcons/icon24.bmp
new file mode 100644
index 0000000000000000000000000000000000000000..154b047c5c3c053248e49297824a7dbc7ff87291
Binary files /dev/null and b/Source Code/V2.0/PiacereToolCustomization/PiacereIcons/icon24.bmp differ
diff --git a/Source Code/V2.0/PiacereToolCustomization/PiacereIcons/icon256.bmp b/Source Code/V2.0/PiacereToolCustomization/PiacereIcons/icon256.bmp
new file mode 100644
index 0000000000000000000000000000000000000000..8de86f74ca5f55d3394e9adad417fb05fe698688
Binary files /dev/null and b/Source Code/V2.0/PiacereToolCustomization/PiacereIcons/icon256.bmp differ
diff --git a/Source Code/V2.0/PiacereToolCustomization/PiacereIcons/icon32.bmp b/Source Code/V2.0/PiacereToolCustomization/PiacereIcons/icon32.bmp
new file mode 100644
index 0000000000000000000000000000000000000000..bbcafe4d4b1147ac7abbfa3a57da08834f1978d5
Binary files /dev/null and b/Source Code/V2.0/PiacereToolCustomization/PiacereIcons/icon32.bmp differ
diff --git a/Source Code/V2.0/PiacereToolCustomization/PiacereIcons/icon48.bmp b/Source Code/V2.0/PiacereToolCustomization/PiacereIcons/icon48.bmp
new file mode 100644
index 0000000000000000000000000000000000000000..b18d23b7018576501facd65545f0b909fa3ab2e9
Binary files /dev/null and b/Source Code/V2.0/PiacereToolCustomization/PiacereIcons/icon48.bmp differ
diff --git a/Source Code/V2.0/PiacereToolCustomization/PiacereIcons/icon8.bmp b/Source Code/V2.0/PiacereToolCustomization/PiacereIcons/icon8.bmp
new file mode 100644
index 0000000000000000000000000000000000000000..55eada3418ba1f8edd55d3a419415cc59fb618f4
Binary files /dev/null and b/Source Code/V2.0/PiacereToolCustomization/PiacereIcons/icon8.bmp differ
diff --git a/Source Code/V2.0/PiacereToolCustomization/bin/eu/piacere/piacereTool/domlSpec/NewDOMLSpecWizard.class b/Source Code/V2.0/PiacereToolCustomization/bin/eu/piacere/piacereTool/domlSpec/NewDOMLSpecWizard.class
new file mode 100644
index 0000000000000000000000000000000000000000..9f85a4ec64a525e4b166676201011794860c5b3e
Binary files /dev/null and b/Source Code/V2.0/PiacereToolCustomization/bin/eu/piacere/piacereTool/domlSpec/NewDOMLSpecWizard.class differ
diff --git a/Source Code/V2.0/PiacereToolCustomization/bin/eu/piacere/piacereTool/piacerePerspective/PiacerePerspectiveFactory.class b/Source Code/V2.0/PiacereToolCustomization/bin/eu/piacere/piacereTool/piacerePerspective/PiacerePerspectiveFactory.class
new file mode 100644
index 0000000000000000000000000000000000000000..220a4d0ec441a204c7981c5845090a503dbb41d2
Binary files /dev/null and b/Source Code/V2.0/PiacereToolCustomization/bin/eu/piacere/piacereTool/piacerePerspective/PiacerePerspectiveFactory.class differ
diff --git a/Source Code/V2.0/PiacereToolCustomization/bin/eu/piacere/piacereTool/piacereProject/NewPiacereProjectWizard.class b/Source Code/V2.0/PiacereToolCustomization/bin/eu/piacere/piacereTool/piacereProject/NewPiacereProjectWizard.class
new file mode 100644
index 0000000000000000000000000000000000000000..35fc1337e185767701711d94e933dd43a51bac6c
Binary files /dev/null and b/Source Code/V2.0/PiacereToolCustomization/bin/eu/piacere/piacereTool/piacereProject/NewPiacereProjectWizard.class differ
diff --git a/Source Code/V2.0/PiacereToolCustomization/bin/eu/piacere/piacereTool/piacereProjectNature/AddRemovePiacereProjectNatureHandler.class b/Source Code/V2.0/PiacereToolCustomization/bin/eu/piacere/piacereTool/piacereProjectNature/AddRemovePiacereProjectNatureHandler.class
new file mode 100644
index 0000000000000000000000000000000000000000..49d6347bb0e592da7a5b5aca6513b55e30d1bc4c
Binary files /dev/null and b/Source Code/V2.0/PiacereToolCustomization/bin/eu/piacere/piacereTool/piacereProjectNature/AddRemovePiacereProjectNatureHandler.class differ
diff --git a/Source Code/V2.0/PiacereToolCustomization/bin/eu/piacere/piacereTool/piacereProjectNature/PiacereNature.class b/Source Code/V2.0/PiacereToolCustomization/bin/eu/piacere/piacereTool/piacereProjectNature/PiacereNature.class
new file mode 100644
index 0000000000000000000000000000000000000000..e4300d1cbd9c301b9dbaa19caff19d3befcd0bf6
Binary files /dev/null and b/Source Code/V2.0/PiacereToolCustomization/bin/eu/piacere/piacereTool/piacereProjectNature/PiacereNature.class differ
diff --git a/Source Code/V2.0/PiacereToolCustomization/bin/eu/piacere/piacereTool/piacereProjectNature/PiacereNatureBuilder$SampleDeltaVisitor.class b/Source Code/V2.0/PiacereToolCustomization/bin/eu/piacere/piacereTool/piacereProjectNature/PiacereNatureBuilder$SampleDeltaVisitor.class
new file mode 100644
index 0000000000000000000000000000000000000000..afb4ce480f1401527c1b177b926ac33282e4cac8
Binary files /dev/null and b/Source Code/V2.0/PiacereToolCustomization/bin/eu/piacere/piacereTool/piacereProjectNature/PiacereNatureBuilder$SampleDeltaVisitor.class differ
diff --git a/Source Code/V2.0/PiacereToolCustomization/bin/eu/piacere/piacereTool/piacereProjectNature/PiacereNatureBuilder$SampleResourceVisitor.class b/Source Code/V2.0/PiacereToolCustomization/bin/eu/piacere/piacereTool/piacereProjectNature/PiacereNatureBuilder$SampleResourceVisitor.class
new file mode 100644
index 0000000000000000000000000000000000000000..42d2928b5bc7ce44ce1cfdba3f4d5158acab8e26
Binary files /dev/null and b/Source Code/V2.0/PiacereToolCustomization/bin/eu/piacere/piacereTool/piacereProjectNature/PiacereNatureBuilder$SampleResourceVisitor.class differ
diff --git a/Source Code/V2.0/PiacereToolCustomization/bin/eu/piacere/piacereTool/piacereProjectNature/PiacereNatureBuilder$XMLErrorHandler.class b/Source Code/V2.0/PiacereToolCustomization/bin/eu/piacere/piacereTool/piacereProjectNature/PiacereNatureBuilder$XMLErrorHandler.class
new file mode 100644
index 0000000000000000000000000000000000000000..2c553ed802a7b56b86cf9ec053449bf73c3ac2cb
Binary files /dev/null and b/Source Code/V2.0/PiacereToolCustomization/bin/eu/piacere/piacereTool/piacereProjectNature/PiacereNatureBuilder$XMLErrorHandler.class differ
diff --git a/Source Code/V2.0/PiacereToolCustomization/bin/eu/piacere/piacereTool/piacereProjectNature/PiacereNatureBuilder.class b/Source Code/V2.0/PiacereToolCustomization/bin/eu/piacere/piacereTool/piacereProjectNature/PiacereNatureBuilder.class
new file mode 100644
index 0000000000000000000000000000000000000000..cf64b38670872a59194e697914bb88e55e3e9fac
Binary files /dev/null and b/Source Code/V2.0/PiacereToolCustomization/bin/eu/piacere/piacereTool/piacereProjectNature/PiacereNatureBuilder.class differ
diff --git a/Source Code/V2.0/PiacereToolCustomization/bin/eu/piacere/piacereTool/prefPage/PreferencePage.class b/Source Code/V2.0/PiacereToolCustomization/bin/eu/piacere/piacereTool/prefPage/PreferencePage.class
new file mode 100644
index 0000000000000000000000000000000000000000..1b60b4d3ee2ea46b1e024943e2382f5d786d0d92
Binary files /dev/null and b/Source Code/V2.0/PiacereToolCustomization/bin/eu/piacere/piacereTool/prefPage/PreferencePage.class differ
diff --git a/Source Code/V2.0/PiacereToolCustomization/build.properties b/Source Code/V2.0/PiacereToolCustomization/build.properties
new file mode 100755
index 0000000000000000000000000000000000000000..3a3619a3a37df30c3f43ec59d12b40c67d1b1b91
--- /dev/null
+++ b/Source Code/V2.0/PiacereToolCustomization/build.properties	
@@ -0,0 +1,7 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+               .,\
+               plugin.xml,\
+               icons/,\
+               PiacereIcons/
diff --git a/Source Code/V2.0/PiacereToolCustomization/plugin.xml b/Source Code/V2.0/PiacereToolCustomization/plugin.xml
new file mode 100755
index 0000000000000000000000000000000000000000..58c7858e1d643721dd809aa64498fba1b1cdd0fe
--- /dev/null
+++ b/Source Code/V2.0/PiacereToolCustomization/plugin.xml	
@@ -0,0 +1,180 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+<plugin>
+
+<extension point="org.eclipse.ui.newWizards">
+	<wizard
+            category="eu.piacere.category.id"
+            class="eu.piacere.piacereTool.piacereProject.NewPiacereProjectWizard"
+            finalPerspective="eu.piacere.piacerePerspective.id"
+            icon="PiacereIcons/PiacereIcon_16x16.png"
+            id="eu.piacere.piacereProject.id"
+            name="New Piacere Project"
+            preferredPerspectives="eu.piacere.piacerePerspective.id"
+            project="true">
+      </wizard>
+	<category
+        id="eu.piacere.category.id"
+        name="Piacere">
+  </category>
+  <category
+        id="eu.piacere.modelsCategory.id"
+        name="Piacere Models"
+        parentCategory="eu.piacere.category.id">
+  </category>
+  <category
+        id="eu.piacere.diagramsCategory.id"
+        name="Piacere Diagrams"
+        parentCategory="eu.piacere.category.id">
+  </category>
+  <category
+        id="eu.piacere.piacereModelsCommands.category.id"
+        name="Piacere Diagrams"
+        parentCategory="eu.piacere.category.id">
+  </category>
+  <wizard
+        category="eu.piacere.category.id"
+        class="eu.piacere.piacereTool.domlSpec.NewDOMLSpecWizard"
+        finalPerspective="eu.piacere.piacerePerspective.id"
+        icon="PiacereIcons/PiacereIcon_16x16.png"
+        id="eu.piacere.domlSpec.id"
+        name="New DOML Spec"
+        preferredPerspectives="eu.piacere.piacerePerspective.id">
+  </wizard>
+</extension>
+<extension
+         point="org.eclipse.ui.perspectives">
+      <perspective
+            class="eu.piacere.piacereTool.piacerePerspective.PiacerePerspectiveFactory"
+            icon="PiacereIcons/PiacereIcon_16x16.png"
+            id="eu.piacere.piacerePerspective.id"
+            name="Piacere">
+      </perspective>
+   </extension>
+<extension
+       point="org.eclipse.ui.perspectiveExtensions">
+    <perspectiveExtension
+          targetID="eu.piacere.piacerePerspective.id">
+       <newWizardShortcut
+             id="eu.piacere.piacereProject.id">
+       </newWizardShortcut>
+       <newWizardShortcut
+             id="eu.piacere.doml.doml.application.presentation.ApplicationModelWizardID">
+       </newWizardShortcut>
+       <newWizardShortcut
+             id="eu.piacere.doml.doml.commons.presentation.CommonsModelWizardID">
+       </newWizardShortcut>
+       <newWizardShortcut
+             id="eu.piacere.doml.doml.concrete.presentation.ConcreteModelWizardID">
+       </newWizardShortcut>
+       <newWizardShortcut
+             id="eu.piacere.doml.doml.infrastructure.presentation.InfrastructureModelWizardID">
+       </newWizardShortcut>
+       <newWizardShortcut
+             id="eu.piacere.doml.doml.optimization.presentation.OptimizationModelWizardID">
+       </newWizardShortcut>
+       <newWizardShortcut
+             id="eu.piacere.domlSpec.id">
+       </newWizardShortcut>
+    </perspectiveExtension>
+ </extension>
+   <extension
+         id="eu.piacere.piacereProjectNatureBuilder.id"
+         name="Piacere Project Builder"
+         point="org.eclipse.core.resources.builders">
+      <builder
+            hasNature="true">
+         <run
+               class="eu.piacere.piacereTool.piacereProjectNature.PiacereNatureBuilder">
+         </run>
+      </builder>
+   </extension>
+   <extension
+         id="eu.piacere.piacereProjectNature.id"
+         name="Piacere Project Nature"
+         point="org.eclipse.core.resources.natures">
+      <runtime>
+         <run
+               class="eu.piacere.piacereTool.piacereProjectNature.PiacereNature">
+         </run>
+      </runtime>
+      <builder
+            id="eu.piacere.piacereProjectNatureBuilder.id">
+      </builder>
+   </extension>
+   <extension
+         id="xmlProblem"
+         name="XML Problem"
+         point="org.eclipse.core.resources.markers">
+      <super
+            type="org.eclipse.core.resources.problemmarker">
+      </super>
+      <persistent
+            value="true">
+      </persistent>
+   </extension>
+   <extension
+         point="org.eclipse.ui.ide.projectNatureImages">
+      <image
+            icon="PiacereIcons/PiacereIcon_16x16.png"
+            id="eu.piacerepiacereProjectNature.piacereProjectNatureImage.id"
+            natureId="eu.piacere.piacereProjectNature.id">
+      </image>
+   </extension>
+   <extension
+		point="org.eclipse.ui.commands">
+		<category
+			id="eu.piacere.piacereModelsCommands.category.id"
+			name="Piacere Models Commands">
+		</category>
+      <category
+            id="eu.piacere.eclipseProjectNature.piacereNature.category.id"
+            name="Piacere Nature commands">
+      </category>
+      <command
+            categoryId="eu.piacere.eclipseProjectNature.piacereNature.category.id"
+            defaultHandler="eu.piacere.piacereTool.piacereProjectNature.AddRemovePiacereProjectNatureHandler"
+            id="eu.piacere.eclipseProjectNature.piacereNature.addRemovePiacereProjectNatureCommand.id"
+            name="Add Piacere Project Nature">
+      </command>
+      </extension>
+   
+   <extension point="org.eclipse.ui.menus">
+      <menuContribution allPopups="false" locationURI="popup:org.eclipse.ui.popup.any?after=additions">
+         <menu icon="PiacereIcons/PiacereIcon_16x16.png" id="eu.piacere.eclipsePopupMenu.id" label="Piacere">
+         </menu>
+      </menuContribution>
+      <menuContribution allPopups="false" locationURI="popup:eu.piacere.eclipsePopupMenu.id">
+      
+       <command
+               commandId="eu.piacere.eclipseProjectNature.piacereNature.addRemovePiacereProjectNatureCommand.id"
+               icon="PiacereIcons/PiacereIcon_24x24.png"
+               label="Convert To Piacere Project"
+               style="push"
+               tooltip="Converts the current project into a Piacere Project">
+            <visibleWhen checkEnabled="false">
+               <with variable="selection">
+                  <count value="1">
+                  </count>
+                  <iterate>
+                     <adapt type="org.eclipse.core.resources.IProject">
+                        <not>
+                           <test property="org.eclipse.core.resources.projectNature" value="eu.piacere.piacereProjectNature.id">
+                           </test>
+                        </not>
+                     </adapt>
+                  </iterate>
+               </with>
+            </visibleWhen>
+         </command>
+         </menuContribution>
+         </extension>
+   <extension
+         point="org.eclipse.ui.preferencePages">
+      <page
+            class="eu.piacere.piacereTool.prefPage.PreferencePage"
+            id="PiacereToolCustomization.preferences.page1"
+            name="Piacere">
+      </page>
+   </extension>
+</plugin>
diff --git a/Source Code/V2.0/PiacereToolCustomization/src/eu/piacere/piacereTool/domlSpec/NewDOMLSpecWizard.java b/Source Code/V2.0/PiacereToolCustomization/src/eu/piacere/piacereTool/domlSpec/NewDOMLSpecWizard.java
new file mode 100644
index 0000000000000000000000000000000000000000..ceb6ba8c95d15bfe0d7aa00060206a42e34a96b8
--- /dev/null
+++ b/Source Code/V2.0/PiacereToolCustomization/src/eu/piacere/piacereTool/domlSpec/NewDOMLSpecWizard.java	
@@ -0,0 +1,58 @@
+package eu.piacere.piacereTool.domlSpec;
+
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.wizard.Wizard;
+import org.eclipse.ui.INewWizard;
+import org.eclipse.ui.IWorkbench;
+import org.eclipse.ui.dialogs.WizardNewFileCreationPage;
+
+public class NewDOMLSpecWizard extends Wizard implements INewWizard {
+	
+	private WizardNewFileCreationPage _pageOne;
+	private IStructuredSelection sel;
+	public NewDOMLSpecWizard() {
+		setWindowTitle("New DOML Specification");
+	}
+
+	@Override
+	public void init(IWorkbench workbench, IStructuredSelection selection) {
+		this.sel=selection;
+
+	}
+
+	@Override
+	public boolean performFinish() {
+		_pageOne.createNewFile();
+		return true;
+	}
+	
+	
+	@Override
+	public void addPages() {
+	    super.addPages();
+	     
+	    _pageOne = new WizardNewFileCreationPage("New DOML Specification", this.sel);
+	    _pageOne.setTitle("New DOML Specification");
+	    _pageOne.setDescription("Create a new DOML Specification.");
+	    _pageOne.setFileExtension("doml");
+	 
+	    addPage(_pageOne);
+	}
+	
+	/**
+	 * @generated
+	 */
+	public String isValid(String newText) {
+		IStatus status = ResourcesPlugin.getWorkspace().validateName(newText, IResource.FILE);
+		if (!status.isOK()) {
+			return status.getMessage();
+		}
+		return null;
+	}
+
+	
+	
+}
diff --git a/Source Code/V2.0/PiacereToolCustomization/src/eu/piacere/piacereTool/piacerePerspective/PiacerePerspectiveFactory.java b/Source Code/V2.0/PiacereToolCustomization/src/eu/piacere/piacereTool/piacerePerspective/PiacerePerspectiveFactory.java
new file mode 100644
index 0000000000000000000000000000000000000000..d1facf44c97df7bd9dd24940013efdfee0b80055
--- /dev/null
+++ b/Source Code/V2.0/PiacereToolCustomization/src/eu/piacere/piacereTool/piacerePerspective/PiacerePerspectiveFactory.java	
@@ -0,0 +1,38 @@
+package eu.piacere.piacereTool.piacerePerspective;
+
+import org.eclipse.ui.IFolderLayout;
+import org.eclipse.ui.IPageLayout;
+import org.eclipse.ui.IPerspectiveFactory;
+
+public class PiacerePerspectiveFactory implements IPerspectiveFactory {
+
+	public static final String PIACERE_PERSPECTIVE_ID="eu.piacere.piacerePerspective.id";
+
+	@Override
+	public void createInitialLayout(IPageLayout layout) {
+
+		String editorArea = layout.getEditorArea();
+
+		IFolderLayout leftTop = layout.createFolder("leftTop", IPageLayout.LEFT, (float) 0.2, editorArea);
+		leftTop.addView(IPageLayout.ID_PROJECT_EXPLORER);
+
+		IFolderLayout leftBottom = layout.createFolder("leftBottom", IPageLayout.BOTTOM, (float) 0.7, "leftTop");
+		leftBottom.addView(IPageLayout.ID_OUTLINE);
+
+		IFolderLayout rightBottom = layout.createFolder("bottom", IPageLayout.BOTTOM, (float)0.7, editorArea);
+		//rightBottom.addView("TaTAmIAdaptationFramework.Tool.DashboardPart");
+		//rightBottom.addView("TaTAmIAdaptationFramework.Tool.FadaModelRepositoriesViewPart");
+		//rightBottom.addView("TaTAmIAdaptationFramework.Tool.FadaRuntimeInstancesRepositoriesViewPart");
+		rightBottom.addView(IPageLayout.ID_PROP_SHEET);
+
+		layout.addActionSet("org.eclipse.debug.ui.launchActionSet");
+
+		layout.addPerspectiveShortcut("org.eclipse.pde.ui.PDEPerspective");
+
+		layout.addShowViewShortcut("org.eclipse.ui.navigator.ProjectExplorer");
+		layout.addShowViewShortcut("org.eclipse.ui.views.ContentOutline");
+		layout.addShowViewShortcut("org.eclipse.ui.views.PropertySheet");
+		
+	}
+
+}
diff --git a/Source Code/V2.0/PiacereToolCustomization/src/eu/piacere/piacereTool/piacereProject/NewPiacereProjectWizard.java b/Source Code/V2.0/PiacereToolCustomization/src/eu/piacere/piacereTool/piacereProject/NewPiacereProjectWizard.java
new file mode 100755
index 0000000000000000000000000000000000000000..5f5d9b2bde6164fb8735cc3e2e898ce0c1e6d1ee
--- /dev/null
+++ b/Source Code/V2.0/PiacereToolCustomization/src/eu/piacere/piacereTool/piacereProject/NewPiacereProjectWizard.java	
@@ -0,0 +1,73 @@
+package eu.piacere.piacereTool.piacereProject;
+
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IProjectDescription;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.wizard.Wizard;
+import org.eclipse.ui.INewWizard;
+import org.eclipse.ui.IWorkbench;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.ui.WorkbenchException;
+import org.eclipse.ui.dialogs.WizardNewProjectCreationPage;
+
+import eu.piacere.piacereTool.piacerePerspective.PiacerePerspectiveFactory;
+import eu.piacere.piacereTool.piacereProjectNature.PiacereNature;
+
+public class NewPiacereProjectWizard extends Wizard implements INewWizard {
+
+	private WizardNewProjectCreationPage _pageOne;
+	
+
+	public NewPiacereProjectWizard() {
+		setWindowTitle("New Piacere Project");
+	}
+
+	@Override
+	public void init(IWorkbench workbench, IStructuredSelection selection) {
+
+	}
+
+	@Override
+	public boolean performFinish() {
+		IProject p =ResourcesPlugin.getWorkspace().getRoot().getProject(_pageOne.getProjectName());
+		try {
+			IProgressMonitor pm=new NullProgressMonitor();
+			p.create(pm);
+			p.open(pm);
+			IProjectDescription description = p.getDescription();
+			String[] natures = description.getNatureIds();
+			String[] newNatures = new String[natures.length + 1];
+			System.arraycopy(natures, 0, newNatures, 0, natures.length);
+			newNatures[natures.length] = PiacereNature.NATURE_ID;
+			description.setNatureIds(newNatures);
+			p.setDescription(description, null);
+			try 
+			{
+			   PlatformUI.getWorkbench().showPerspective(PiacerePerspectiveFactory.PIACERE_PERSPECTIVE_ID,PlatformUI.getWorkbench().getActiveWorkbenchWindow());
+			} 
+			catch (WorkbenchException e) 
+			{
+			   e.printStackTrace();
+			}
+		} catch (CoreException e) {
+			e.printStackTrace();
+		}
+		return true;
+	}
+	
+	@Override
+	public void addPages() {
+	    super.addPages();
+	 
+	    _pageOne = new WizardNewProjectCreationPage("New Piacere Project");
+	    _pageOne.setTitle("New Piacere Project");
+	    _pageOne.setDescription("Create a new Piacere Project.");
+	 
+	    addPage(_pageOne);
+	}
+
+}
diff --git a/Source Code/V2.0/PiacereToolCustomization/src/eu/piacere/piacereTool/piacereProjectNature/AddRemovePiacereProjectNatureHandler.java b/Source Code/V2.0/PiacereToolCustomization/src/eu/piacere/piacereTool/piacereProjectNature/AddRemovePiacereProjectNatureHandler.java
new file mode 100755
index 0000000000000000000000000000000000000000..eb223d797f43aef0c8dd77cb89e373e3220483aa
--- /dev/null
+++ b/Source Code/V2.0/PiacereToolCustomization/src/eu/piacere/piacereTool/piacereProjectNature/AddRemovePiacereProjectNatureHandler.java	
@@ -0,0 +1,76 @@
+package eu.piacere.piacereTool.piacereProjectNature;
+
+import java.util.Iterator;
+
+import org.eclipse.core.commands.AbstractHandler;
+import org.eclipse.core.commands.ExecutionEvent;
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IProjectDescription;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.ui.handlers.HandlerUtil;
+
+public class AddRemovePiacereProjectNatureHandler extends AbstractHandler {
+
+
+	public Object execute(ExecutionEvent event) throws ExecutionException {
+		ISelection selection = HandlerUtil.getCurrentSelection(event);
+		if (selection instanceof IStructuredSelection) {
+			for (Iterator<?> it = ((IStructuredSelection) selection).iterator(); it
+					.hasNext();) {
+				Object element = it.next();
+				IProject project = null;
+				if (element instanceof IProject) {
+					project = (IProject) element;
+				} else if (element instanceof IAdaptable) {
+					project = (IProject) ((IAdaptable) element)
+							.getAdapter(IProject.class);
+				}
+				if (project != null) {
+					try {
+						toggleNature(project);
+					} catch (CoreException e) {
+						throw new ExecutionException("Failed to toggle nature",
+								e);
+					}
+				}
+			}
+		}
+
+		return null;
+	}
+
+	/**
+	 * Toggles sample nature on a project
+	 *
+	 * @param project
+	 *            to have sample nature added or removed
+	 */
+	private void toggleNature(IProject project) throws CoreException {
+		IProjectDescription description = project.getDescription();
+		String[] natures = description.getNatureIds();
+
+		for (int i = 0; i < natures.length; ++i) {
+			if (PiacereNature.NATURE_ID.equals(natures[i])) {
+				// Remove the nature
+				String[] newNatures = new String[natures.length - 1];
+				System.arraycopy(natures, 0, newNatures, 0, i);
+				System.arraycopy(natures, i + 1, newNatures, i, natures.length - i - 1);
+				description.setNatureIds(newNatures);
+				project.setDescription(description, null);
+				return;
+			}
+		}
+
+		// Add the nature
+		String[] newNatures = new String[natures.length + 1];
+		System.arraycopy(natures, 0, newNatures, 0, natures.length);
+		newNatures[natures.length] = PiacereNature.NATURE_ID;
+		description.setNatureIds(newNatures);
+		project.setDescription(description, null);
+	}
+
+}
\ No newline at end of file
diff --git a/Source Code/V2.0/PiacereToolCustomization/src/eu/piacere/piacereTool/piacereProjectNature/PiacereNature.java b/Source Code/V2.0/PiacereToolCustomization/src/eu/piacere/piacereTool/piacereProjectNature/PiacereNature.java
new file mode 100755
index 0000000000000000000000000000000000000000..b87c114202d5e5265f23ff28464a10ece1a33728
--- /dev/null
+++ b/Source Code/V2.0/PiacereToolCustomization/src/eu/piacere/piacereTool/piacereProjectNature/PiacereNature.java	
@@ -0,0 +1,65 @@
+package eu.piacere.piacereTool.piacereProjectNature;
+
+import org.eclipse.core.resources.ICommand;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IProjectDescription;
+import org.eclipse.core.resources.IProjectNature;
+import org.eclipse.core.runtime.CoreException;
+
+public class PiacereNature implements IProjectNature {
+
+	/**
+	 * ID of this project nature
+	 */
+	public static final String NATURE_ID = "eu.piacere.piacereProjectNature.id";
+
+	private IProject project;
+
+	@Override
+	public void configure() throws CoreException {
+		IProjectDescription desc = project.getDescription();
+		ICommand[] commands = desc.getBuildSpec();
+
+		for (int i = 0; i < commands.length; ++i) {
+			if (commands[i].getBuilderName().equals(PiacereNatureBuilder.BUILDER_ID)) {
+				return;
+			}
+		}
+
+		ICommand[] newCommands = new ICommand[commands.length + 1];
+		System.arraycopy(commands, 0, newCommands, 0, commands.length);
+		ICommand command = desc.newCommand();
+		command.setBuilderName(PiacereNatureBuilder.BUILDER_ID);
+		newCommands[newCommands.length - 1] = command;
+		desc.setBuildSpec(newCommands);
+		project.setDescription(desc, null);
+	}
+
+	@Override
+	public void deconfigure() throws CoreException {
+		IProjectDescription description = getProject().getDescription();
+		ICommand[] commands = description.getBuildSpec();
+		for (int i = 0; i < commands.length; ++i) {
+			if (commands[i].getBuilderName().equals(PiacereNatureBuilder.BUILDER_ID)) {
+				ICommand[] newCommands = new ICommand[commands.length - 1];
+				System.arraycopy(commands, 0, newCommands, 0, i);
+				System.arraycopy(commands, i + 1, newCommands, i,
+						commands.length - i - 1);
+				description.setBuildSpec(newCommands);
+				project.setDescription(description, null);
+				return;
+			}
+		}
+	}
+
+	@Override
+	public IProject getProject() {
+		return project;
+	}
+
+	@Override
+	public void setProject(IProject project) {
+		this.project = project;
+	}
+
+}
diff --git a/Source Code/V2.0/PiacereToolCustomization/src/eu/piacere/piacereTool/piacereProjectNature/PiacereNatureBuilder.java b/Source Code/V2.0/PiacereToolCustomization/src/eu/piacere/piacereTool/piacereProjectNature/PiacereNatureBuilder.java
new file mode 100755
index 0000000000000000000000000000000000000000..8f93065f24ead0c3cb24e9b25cfd8fcbf8969af8
--- /dev/null
+++ b/Source Code/V2.0/PiacereToolCustomization/src/eu/piacere/piacereTool/piacereProjectNature/PiacereNatureBuilder.java	
@@ -0,0 +1,158 @@
+package eu.piacere.piacereTool.piacereProjectNature;
+
+import java.util.Map;
+
+import javax.xml.parsers.ParserConfigurationException;
+import javax.xml.parsers.SAXParser;
+import javax.xml.parsers.SAXParserFactory;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IMarker;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.IResourceDelta;
+import org.eclipse.core.resources.IResourceDeltaVisitor;
+import org.eclipse.core.resources.IResourceVisitor;
+import org.eclipse.core.resources.IncrementalProjectBuilder;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.xml.sax.SAXException;
+import org.xml.sax.SAXParseException;
+import org.xml.sax.helpers.DefaultHandler;
+
+public class PiacereNatureBuilder extends IncrementalProjectBuilder {
+
+	class SampleDeltaVisitor implements IResourceDeltaVisitor {
+		@Override
+		public boolean visit(IResourceDelta delta) throws CoreException {
+			IResource resource = delta.getResource();
+			switch (delta.getKind()) {
+			case IResourceDelta.ADDED:
+				checkXML(resource);
+				break;
+			case IResourceDelta.REMOVED:
+				break;
+			case IResourceDelta.CHANGED:
+				checkXML(resource);
+				break;
+			}
+			return true;
+		}
+	}
+
+	class SampleResourceVisitor implements IResourceVisitor {
+		public boolean visit(IResource resource) {
+			checkXML(resource);
+			return true;
+		}
+	}
+
+	class XMLErrorHandler extends DefaultHandler {
+		
+		private IFile file;
+
+		public XMLErrorHandler(IFile file) {
+			this.file = file;
+		}
+
+		private void addMarker(SAXParseException e, int severity) {
+			PiacereNatureBuilder.this.addMarker(file, e.getMessage(), e
+					.getLineNumber(), severity);
+		}
+
+		public void error(SAXParseException exception) throws SAXException {
+			addMarker(exception, IMarker.SEVERITY_ERROR);
+		}
+
+		public void fatalError(SAXParseException exception) throws SAXException {
+			addMarker(exception, IMarker.SEVERITY_ERROR);
+		}
+
+		public void warning(SAXParseException exception) throws SAXException {
+			addMarker(exception, IMarker.SEVERITY_WARNING);
+		}
+	}
+
+	public static final String BUILDER_ID = "es.upv.pros.tatami.autonomic.adaptation.tatamiProjectNatureBuilder.id";
+
+	private static final String MARKER_TYPE = "test.xmlProblem";
+
+	private SAXParserFactory parserFactory;
+
+	private void addMarker(IFile file, String message, int lineNumber,
+			int severity) {
+		try {
+			IMarker marker = file.createMarker(MARKER_TYPE);
+			marker.setAttribute(IMarker.MESSAGE, message);
+			marker.setAttribute(IMarker.SEVERITY, severity);
+			if (lineNumber == -1) {
+				lineNumber = 1;
+			}
+			marker.setAttribute(IMarker.LINE_NUMBER, lineNumber);
+		} catch (CoreException e) {
+		}
+	}
+
+	@Override
+	@SuppressWarnings("rawtypes") 
+	protected IProject[] build(int kind, Map args, IProgressMonitor monitor)
+			throws CoreException {
+		if (kind == FULL_BUILD) {
+			fullBuild(monitor);
+		} else {
+			IResourceDelta delta = getDelta(getProject());
+			if (delta == null) {
+				fullBuild(monitor);
+			} else {
+				incrementalBuild(delta, monitor);
+			}
+		}
+		return null;
+	}
+
+	protected void clean(IProgressMonitor monitor) throws CoreException {
+		// delete markers set and files created
+		getProject().deleteMarkers(MARKER_TYPE, true, IResource.DEPTH_INFINITE);
+	}
+
+	void checkXML(IResource resource) {
+		if (resource instanceof IFile && resource.getName().endsWith(".xml")) {
+			IFile file = (IFile) resource;
+			deleteMarkers(file);
+			XMLErrorHandler reporter = new XMLErrorHandler(file);
+			try {
+				getParser().parse(file.getContents(), reporter);
+			} catch (Exception e1) {
+			}
+		}
+	}
+
+	private void deleteMarkers(IFile file) {
+		try {
+			file.deleteMarkers(MARKER_TYPE, false, IResource.DEPTH_ZERO);
+		} catch (CoreException ce) {
+		}
+	}
+
+	protected void fullBuild(final IProgressMonitor monitor)
+			throws CoreException {
+		try {
+			getProject().accept(new SampleResourceVisitor());
+		} catch (CoreException e) {
+		}
+	}
+
+	private SAXParser getParser() throws ParserConfigurationException,
+			SAXException {
+		if (parserFactory == null) {
+			parserFactory = SAXParserFactory.newInstance();
+		}
+		return parserFactory.newSAXParser();
+	}
+
+	protected void incrementalBuild(IResourceDelta delta,
+			IProgressMonitor monitor) throws CoreException {
+		// the visitor does the work.
+		delta.accept(new SampleDeltaVisitor());
+	}
+}
diff --git a/Source Code/V2.0/PiacereToolCustomization/src/eu/piacere/piacereTool/prefPage/PreferencePage.java b/Source Code/V2.0/PiacereToolCustomization/src/eu/piacere/piacereTool/prefPage/PreferencePage.java
new file mode 100644
index 0000000000000000000000000000000000000000..80fe2e42437a08f0af9c39861124dd72b873ec99
--- /dev/null
+++ b/Source Code/V2.0/PiacereToolCustomization/src/eu/piacere/piacereTool/prefPage/PreferencePage.java	
@@ -0,0 +1,41 @@
+package eu.piacere.piacereTool.prefPage;
+
+import org.eclipse.jface.preference.FieldEditorPreferencePage;
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.ui.IWorkbench;
+import org.eclipse.ui.IWorkbenchPreferencePage;
+
+public class PreferencePage extends FieldEditorPreferencePage implements IWorkbenchPreferencePage {
+
+	public PreferencePage() {
+		// TODO Auto-generated constructor stub
+	}
+
+	public PreferencePage(int style) {
+		super(style);
+		// TODO Auto-generated constructor stub
+	}
+
+	public PreferencePage(String title, int style) {
+		super(title, style);
+		// TODO Auto-generated constructor stub
+	}
+
+	public PreferencePage(String title, ImageDescriptor image, int style) {
+		super(title, image, style);
+		// TODO Auto-generated constructor stub
+	}
+
+	@Override
+	public void init(IWorkbench workbench) {
+		// TODO Auto-generated method stub
+
+	}
+
+	@Override
+	protected void createFieldEditors() {
+		// TODO Auto-generated method stub
+
+	}
+
+}
diff --git a/Source Code/V2.0/PiacereToolExtensions/.classpath b/Source Code/V2.0/PiacereToolExtensions/.classpath
new file mode 100644
index 0000000000000000000000000000000000000000..e801ebfb4680123285c15553dc70584276fe0057
--- /dev/null
+++ b/Source Code/V2.0/PiacereToolExtensions/.classpath	
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-11"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/Source Code/V2.0/PiacereToolExtensions/.project b/Source Code/V2.0/PiacereToolExtensions/.project
new file mode 100644
index 0000000000000000000000000000000000000000..b32ede71e198c52fec6408d5ae56f73e66df600d
--- /dev/null
+++ b/Source Code/V2.0/PiacereToolExtensions/.project	
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>PiacereToolExtensions</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
diff --git a/Source Code/V2.0/PiacereToolExtensions/.settings/org.eclipse.jdt.core.prefs b/Source Code/V2.0/PiacereToolExtensions/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000000000000000000000000000000000000..c9545f06a4120d5b4a1228fb19f67a1171bc0f5b
--- /dev/null
+++ b/Source Code/V2.0/PiacereToolExtensions/.settings/org.eclipse.jdt.core.prefs	
@@ -0,0 +1,9 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=11
+org.eclipse.jdt.core.compiler.compliance=11
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
+org.eclipse.jdt.core.compiler.release=enabled
+org.eclipse.jdt.core.compiler.source=11
diff --git a/Source Code/V2.0/PiacereToolExtensions/META-INF/MANIFEST.MF b/Source Code/V2.0/PiacereToolExtensions/META-INF/MANIFEST.MF
new file mode 100644
index 0000000000000000000000000000000000000000..7a28d1010fee04b7da2e2a3dcdedbb5519c0eb42
--- /dev/null
+++ b/Source Code/V2.0/PiacereToolExtensions/META-INF/MANIFEST.MF	
@@ -0,0 +1,57 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: PiacereToolExtensions
+Bundle-SymbolicName: PiacereToolExtensions;singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Bundle-Vendor: TaTAmI
+Automatic-Module-Name: PiacereToolExtensions
+Import-Package: eu.piacere.doml.doml.commons,
+ org.apache.commons.io;version="2.8.0",
+ org.apache.logging.log4j,
+ org.eclipse.core.internal.resources,
+ org.eclipse.core.resources,
+ org.eclipse.core.runtime,
+ org.eclipse.core.runtime.preferences,
+ org.eclipse.emf.common.command,
+ org.eclipse.emf.common.util,
+ org.eclipse.emf.compare,
+ org.eclipse.emf.ecore,
+ org.eclipse.emf.ecore.resource,
+ org.eclipse.emf.ecore.resource.impl,
+ org.eclipse.emf.ecore.util,
+ org.eclipse.emf.ecore.xmi,
+ org.eclipse.emf.ecore.xmi.impl,
+ org.eclipse.emf.edit.command,
+ org.eclipse.emf.edit.domain,
+ org.eclipse.emf.transaction,
+ org.eclipse.emf.transaction.util,
+ org.eclipse.gef,
+ org.eclipse.gef.editparts,
+ org.eclipse.gmf.runtime.diagram.ui.editparts,
+ org.eclipse.gmf.runtime.diagram.ui.editpolicies,
+ org.eclipse.gmf.runtime.emf.core,
+ org.eclipse.gmf.runtime.notation,
+ org.eclipse.gmf.runtime.notation.impl,
+ org.eclipse.jdt.core,
+ org.eclipse.jdt.launching,
+ org.eclipse.jface.action,
+ org.eclipse.jface.dialogs,
+ org.eclipse.jface.viewers,
+ org.eclipse.jface.window,
+ org.eclipse.jface.wizard,
+ org.eclipse.osgi.util,
+ org.eclipse.swt.widgets,
+ org.eclipse.ui,
+ org.eclipse.ui.dialogs,
+ org.eclipse.ui.internal.navigator.actions,
+ org.eclipse.ui.internal.navigator.resources.actions,
+ org.eclipse.ui.internal.navigator.workingsets,
+ org.eclipse.ui.navigator,
+ org.eclipse.ui.navigator.resources,
+ org.json,
+ org.osgi.framework;version="1.8.0"
+Require-Bundle: org.eclipse.ui,
+ org.eclipse.ui.workbench,
+ org.eclipse.equinox.app,
+ org.eclipse.core.expressions
+Export-Package: eu.piacere.piacereTool.utils
diff --git a/Source Code/V2.0/PiacereToolExtensions/Piacere/PiacereIcon_16x16.png b/Source Code/V2.0/PiacereToolExtensions/Piacere/PiacereIcon_16x16.png
new file mode 100644
index 0000000000000000000000000000000000000000..444de54d6cfe2958fac1bbb89dd8619b4c537c47
Binary files /dev/null and b/Source Code/V2.0/PiacereToolExtensions/Piacere/PiacereIcon_16x16.png differ
diff --git a/Source Code/V2.0/PiacereToolExtensions/bin/eu/piacere/piacereTool/commandHandlers/GenerateDOMLXfromDOMLCommandHandler.class b/Source Code/V2.0/PiacereToolExtensions/bin/eu/piacere/piacereTool/commandHandlers/GenerateDOMLXfromDOMLCommandHandler.class
new file mode 100644
index 0000000000000000000000000000000000000000..52b12215a1be55effc52c9ffd73baeaef8e0e39b
Binary files /dev/null and b/Source Code/V2.0/PiacereToolExtensions/bin/eu/piacere/piacereTool/commandHandlers/GenerateDOMLXfromDOMLCommandHandler.class differ
diff --git a/Source Code/V2.0/PiacereToolExtensions/bin/eu/piacere/piacereTool/commandHandlers/GenerateDOMLfromDOMLXCommandHandler.class b/Source Code/V2.0/PiacereToolExtensions/bin/eu/piacere/piacereTool/commandHandlers/GenerateDOMLfromDOMLXCommandHandler.class
new file mode 100644
index 0000000000000000000000000000000000000000..ec4bbbc0d9d78cb5cf31f1a3a5fa05d983bfbbbd
Binary files /dev/null and b/Source Code/V2.0/PiacereToolExtensions/bin/eu/piacere/piacereTool/commandHandlers/GenerateDOMLfromDOMLXCommandHandler.class differ
diff --git a/Source Code/V2.0/PiacereToolExtensions/bin/eu/piacere/piacereTool/dialogs/GetAppDialog$1.class b/Source Code/V2.0/PiacereToolExtensions/bin/eu/piacere/piacereTool/dialogs/GetAppDialog$1.class
new file mode 100644
index 0000000000000000000000000000000000000000..c333d34ab25085abf9d204a4a2276956a7e53cd4
Binary files /dev/null and b/Source Code/V2.0/PiacereToolExtensions/bin/eu/piacere/piacereTool/dialogs/GetAppDialog$1.class differ
diff --git a/Source Code/V2.0/PiacereToolExtensions/bin/eu/piacere/piacereTool/dialogs/GetAppDialog$2.class b/Source Code/V2.0/PiacereToolExtensions/bin/eu/piacere/piacereTool/dialogs/GetAppDialog$2.class
new file mode 100644
index 0000000000000000000000000000000000000000..e2cf587d8706212268473d0e3b4abb7c699e8811
Binary files /dev/null and b/Source Code/V2.0/PiacereToolExtensions/bin/eu/piacere/piacereTool/dialogs/GetAppDialog$2.class differ
diff --git a/Source Code/V2.0/PiacereToolExtensions/bin/eu/piacere/piacereTool/dialogs/GetAppDialog.class b/Source Code/V2.0/PiacereToolExtensions/bin/eu/piacere/piacereTool/dialogs/GetAppDialog.class
new file mode 100644
index 0000000000000000000000000000000000000000..e8e96efcf5457e319b4fe92899338e0522fb2f4c
Binary files /dev/null and b/Source Code/V2.0/PiacereToolExtensions/bin/eu/piacere/piacereTool/dialogs/GetAppDialog.class differ
diff --git a/Source Code/V2.0/PiacereToolExtensions/bin/eu/piacere/piacereTool/dialogs/GetNameVersionDialog$1.class b/Source Code/V2.0/PiacereToolExtensions/bin/eu/piacere/piacereTool/dialogs/GetNameVersionDialog$1.class
new file mode 100644
index 0000000000000000000000000000000000000000..b78d762ac82766e99bdae52c4e307d8213ff16bc
Binary files /dev/null and b/Source Code/V2.0/PiacereToolExtensions/bin/eu/piacere/piacereTool/dialogs/GetNameVersionDialog$1.class differ
diff --git a/Source Code/V2.0/PiacereToolExtensions/bin/eu/piacere/piacereTool/dialogs/GetNameVersionDialog.class b/Source Code/V2.0/PiacereToolExtensions/bin/eu/piacere/piacereTool/dialogs/GetNameVersionDialog.class
new file mode 100644
index 0000000000000000000000000000000000000000..18ca9a8c247a4a38ba345facdbffcaf19a577e57
Binary files /dev/null and b/Source Code/V2.0/PiacereToolExtensions/bin/eu/piacere/piacereTool/dialogs/GetNameVersionDialog.class differ
diff --git a/Source Code/V2.0/PiacereToolExtensions/bin/eu/piacere/piacereTool/propertyTesters/ExtensionPropertyTester.class b/Source Code/V2.0/PiacereToolExtensions/bin/eu/piacere/piacereTool/propertyTesters/ExtensionPropertyTester.class
new file mode 100644
index 0000000000000000000000000000000000000000..a1b420407fda8a93a8e5e174efecfaba757334c0
Binary files /dev/null and b/Source Code/V2.0/PiacereToolExtensions/bin/eu/piacere/piacereTool/propertyTesters/ExtensionPropertyTester.class differ
diff --git a/Source Code/V2.0/PiacereToolExtensions/bin/eu/piacere/piacereTool/utils/FileUtils.class b/Source Code/V2.0/PiacereToolExtensions/bin/eu/piacere/piacereTool/utils/FileUtils.class
new file mode 100644
index 0000000000000000000000000000000000000000..6507777d314837051fa55104c27d8d69eed22826
Binary files /dev/null and b/Source Code/V2.0/PiacereToolExtensions/bin/eu/piacere/piacereTool/utils/FileUtils.class differ
diff --git a/Source Code/V2.0/PiacereToolExtensions/bin/eu/piacere/piacereTool/utils/ModelUtils.class b/Source Code/V2.0/PiacereToolExtensions/bin/eu/piacere/piacereTool/utils/ModelUtils.class
new file mode 100644
index 0000000000000000000000000000000000000000..a4a29ef2bef3efa7894ba5643cce01faf91648c3
Binary files /dev/null and b/Source Code/V2.0/PiacereToolExtensions/bin/eu/piacere/piacereTool/utils/ModelUtils.class differ
diff --git a/Source Code/V2.0/PiacereToolExtensions/bin/eu/piacere/piacereTool/utils/PluginUtils.class b/Source Code/V2.0/PiacereToolExtensions/bin/eu/piacere/piacereTool/utils/PluginUtils.class
new file mode 100644
index 0000000000000000000000000000000000000000..5b767fc5781de398f161b911b8d5bc17117ad54f
Binary files /dev/null and b/Source Code/V2.0/PiacereToolExtensions/bin/eu/piacere/piacereTool/utils/PluginUtils.class differ
diff --git a/Source Code/V2.0/PiacereToolExtensions/bin/eu/piacere/piacereTool/utils/ResourceUtils.class b/Source Code/V2.0/PiacereToolExtensions/bin/eu/piacere/piacereTool/utils/ResourceUtils.class
new file mode 100644
index 0000000000000000000000000000000000000000..02ad75718d0c11fb86eeb49b523284e0b4c3ef4f
Binary files /dev/null and b/Source Code/V2.0/PiacereToolExtensions/bin/eu/piacere/piacereTool/utils/ResourceUtils.class differ
diff --git a/Source Code/V2.0/PiacereToolExtensions/bin/eu/piacere/piacereTool/utils/ToolCustomizationUtils.class b/Source Code/V2.0/PiacereToolExtensions/bin/eu/piacere/piacereTool/utils/ToolCustomizationUtils.class
new file mode 100644
index 0000000000000000000000000000000000000000..49ba8f421fa8da56b970ce3e40cd7ef4ece9989a
Binary files /dev/null and b/Source Code/V2.0/PiacereToolExtensions/bin/eu/piacere/piacereTool/utils/ToolCustomizationUtils.class differ
diff --git a/Source Code/V2.0/PiacereToolExtensions/build.properties b/Source Code/V2.0/PiacereToolExtensions/build.properties
new file mode 100644
index 0000000000000000000000000000000000000000..52086a7c305694aa678bde0640768488a5cf8e4f
--- /dev/null
+++ b/Source Code/V2.0/PiacereToolExtensions/build.properties	
@@ -0,0 +1,6 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+               .,\
+               plugin.xml,\
+               Piacere/
diff --git a/Source Code/V2.0/PiacereToolExtensions/plugin.xml b/Source Code/V2.0/PiacereToolExtensions/plugin.xml
new file mode 100644
index 0000000000000000000000000000000000000000..3a52c6e51b984214292a65ffe155c765878a422f
--- /dev/null
+++ b/Source Code/V2.0/PiacereToolExtensions/plugin.xml	
@@ -0,0 +1,162 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+<plugin>
+	<extension
+		point="org.eclipse.ui.commands">
+		<command
+			categoryId="eu.piacere.piacereModelsCommands.category.id"
+			defaultHandler="eu.piacere.piacereTool.commandHandlers.GenerateDOMLXfromDOMLCommandHandler"
+			id="eu.piacere.piacereModelsCommands.generateDOMLXCommand.id"
+			name="Generate DOMLX Model">
+		</command>
+		<command
+			categoryId="eu.piacere.piacereModelsCommands.category.id"
+			defaultHandler="eu.piacere.piacereTool.commandHandlers.GenerateDOMLfromDOMLXCommandHandler"
+			id="eu.piacere.piacereModelsCommands.generateDOMLCommand.id"
+			name="Generate DOML Model">
+		</command>
+	</extension>
+
+	<extension point="org.eclipse.ui.menus">
+		<menuContribution allPopups="false" locationURI="popup:eu.piacere.eclipsePopupMenu.id">
+			<command
+				commandId="eu.piacere.piacereModelsCommands.generateDOMLXCommand.id"
+				icon="Piacere/PiacereIcon_16x16.png"
+				label="Generate DOMLX Model"
+				style="push"
+				tooltip="Generates a DOMLX Model From a DOML specification">
+				<visibleWhen checkEnabled="false">
+					<reference
+						definitionId="eu.piacere.piacereTool.propertyTesters.extensionPropertyTester.isDOMLModel.id">
+					</reference>
+				</visibleWhen>
+			</command>
+		</menuContribution>
+		<menuContribution allPopups="false" locationURI="popup:eu.piacere.eclipsePopupMenu.id">
+			<command
+				commandId="eu.piacere.piacereModelsCommands.generateDOMLCommand.id"
+				icon="Piacere/PiacereIcon_16x16.png"
+				label="Generate DOML Model"
+				style="push"
+				tooltip="Generates a DOML Specification From a DOMLX model">
+				<visibleWhen checkEnabled="false">
+					<reference
+						definitionId="eu.piacere.piacereTool.propertyTesters.extensionPropertyTester.isDOMLXModel.id">
+					</reference>
+				</visibleWhen>
+			</command>
+		</menuContribution>
+	</extension>
+
+	<extension point="org.eclipse.core.expressions.propertyTesters">
+		<propertyTester
+			class="eu.piacere.piacereTool.propertyTesters.ExtensionPropertyTester"
+			id="eu.piacere.piacereTool.propertyTesters.ExtensionPropertyTester.id"
+			namespace="eu.piacere.piacereTool.propertyTesters.extensionPropertyTester"
+			properties="isDOMLModel, isDOMLXModel, isDOMLJModel, isTarGz"
+			type="java.lang.Object">
+		</propertyTester>
+	</extension>
+
+	<extension point="org.eclipse.core.expressions.definitions">
+		<definition id="eu.piacere.piacereTool.propertyTesters.extensionPropertyTester.isDOMLModel.id">
+				<with variable="activeMenuSelection">
+					<iterate ifEmpty="false">
+						<adapt type="org.eclipse.core.resources.IResource">
+							<test property="org.eclipse.core.resources.extension" value="doml" />
+						</adapt>
+					</iterate>
+				</with>
+		</definition>
+		<definition id="eu.piacere.piacereTool.propertyTesters.extensionPropertyTester.isDOMLXModel.id">
+				<with variable="activeMenuSelection">
+					<iterate ifEmpty="false">
+						<adapt type="org.eclipse.core.resources.IResource">
+							<test property="org.eclipse.core.resources.extension" value="domlx" />
+						</adapt>
+					</iterate>
+				</with>
+		</definition>
+  <definition
+        id="eu.piacere.piacereTool.propertyTesters.extensionPropertyTester.isDOMLJModel.id">
+     <with
+           variable="activeMenuSelection">
+        <iterate
+              ifEmpty="false">
+           <adapt
+                 type="org.eclipse.core.resources.IResource">
+              <test
+                    property="org.eclipse.core.resources.extension"
+                    value="domlj">
+              </test>
+           </adapt>
+        </iterate>
+     </with>
+  </definition>
+  <definition
+        id="eu.piacere.piacereTool.propertyTesters.extensionPropertyTester.isTarGz.id">
+     <with
+           variable="activeMenuSelection">
+        <iterate
+              ifEmpty="false">
+           <adapt
+                 type="org.eclipse.core.resources.IResource">
+              <test
+                    property="org.eclipse.core.resources.extension"
+                    value="gz">
+              </test>
+           </adapt>
+        </iterate>
+     </with>
+  </definition>
+  <definition
+        id="eu.piacere.piacereTool.propertyTesters.extensionPropertyTester.isZip.id">
+     <with
+           variable="activeMenuSelection">
+        <iterate
+              ifEmpty="false">
+           <adapt
+                 type="org.eclipse.core.resources.IResource">
+              <test
+                    property="org.eclipse.core.resources.extension"
+                    value="zip">
+              </test>
+           </adapt>
+        </iterate>
+     </with>
+  </definition>
+  <definition
+        id="eu.piacere.piacereTool.propertyTesters.extensionPropertyTester.isCSAR.id">
+     <with
+           variable="activeMenuSelection">
+        <iterate
+              ifEmpty="false">
+           <adapt
+                 type="org.eclipse.core.resources.IResource">
+              <test
+                    property="org.eclipse.core.resources.extension"
+                    value="casr">
+              </test>
+           </adapt>
+        </iterate>
+     </with>
+  </definition>
+  
+  <definition
+        id="eu.piacere.piacereTool.propertyTesters.extensionPropertyTester.isJSON.id">
+     <with
+           variable="activeMenuSelection">
+        <iterate
+              ifEmpty="false">
+           <adapt
+                 type="org.eclipse.core.resources.IResource">
+              <test
+                    property="org.eclipse.core.resources.extension"
+                    value="json">
+              </test>
+           </adapt>
+        </iterate>
+     </with>
+  </definition>
+	</extension>
+</plugin>
diff --git a/Source Code/V2.0/PiacereToolExtensions/src/eu/piacere/piacereTool/commandHandlers/GenerateDOMLXfromDOMLCommandHandler.java b/Source Code/V2.0/PiacereToolExtensions/src/eu/piacere/piacereTool/commandHandlers/GenerateDOMLXfromDOMLCommandHandler.java
new file mode 100644
index 0000000000000000000000000000000000000000..91217e9c0de2f8447a783e445d0daafa1485d497
--- /dev/null
+++ b/Source Code/V2.0/PiacereToolExtensions/src/eu/piacere/piacereTool/commandHandlers/GenerateDOMLXfromDOMLCommandHandler.java	
@@ -0,0 +1,84 @@
+package eu.piacere.piacereTool.commandHandlers;
+
+import java.io.IOException;
+
+import org.eclipse.core.commands.AbstractHandler;
+import org.eclipse.core.commands.ExecutionEvent;
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.resources.IContainer;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.jface.dialogs.ProgressMonitorDialog;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.ui.handlers.HandlerUtil;
+
+import eu.piacere.doml.doml.commons.DOMLModel;
+import eu.piacere.piacereTool.utils.ToolCustomizationUtils;
+
+public class GenerateDOMLXfromDOMLCommandHandler extends AbstractHandler{
+
+	
+	@Override
+	public Object execute(ExecutionEvent event) throws ExecutionException {
+		ToolCustomizationUtils.saveWorkbench();
+		ISelection selection = HandlerUtil.getCurrentSelection(event);
+		if (selection instanceof StructuredSelection) {
+			if(((StructuredSelection)selection).getFirstElement() instanceof IFile){
+				IFile res = (IFile)((StructuredSelection) selection).getFirstElement();
+				ResourceSet rs = new ResourceSetImpl();
+				Resource r = rs.getResource(URI.createURI(res.getLocationURI().toString()), true);
+				try {
+					r.load(null);
+				} catch (IOException e) {
+					e.printStackTrace();
+				}
+				DOMLModel theDOMLModel = (DOMLModel) r.getContents().get(0);
+				String domlModelName=ToolCustomizationUtils.getDOMLModelName();
+				try {
+					save(theDOMLModel, domlModelName, rs, res);
+				} catch (IOException | CoreException e) {
+					e.printStackTrace();
+				}
+			}
+		}
+		return null;
+	}
+	
+	private void save(DOMLModel theDOMLModel, String domlModelName, ResourceSet rs, IFile modelFile) throws IOException, CoreException {
+		IContainer project = modelFile.getParent();
+		if(project.findMember(domlModelName+".domlx")!=null){
+			if(ToolCustomizationUtils.showQuestionDialog("Overwrite", "\""+domlModelName+"\" DOML Model already exists.\nDou you want to overwrite it?")){
+				
+					project.getFile(new Path(domlModelName+".domlx")).delete(true, null);
+				
+			}
+			else{
+				return;
+			}
+		}
+		ProgressMonitorDialog pd=new ProgressMonitorDialog(ToolCustomizationUtils.getActiveShell());
+		try {
+		pd.open();
+		IFile target = project.getFile(new Path(domlModelName+".domlx"));
+		Resource targetRes = rs.createResource(URI.createURI(target.getLocationURI().toString()));
+		targetRes.getContents().add(EcoreUtil.copy(theDOMLModel));
+		targetRes.save(null);
+		pd.close();
+		ToolCustomizationUtils.showInformationDialog("Generator Result", "Your \""+domlModelName+"\" DOML Model has been generated succesfully.");
+		
+			project.refreshLocal(IResource.DEPTH_INFINITE, null);
+		} catch (Exception e) {
+			pd.close();
+			ToolCustomizationUtils.showErrorDialog("Error Generating DOMLX Model", "There was an error generating the DOMLX model:\n\n"+e.getMessage());
+			e.printStackTrace();
+		}
+	}
+}
diff --git a/Source Code/V2.0/PiacereToolExtensions/src/eu/piacere/piacereTool/commandHandlers/GenerateDOMLfromDOMLXCommandHandler.java b/Source Code/V2.0/PiacereToolExtensions/src/eu/piacere/piacereTool/commandHandlers/GenerateDOMLfromDOMLXCommandHandler.java
new file mode 100644
index 0000000000000000000000000000000000000000..ed2119dcf8969b0d657b040699a4ece54b49b670
--- /dev/null
+++ b/Source Code/V2.0/PiacereToolExtensions/src/eu/piacere/piacereTool/commandHandlers/GenerateDOMLfromDOMLXCommandHandler.java	
@@ -0,0 +1,84 @@
+package eu.piacere.piacereTool.commandHandlers;
+
+import java.io.IOException;
+
+import org.eclipse.core.commands.AbstractHandler;
+import org.eclipse.core.commands.ExecutionEvent;
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.resources.IContainer;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.jface.dialogs.ProgressMonitorDialog;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.ui.handlers.HandlerUtil;
+
+import eu.piacere.doml.doml.commons.DOMLModel;
+import eu.piacere.piacereTool.utils.ToolCustomizationUtils;
+
+public class GenerateDOMLfromDOMLXCommandHandler extends AbstractHandler{
+
+	@Override
+	public Object execute(ExecutionEvent event) throws ExecutionException {
+		ToolCustomizationUtils.saveWorkbench();
+		ISelection selection = HandlerUtil.getCurrentSelection(event);
+		if (selection instanceof StructuredSelection) {
+			if(((StructuredSelection)selection).getFirstElement() instanceof IFile){
+				IFile res = (IFile)((StructuredSelection) selection).getFirstElement();
+				ResourceSet rs = new ResourceSetImpl();
+				Resource r = rs.getResource(URI.createURI(res.getLocationURI().toString()), true);
+				try {
+					r.load(null);
+				} catch (IOException e) {
+					e.printStackTrace();
+				}
+				DOMLModel theDOMLModel = (DOMLModel) r.getContents().get(0);
+				String domlModelName=ToolCustomizationUtils.getDOMLModelName();
+				try {
+					save(theDOMLModel, domlModelName, rs, res);
+				} catch (IOException | CoreException e) {
+					e.printStackTrace();
+				}
+			}
+		}
+		return null;
+	}
+
+	private void save(DOMLModel theDOMLModel, String domlModelName, ResourceSet rs, IFile modelFile) throws IOException, CoreException {
+		IContainer modelFileContainer=modelFile.getParent();
+		if(modelFile.getParent().findMember(domlModelName+".doml")!=null){
+			if(ToolCustomizationUtils.showQuestionDialog("Overwrite", "\""+domlModelName+"\" DOML Specification already exists.\nDou you want to overwrite it?")){
+				modelFile.delete(true, null);
+			}
+			else{
+				return;
+			}
+		}
+		ProgressMonitorDialog pd=new ProgressMonitorDialog(ToolCustomizationUtils.getActiveShell());
+		try {
+			
+			pd.open();
+			IFile target = modelFileContainer.getFile(new Path(domlModelName+".doml"));
+			Resource targetRes = rs.createResource(URI.createURI(target.getLocationURI().toString()));
+			targetRes.getContents().add(EcoreUtil.copy(theDOMLModel));
+			targetRes.save(null);
+			pd.close();
+			ToolCustomizationUtils.showInformationDialog("Generator Result", "Your \""+domlModelName+"\" DOML Specification has been generated succesfully.");
+
+			modelFileContainer.refreshLocal(IResource.DEPTH_INFINITE, null);
+		} catch (Exception e) {
+			pd.close();
+			ToolCustomizationUtils.showErrorDialog("Error Generating DOML", "There was ana error generating the .doml file:\n\n"+e.getMessage());
+			e.printStackTrace();
+		}
+	}
+}
diff --git a/Source Code/V2.0/PiacereToolExtensions/src/eu/piacere/piacereTool/dialogs/GetAppDialog.java b/Source Code/V2.0/PiacereToolExtensions/src/eu/piacere/piacereTool/dialogs/GetAppDialog.java
new file mode 100644
index 0000000000000000000000000000000000000000..48bb543ef2ae92d8b2c52106ee2eb5451ff0d428
--- /dev/null
+++ b/Source Code/V2.0/PiacereToolExtensions/src/eu/piacere/piacereTool/dialogs/GetAppDialog.java	
@@ -0,0 +1,157 @@
+package eu.piacere.piacereTool.dialogs;
+
+import java.util.ArrayList;
+
+import org.eclipse.jface.dialogs.IDialogConstants;
+import org.eclipse.jface.dialogs.IMessageProvider;
+import org.eclipse.jface.dialogs.TitleAreaDialog;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.ModifyEvent;
+import org.eclipse.swt.events.ModifyListener;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Combo;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.swt.widgets.Text;
+
+
+public class GetAppDialog extends TitleAreaDialog {
+
+	private Combo comboSelectExistant;
+	private Text textProvideNew;
+
+	private String selection;
+	private String newProvided;
+	private ArrayList<String>elementsToSelect;
+	private String newItemMessage;
+	private String title;
+	private String message;
+	private Label lblText;
+
+	public GetAppDialog(Shell parentShell, String title, String message, ArrayList<String> elementsToSelect, String newItemMessage) {
+		super(parentShell);
+		this.newItemMessage = newItemMessage;
+		this.title = title;
+		this.message = message;
+		this.elementsToSelect = elementsToSelect;
+		this.elementsToSelect.add("- " + newItemMessage+" -");
+
+	}
+
+	@Override
+	public void create() {
+		super.create();
+		setTitle(title);
+		setMessage(message, IMessageProvider.INFORMATION);
+		getButton(IDialogConstants.OK_ID).setEnabled(false);
+	}
+
+	@Override
+	protected Control createDialogArea(Composite parent) {
+		Composite area = (Composite) super.createDialogArea(parent);
+		Composite container = new Composite(area, SWT.NONE);
+		container.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
+		GridLayout layout = new GridLayout(2, false);
+		container.setLayout(layout);
+
+
+		createCombo(container);
+		CreateNewText(container);
+		
+		return area;
+	}
+
+	private void createCombo(Composite container) {
+		Label lblCombo = new Label(container, SWT.NONE);
+		lblCombo.setText("Select: ");
+
+		GridData dataFirstName = new GridData();
+		dataFirstName.grabExcessHorizontalSpace = true;
+		dataFirstName.horizontalAlignment = GridData.FILL;
+
+		comboSelectExistant = new Combo(container, SWT.BORDER| SWT.DROP_DOWN | SWT.READ_ONLY);
+
+		String items[] = new String[this.elementsToSelect.size()];
+		for(int i=0; i<this.elementsToSelect.size(); i++) {
+			items[i]=this.elementsToSelect.get(i);
+		}
+		comboSelectExistant.setItems(items);
+		comboSelectExistant.setLayoutData(dataFirstName);
+		comboSelectExistant.addModifyListener(new ModifyListener() {
+
+			@Override
+			public void modifyText(ModifyEvent e) {
+
+				if(e.getSource() instanceof Combo) {
+					Combo o = (Combo) e.getSource();
+					if(elementsToSelect.get(o.getSelectionIndex()).equals("- " + newItemMessage+" -")) {
+						lblText.setVisible(true);
+						textProvideNew.setVisible(true);
+						getButton(IDialogConstants.OK_ID).setEnabled(false);
+					}
+					else {
+						lblText.setVisible(false);
+						textProvideNew.setVisible(false);
+						getButton(IDialogConstants.OK_ID).setEnabled(true);
+					}
+				}
+			}
+		});
+	}
+
+	private void CreateNewText(Composite container) {
+		lblText = new Label(container, SWT.NONE);
+		lblText.setText(newItemMessage+": ");
+		lblText.setVisible(false);
+
+		GridData dataLastName = new GridData();
+		dataLastName.grabExcessHorizontalSpace = true;
+		dataLastName.horizontalAlignment = GridData.FILL;
+		textProvideNew = new Text(container, SWT.BORDER);
+		textProvideNew.setLayoutData(dataLastName);
+		textProvideNew.setVisible(false);
+		textProvideNew.addModifyListener(new ModifyListener() {
+
+			@Override
+			public void modifyText(ModifyEvent e) {
+				Text t = (Text)e.getSource();
+				if(elementsToSelect.get(comboSelectExistant.getSelectionIndex()).equals("- " + newItemMessage+" -")){
+					if(t.getText().trim().length()>0) {
+						getButton(IDialogConstants.OK_ID).setEnabled(true);
+					}		
+					else {
+						getButton(IDialogConstants.OK_ID).setEnabled(false);
+					}
+				}
+			}
+		});
+	}
+
+	@Override
+	protected boolean isResizable() {
+		return false;
+	}
+
+	private void saveInput() {
+		selection = comboSelectExistant.getText();
+		newProvided = textProvideNew.getText();
+
+	}
+
+	@Override
+	protected void okPressed() {
+		saveInput();
+		super.okPressed();
+	}
+
+	public String getSelection() {
+		return selection;
+	}
+
+	public String getNewProvided() {
+		return newProvided;
+	}
+}
diff --git a/Source Code/V2.0/PiacereToolExtensions/src/eu/piacere/piacereTool/dialogs/GetNameVersionDialog.java b/Source Code/V2.0/PiacereToolExtensions/src/eu/piacere/piacereTool/dialogs/GetNameVersionDialog.java
new file mode 100644
index 0000000000000000000000000000000000000000..315cd84d4729c7bcc9c9cc5244e3ddbfece706f6
--- /dev/null
+++ b/Source Code/V2.0/PiacereToolExtensions/src/eu/piacere/piacereTool/dialogs/GetNameVersionDialog.java	
@@ -0,0 +1,120 @@
+package eu.piacere.piacereTool.dialogs;
+
+import org.eclipse.jface.dialogs.IDialogConstants;
+import org.eclipse.jface.dialogs.IMessageProvider;
+import org.eclipse.jface.dialogs.TitleAreaDialog;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.ModifyEvent;
+import org.eclipse.swt.events.ModifyListener;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.swt.widgets.Text;
+
+
+public class GetNameVersionDialog extends TitleAreaDialog {
+
+	private Text textProvideNew;
+
+	private String newProvided;
+	private String title;
+	private String message;
+
+	private String initialValue;
+
+	private String newItemMessage;
+
+	public GetNameVersionDialog(Shell parentShell, String title, String message, String initialValue, String newItemMessage) {
+		super(parentShell);
+
+		this.title = title;
+		this.message = message;
+		this.newProvided=initialValue;
+		this.initialValue=initialValue;
+
+		this.newItemMessage = newItemMessage;
+
+	}
+
+	@Override
+	public void create() {
+		super.create();
+		setTitle(title);
+		setMessage(message, IMessageProvider.INFORMATION);
+		if(this.initialValue.trim().length()>0) {
+			getButton(IDialogConstants.OK_ID).setEnabled(true);
+		}
+		else {
+			getButton(IDialogConstants.OK_ID).setEnabled(false);
+		}
+	}
+
+	@Override
+	protected Control createDialogArea(Composite parent) {
+		Composite area = (Composite) super.createDialogArea(parent);
+		Composite container = new Composite(area, SWT.NONE);
+		container.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
+		GridLayout layout = new GridLayout(2, false);
+		container.setLayout(layout);
+
+
+		createText(container);
+
+		return area;
+	}
+
+
+
+	private void createText(Composite container) {
+		Label lblText = new Label(container, SWT.NONE);
+		lblText.setText(newItemMessage+": ");
+		lblText.setVisible(true);
+
+		GridData dataLastName = new GridData();
+		dataLastName.grabExcessHorizontalSpace = true;
+		dataLastName.horizontalAlignment = GridData.FILL;
+		textProvideNew = new Text(container, SWT.BORDER);
+		textProvideNew.setLayoutData(dataLastName);
+		textProvideNew.setVisible(true);
+		textProvideNew.setText(initialValue);
+		textProvideNew.addModifyListener(new ModifyListener() {
+		
+
+			@Override
+			public void modifyText(ModifyEvent e) {
+				Text t = (Text)e.getSource();
+
+				if(t.getText().trim().length()>0) {
+					getButton(IDialogConstants.OK_ID).setEnabled(true);
+				}		
+				else {
+					getButton(IDialogConstants.OK_ID).setEnabled(false);
+				}
+
+			}
+		});
+	}
+
+	@Override
+	protected boolean isResizable() {
+		return false;
+	}
+
+	private void saveInput() {
+		newProvided = textProvideNew.getText();
+
+	}
+
+	@Override
+	protected void okPressed() {
+		saveInput();
+		super.okPressed();
+	}
+
+	public String getNewProvided() {
+		return newProvided;
+	}
+}
diff --git a/Source Code/V2.0/PiacereToolExtensions/src/eu/piacere/piacereTool/propertyTesters/ExtensionPropertyTester.java b/Source Code/V2.0/PiacereToolExtensions/src/eu/piacere/piacereTool/propertyTesters/ExtensionPropertyTester.java
new file mode 100755
index 0000000000000000000000000000000000000000..22d4492e9b1d6ed6fb110e45786c96f896278836
--- /dev/null
+++ b/Source Code/V2.0/PiacereToolExtensions/src/eu/piacere/piacereTool/propertyTesters/ExtensionPropertyTester.java	
@@ -0,0 +1,18 @@
+package eu.piacere.piacereTool.propertyTesters;
+
+import org.eclipse.core.expressions.PropertyTester;
+import org.eclipse.emf.ecore.xmi.impl.XMIResourceImpl;
+import org.eclipse.jface.viewers.StructuredSelection;
+
+public class ExtensionPropertyTester extends PropertyTester {
+
+	@Override
+	public boolean test(Object receiver, String property, Object[] args, Object expectedValue) {
+		if(receiver instanceof StructuredSelection)
+			if(((StructuredSelection)receiver).getFirstElement() instanceof XMIResourceImpl){
+				return ((XMIResourceImpl)((StructuredSelection)receiver).getFirstElement()).getURI().fileExtension().equals(expectedValue.toString());
+			}
+		return false;
+	}
+
+}
diff --git a/Source Code/V2.0/PiacereToolExtensions/src/eu/piacere/piacereTool/utils/FileUtils.java b/Source Code/V2.0/PiacereToolExtensions/src/eu/piacere/piacereTool/utils/FileUtils.java
new file mode 100644
index 0000000000000000000000000000000000000000..5f1e9dca05db5ef0d010aa7768db7928a8a4dc04
--- /dev/null
+++ b/Source Code/V2.0/PiacereToolExtensions/src/eu/piacere/piacereTool/utils/FileUtils.java	
@@ -0,0 +1,109 @@
+package eu.piacere.piacereTool.utils;
+
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.text.DateFormat;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+
+import org.apache.commons.io.IOUtils;
+import org.eclipse.core.resources.IContainer;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IFolder;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.jface.dialogs.ProgressMonitorDialog;
+
+public final class FileUtils {
+	
+
+	
+	public static String getTimestamp() {
+		SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd_HHmmss");
+		return sdf.format(new Date());
+	}
+	
+	public static String getIFileContents(IFile theFileToRead) {
+		String content=null;
+		try {
+			content = IOUtils.toString(theFileToRead.getContents(), theFileToRead.getCharset());
+		} catch (IOException | CoreException e2) {
+			e2.printStackTrace();
+		}
+		return content;
+	}
+
+	public static String autoIndentFileContent(String codeString){
+		String[] lines=codeString.split("\n");
+		StringBuilder res=new StringBuilder();
+		int identation=0;
+		for(int i=0; i<lines.length;i++){
+			if(lines[i].contains("}"))
+				identation--;
+			for(int j=0; j<identation; j++){
+				res.append("\t");
+			}
+			res.append(lines[i]);
+			res.append("\n");
+			if(lines[i].contains("{"))
+				identation++;
+		}
+		return res.toString();
+	}
+
+	public static IFile createFile(String name, IContainer container) {
+		return FileUtils.createFile(name, container, new NullProgressMonitor());
+	}
+
+	public static IFile createFile(String name, IContainer container, IProgressMonitor progressMonitor) {
+		return FileUtils.createFile(name, container, "", progressMonitor);
+	}
+
+	public static IFile createFile(String name, IContainer container, ProgressMonitorDialog progressMonitorDialog) {
+		return FileUtils.createFile(name, container, "", progressMonitorDialog.getProgressMonitor());
+	}
+	
+	public static IFile createFile(String name, IContainer container, String content, ProgressMonitorDialog progressMonitorDialog) {
+		return FileUtils.createFile(name, container, content, progressMonitorDialog.getProgressMonitor());
+	}
+	
+	public static IFile createFile(String name, IContainer container, String content, IProgressMonitor progressMonitor) {
+		IFile file = container.getFile(new Path(name));
+		FileUtils.assertExist(file.getParent(), progressMonitor);
+		try {
+			InputStream stream = new ByteArrayInputStream(content.getBytes(file.getCharset()));
+			if (file.exists()) {
+				file.setContents(stream, true, true, progressMonitor);
+			}
+			else {
+				file.create(stream, true, progressMonitor);
+			}
+			stream.close();
+		}
+		catch (Exception e) {
+			e.printStackTrace();
+		}
+		progressMonitor.worked(1);
+		return file;
+	}
+	
+
+	public static void assertExist(IContainer c, IProgressMonitor progressMonitor) {
+		if (!c.exists()) {
+			if (!c.getParent().exists()) {
+				assertExist(c.getParent(),progressMonitor);
+			}
+			if (c instanceof IFolder) {
+				try {
+					((IFolder) c).create(false, true, progressMonitor);
+				}
+				catch (final CoreException e) {
+					e.printStackTrace();
+				}
+			}
+		}
+	}
+}
diff --git a/Source Code/V2.0/PiacereToolExtensions/src/eu/piacere/piacereTool/utils/ModelUtils.java b/Source Code/V2.0/PiacereToolExtensions/src/eu/piacere/piacereTool/utils/ModelUtils.java
new file mode 100644
index 0000000000000000000000000000000000000000..e23117442eae3d6dfcbbfb6c7c761fa62488c58d
--- /dev/null
+++ b/Source Code/V2.0/PiacereToolExtensions/src/eu/piacere/piacereTool/utils/ModelUtils.java	
@@ -0,0 +1,44 @@
+package eu.piacere.piacereTool.utils;
+
+import org.eclipse.core.resources.IContainer;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl;
+
+public class ModelUtils {
+
+	public static EObject loadEMFModelRoot(IFile modelFile){
+		String str = ResourcesPlugin.getWorkspace().getRoot().getLocation().toString();
+		String inputModelPath = str + ((IFile)modelFile).getFullPath().toString();
+		return loadEMFModelRoot(inputModelPath);
+	}
+	
+	public static EObject loadEMFModelRoot(String modelPath){
+		XMIResourceFactoryImpl _xmiFac = new XMIResourceFactoryImpl();
+		ResourceSet rSet = new ResourceSetImpl();
+		rSet.getResourceFactoryRegistry().getExtensionToFactoryMap().put("*", _xmiFac);
+		URI uri = null;
+		if(modelPath.startsWith("platform:/plugin"))
+			uri=URI.createPlatformPluginURI(modelPath.replace("platform:/plugin", ""), false);
+		else{
+			uri=URI.createFileURI(modelPath);
+		}
+		Resource res = rSet.getResource(uri, true);
+		return res.getContents().get(0);
+	}
+	
+
+	public static void setupAndSaveEMFInstanceResource(String newModelFileName, IContainer newModelFileContainer, EObject modelRoot, String extension) {
+		IFile f=FileUtils.createFile(newModelFileName+"."+extension, newModelFileContainer);
+		ResourceSet rs = new ResourceSetImpl();
+		Resource resource = ResourceUtils.createResource(f.getLocation().toString(), new String[] {extension, "xml"}, rs);
+		resource.getContents().add(modelRoot);
+		ResourceUtils.saveResource(resource);
+	}
+	
+}
diff --git a/Source Code/V2.0/PiacereToolExtensions/src/eu/piacere/piacereTool/utils/PluginUtils.java b/Source Code/V2.0/PiacereToolExtensions/src/eu/piacere/piacereTool/utils/PluginUtils.java
new file mode 100644
index 0000000000000000000000000000000000000000..d0ebcc01742f22de17b1371487a1a9dd56940f81
--- /dev/null
+++ b/Source Code/V2.0/PiacereToolExtensions/src/eu/piacere/piacereTool/utils/PluginUtils.java	
@@ -0,0 +1,114 @@
+package eu.piacere.piacereTool.utils;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import org.eclipse.core.resources.IFolder;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IProjectDescription;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.jdt.core.IClasspathEntry;
+import org.eclipse.jdt.core.IJavaProject;
+import org.eclipse.jdt.core.JavaCore;
+import org.eclipse.jdt.launching.JavaRuntime;
+
+public final class PluginUtils {
+
+	public static IProject createPluginProject(IProject baseProject, List<String> sourceFoldersNames, List<String> extraFolders, IProgressMonitor progressMonitor) throws CoreException{
+		
+		if(!baseProject.exists())
+			baseProject.create(progressMonitor);
+		if(!baseProject.isOpen())
+			baseProject.open(progressMonitor);
+
+		IProjectDescription projectDescription=ResourcesPlugin.getWorkspace().newProjectDescription(baseProject.getName());
+		//projectDescription.setLocation(null);
+		projectDescription.setNatureIds(new String[]{"org.eclipse.pde.PluginNature", JavaCore.NATURE_ID});
+		baseProject.setDescription(projectDescription, null);
+
+
+		IJavaProject javaProject = JavaCore.create(baseProject);
+		IFolder binFolder = baseProject.getFolder("bin");
+		if(!binFolder.exists())
+			binFolder.create(true, true, null);
+		javaProject.setOutputLocation(binFolder.getFullPath(), null);
+
+
+		for(String extraFolderName : extraFolders){
+			IFolder temp = baseProject.getFolder(extraFolderName);
+			temp.create(false, true, progressMonitor);
+		}
+
+		List<IClasspathEntry> classpathEntries = new ArrayList<IClasspathEntry>();
+
+		classpathEntries.add(JavaCore.newContainerEntry(JavaRuntime.newDefaultJREContainerPath()));
+		classpathEntries.add(JavaCore.newContainerEntry(new Path("org.eclipse.pde.core.requiredPlugins")));
+
+		for(String sourceFolderName: sourceFoldersNames){
+			IFolder sourceFolder = baseProject.getFolder(sourceFolderName);
+			sourceFolder.create(false, true, null);
+			classpathEntries.add(JavaCore.newSourceEntry(sourceFolder.getFullPath()));
+		}
+		
+		javaProject.setRawClasspath(classpathEntries.toArray(new IClasspathEntry[classpathEntries.size()]), null);
+		FileUtils.createFile("plugin.xml", baseProject, "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<?eclipse version=\"3.4\"?>\n<plugin/>", progressMonitor);
+		PluginUtils.createBuildProps(baseProject, sourceFoldersNames, extraFolders, progressMonitor);
+		
+		return baseProject;
+	}
+
+	public static void createBuildProps(IProject project, List<String> srcFolders, List<String> extraFolders, IProgressMonitor progressMonitor) {
+		StringBuilder bpContent = new StringBuilder("source.. = ");
+		for (Iterator<String> iterator = srcFolders.iterator(); iterator.hasNext();) {
+			bpContent.append(iterator.next()).append('/');
+			if (iterator.hasNext()) {
+				bpContent.append(",");
+			}
+		}
+		bpContent.append("\n");
+		bpContent.append("bin.includes = META-INF/,\\\n");
+		//bpContent.append("plugin.xml,\\\n");
+		for(String extraFolderName:extraFolders)
+			bpContent.append(extraFolderName+"/,\\\n");
+		bpContent.append(".\n");
+		FileUtils.createFile("build.properties", project, bpContent.toString(), progressMonitor);
+	}
+
+
+	//public static void createManifest(IProject project,String rootPackageName ,List<String> importedPackages, List<String> exportedPackages, IProgressMonitor progressMonitor)throws CoreException {
+	public static void createManifest(IProject project, String rootPackageName ,List<String> importedPackages, List<String> exportedPackages, String version, IProgressMonitor progressMonitor)throws CoreException {
+		StringBuilder maniContent = new StringBuilder("Manifest-Version: 1.0\n");
+		maniContent.append("Bundle-ManifestVersion: 2\n");
+		//maniContent.append("Bundle-RequiredExecutionEnvironment: JavaSE-1.8\n");
+		maniContent.append("Bundle-Name: " + project.getName() + "\n");
+		maniContent.append("Bundle-SymbolicName: " + project.getName() + "; singleton:=true\n");
+		maniContent.append("Bundle-Version: "+version+"\n");
+		maniContent.append("Bundle-Vendor: TaTAmI-ProS\n");
+		maniContent.append("Bundle-Activator: "+rootPackageName+".activator.Activator\n");
+		maniContent.append("Import-Package: ");
+
+		if(importedPackages!=null){
+		for (String entry : importedPackages) {
+			maniContent.append(" " + entry + ",\n");
+		}
+		}
+
+		maniContent.append(" org.osgi.framework\n");
+
+		if (exportedPackages != null && !exportedPackages.isEmpty()) {
+			maniContent.append("Export-Package: " + exportedPackages.get(0));
+			for (int i = 1, x = exportedPackages.size(); i < x; i++) {
+				maniContent.append(",\n " + exportedPackages.get(i));
+			}
+			maniContent.append("\n");
+		}
+
+		IFolder metaInf = project.getFolder("META-INF");
+		metaInf.create(false, true, progressMonitor);
+		FileUtils.createFile("MANIFEST.MF", metaInf, maniContent.toString(), progressMonitor);
+	}
+}
diff --git a/Source Code/V2.0/PiacereToolExtensions/src/eu/piacere/piacereTool/utils/ResourceUtils.java b/Source Code/V2.0/PiacereToolExtensions/src/eu/piacere/piacereTool/utils/ResourceUtils.java
new file mode 100644
index 0000000000000000000000000000000000000000..0d820a62c8c1c9e80d492792199cc57bf3e0ce8a
--- /dev/null
+++ b/Source Code/V2.0/PiacereToolExtensions/src/eu/piacere/piacereTool/utils/ResourceUtils.java	
@@ -0,0 +1,46 @@
+package eu.piacere.piacereTool.utils;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Hashtable;
+import java.util.Map;
+
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.emf.ecore.resource.impl.ResourceImpl;
+import org.eclipse.emf.ecore.xmi.XMLResource;
+import org.eclipse.emf.ecore.xmi.impl.XMLResourceFactoryImpl;
+
+
+public class ResourceUtils {
+	
+	public static Resource createResource(String outputFileURI, String[] fileExtensions, ResourceSet rs) {
+		for (String fileExt : fileExtensions) {
+			rs.getResourceFactoryRegistry().getExtensionToFactoryMap().put(fileExt, new XMLResourceFactoryImpl());
+		}		
+		URI uri = URI.createFileURI(outputFileURI);
+		
+		Resource resource = rs.createResource(uri);
+		((ResourceImpl)resource).setIntrinsicIDToEObjectMap(new Hashtable<String, EObject>());
+		return resource;
+	}
+	
+	public static void saveResource(Resource resource) {
+		Map<Object, Object> saveOptions = ((XMLResource)resource).getDefaultSaveOptions();
+		saveOptions.put(XMLResource.OPTION_CONFIGURATION_CACHE, Boolean.TRUE);
+		saveOptions.put(XMLResource.OPTION_USE_CACHED_LOOKUP_TABLE, new ArrayList<Object>());
+		try {
+			resource.save(saveOptions);
+		} catch (IOException e) {
+			e.printStackTrace();
+			throw new RuntimeException(e);
+		}
+	}
+	
+	
+
+	
+	
+}
\ No newline at end of file
diff --git a/Source Code/V2.0/PiacereToolExtensions/src/eu/piacere/piacereTool/utils/ToolCustomizationUtils.java b/Source Code/V2.0/PiacereToolExtensions/src/eu/piacere/piacereTool/utils/ToolCustomizationUtils.java
new file mode 100755
index 0000000000000000000000000000000000000000..2b628896bfa06c735eea5fa02a599ac343e88a48
--- /dev/null
+++ b/Source Code/V2.0/PiacereToolExtensions/src/eu/piacere/piacereTool/utils/ToolCustomizationUtils.java	
@@ -0,0 +1,157 @@
+package eu.piacere.piacereTool.utils;
+
+import java.util.ArrayList;
+
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.core.runtime.preferences.ConfigurationScope;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.xmi.XMIResource;
+import org.eclipse.gef.EditPart;
+import org.eclipse.gmf.runtime.diagram.ui.editparts.DiagramEditPart;
+import org.eclipse.gmf.runtime.notation.impl.DiagramImpl;
+import org.eclipse.gmf.runtime.notation.impl.ViewImpl;
+import org.eclipse.jface.dialogs.InputDialog;
+import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.jface.viewers.TreePath;
+import org.eclipse.jface.window.Window;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.IWorkbenchPage;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.ui.preferences.ScopedPreferenceStore;
+import org.osgi.framework.FrameworkUtil;
+
+
+
+
+public class ToolCustomizationUtils {
+	
+	public static String getPreference(Class<?> theClass, String preferenceID) {
+		ScopedPreferenceStore scopedPreferenceStore = new ScopedPreferenceStore(ConfigurationScope.INSTANCE,(FrameworkUtil.getBundle(theClass)).getSymbolicName());
+		return scopedPreferenceStore.getString(preferenceID);
+	}
+
+	protected static Logger logger = LogManager.getLogger(ToolCustomizationUtils.class);
+
+	public static Path getFullPath(URI uri){
+		if(uri.toString().startsWith("platform:/resource")){
+			return new Path(ResourcesPlugin.getWorkspace().getRoot().getLocation().toString() + uri.toString().replace("platform:/resource", ""));
+		}
+		else if(uri.toString().startsWith("file:")){
+			return new Path(uri.toString().replace("file:", ""));
+		}
+		return null;
+	}
+
+	public static void saveWorkbench(){
+		IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
+		if(page!=null){
+			IEditorPart editor = page.getActiveEditor();
+			if(editor!=null){
+				page.saveEditor(editor, true);
+			}
+		}
+	}
+
+	public static EObject getRootEObjectFromResource(ISelection selection){
+		return getRootEObjectFromResource((XMIResource)((StructuredSelection)selection).getFirstElement());
+	}
+
+	public static EObject getRootEObjectFromResource(XMIResource resource){
+		return resource.getContents().get(0);
+	}
+
+	public static EObject getEObjectFromDiagramSelection(ISelection selection){
+		EditPart ep = (EditPart) ((StructuredSelection)selection).getFirstElement();
+		if(ep instanceof DiagramEditPart){
+			return ((DiagramImpl) ep.getModel()).getElement();
+		}
+		return ((ViewImpl)ep.getModel()).getElement();
+	}
+
+	public static String getInputModelPathFromSelection(ISelection selection){
+		return  ResourcesPlugin.getWorkspace().getRoot().getLocation().toString() + ((IFile)((StructuredSelection) selection).getFirstElement()).getFullPath().toString();
+	}
+
+	public static String getInputModelPathFromTreePath(TreePath path){
+		return  ResourcesPlugin.getWorkspace().getRoot().getLocation().toString() + ((IFile) path.getSegment(path.getSegmentCount()-1)).getFullPath().toString();
+	}
+
+	public static void showErrors(String modelType, ArrayList<String> validationResults){
+		String errors="There are ERRORS in your "+modelType+":\n\n";
+		for(String error:validationResults){
+			errors+="\t- "+error+"\n";
+			logger.error("\t- "+error);
+		}
+		showErrorDialog("Validation Result",errors);
+	}
+
+	public static String doDialogAsk(String title, String questionText, String providedExample){
+		String s=doDialogAskWithoutPostProcess(title, questionText,providedExample);
+		if ((s != null) && (s.length() > 0)) {
+			if(s.endsWith(".")){
+				s=s.substring(0, s.length()-1);
+			}
+			return s.replace(" ", "_");
+		}
+		return null;
+	}
+
+
+
+	public static String doDialogAskWithoutPostProcess(String title, String questionText, String providedExample){
+		InputDialog dialogAsk=new InputDialog(getActiveShell(), title, questionText+":", providedExample, null);
+		if(dialogAsk.open()==Window.OK){
+			return dialogAsk.getValue();
+		}
+		return null;
+	}
+
+
+	public static Shell getActiveShell() {
+		Display display = Display.getDefault();
+		Shell result = display.getActiveShell();
+
+		if (result == null) {
+			Shell[] shells = display.getShells();
+			for (Shell shell : shells) {
+				if (shell.getShells().length == 0) {
+					if (result != null)
+						try {
+							//throw new Exception();
+						} catch (Exception e) {
+							e.printStackTrace();
+						}
+					result = shell;
+				}
+			}
+		}
+
+		return result;
+	}
+
+	public static void showErrorDialog(String title, String message){
+		MessageDialog.openError(getActiveShell(), title, message);
+	}
+
+	public static boolean showQuestionDialog(String title, String message){
+		return MessageDialog.openQuestion(getActiveShell(), title, message);
+	}
+
+	public static void showInformationDialog(String title, String message){
+		MessageDialog.openInformation(getActiveShell(), title, message);
+	}
+
+	public static String getDOMLModelName() {
+		return ToolCustomizationUtils.doDialogAsk("DOML Model Name", "Enter the DOML Model Name", "GeneratedDOML");
+	}
+
+}
diff --git a/Source Code/V2.0/PiacereToolProduct/.classpath b/Source Code/V2.0/PiacereToolProduct/.classpath
new file mode 100755
index 0000000000000000000000000000000000000000..791f73318fb4e40a3caac6d9bd1eabd9d6b1c626
--- /dev/null
+++ b/Source Code/V2.0/PiacereToolProduct/.classpath	
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER">
+		<attributes>
+			<attribute name="module" value="true"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/Source Code/V2.0/PiacereToolProduct/.gitignore b/Source Code/V2.0/PiacereToolProduct/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..ae3c1726048cd06b9a143e0376ed46dd9b9a8d53
--- /dev/null
+++ b/Source Code/V2.0/PiacereToolProduct/.gitignore	
@@ -0,0 +1 @@
+/bin/
diff --git a/Source Code/V2.0/PiacereToolProduct/.project b/Source Code/V2.0/PiacereToolProduct/.project
new file mode 100644
index 0000000000000000000000000000000000000000..bc48142ea60cb987ff9ac3d90cf88d574fc742f7
--- /dev/null
+++ b/Source Code/V2.0/PiacereToolProduct/.project	
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>PiacereToolProduct</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
diff --git a/Source Code/V2.0/PiacereToolProduct/META-INF/MANIFEST.MF b/Source Code/V2.0/PiacereToolProduct/META-INF/MANIFEST.MF
new file mode 100755
index 0000000000000000000000000000000000000000..23c4dc35d10f9768ae1271d89323f5bed65476c2
--- /dev/null
+++ b/Source Code/V2.0/PiacereToolProduct/META-INF/MANIFEST.MF	
@@ -0,0 +1,6 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: PiacereToolProduct
+Bundle-SymbolicName: PiacereToolProduct;singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Bundle-Vendor: TaTAmI
diff --git a/Source Code/V2.0/PiacereToolProduct/Piacere/PiacereIcon.icns b/Source Code/V2.0/PiacereToolProduct/Piacere/PiacereIcon.icns
new file mode 100644
index 0000000000000000000000000000000000000000..dc85bd35fdb471de2d3e2bb6385b0e2ea53ffa9d
Binary files /dev/null and b/Source Code/V2.0/PiacereToolProduct/Piacere/PiacereIcon.icns differ
diff --git a/Source Code/V2.0/PiacereToolProduct/Piacere/PiacereIcon.ico b/Source Code/V2.0/PiacereToolProduct/Piacere/PiacereIcon.ico
new file mode 100644
index 0000000000000000000000000000000000000000..955b5c0d349d28067df94598efa145a65192806b
Binary files /dev/null and b/Source Code/V2.0/PiacereToolProduct/Piacere/PiacereIcon.ico differ
diff --git a/Source Code/V2.0/PiacereToolProduct/Piacere/PiacereIcon.xpm b/Source Code/V2.0/PiacereToolProduct/Piacere/PiacereIcon.xpm
new file mode 100644
index 0000000000000000000000000000000000000000..7000c4a32e578bfea5036948d7979f19bfe1d1a5
--- /dev/null
+++ b/Source Code/V2.0/PiacereToolProduct/Piacere/PiacereIcon.xpm	
@@ -0,0 +1,478 @@
+/* XPM */
+static char *e536e75a96154664d52eafc12d0b7d5bUyTTPc7n3PFFgmmI[] = {
+/* columns rows colors chars-per-pixel */
+"277 320 152 2 ",
+"   c None",
+".  c #07AE78",
+"X  c #07AF7A",
+"o  c #09AE78",
+"O  c #08AF78",
+"+  c #09AF78",
+"@  c #08AF79",
+"#  c #09AF79",
+"$  c #08AF7A",
+"%  c #07B078",
+"&  c #08B079",
+"*  c #09B079",
+"=  c #08B07A",
+"-  c #09B07A",
+";  c #0EB079",
+":  c #08B57B",
+">  c #0FB57B",
+",  c #12B475",
+"<  c #12B476",
+"1  c #1AB373",
+"2  c #19B779",
+"3  c #10BB7E",
+"4  c #19BC7C",
+"5  c #32B66D",
+"6  c #3CB96E",
+"7  c #21B573",
+"8  c #21B574",
+"9  c #22B574",
+"0  c #21B674",
+"q  c #21B675",
+"w  c #29B573",
+"e  c #24B679",
+"r  c #21BE7B",
+"t  c #29BC79",
+"y  c #31B473",
+"u  c #3BB672",
+"i  c #30BC74",
+"p  c #3ABC73",
+"a  c #37BC79",
+"s  c #41B66D",
+"d  c #4ABA6E",
+"f  c #4ABB6E",
+"g  c #4ABC6E",
+"h  c #52BD6A",
+"j  c #5ABC6C",
+"k  c #5ABD6C",
+"l  c #5ABD6D",
+"z  c #5ABE6C",
+"x  c #42BD73",
+"c  c #4BBE72",
+"v  c #50BB72",
+"b  c #59BF72",
+"n  c #6DBF64",
+"m  c #63BE6B",
+"M  c #63BE6C",
+"N  c #6BBB6B",
+"B  c #73BF68",
+"V  c #2FC079",
+"C  c #3CC377",
+"Z  c #54C16C",
+"A  c #42C477",
+"S  c #4AC575",
+"D  c #52C574",
+"F  c #5AC673",
+"G  c #6EC565",
+"H  c #63C36D",
+"J  c #6BC56C",
+"K  c #73C564",
+"L  c #7BC562",
+"P  c #7BC463",
+"I  c #7AC563",
+"U  c #7BC563",
+"Y  c #7BC663",
+"T  c #7CC563",
+"R  c #7BC664",
+"E  c #74C66A",
+"W  c #7CC769",
+"Q  c #75CC6D",
+"!  c #7BCE6C",
+"~  c #62C872",
+"^  c #6DCC71",
+"/  c #8BC55A",
+"(  c #8BC65A",
+")  c #9DCE54",
+"_  c #92C65A",
+"`  c #96CD5A",
+"'  c #9BCE59",
+"]  c #9DCF58",
+"[  c #9CCE59",
+"{  c #9CCF59",
+"}  c #9DD35D",
+"|  c #B5D54B",
+" . c #BCD549",
+".. c #BCD54A",
+"X. c #BCD64A",
+"o. c #BCD74B",
+"O. c #BEDB4A",
+"+. c #BFDB4A",
+"@. c #A5CE53",
+"#. c #A5CF53",
+"$. c #ACCE52",
+"%. c #ADCE53",
+"&. c #A5CC59",
+"*. c #A5CD59",
+"=. c #A5D053",
+"-. c #ADD651",
+";. c #ADD751",
+":. c #ADD552",
+">. c #A6D65B",
+",. c #ABD759",
+"<. c #A8DB5F",
+"1. c #B2D151",
+"2. c #B5D753",
+"3. c #BBD650",
+"4. c #B6DD55",
+"5. c #BDDF52",
+"6. c #B0DD5A",
+"7. c #83C562",
+"8. c #83C662",
+"9. c #84C562",
+"0. c #8DC663",
+"q. c #85CC65",
+"w. c #8CCE63",
+"e. c #83CF6A",
+"r. c #93CD62",
+"t. c #8ED366",
+"y. c #95D564",
+"u. c #9DD662",
+"i. c #A3D961",
+"p. c #C4D744",
+"a. c #C7DD42",
+"s. c #C8DD42",
+"d. c #CDDD41",
+"f. c #CCDE41",
+"g. c #CDDE41",
+"h. c #CEDF41",
+"j. c #CCDD42",
+"k. c #CDDD42",
+"l. c #CCDE42",
+"z. c #CDDE42",
+"x. c #CDDF42",
+"c. c #CDDE43",
+"v. c #CEDE42",
+"b. c #CEDF42",
+"n. c #CEDE43",
+"m. c #C6DE4A",
+"M. c #C4E04F",
+"N. c #CCE149",
+"B. c #CEE64B",
+"V. c #C8E34D",
+"C. c #D7E743",
+"Z. c #D2E749",
+/* pixels */
+"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          ",
+"                                                                                                                                                                                                                                                                                T P q.8.T                                                                                                                                                                                                                                                                                 ",
+"                                                                                                                                                                                                                                                                              8.7.q.7.7.q.9.                                                                                                                                                                                                                                                                              ",
+"                                                                                                                                                                                                                                                                          R 8.q.7.7.7.7.8.q.q.P                                                                                                                                                                                                                                                                           ",
+"                                                                                                                                                                                                                                                                      P 8.w.8.7.7.7.7.7.8.Y P e.P P                                                                                                                                                                                                                                                                       ",
+"                                                                                                                                                                                                                                                                    9.w.q.8.7.7.7.7.7.7.8.P Y Y P e.P T                                                                                                                                                                                                                                                                   ",
+"                                                                                                                                                                                                                                                                8.q.q.7.7.7.7.7.7.7.8.8.8.P Y P P Y W e.Y                                                                                                                                                                                                                                                                 ",
+"                                                                                                                                                                                                                                                            _ ( t.8.7.7.7.7.7.7.7.8.8.8.8.P P Y Y P P Y W Y R                                                                                                                                                                                                                                                             ",
+"                                                                                                                                                                                                                                                        9.9.t.q.8.7.7.7.7.7.7.7.7.7.7.7.8.P P P P Y P Y P Y e.P P                                                                                                                                                                                                                                                         ",
+"                                                                                                                                                                                                                                                      8.t.w.7.7.8.7.7.7.7.7.7.7.7.7.7.7.8.P P Y Y P Y P Y P Y W ! Y Y                                                                                                                                                                                                                                                     ",
+"                                                                                                                                                                                                                                                  ( w.t.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.8.P Y P P Y P Y P Y P Y Y ! E Y                                                                                                                                                                                                                                                   ",
+"                                                                                                                                                                                                                                              _ w.y.w.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.8.Y P Y Y P Y P Y P Y P P K E ! E R                                                                                                                                                                                                                                               ",
+"                                                                                                                                                                                                                                          9.` r.w.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.P Y P P Y P Y P Y P Y R K K K E ! E T                                                                                                                                                                                                                                           ",
+"                                                                                                                                                                                                                                        8.w.r.0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.8.P P P Y P Y P Y P Y P R K K K K K Q E m                                                                                                                                                                                                                                         ",
+"                                                                                                                                                                                                                                    ` r.r.w.( 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.8.P P P P Y P Y P P P P P K K K K K K E Q E P                                                                                                                                                                                                                                     ",
+"                                                                                                                                                                                                                                _ _ r.r.0.( ( 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.P P P Y P Y P P P P P R K K K K K B B E E E E z                                                                                                                                                                                                                                 ",
+"                                                                                                                                                                                                                              _ r.r.r.0.0.( ( 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.8.8.Y P Y P Y P Y P Y P Y P K K K K K E B B B n E J K T                                                                                                                                                                                                                             ",
+"                                                                                                                                                                                                                          ` r.r.r._ 0.0.0.( ( 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.8.8.P Y P Y P Y P Y P Y P Y K K K K K B B B B n n G E G m                                                                                                                                                                                                                           ",
+"                                                                                                                                                                                                                      ` r.r.r._ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.8.8.8.P P Y P Y P Y P Y P Y P K K K K K B B B B n n n n J J J m                                                                                                                                                                                                                       ",
+"                                                                                                                                                                                                                  [ ` } r._ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.8.8.8.P Y P Y P Y P Y P Y P Y K K K K K B B B B n n n n n n J J m P                                                                                                                                                                                                                   ",
+"                                                                                                                                                                                                                ` u.` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.8.P P Y P Y P Y P Y P Y P K K K K K B B B B n n n n n n G N J J m j                                                                                                                                                                                                               ",
+"                                                                                                                                                                                                            ` } } ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.8.P Y P Y P Y P Y P Y P P K K K K K B B B B n n n n n n n N N N J J M                                                                                                                                                                                                             ",
+"                                                                                                                                                                                                        _ ` u.` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.8.P P Y P Y P Y P Y P Y P K K K K K B B B B n n n n n n n N N N N m ^ m z                                                                                                                                                                                                         ",
+"                                                                                                                                                                                                    } ` i.[ ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.8.P Y P Y P Y P Y P Y P P K K K K K B B B B n n n n n n n N N N N m m J ^ m z                                                                                                                                                                                                     ",
+"                                                                                                                                                                                                  ` u.} ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.P P Y Y P Y P Y P Y P P K K K K K K B B B n n n n n n n N N N N m m m m H ^ m z                                                                                                                                                                                                 ",
+"                                                                                                                                                                                              ' ` i.` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.8.P P P P Y P Y P Y P Y P K K K K K B B B B n n n n n n n N N N N m m m m m m J M M                                                                                                                                                                                               ",
+"                                                                                                                                                                                          ' [ i.[ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.8.P P P Y P Y P Y P Y P P K K K K K B B B B n n n n n n n N N N N m m m m m m m H ~ m z                                                                                                                                                                                           ",
+"                                                                                                                                                                                      } [ >.} [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.P P P P Y P Y P Y P Y P K K K K K B B B B n n n n n n n N N N N m m m m m m m m m H H m z                                                                                                                                                                                       ",
+"                                                                                                                                                                                    [ [ >.[ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.9.7.7.7.7.7.7.7.7.7.7.7.7.7.7.8.P Y P Y P Y P Y P Y P R K K K K K B B B B n n n n n n n N N N N m m m m m m m m m m m H H j                                                                                                                                                                                     ",
+"                                                                                                                                                                                ' [ >.[ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.8.Y P Y P Y P Y P Y P Y R K K K K K B B B B n n n n n n n N N N N m m m m m m m m m m m m m H H z                                                                                                                                                                                 ",
+"                                                                                                                                                                            =.&.>.} [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.8.7.8.8.8.P Y P Y P Y P Y P P P P K K K K K B B B B n n n n n n n N N N N m m m m m m m m m m m m z j H H z z                                                                                                                                                                             ",
+"                                                                                                                                                                          [ >.>.[ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.8.8.8.8.8.P P Y P Y P Y P P P P P K K K K K B B B B n n n n n n n N N N N m m m m m m m m m m m m j z z j z b j z                                                                                                                                                                         ",
+"                                                                                                                                                                      =.>.&.&.[ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.P P P Y P Y P Y P Y P Y K K K K K B B B B n n n n n n n N N N N m m m m m m m m m m m m j z j z j z b b z                                                                                                                                                                       ",
+"                                                                                                                                                                  =.&.>.[ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.8.8.7.P P P P Y P Y P Y P Y P K K K K K B B B B n n n n n n n N N N N m m m m m m m m m m m m z j z j z j z z b z z                                                                                                                                                                   ",
+"                                                                                                                                                              :.) ,.&.[ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.8.8.7.q.q.q.8.P P P Y P Y P Y P Y P Y K K K K K B B B B n n n n n n n N N N N m m m m m m m m m m m m j z j z j z j j z j b z j                                                                                                                                                               ",
+"                                                                                                                                                            =.,.@.&.) ' [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.8.e.P 8.P e.Y P Y P Y P Y P Y P Y P K K K K K B B B B n n n n n n n N N N N m m m m m m m m m m m m z j z j z j z z j z z Z D z                                                                                                                                                             ",
+"                                                                                                                                                        @.,.,.@.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.q.q.R       R q.e.P Y P Y P P Y P Y Y K K K K K B B B B n n n n n n n N N N N m m m m m m m m m m m m z z j z j z j j z j z h h Z D g                                                                                                                                                         ",
+"                                                                                                                                                    =.=.,.=.=.@.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.q.t.9.T             Y e.W P P Y Y P Y P P K K K K K B B B B n n n n n n n N N N N m m m m m m m m m m m m j j z j z j z z j z j h h h v D v z                                                                                                                                                     ",
+"                                                                                                                                                =.=.6.,.@.=.@.=.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.8.7.7.7.t.7.9.                  Y Y e.Y P P Y P Y Y K K K K K E B B B n n n n n n n N N N N m m m m m m m m m m m m j z j z j z j j z j z h h h v v v D f j                                                                                                                                                 ",
+"                                                                                                                                              ;.,.,.=.=.=.@.=.@.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.8.7.w.w.(                           P W ! Y P Y P P K K K K K B B B B n n n n n n n N N N N m m m m m m m m m m m m z j z j z j z z j z j h h h v v v f c D c z                                                                                                                                             ",
+"                                                                                                                                          =.$.,.=.@.=.@.=.@.=.@.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.9.0.w.q.8.                                  P e.W P Y P K K K K K B B B B n n n n n n n N N N N m m m m m m m m m m m m j z j z j z j j z j z h h h v v v f f f D c f                                                                                                                                           ",
+"                                                                                                                                      @.:.6.:.=.@.=.@.=.@.=.@.=.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.w.w.8.                                          P W Y P K K K K K B B B B n n n n n n n N N N N m m m m m m m m m m m m z j z j z j z z j z j h h h v v v f f f f c S f z                                                                                                                                       ",
+"                                                                                                                                  @.;.:.,.$.$.@.=.@.=.@.=.@.=.@.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.w.0.9.                                              9.P W E K K K K B B B B n n n n n n n N N N N m m m m m m m m m m m m z z j z j z j j z j z h h h v v v f f f f f f c c f j                                                                                                                                   ",
+"                                                                                                                                ;.:.2.$.%.$.$.=.@.=.@.=.@.=.@.=.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.w.w.( (                                                       P K E E K K B B B B n n n n n n n N N N N m m m m m m m m m m m m j j z j z j z z j z j h h h v v v f f f f f f f f c s f                                                                                                                                 ",
+"                                                                                                                            =.:.2.:.$.$.$.$.$.@.=.@.=.@.=.@.=.@.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.w.0.`                                                               m K E E E B B B n n n n n n n N N N N m m m m m m m m m m m m j z j z j z j j z j z h h h v v v f f f f f f f f f x x x f                                                                                                                             ",
+"                                                                                                                        :.%.2.:.$.$.$.$.$.$.$.=.@.=.@.=.@.=.@.=.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0.0.r.w.w.9.                                                                  T K E E E B B n n n n n n n N N N N m m m m m m m m m m m m z j z j z j z z j z j h h h v v v f f f f f f f f f s s x x f z                                                                                                                         ",
+"                                                                                                                    @.%.2.2.:.;.$.$.$.$.$.$.$.@.=.@.=.@.=.@.=.@.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.r.r.w.(                                                                           T E E E B n n n n n n n N N N N m m m m m m m m m m m m j z j z j z j j z j z h h h v v v f f f f f f f f f s s s x x x f z                                                                                                                     ",
+"                                                                                                                  :.2.2.;.;.;.;.$.$.$.$.$.$.$.=.@.=.@.=.@.=.@.=.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ r.y.0.(                                                                                   R E E E n n n n n n N N N N m m m m m m m m m m m m z j z j z j z z j z j h h h v v v f f f f f f f f f s s s s s x x p g                                                                                                                   ",
+"                                                                                                              #.2.2.;.;.;.;.;.;.$.$.$.$.$.$.$.@.=.@.=.@.=.@.=.@.=.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ y.r.`                                                                                           M G Q G n n n n N N N N m m m m m m m m m m m m j z j z j z j j z j z h h h v v v f f f f f f f f f s s s s s s 6 6 p p 8                                                                                                               ",
+"                                                                                                          :.1.4.:.1.:.;.;.;.;.:.$.$.$.$.$.$.$.=.@.=.@.=.@.=.@.=.@.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ r.y.` 9.                                                                                              T m Q E n n n N N N N m m m m m m m m m m m m z j z j z j z z j z j h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 p u 8                                                                                                           ",
+"                                                                                                        :.5.2.1.1.1.:.:.:.;.:.;.$.$.$.$.$.$.$.@.=.@.=.@.=.@.=.@.=.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ r.u.r._                                                                                                       P E Q J G N N N N m m m m m m m m m m m m j z j z j z j j z j z h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u p C w                                                                                                         ",
+"                                                                                                    o.5.2.1.1.1.1.1.:.;.;.:.;.:.$.$.$.$.$.$.$.=.@.=.@.=.@.=.@.=.@.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` y.r.`                                                                                                               R E Q N N N N m m m m m m m m m m m m z j z j z j z z j z j h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u p a 8                                                                                                     ",
+"                                                                                                o.| 5.1.1.1.1.1.1.1.-.-.:.;.:.-.$.$.$.$.$.$.$.@.=.@.=.@.=.@.=.@.=.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` u.`                                                                                                                       R Q J N N m m m m m m m m m m m m j z j z j z j j z j z h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 a i 0                                                                                                 ",
+"                                                                                            o.1.5.o.1.1.1.1.1.1.1.1.-.-.;.:.-.-.$.$.$.$.$.$.$.=.@.=.@.=.@.=.@.=.@.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` u._ 9.                                                                                                                          z m ^ J m m m m m m m m m m m m z j z j z j z z j z j h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y i a w 8                                                                                             ",
+"                                                                                          O.5.5.| | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.$.@.=.@.=.@.=.@.=.@.=.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` } ` _                                                                                                                                   P J J m m m m m m m m m m m j z j z j z j j z j z h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y i V 0                                                                                           ",
+"                                                                                      o.3.5.| | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.$.=.@.=.@.=.@.=.@.=.@.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` [ } `                                                                                                                                           M J J m m m m m m m m m z j z j z j z z j z j h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y V i 8                                                                                       ",
+"                                                                                  s.O.M.o.| | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.$.@.=.@.=.@.=.@.=.@.=.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` } `                                                                                                                                                   m J m m m m m m m m z z j z j z j j z j z h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y i V w 8                                                                                   ",
+"                                                                              o.O.O.5.o.| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.$.=.@.=.@.=.@.=.@.=.@.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ } [ [                                                                                                                                                       j m J m m m m m m z j z j z j z z j z j h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w i t 8 8                                                                               ",
+"                                                                            O.o.5.3. .o.| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.$.@.=.@.=.@.=.@.=.@.=.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ } } `                                                                                                                                                               j m H m m m m j z j z j z j j z j z h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w t w 8                                                                             ",
+"                                                                        o.O.m.O.o. .o. .| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.$.=.@.=.@.=.@.=.@.=.@.&.) [ [ [ [ [ [ [ [ [ [ [ [ } `                                                                                                                                                                       m m H m m z j z j z j z z j z j h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w t w 8                                                                         ",
+"                                                                    a.O.O.m..... . . .o.| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.$.@.=.@.=.@.=.@.=.@.=.&.) [ [ [ [ [ [ [ [ [ } } ) }                                                                                                                                                                           z M m H m z j z j z j j z j z h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w t t 8 8                                                                     ",
+"                                                                  o.O.O.o.o. . . . .o. .| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.$.=.@.=.@.=.@.=.@.=.@.&.) [ [ [ [ [ [ [ } >.[ '                                                                                                                                                                                   z m H H z j z j z z j z j h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w e e 8 8                                                                 ",
+"                                                              O.O.O.O. . .o. .o. .O. . .| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.$.@.=.@.=.@.=.@.=.@.=.&.) [ [ [ [ [ [ >.[ =.                                                                                                                                                                                          z z ~ z j z j j z j z h h h v v v f f f f f f f f g s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 e e e 8                                                               ",
+"                                                           .O.O.m.o.o. .o. .o. . . . . .| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.%.=.@.=.@.=.@.=.@.=.@.&.) [ [ [ [ >.>.[                                                                                                                                                                                                   z m H j z z j z j h h h v v v f f f f f f f g g s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 e 8 8                                                           ",
+"                                                       .O.V.m... .o. .o. .o. .o. .o. .o.| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.$.@.@.=.@.=.@.=.@.=.@.&.) [ [ >.<.=.}                                                                                                                                                                                                       j z F b j z j z h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 r 8 8                                                       ",
+"                                                    O.B.O.O.O. .o. .o. .o. .o. .o. .o. .| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.$.@.=.@.=.@.=.@.=.@.=.&.) [ <.&.@.                                                                                                                                                                                                              z z ~ b z j h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 r 8                                                     ",
+"                                                o.m.m.O.O.O.O. . .o. .o. .o. .o. .o. .o.| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.$.@.@.=.@.=.@.=.@.=.@.&.<.>.=.                                                                                                                                                                                                                      z b F j h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 2 r 8                                                 ",
+"                                            s.p.B.O.m.O.O.O.O. .o. .o. .o. .o. .o. .o. .| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.$.@.=.@.=.@.=.@.=.@.>.,.=.@.                                                                                                                                                                                                                            z F b h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 r 8 8                                             ",
+"                                        o.O.N.m.m.O.O.O.m.O.O. . .o. .o. .o. .o. .o. .o.| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.:.;.$.$.$.$.$.$.$.@.@.=.@.=.@.=.=.,.=.[                                                                                                                                                                                                                                   z z F v v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 2 r 8 8                                         ",
+"                                      O.N.N.p.O.o.O.O.O.O.O.O.o.o. .o. .o. .o. .o. .o. .| | | | | | 1.1.1.1.1.1.1.1.-.-.-.:.;.:.$.$.$.$.$.$.$.=.=.@.=.@.=.,.@.@.                                                                                                                                                                                                                                          z v D v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 2 r 8                                       ",
+"                                  o.m.B.a.p.p.m.O.O.m.O.O.o.O.o. .o. .o. .o. .o. .o. .o.| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.:.;.$.$.$.$.$.$.$.@.@.=.=.,.,.=.                                                                                                                                                                                                                                                  g D Z f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 4 2 8                                   ",
+"                              s.a.Z.m.p.p.p.p.O.O.O.O.O.O.m.O...o. .o. .o. .o. .o. .o. .| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.;.:.$.$.$.$.$.$.$.=.=.@.,.@.@.                                                                                                                        8.8.Y                                                                                                                           f D f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 2 4 8 <                               ",
+"                          o.a.N.c.a.p.p.p.p.p.o.m.o.O.O.O.O.m... .o. .o. .o. .o. .o. .o.| | | | | | 1.1.1.1.1.1.1.1.:.:.:.;.:.;.$.$.$.$.$.$.$.$.,.@.=.                                                                                                                        ( w.t.q.q.P P                                                                                                                         z f c f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < 2 2 8 8                           ",
+"                        O.a.N.a.a.a.p.p.p.p.p.m.O.O.O.m.O.O.o...o. .o. .o. .o. .o. .o. .| | | | | | 1.1.1.1.1.1.1.1.:.:.;.;.;.:.$.$.$.$.%.:.;.,.=.                                                                                                                        _ w.t.w.7.7.7.W ! E P                                                                                                                         z f c f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < 2 < 8                         ",
+"                    c.c.N.c.a.a.a.a.p.p.p.p.p.O.O.o.O.O.m.O.O. . .o. .o. .o. .o. .o. .o.| | | | | | 1.1.1.1.1.1.1.1.:.;.;.;.;.:.$.$.$.$.,.:.=.                                                                                                                          ` r.r.0.7.7.7.7.P P E E K T                                                                                                                         f c c f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < > > <                     ",
+"                s.c.N.c.a.a.a.a.a.a.p.p.p.p.p.O.O.m.O.O.O.O.O. .o. .o. .o. .o. .o. . ...| | | | | | 1.1.1.1.1.1.1.| ;.;.;.;.;.;.$.$.;.-.%.:.                                                                                                                        ` ` r.r.0.0.7.7.7.7.P P K E E J M                                                                                                                         z f c c s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < > > > <                 ",
+"              a.c.c.a.a.a.a.a.a.a.a.p.p.p.p.p.O.O.o.O.O.O.O.O.o. .o. .o. .o. .o. .o. .o.| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.:.:.;.2.:.=.                                                                                                                        ` } ` ` _ _ 0.0.7.7.7.7.P P K B n J J J z                                                                                                                         z f x x s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < > > ; e             ",
+"          c.g.c.c.a.a.a.a.a.a.a.a.a.p.p.p.p.p.O.O.m.O.O.O.O.O...o. .o. .o. .o. .o. .o. .| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.:.2.;.=.                                                                                                                        [ [ } ' ` ` _ _ 0.0.7.7.7.7.P P K B n n N J m z z                                                                                                                         g f x x s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; > < 8           ",
+"      s.c.c.c.g.c.a.a.a.a.a.a.a.a.a.p.p.p.p.p.O.O.O.m.o.O.O.m... .o. .o. .o. .o. .o. .o.| | | | | | 1.1.1.1.1.1.1.1.:.-.-.2.2.:.@.                                                                                                                        =.>.&.' ) ` ` _ _ 0.0.8.8.8.8.P P K B n n N m m m b z                                                                                                                           f x x 6 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; > : <       ",
+"    c.C.c.c.g.c.g.a.a.a.a.a.a.a.a.a.p.p.p.p.p.O.O.m.O.O.O.O.O...o. .o. .o. .o. .o. .o. .| | | | | | 1.1.1.1.1.1.1.1.-.2.4.-.:.                                                                                                                        @.,.,.=.[ [ ' ` ` _ _ 0.0.8.8.8.8.P P K B n n N m m z j b Z g                                                                                                                         z f A x 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; : ;     ",
+"  c.g.c.g.c.g.c.g.a.a.a.a.a.a.a.a.a.p.p.p.p.p.O.O.O.O.O.O.O.O...o. .o. .o. .o. .o. .o. .| | | | | | 1.1.1.1.1.1.1.2.4.:.=.                                                                                                                        :.;.,.@.=.&.[ [ [ ` ` _ _ 0.0.8.8.7.7.P R K B n n N m m z z j h c c z                                                                                                                         8 g A 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; ; :     ",
+"  g.c.g.c.g.c.g.c.a.a.a.a.a.a.a.a.a.p.p.p.p.p.O.O.O.O.o.m.O.O... .o. .o. .o. .o. .o. .o.| | | | | | 1.1.1.1.1.1.4.2.=.                                                                                                                        @.:.4.;.$.=.@.&.[ [ [ ` ` _ _ 0.0.7.7.7.7.R P K B n n N m m j j z v f f x f 8                                                                                                                         g p C u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; ; : $   ",
+"  c.g.c.g.c.g.c.g.a.a.a.a.a.a.a.a.a.p.p.p.p.p.m.O.O.O.m.o.m.O.o.o. .o. .o. .o. .o. .o. .| | | | | | 1.1.1.1.2.4.;.                                                                                                                          -.5.2.:.$.$.@.=.&.[ [ [ ` ` _ _ 0.0.7.7.7.7.P P K B n n N m m j z j v f f s x C f                                                                                                                           8 C p u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; ; : O   ",
+"  c.c.g.c.g.c.g.c.a.a.a.a.a.a.a.a.a.p.p.p.p.p.O.m.o.O.O.O.O.O... .o. .o. .o. .o. .o. .o.| | | | | | 1.1.2.5.:.:.                                                                                                                        o.O.5.| | ;.$.%.=.@.&.[ [ [ ` ` _ _ 0.0.7.7.7.7.P P K B n n N m m z j z v f f s 6 u a i 8                                                                                                                         8 u C p 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; ; : O   ",
+"  c.c.c.g.c.g.c.g.a.a.a.a.a.a.a.a.a.p.p.p.p.p.O.O.O.O.O.O.m.O...o. .o. .o. .o. .o. .o. .| | | | | | 1.5.2.=.                                                                                                                        s.o.M.3.| 1.1.-.$.$.@.=.&.[ [ [ ` ` _ _ 0.0.7.7.7.7.P P K E n n N m m j z j v f f s 6 u 5 i V 8 8                                                                                                                         8 p a y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; ; : -   ",
+"  c.c.c.c.g.c.g.c.a.a.a.a.a.a.a.a.a.p.p.p.p.p.O.O.o.m.O.O.O.O... .o. .o. .o. .o. .o. .o.| | | | | o.5.O.                                                                                                                        o.O.B.m.o. .| 1.1.-.$.$.=.@.&.[ [ [ ` ` _ _ 0.0.7.7.7.8.P P K B n n N m m z j z v f f s 6 u 5 y w t r 0 8                                                                                                                         c p i y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; ; : O   ",
+"  c.c.g.g.c.g.c.g.a.a.a.a.a.a.a.a.a.p.p.p.p.p.O.O.m.O.O.O.O.O. .o. .o. .o. .o. .o. .o. .| | | | 5.o.                                                                                                                          c.m.N.m. . .o.| 1.1.-.$.$.@.=.&.[ [ [ ` ` _ _ 0.0.7.7.8.8.P P K B n n N m m z z j v f f s 6 u 5 y w w 8 r 2 8                                                                                                                           w a y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; ; : $   ",
+"  c.g.c.c.g.c.g.c.a.a.a.a.a.a.a.a.a.p.p.p.p.p.O.O.o.O.O.m.O.O. . .o. .o. .o. .o. .o. .o.| | o.| :.                                                                                                                        c.c.Z.m.O.O. .o. .| 1.1.-.$.$.=.@.&.[ [ [ ` ` _ _ 0.0.7.7.8.8.P P K B n n N m m j j z v f f s 6 u 5 y w w 8 8 2 4 < <                                                                                                                         8 w i y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; ; : O   ",
+"  N.c.g.c.g.c.g.c.a.a.a.a.a.a.a.a.a.p.p.p.p.p.m.O.O.O.O.O.O.O. .o. .o. .o. .o. .o. .o. .| | 3.|                                                                                                                           c.C.N.p.O.O. . .o.| 1.1.:.:.$.@.@.&.[ [ [ ` ` _ _ 0.0.7.7.7.7.P P K B n n N m m z z j v f f s 6 u 5 y w w 9 0 1 2 4 <                                                                                                                           w i y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; ; : O   ",
+"  g.g.c.g.c.g.c.g.a.a.a.a.a.a.a.a.p.p.p.p.p.p.O.m.O.O.o.m.o.O.o. .o. .o. .o. .o. .o. .o.| | | | o.o.                                                                                                                        s.a.m.m.m.o.o. .| 1.1.:.$.$.@.@.&.' [ ' ` ` _ _ 0.0.7.7.7.7.P P K B n n N m m j j z v f f s 6 u 5 y w w 9 2 2 2 <                                                                                                                         8 w y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; ; : $   ",
+"  c.c.c.c.g.c.g.c.a.a.a.a.a.a.a.a.a.p.p.p.p.p.O.O.O.O.m.O.O.O. .o. .o. .o. .o. .o. .o.o.| | | | 3.3.1.o.                                                                                                                        O.m.m.O. .o.| 1.1.:.$.$.@.=.&.' [ [ ` ` _ _ 0.0.7.7.7.7.P P K B n n N m m j z j v f f s 6 u 5 y w w e 0 0                                                                                                                         8 w i i y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; ; : O   ",
+"  c.c.c.g.c.g.c.g.a.a.a.a.a.a.a.a.a.p.p.p.p.p.O.O.O.O.O.O.O.p.o. .o. .o. .o. .o. .o.o.o.| | | | | 2.2.2.1.                                                                                                                          O.O.M. .| 1.1.:.$.$.=.@.&.' [ [ ` ` _ _ 0.0.7.7.7.7.P P K B n n N m m z j z v f f s 6 u 5 i t w 0                                                                                                                           w p i y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; ; : $   ",
+"  c.c.g.c.g.c.g.c.a.a.a.a.a.a.a.a.a.p.p.p.p.p.O.O.O.o.m.O.O.O. .o. .o. .o. .o. .o. .o. .| | | | | | 1.2.2.2.=.                                                                                                                        o.o.O.5.1.| :.$.$.@.=.&.[ [ [ ` ` _ _ 0.0.7.7.7.7.Y P K K n n N m M j z j v f f s 6 u i i w 8                                                                                                                         g p p p y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; ; : O   ",
+"  c.g.c.g.c.g.c.g.s.a.a.a.a.a.a.a.a.p.p.p.p.p.o.m.O.O.O.m.O.O. . .o. .o. .o. .o. .o. .o.| | | | | | 1.1.1.2.2.1.o.                                                                                                                         .O.5.2.:.$.$.=.@.&.[ [ [ ` ` _ _ 0.0.7.7.7.7.P Y K B n n N m m z j z v f f s p p p 8                                                                                                                         8 5 p p u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; ; : $   ",
+"  c.c.g.c.g.c.g.c.s.a.a.a.a.a.a.a.a.p.p.p.p.p.m.o.O.O.O.O.m.O.o.o. .o. .o. .o. .o. .o. .| | | | | | 1.1.1.1.1.2.2.1.:.                                                                                                                        o.1.4.:.%.@.=.&.[ [ [ ` ` _ _ 0.0.7.7.7.7.P R K B n n N m m z z j v f f x 6 g                                                                                                                           f p p u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; ; : O   ",
+"  c.g.c.g.c.g.c.s.a.a.a.a.a.a.a.a.a.p.p.p.p.p.O.O.O.O.O.O.O.O.o. .o. .o. .o. .o. .o. .o.| | | | | | 1.1.1.1.1.1.1.2.4.:.                                                                                                                        @.;.2.,.=.@.&.[ [ [ ` ` _ _ 0.0.7.7.8.8.P R K B n n N m m j z z v c S g z                                                                                                                         g A p 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; ; : $   ",
+"  c.C.c.g.c.g.c.g.s.a.a.a.a.a.a.a.a.p.p.p.p.p.O.O.O.O.m.O.O.O..... .o. .o. .o. .o. .o. .| | | | | | 1.1.1.1.1.1.1.1.-.2.2.@.                                                                                                                        :.%.6.,.&.[ [ [ ` ` _ _ 0.0.7.7.7.7.P P K B n n N m m z j b F f z                                                                                                                         8 x x 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; ; : O   ",
+"    c.C.c.c.c.g.c.a.a.a.a.a.a.a.a.a.p.p.p.p.p.O.O.O.O.O.O.O.m...o... .o. .o. .o. .o. .o.| | | | | | 1.1.1.1.1.1.1.1.-.-.-.4.:.:.                                                                                                                        =.@.,.[ [ [ ` ` _ _ 0.0.7.7.7.7.P P K B n n N m m z F z z                                                                                                                         j s A x 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; 3 > 9   ",
+"      O.C.c.c.c.g.a.a.a.a.a.a.a.a.a.p.p.p.p.p.m.O.m.O.O.O.O.O. .o. .o. .o. .o. .o. .o. .| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.4.:.@.                                                                                                                        =.>.} [ ` ` _ _ 0.0.7.7.7.7.P P K B n n N m H ~ z                                                                                                                         j g A x s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; > > 3 8       ",
+"          c.C.c.c.a.a.a.a.a.a.a.a.a.p.p.p.p.p.O.O.O.O.O.m.O.O.o. .o. .o. .o. .o. .o. .o.| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.4.6.=.                                                                                                                          [ <.` ` _ _ 0.0.7.7.7.7.P P K E n n J ^ M z                                                                                                                         g x S s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; # 3 8 8         ",
+"            s.c.C.c.a.a.a.a.a.a.a.a.p.p.p.p.p.O.O.O.O.O.O.p.O. .o. .o. .o. .o. .o. .o. .| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.%.:.2.=.=.                                                                                                                        [ _ u.r._ 0.0.7.7.7.7.R P K K G E m z                                                                                                                         j f S x s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < > < 8             ",
+"                g.c.N.a.a.a.a.a.a.a.p.p.p.p.p.O.O.O.O.o.O.O.O.o. .o. .o. .o. .o. .o. .o.| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.:.$.,.4.:.=.                                                                                                                        ` ` r.0.0.7.7.7.7.P R K E E P                                                                                                                         j f S S f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < 3 8                 ",
+"                    O.c.c.a.a.a.s.s.p.p.p.p.p.O.O.O.O.m.O.m.O. .o. .o. .o. .o. .o. .o. .| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.%.,.,.;.=.                                                                                                                        ` r.w.7.7.7.7.R W E K                                                                                                                         j f c c f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < 3 0                     ",
+"                       .a.N.g.a.s.p.p.p.p.p.p.O.m.o.O.O.O.O.O. . .o. .o. .o. .o. .o. .o.| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.$.,.=.=.                                                                                                                        P 8.w.q.7.8.W P P                                                                                                                         g f c f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < 2 < 8                       ",
+"                          s.a.N.c.a.p.p.p.p.p.O.m.O.O.o.O.O.p.o.o. .o. .o. .o. .o. .o. .| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.$.@.,.,.=.[                                                                                                                         _ 9.q.T P                                                                                                                         j f c c f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < <                           ",
+"                              O.a.N.m.p.p.p.p.O.O.O.O.m.O.O.O. . .o. .o. .o. .o. .o. .o.| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.$.=.=.=.,.,.@.:.                                                                                                                        P                                                                                                                         j f v c f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 2 2 < 8                               ",
+"                                  a.a.N.p.p.p.m.O.O.O.O.m.O.O.o.o. .o. .o. .o. .o. .o. .| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.$.@.=.@.=.@.,.=.=.                                                                                                                                                                                                                                              j v z c f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 2 2 8                                   ",
+"                                    o.a.m.m.p.O.O.O.O.O.O.O.O. . .o. .o. .o. .o. .o. .o.| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.$.=.@.=.@.=.@.@.,.=.=.                                                                                                                                                                                                                                      z z F v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 2 4 8 8                                     ",
+"                                        o.m.B.m.O.O.O.O.m.o.O.o.o. .o. .o. .o. .o. .o. .| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.$.@.=.@.=.@.=.@.=.@.>.) @.                                                                                                                                                                                                                              j z b v h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 0 0 1 1 1 8 r 1 <                                         ",
+"                                            O.m.N.m.O.O.O.O.O... .o. .o. .o. .o. .o. .o.| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.$.=.@.=.@.=.@.=.@.=.=.&.>.&.@.                                                                                                                                                                                                                      z z F j h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 9 1 1 3 r 2 8                                             ",
+"                                              o.O.m.m.O.O.O.m.o.o. .o. .o. .o. .o. .o. .| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.%.@.=.@.=.@.=.@.=.@.@.&.) &.>.=.                                                                                                                                                                                                                  z F b j z h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 1 9 9 9 4 V 8 8                                               ",
+"                                                  ..m.B.O.O.O.o. .o. .o. .o. .o. .o. .o.| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.%.%.%.=.@.=.@.=.@.=.@.=.=.&.) [ [ >.>.'                                                                                                                                                                                                           z z b z z z z h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 9 e r 8 8                                                   ",
+"                                                      c.m.V.O.o.o. .o. .o. .o. . .o. .o.| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.$.=.=.@.=.@.=.@.=.@.=.#.) [ [ [ &.>.@.'                                                                                                                                                                                                   j m ~ j z j z j z h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 r 8 8                                                       ",
+"                                                          o.V.m. .o. .o. .o. .o.o. .o. .| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.$.@.@.=.@.=.@.=.@.=.#.&.) [ [ [ [ [ [ i.[ @.                                                                                                                                                                                          z z ~ H j z j z j z j h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 e r 8                                                           ",
+"                                                              O.M.O.o.o.o. .o. . .o...o.| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.$.=.=.@.=.@.=.@.=.@.#.&.) [ [ [ [ [ [ [ >.>.=.                                                                                                                                                                                      z ~ H z z j j z j z j z h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 e r 8 8                                                             ",
+"                                                                a.O.m.o. .o. .o.o. .o...| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.$.@.@.=.@.=.@.=.@.=.#.&.) ' [ [ [ [ [ [ [ [ i.[ '                                                                                                                                                                               z m ~ M j z j z z j z j z j h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 t e 8                                                                 ",
+"                                                                    o.O.O.o.o.o...o...o.| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.$.=.=.@.=.@.=.@.=.@.#.&.) [ [ [ [ [ [ [ [ [ [ } i.[ _                                                                                                                                                                       j m ~ H m z j z j z j z j z j z h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w t 8                                                                     ",
+"                                                                        O.M.O.o.o...o...| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.$.@.@.=.@.=.@.=.@.=.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ } } ) }                                                                                                                                                                 m H H m m m z z j z j z j z j z j h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w t 8                                                                         ",
+"                                                                           ...m.o.o.o. .| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.$.=.=.@.=.@.=.@.=.@.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ } [ =.                                                                                                                                                          M H J m m m m m z j z j z j z j z j z h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w t 8 8                                                                           ",
+"                                                                              ..o.O. . .| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.$.@.@.=.@.=.@.=.@.=.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` [ } [ `                                                                                                                                                   z m J H m m m m m m j z j z j z j z j z j h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w i t w 8                                                                               ",
+"                                                                                  o.5.m.o.| | | | | 1.1.1.1.1.1.1.1.:.:.-.-.-.-.$.$.$.$.$.$.$.@.=.@.=.@.=.@.=.@.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` } [ ` [                                                                                                                                           z m J J m m m m m m m m z j z j z j z j z j z h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y i i i 0                                                                                   ",
+"                                                                                      -.5.5.| | | | 1.1.1.1.1.1.1.1.:.;.-.-.-.-.$.$.$.$.$.$.$.=.@.=.@.=.@.=.@.=.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` } ` `                                                                                                                                       m m J m m m m m m m m m m j z j z j z j z j z j h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y i i i w q                                                                                     ",
+"                                                                                        o.o.5.3.| | 1.1.1.1.1.1.1.1.;.;.-.-.-.-.$.$.$.$.$.$.$.@.=.@.=.@.=.@.=.@.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` 8.                                                                                                                              M N J J m m m m m m m m m m m z j z j z j z j z j z h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y i i w 8                                                                                         ",
+"                                                                                            o.1.5...1.1.1.1.1.1.1.| ;.;.-.-.-.-.$.$.$.$.$.$.$.=.@.=.@.=.@.=.@.=.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _                                                                                                                         P E ^ J m m m m m m m m m m m m j z j z j z j z j z j h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y i a i 8                                                                                             ",
+"                                                                                                :.2.5.| 1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.$.@.=.@.=.@.=.@.=.@.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` r._ [                                                                                                                         M m J m m m m m m m m m m m z j z j z j z j z j z h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 a y 8                                                                                                 ",
+"                                                                                                  @.:.5.2.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.$.=.@.=.@.=.@.=.@.=.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` ` r.y.`                                                                                                                           m J J m m m m m m m m m j z j z j z j z j z j h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u p a w q                                                                                                   ",
+"                                                                                                      :.1.5.2.1.1.1.:.-.-.-.-.-.$.$.$.$.$.$.$.@.=.@.=.@.=.@.=.@.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ r.y.`                                                                                                                         z m ^ H m m m m m m m z j z j z j z j z j z h h h v v v f f f f f f f f g s s s s s s 6 6 6 6 u p C u q                                                                                                       ",
+"                                                                                                          =.1.5.1.1.-.-.-.-.-.-.$.$.$.$.$.$.$.=.@.=.@.=.@.=.@.=.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ r.y.( 9.                                                                                                                        z m ^ m m m m m m j z j z j z j z j z j h h h v v v f f f f f f f g g s s s s s s 6 6 6 6 C p g                                                                                                           ",
+"                                                                                                              :.4.4.:.:.;.;.;.:.$.$.$.$.$.$.$.@.=.@.=.@.=.@.=.@.@.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ r.y.w.                                                                                                                          M J J m m m m j z j z j z j z j z j h h h v v v f f f f f f f f f s s s s s s 6 6 p A g                                                                                                               ",
+"                                                                                                                  | 4.2.;.;.;.;.$.$.$.$.$.$.$.=.@.=.@.=.@.=.@.=.@.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.r.w.(                                                                                                                           m ~ H m m z j z j z j z j z j z h h h v v v f f f f f f f f f s s s s s s 6 A w 8                                                                                                                 ",
+"                                                                                                                    :.:.2.;.;.:.$.$.$.$.$.$.$.@.=.@.=.@.=.@.=.@.@.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0.0.y./ (                                                                                                                         z m H M j j z z j z j z j z j h h h v v v f f f f f f f f f s s s s 6 A 6 8                                                                                                                     ",
+"                                                                                                                        @.2.2.:.$.$.$.$.$.$.$.=.@.=.@.=.@.=.@.=.=.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0.( / w.y.w._                                                                                                                         z H H z j j z j z j z j z h h h v v v f f f f f f f f f s s x x x g                                                                                                                         ",
+"                                                                                                                            :.2.;.$.$.$.$.$.$.@.=.@.=.@.=.@.=.@.@.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.r.t.9.                                                                                                                          m H z z j z j z j j z h h h v v v f f f f f f f f f s x x f                                                                                                                             ",
+"    c.                                                                                                                        @.;.;.;.$.$.$.$.=.@.=.@.=.@.=.@.=.=.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.w.w.8.                                                                                                                        z z H z j z j z z j h h h v v v f f f f f f f f f x s 8                                                                                                                         1     ",
+"    C.c.c.                                                                                                                        @.;.;.;.$.%.@.=.@.=.@.=.@.=.@.@.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ ( 0.0.0.0.0.w.w.w.(                                                                                                                         j z z b z z j z h h h v v v f f f f f f f c f c                                                                                                                         q > 3     ",
+"  c.c.C.c.c.s.                                                                                                                        ;.:.,.$.=.@.=.@.=.@.=.@.=.=.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0.( ( 0.0.0.0.0.0.0.w.w.8.9.                                                                                                                        z b b j z j h h h v v v f f f f f c f g                                                                                                                           8 > : :     ",
+"  c.g.c.g.C.c.p.                                                                                                                          %.,.,.=.=.@.=.@.=.=.@.@.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0.( / 0.0.0.0.0.0.7.7.7.w.q.9.                                                                                                                          z b b z h h h v v v f f f c c f z                                                                                                                         8 > > : ; :     ",
+"  c.c.g.c.g.g.N.g.g.                                                                                                                        =.:.,.,.=.@.=.@.@.=.=.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0.( / 0.0.0.0.0.0.7.7.7.8.q.q.q.8.                                                                                                                        j z b b h h v v v f c c f z                                                                                                                         1 ; > > ; # ; : =   ",
+"  N.g.g.g.c.g.c.g.c.a.s.                                                                                                                        @.:.,.=.@.@.=.@.@.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.8.8.q.8.P                                                                                                                         z z D v v v v D f g                                                                                                                         e < > > ; ; ; ; ; : =   ",
+"  c.g.g.c.g.c.g.c.g.c.N.c.                                                                                                                          =.@.,.=.@.=.=.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.8.8.q.7.T                                                                                                                         f Z D D D f                                                                                                                           1 3 > < ; ; ; ; ; ; : =   ",
+"  g.g.c.g.c.g.c.g.a.a.a.c.B.O.                                                                                                                        @.=.,.,.=.=.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.q.q.9.                                                                                                                        z z z z                                                                                                                         1 4 1 < < < ; ; ; ; ; ; : O   ",
+"  g.c.g.c.g.c.g.c.a.a.a.a.a.N.c.c.                                                                                                                        =.@.6.>.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.8.q.q.R                                                                                                                                                                                                                                                 8 > 4 < < < < < ; ; ; ; ; ; : =   ",
+"  c.g.c.g.c.g.c.c.a.a.a.a.a.a.a.Z.a.o.                                                                                                                        @.&.,.@.[ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.8.7.7.e.8.P                                                                                                                                                                                                                                         8 8 4 < < < < < < < ; ; ; ; ; ; : O   ",
+"  c.c.g.c.g.c.g.c.a.a.a.a.a.a.a.a.N.B.O.                                                                                                                          =.>.>.[ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.8.7.7.7.8.e.P T                                                                                                                                                                                                                                   8 4 2 < < < < < < < < ; ; ; ; ; ; : O   ",
+"  c.c.c.c.g.c.g.c.s.a.a.a.a.a.a.a.a.p.N.N. .                                                                                                                        #.&.i.} [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.8.8.Y e.e.P                                                                                                                                                                                                                             8 2 4 1 < < < < < < < < < ; ; ; ; ; ; : O   ",
+"  c.g.c.g.c.g.c.g.a.a.a.a.a.a.a.a.a.p.p.a.B.p. .                                                                                                                        $.&.>.&.[ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.8.8.P Y P e.P R                                                                                                                                                                                                                     q 8 4 2 1 1 < < < < < < < < < ; ; ; ; ; ; : O   ",
+"  c.c.g.c.g.c.g.c.a.a.a.a.a.a.a.a.a.p.p.p.p.m.B.a.o.                                                                                                                        ' >.>.[ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.8.8.8.P P Y P W e.P P                                                                                                                                                                                                             q 1 V 2 1 1 1 1 < < < < < < < < < ; ; ; ; ; ; : =   ",
+"  c.g.c.g.c.g.c.g.a.a.a.a.a.a.a.a.a.p.p.p.p.p.O.V.m.O.                                                                                                                          [ >.[ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.8.8.8.P Y P Y Y P W W 9.T                                                                                                                                                                                                       8 2 r 2 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; ; : =   ",
+"  c.c.g.c.g.c.g.c.a.a.a.a.a.a.a.a.a.p.p.p.p.p.m.O.m.M.O.O.                                                                                                                        @.[ >.[ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.8.P P Y P Y P Y P ! Y Y                                                                                                                                                                                                 8 8 V 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; ; : O   ",
+"  c.g.c.g.c.g.c.g.a.a.a.a.a.a.a.a.a.p.p.p.p.p.O.O.m.O.m.M.m. .                                                                                                                        ' [ } [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.8.P Y P Y P Y P P Y W W K R                                                                                                                                                                                         8 8 V 1 < 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; ; : O   ",
+"  c.c.g.c.g.c.g.c.a.a.a.a.a.a.a.a.a.p.p.p.p.p.O.O.O.O.O.O.m.m. .o.                                                                                                                        } ' } [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.8.P P Y P Y P Y Y P Y P W E K Y                                                                                                                                                                                 8 8 e e 1 1 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; ; : O   ",
+"  c.g.c.g.c.g.c.g.a.a.a.a.a.a.a.a.a.p.p.p.p.p.O.O.O.O.m.O.O.m.m.O.O.                                                                                                                          ` [ } ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.8.P Y P Y P Y P P Y P Y P E E E K                                                                                                                                                                             8 8 e 8 8 q e 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; ; : O   ",
+"  g.c.g.c.g.c.g.c.a.a.a.a.a.a.a.a.a.p.p.p.p.p.O.m.O.O.O.O.O.m.o.O.m.o.o.                                                                                                                        _ [ } } ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.P P Y P Y P Y P Y P Y Y K K E E E H                                                                                                                                                                     8 e e e 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; ; : O   ",
+"  g.g.c.g.c.g.c.g.a.a.a.a.a.a.a.a.a.p.p.p.p.p.O.o.O.O.O.O.O.o.....o.O.O.o.o.                                                                                                                        [ ` } [ ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.8.P P P Y P Y P Y P Y P P K K K K E E B P                                                                                                                                                             q w t e 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; ; : $   ",
+"  c.c.g.c.g.c.g.c.a.a.a.a.a.a.a.a.a.p.p.p.p.p.p.O.O.m.O.m.o.O.o. . .o. .O.m.o.                                                                                                                          ` ` u.` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.8.P P P P Y P Y P Y P Y Y K K K K K K E E K T                                                                                                                                                       w t w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; ; : O   ",
+"  c.g.c.g.c.g.c.g.a.a.a.a.a.a.a.a.a.p.p.p.p.p.O.O.O.O.O.O.O.O.o.o. . .o. .o.O.m.O.                                                                                                                        [ ` } } ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.P P P Y P Y P Y P Y P P K K K K K B B K B Q P                                                                                                                                                 8 t t w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; ; : O   ",
+"  N.g.g.c.g.c.g.c.a.a.a.a.a.a.a.a.a.p.p.p.p.p.O.m.O.O.O.O.O.O. . .o. .o.o. .o. .O.O.o.                                                                                                                        _ ` u.` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.8.Y P Y P Y P Y P Y P Y P K K K K K B B B B n E Q R                                                                                                                                         q 8 t w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; ; : $   ",
+"  c.g.g.g.c.g.c.g.a.a.a.a.a.a.a.a.s.p.p.p.p.p.O.o.O.o.m.O.m.O...o. .o. . .o. .o.o. .m.o.o.                                                                                                                        ` ` u._ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.8.P Y P Y P Y P Y P Y P P K K K K K B B B B n n G Q J P                                                                                                                                 q w V w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; ; : O   ",
+"  g.c.g.c.g.c.g.c.a.a.a.a.a.a.a.s.s.p.p.p.p.p.O.O.O.O.O.O.O.O.o. .o. .o.o. .o...o.o.o. .M.:.                                                                                                                          ` u.r._ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.8.8.8.P P Y P Y P Y P Y P Y P K K K K K B B B B n n n n J Q m                                                                                                                             8 V i w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; ; : $   ",
+"  c.g.c.g.c.g.c.g.a.a.a.a.a.a.a.p.s.p.p.p.p.p.O.O.m.O.O.O.O.O. .o. .o. . .o...o.o.o.o.o.| 5.5.o.                                                                                                                        [ ` u.r._ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.8.8.8.8.8.P Y P Y P Y P Y P Y P P K K K K K B B B B n n n G Q m P                                                                                                                         8 i V y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; ; : O   ",
+"  c.c.g.c.g.c.g.g.a.a.a.a.a.a.a.a.a.p.p.p.p.p.O.O.m.O.O.O.O.O.o.o. .o. .o. .o. .o. .o. .| | | 5.| o.                                                                                                                        _ _ y.r.0.0.0./ / 0.0.0.0.0.0.8.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.P P P P Y P Y P Y P Y P K K K K K B B B B n G E G z                                                                                                                         q w V i y y w w w w w w w w 0 0 0 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; ; : %   ",
+"  c.g.c.g.c.g.c.c.a.a.a.a.a.a.a.a.a.p.p.p.p.p.O.O.o.m.O.O.O.m.o. .o. .o. .o. .o. .o. .o.| | | | 3.O.:.:.                                                                                                                        ( y.` 0.0./ / 0.0.0.0.0.0.8.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.P P P Y P Y P Y P Y P Y K K K K K B B B B E E P                                                                                                                         q 0 a a y y y y w w w w w w w w 0 0 0 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; ; : +   ",
+"  c.c.g.c.g.c.g.g.a.a.a.a.a.a.a.a.a.p.p.p.p.p.O.O.p.O.O.O.O.o. .o. .o. .o. .o. .o. .o. .| | | | | | 5.2.:.#.                                                                                                                        9.y.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.8.Y P P P Y P Y P Y P Y P K K K K K B E E Q M                                                                                                                           g p a y y y y y y w w w w w w w w 8 0 9 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; ; : =   ",
+"  c.c.c.g.c.g.c.c.a.a.a.a.a.a.a.a.a.p.p.p.p.p.O.O.O.O.O.m.O.O. . .o. .o. .o. .o. .o. .o.| | | | | | 1.2.5.2.o.                                                                                                                        } / r.0.0.0.0.0.0.0.8.7.7.7.7.7.7.7.7.7.7.7.7.7.7.8.P Y P Y P Y P Y P Y P Y K K K K K E E K P                                                                                                                         g p C p y y y y y y y w w w w w w w w 1 9 9 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; ; : =   ",
+"    c.g.c.g.c.g.g.a.a.a.a.a.a.a.a.a.p.p.p.p.p.O.O.O.O.O.O.O.O...o. .o. .o. .o. .o. .o. .| | | | | | 1.1.1.2.2.1.@.                                                                                                                        ( 0.w.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.8.8.P P P P Y P Y P Y P Y P K K K E E K T                                                                                                                         8 f p p u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; ; : O   ",
+"    g.c.g.c.g.c.c.a.a.a.a.a.a.a.a.a.p.p.p.p.p.O.O.O.m.O.O.O.O.o. .o. .o. .o. .o. .o. .o.| | | | | | 1.1.1.1.1.2.2.;.:.                                                                                                                        8.w.w.w.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.8.8.P Y P Y P Y P Y P Y P Y K E E K Y                                                                                                                         8 f 6 p p u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; ; : O   ",
+"    c.g.c.g.c.g.c.a.a.a.a.a.a.a.a.a.p.p.p.p.p.m.O.O.o.O.O.O.O...o. .o. .o. .o. .o. .o. .| | | | | | 1.1.1.1.1.1.;.2.:.:.                                                                                                                          _ w.w.0.7.7.7.7.7.7.7.7.7.7.7.7.7.8.8.8.Y P Y P Y P Y P Y P Y P E W K Z                                                                                                                         g u x 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; ; : O   ",
+"    C.C.g.c.g.c.c.a.a.a.a.a.a.a.a.a.p.p.p.p.p.O.m.O.m.O.O.o.m.o. .o. .o. .o. .o. .o. .o.| | | | | | 1.1.1.1.1.1.1.1.;.4.:.#.                                                                                                                        _ 7.w.w.7.8.7.7.7.7.7.7.7.7.7.7.8.8.8.P Y P Y P Y P Y P Y W W K R                                                                                                                         g x x 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; : : O   ",
+"    c.c.C.c.c.c.g.a.a.a.a.a.a.a.a.s.p.p.p.p.p.O.o.O.O.O.O.m.o. .o. .o. .o. .o. .o. .o. .| | | | | | 1.1.1.1.1.1.1.1.:.:.-.2.$.@.                                                                                                                        ( 8.w.q.7.7.7.7.7.7.7.7.7.7.7.7.7.P P P Y P Y P Y P ! P P                                                                                                                         9 s x x 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; > 3 8 8     ",
+"        c.c.C.g.c.s.a.a.a.a.a.a.a.p.p.p.p.p.p.o.O.O.O.O.O.O.O. . .o. .o. .o. .o. .o. .o.| | | | | | 1.1.1.1.1.1.1.1.:.;.-.-.-.2.:.@.                                                                                                                        8.( w.7.7.7.7.7.7.7.7.7.7.7.7.P P P P Y P Y W W Y                                                                                                                           f x x 6 s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; > 3 < <         ",
+"            O.Z.C.a.a.a.a.a.a.a.a.a.p.p.p.p.p.m.O.O.O.m.O.m.O.o.o. .o. .o. .o. .o. .o. .| | | | | | 1.1.1.1.1.1.1.1.;.;.-.-.-.-.:.2.=.                                                                                                                        9.9.w.w.7.7.7.7.7.7.7.7.7.8.Y P P Y P W e.8.T                                                                                                                         g x x x s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < 3 > <             ",
+"              s.c.C.g.a.a.a.a.a.a.a.p.p.p.p.p.O.p.O.O.O.O.O.O.o. .o. .o. .o. .o. .o. .o.| | | | | | 1.1.1.1.1.1.1.| ;.;.-.-.-.-.:.%.2.:.o.                                                                                                                        9.7.t.q.7.7.7.7.7.7.7.8.P Y P P e.P P                                                                                                                         j g S s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < 3 3 8                 ",
+"                  s.a.C.a.a.a.a.a.a.p.p.p.p.p.O.O.O.O.O.O.O.O...o. .o. .o. .o. .o. .o. .| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.,.%.;.                                                                                                                        ( 8.t.8.8.7.8.8.8.8.P P e.W R                                                                                                                         j f S f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < 3 8 8                   ",
+"                      c.N.Z.a.a.a.a.p.p.p.p.p.O.O.o.m.O.O.O.m... .o. .o. .o. .o. .o. .o.| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.:.:.6.@.                                                                                                                          8.w.q.7.8.8.8.8.q.e.P                                                                                                                           g c c f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < 3 < <                       ",
+"                          O.Z.N.a.a.p.p.p.p.p.O.O.m.O.O.O.O.o. .o. .o. .o. .o. .o. .o. .| | | | | | 1.1.1.1.1.1.1.1.:.-.-.-.-.-.$.$.$.$.%.$.$.,.,.=.                                                                                                                        T 8.e.7.8.8.q.Y P                                                                                                                         j f D f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < 2 3 <                           ",
+"                            o.a.Z.a.p.p.p.p.p.O.O.O.O.O.m.O.O. . .o. .o. .o. .o. .o. .o.| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.%.$.$.@.@.6.@.=.                                                                                                                        P 7.e.Y P                                                                                                                         j f D f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 2 3 8                               ",
+"                                s.a.N.a.p.p.p.O.O.O.O.O.O.O.O.o.o. .o. .o. .o. .o. .o. .| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.$.@.=.@.,.6.@.}                                                                                                                         9.                                                                                                                        j F D c f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 2 < 8                                 ",
+"                                    o.N.m.m.p.O.O.m.O.o.m.o.O.o. .o. .o. .o. .o. .o. .o.| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.$.=.@.=.@.=.,.>.=.                                                                                                                                                                                                                                              j Z D v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 2 2 4 <                                     ",
+"                                        O.m.m.O.O.O.O.m.O.O.O. .o. .o. .o. .o. .o. .o. .| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.$.@.=.@.=.@.@.@.,.@.=.                                                                                                                                                                                                                                      j j D v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 2 2 2 0                                         ",
+"                                          ..m.m.m.O.O.O.O.O.p.o. .o. .o. .o. .o. .o. .o.| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.$.=.@.=.@.=.@.=.=.>.,.&.@.                                                                                                                                                                                                                              j j F h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 8 2 2 8                                             ",
+"                                              o.m.m.m.O.O.O.O. .o. .o. .o. .o. .o. .o. .| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.$.@.=.@.=.@.=.@.=.@.=.>.>.&.}                                                                                                                                                                                                                       j F F z z g h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 2 2 8 8                                               ",
+"                                                  O.m.m.m.O.O. . .o. .o. .o. .o. .o. .o.| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.$.=.@.=.@.=.@.=.@.=.=.&.&.>.&.[                                                                                                                                                                                                                   j b b j j h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 e 2 8                                                   ",
+"                                                    o.O.m.m.O.o.o. .o. .o. .o. .o. .o. .| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.$.@.=.@.=.@.=.@.=.@.@.&.) [ &.>.>.=.                                                                                                                                                                                                          z b b b j j j h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 e 8 0                                                       ",
+"                                                        s.O.V.m. .o. .o. .o. .o. .o. .o.| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.$.=.@.=.@.=.@.=.@.=.=.&.) [ [ [ &.>.[ @.                                                                                                                                                                                                  j z z z j j j j j h h h h v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 e r 8 8                                                         ",
+"                                                            o.O.V.O.o... . .o.o.o. .o. .| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.$.=.=.@.=.@.=.@.=.@.=.&.) [ [ [ [ [ [ } [                                                                                                                                                                                               M H j z j z j Z j j h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 e r 8 8                                                             ",
+"                                                                o.O.M.m. .o.o.o. .o. . .| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.$.@.@.=.@.=.@.=.@.=.@.&.) [ [ [ [ [ [ [ } >.}                                                                                                                                                                                       M H H z z j z j j j j j h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w e t 8 8                                                                 ",
+"                                                                    O.m.M. . .o.o. . . .| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.$.=.=.@.=.@.=.@.=.@.=.&.) [ [ [ [ [ [ [ [ [ } >.@.                                                                                                                                                                              z z H z z z j z j z j j j j h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w t t 0                                                                     ",
+"                                                                      o.o.M.O.o. .o. . .| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.$.@.@.=.@.=.@.=.@.=.@.&.) [ [ [ [ [ [ [ [ [ [ [ i.[ [                                                                                                                                                                       j z ~ m m j z j z j z j m Z j j h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w t V 8 8                                                                       ",
+"                                                                          o.o.M.3.O. .o.| | | | | | 1.1.1.1.1.1.1.1.-.-.:.;.:.;.$.$.$.$.$.$.$.=.=.@.=.@.=.@.=.@.=.&.) [ [ [ [ [ [ [ [ [ [ [ [ } i.}                                                                                                                                                                   M J H m m m j j z j z j z j j j Z h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w V w 8                                                                           ",
+"                                                                              o.O.5.o. .| | | | | | 1.1.1.1.1.1.1.1.-.-.;.:.;.;.$.$.$.$.$.$.$.@.@.=.@.=.@.=.@.=.@.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ } } `                                                                                                                                                           z H J m m m m m z z j z j z j j j j m h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w t t 8                                                                               ",
+"                                                                                  O.M.O.| | | | | | 1.1.1.1.1.1.1.1.-.-.:.;.;.;.$.$.$.$.$.$.$.=.=.@.=.@.=.@.=.@.=.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` [ u.` _                                                                                                                                                   z m ^ m m m m m m m z j z j z j z j j j j h h h v v v f f f f f f f f g s s s s s s 6 6 6 6 u u u u 5 y y y y y y y i V w                                                                                   ",
+"                                                                                     . .5. .| | | | 1.1.1.1.1.1.1.1.-.:.;.:.;.;.$.$.$.$.$.$.$.@.@.=.@.=.@.=.@.=.@.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` } u.` [                                                                                                                                           z M ^ J m m m m m m m m j z j z j z j j F j j h h h v v v f f f f f f f g g s s s s s s 6 6 6 6 u u u u 5 y y y y y i V y 8                                                                                     ",
+"                                                                                        s.3.5.| | | 1.1.1.1.1.1.1.1.;.:.;.:.;.:.$.$.$.$.$.$.$.=.@.=.@.=.@.=.@.=.@.#.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` } ` `                                                                                                                                       M J J m m m m m m m m m m j z j z j z j j j j j h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y i i 8                                                                                         ",
+"                                                                                            =.3.3.2.1.1.1.1.1.1.1.1.:.;.:.;.:.;.$.$.$.$.$.$.$.@.=.@.=.@.=.@.=.@.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` u.` `                                                                                                                               M m ^ J m m m m m m m m m m m z j z j z j z j j j Z h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y i i w                                                                                             ",
+"                                                                                                o.o.2.| 1.1.1.1.1.1.:.;.-.-.;.:.$.$.$.$.$.$.$.=.@.=.@.=.@.=.@.=.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` } ` _                                                                                                                       P E J J N m m m m m m m m m m m m z z j z j z j j j j j h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 i i w q                                                                                               ",
+"                                                                                                  o.2.2.2.1.1.1.1.1.:.;.-.-.:.;.$.$.$.$.$.$.$.@.=.@.=.@.=.@.=.@.#.&.) ' [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` r._ 9.                                                                                                              z m E J J N N m m m m m m m m m m m m j j z j z j z j m Z j h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u p p i q                                                                                                   ",
+"                                                                                                      #.2.2.2.1.1.1.;.:.-.-.-.-.$.$.$.$.$.$.$.=.@.=.@.=.@.=.@.=.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` r.r.r.`                                                                                                           m J J J N N N N m m m m m m m m m m m m j z j z j z j j j Z m z h h c v v f f f f f f f f f s s s s s s 6 6 6 6 u p p p g                                                                                                       ",
+"                                                                                                          :.1.4.;.1.:.;.-.-.-.-.$.$.$.$.$.$.$.@.=.@.=.@.=.@.=.@.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ r.r.r.(                                                                                                   R n E J n G N N N N m m m m m m m m m m m m z j z j z j z m Z j j h h z v v v f f f f f f f f f s s s s s s 6 6 6 6 u p w                                                                                                           ",
+"                                                                                                            :.;.2.2.;.;.-.-.-.-.$.$.$.$.$.$.$.=.@.=.@.=.@.=.@.=.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ r.r.0._                                                                                           P K E E G n n n N N N N m m m m m m m m m m m m j z j z j z j j j j j h h h v v v f f f f f f f f f s s s s s s 6 6 x p w 8                                                                                                             ",
+"                                                                                                                @.;.4.| -.-.-.-.$.$.$.$.$.$.$.@.=.@.=.@.=.@.=.@.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ r.r.r._                                                                                       K E G G n n n n n N N N N m m m m m m m m m m m m z j z j z j z j j Z j h h h f v v f f f f f f f f f s s s s s s x x f 8                                                                                                                 ",
+"                                                                                                                    =.:.4.:.;.:.$.$.$.$.$.$.$.=.=.@.=.@.=.@.=.@.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.r.r.y.8.                                                                              P E E E n n n n n n n N N N N m m m m m m m m m m m m j z j z j z j j j j j h h h v v v f f f f f f f f f s s s s x A 6 g                                                                                                                     ",
+"                                                                                                                        ;.4.2.;.$.$.$.$.$.$.$.@.@.=.@.=.@.=.@.=.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ r.w.R                                                                       P B E K B B n n n n n n n N N N N m m m m m m m m m m m m z j z j z j z j j Z j h h h v v v f f f f f f f f f s s s x x f z                                                                                                                       ",
+"                                                                                                                          :.;.4.;.%.%.%.$.$.$.@.=.@.=.@.=.@.=.@.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / w.r.w.9.                                                              P K ! E E B B B n n n n n n n N N N N m m m m m m m m m m m m j z j z j z j Z m j j h h h v v v f f f f f f f f f s x A f z                                                                                                                           ",
+"    o.                                                                                                                        =.;.4.%.%.$.$.$.@.@.=.@.=.@.=.@.=.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.w.y.`                                                           P ! E K K B B B B n n n n n n n N N N N m m m m m m m m m m m m z j z j z j z j j j j h h h v v v f f f f f f f f f S x f                                                                                                                         8     ",
+"    C.O.                                                                                                                          =.2.,.$.$.%.=.=.@.=.@.=.@.=.@.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.w.w.(                                                   R W ! K K K K B B B B n n n n n n n N N N N m m m m m m m m m m m m j z j z j z j j F j j h h h v v v f f f f f f f c S c                                                                                                                           8 3     ",
+"    c.C.g.g.                                                                                                                          =.,.:.%.@.@.=.@.=.@.=.@.=.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.t.w._                                           P P e.R K K K K K B B B B n n n n n n n N N N N m m m m m m m m m m m m z j z j z j z j j j j h h h v v v f f f f f f S f z                                                                                                                         < 3 3 : =   ",
+"    c.c.c.C.c.s.                                                                                                                        ;.:.6.=.=.@.=.@.=.@.=.@.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ ( 0.0.0.0.0.0.7.w.t.9.9.                                  T 9.e.W P P K K K K K B B B B n n n n n n n N N N N m m m m m m m m m m m m j z j z j z j j Z j j h h h v v v f f f f S f z                                                                                                                         < > 3 ; ; : +   ",
+"    c.c.g.c.C.C.c.o.                                                                                                                        @.,.,.=.@.=.@.=.@.=.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ ( 0.0.0.0.0.0.7.7.7.w.t.8.                              Y W e.Y P P R K K K K K B B B B n n n n n n n N N N N m m m m m m m m m m m m z j z j z j z j j j j h h h v v v f f c c f                                                                                                                         8 8 3 > ; ; ; : =   ",
+"    c.g.c.g.c.g.C.g.O.                                                                                                                          =.,.,.=.=.@.=.@.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0.( ( 0.0.0.0.0.0.7.7.7.8.8.t.0.8.                      Y P e.Y P Y P Y P K K K K K B B B B n n n n n n n N N N N m m m m m m m m m m m m z z j z j z j j j j j Z h h h v h v c j                                                                                                                           8 3 3 ; ; ; ; ; : =   ",
+"  c.g.c.g.c.g.c.c.g.Z.a.c.                                                                                                                          @.,.@.=.@.=.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0.( / 0.0.0.0.0.0.7.7.7.8.7.8.8.q.7.P               P P e.W Y P Y P Y P Y K K K K K B B B B n n n n n n n N N N N m m m m m m m m m m m m z j z j z j z m Z j j h h h v v D f z                                                                                                                         8 < 3 < ; ; ; ; ; ; : =   ",
+"  s.c.g.c.g.c.g.c.a.a.c.N.a.s.                                                                                                                        :.@.,.@.=.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.8.8.8.7.q.q.7.T       T 9.W W P Y P Y P Y P Y P K K K K K B B B B n n n n n n n N N N N m m m m m m m m m m m m j z j z j z j j j j j h h v Z f z                                                                                                                         = < > > < < ; ; ; ; ; ; : O   ",
+"  c.c.c.g.c.g.c.g.a.a.a.a.N.a.a.                                                                                                                          =.=.,.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.8.8.8.7.7.7.q.8.9.9.P P q.Y P Y P Y P Y P Y P Y K K K K K B B B B n n n n n n n N N N N m m m m m m m m m m m m z j z j z j z j j Z m Z b h z                                                                                                                         8 8 < < < < < < ; ; ; ; ; ; : O   ",
+"  c.c.g.c.g.c.g.g.a.a.a.a.a.a.N.a.O.                                                                                                                          =.#.>.&.[ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.q.7.8.8.P Y P P Y P Y P Y P Y P K K K K K B B B B n n n n n n n N N N N m m m m m m m m m m m m z z j z j z j j z z b z z                                                                                                                           8 < < < < < < < < ; ; ; ; ; ; : X   ",
+"  h.g.c.g.c.g.c.c.a.a.a.a.a.a.a.a.N.p.o.                                                                                                                        #.#.>.>.[ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.8.8.P P Y Y P Y P Y P Y P Y K K K K K B B B B n n n n n n n N N N N m m m m m m m m m m m m j j z j z j z z b b z j                                                                                                                         8 2 2 < < < < < < < < ; ; ; ; ; ; : =   ",
+"  c.c.g.c.g.c.g.g.a.a.a.a.a.a.a.a.a.m.N.a.o.                                                                                                                        #.#.>.>.[ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.8.8.8.P Y P P Y P Y P Y P Y P K K K K K K B B B n n n n n n n N N N N m m m m m m m m m m m m j z j z j z b F j z                                                                                                                         q 1 2 2 < < < < < < < < < ; ; ; ; ; ; : O   ",
+"  c.g.c.g.c.g.c.c.a.a.a.a.a.a.a.a.a.p.a.m.N.O.                                                                                                                          #.&.>.[ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.8.8.8.Y P Y Y P Y P Y P Y P Y K K K K K B B B B n n n n n n n N N N N m m m m m m m m m m m m z j z j z F j z                                                                                                                           8 4 2 1 1 < < < < < < < < < ; ; ; ; ; ; : O   ",
+"  c.c.c.c.g.c.g.c.a.a.a.a.a.a.a.a.a.p.p.p.m.m.m. .                                                                                                                        #.#.>.>.' ) [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.P P P P Y P Y P Y P Y P K K K K K B B B B n n n n n n n N N N N m m m m m m m m m m m M j j z H H M z                                                                                                                         8 V 3 1 1 1 1 < < < < < < < < < ; ; ; ; ; ; : O   ",
+"  c.c.c.g.c.g.c.g.s.a.a.a.a.a.a.a.a.p.p.p.p.p.O.N.O.s.                                                                                                                        [ } >.} ' [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.P P P Y P Y P Y P Y P P K K K K K B B B B n n n n n n n N N N N m m m m m m m m m m m m z H ~ z z                                                                                                                         8 4 2 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; ; : O   ",
+"  c.c.g.c.g.c.g.c.a.a.a.a.a.a.a.a.a.p.p.p.p.p.O.O.m.B.O.o.                                                                                                                        @.[ >.[ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.8.P P P P Y P Y P Y P Y P K K K K K B B B B n n n n n n n N N N N m m m m m m m m m m m m ~ z z                                                                                                                         q 1 V 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; ; : O   ",
+"  g.g.c.g.c.g.c.g.a.a.a.a.a.a.a.a.a.p.p.p.p.p.O.O.O.m.m.V.O.                                                                                                                          ' } >.[ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.8.Y P Y Y P Y P Y P Y P P K K K K K B B B B n n n n n n n N N N N m m m m m m m m m m H ~ M                                                                                                                         8 0 V 1 < 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; ; : O   ",
+"  c.c.g.c.g.c.g.c.a.a.a.a.a.a.a.a.a.p.p.p.p.p.O.O.O.O.O.O.m.m. .                                                                                                                          ` i.[ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.8.8.P P P P Y P Y P Y P Y P K K K K K B B B B n n n n n n n N N N N m m m m m m m m m ~ M z                                                                                                                         8 r r 0 0 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; ; : $   ",
+"  c.g.c.g.c.g.c.g.a.a.a.a.a.a.a.a.a.p.p.p.p.p.O.O.O.o.m.m.O.O.M.m.o.                                                                                                                        } [ } [ ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.8.8.P P Y Y P Y P Y P Y P P K K K K K B B B B n n n n n n n N N N N m m m m m m m H z z                                                                                                                         8 8 r 8 8 0 1 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; ; : O   ",
+"  c.c.g.c.g.c.g.c.a.a.a.a.a.a.a.a.a.p.p.p.p.p.m.m.O.O.O.o.O.O...m.M.O.o.                                                                                                                        ' } } ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.8.8.8.P Y P P Y P Y P Y P Y P K K K K K B B B B n n n n n n n N N N N m m m m m H J M                                                                                                                         8 0 t e 8 9 9 0 9 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; ; : $   ",
+"  c.g.c.g.c.g.c.g.a.a.a.a.a.a.a.a.a.p.p.p.p.p.O.O.O.O.O.O.O.m... .O.M.O.O.                                                                                                                          ` } [ ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.8.8.8.Y P Y Y P Y P Y P P P P K K K K K B B B B n n n n n n n N N N N m m m H J m                                                                                                                           0 t t e 8 1 9 9 9 9 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; ; : O   ",
+"  g.g.c.g.c.g.c.g.a.a.a.a.a.a.a.a.a.p.p.p.p.p.O.m.O.O.o.O.O.O. . . . .O.M.O.o.                                                                                                                        @.[ } ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.P Y P Y P Y P Y P Y P Y K K K K K E B B B n n n n n n n N N N N m J J m z                                                                                                                         8 w t e 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; ; : O   ",
+"  g.c.g.c.g.c.g.c.a.a.a.a.a.a.a.a.a.p.p.p.p.p.O.o.O.O.m.O.O.O...o. .o. .O.O.m.O.o.                                                                                                                        _ _ } ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.8.P P P P Y P Y P Y P Y P K K K K K B B B B n n n n n n n N N N J J N z                                                                                                                         8 w t t w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; ; : =   ",
+"  c.g.c.g.c.g.c.g.a.a.a.a.a.a.a.a.a.p.p.p.p.p.O.O.O.O.O.m.O.O... .o. .o.o.o.o.O...o.o.                                                                                                                        ` ` } ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.8.P P P Y P Y P Y P Y P Y K K K K K B B B B n n n n n n n N J J J M                                                                                                                         8 w t t w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; ; : =   ",
+"  c.c.g.c.g.c.g.c.a.a.a.a.a.a.a.a.a.p.p.p.p.p.p.O.O.O.O.O.O.m.o.o. .o. ...o.o.o.o.O.o.O.                                                                                                                          ` ` } r._ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.P P P P Y P Y P Y P Y P K K K K K B B B B n n n n n n J J J m                                                                                                                           w i t w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; ; : =   ",
+"  c.c.g.g.c.g.c.g.a.a.a.a.a.a.a.a.a.p.p.p.p.p.O.m.O.O.O.O.O.O.o.o. .o. .o...o...o. .o.O.3.@.                                                                                                                        9._ r.r._ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.8.P Y P Y P Y P Y P Y P P K K K K K B B B B n n n n n J E m z                                                                                                                         8 i i w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; ; : O   ",
+"  c.g.c.c.g.c.g.c.a.a.a.a.a.a.a.a.a.p.p.p.p.p.O.o.O.O.m.O.p.O.o. .o. .o...o...o. .o... .3.3.| ..                                                                                                                        _ _ y.r._ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.8.Y P Y P Y P Y P Y P Y P K K K K K B B B B n n n E Q K R                                                                                                                         8 y i i w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; ; : O   ",
+"  g.c.g.g.c.g.c.g.a.a.a.a.a.a.a.a.a.p.p.p.p.p.O.m.O.O.O.O.O.m.o.o. .o. .o. .o. .o. .o.o.| | o.5.o.                                                                                                                          ` _ y.r.0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.8.8.8.P Y P Y P Y P Y P Y P P K K K K K B B B B n G Q n M                                                                                                                         8 w i i y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; ; : O   ",
+"  g.g.c.c.g.c.g.c.a.a.a.a.a.a.a.a.a.p.p.p.p.p.O.o.O.O.O.O.O.o... .o. .o. .o. .o. .o.o.o.| | | | 3.3.=.                                                                                                                          ` r.r.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.8.8.8.8.8.P P Y P Y P Y P Y P Y P K K K K K B B B B E Q M z                                                                                                                         g a i y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; ; : O   ",
+"  c.c.g.c.g.c.g.c.a.a.a.a.a.a.a.a.a.p.p.p.p.p.O.O.O.O.O.m.o.O.o.o. .o. .o. .o. .o. .o. .| | | | | | 5.2.#.                                                                                                                        9.` y.r.( ( 0.0.0.0.0.0.8.7.7.7.7.7.7.7.7.7.7.7.7.7.7.8.P P P Y P Y P Y P Y P P K K K K K K B E ! K z                                                                                                                         g p a y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; ; : O   ",
+"  c.g.c.g.c.g.c.g.a.a.a.a.a.a.a.a.a.p.p.p.p.p.O.O.m.O.O.O.O.O.o. .o. .o. .o. .o. .o. .o.| | | | | | 1.2.5.1.:.                                                                                                                        _ 0.y.0.0.0.0.0.0.0.8.7.7.7.7.7.7.7.7.7.7.7.7.7.7.8.P P Y P Y P Y P Y P Y P K K K K K K ! G R                                                                                                                         8 u C 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; ; : $   ",
+"  c.c.g.c.g.c.g.c.a.a.a.a.a.a.a.a.a.p.p.p.p.p.m.O.O.m.O.O.O.O.o.o. .o. .o. .o. .o. .o. .| | | | | | 1.1.1.2.5.-.                                                                                                                          ` r.r.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.8.P Y P Y P Y P Y P Y P P K K K K E ! R                                                                                                                           w C p u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; ; : O   ",
+"  c.g.c.g.c.g.c.g.a.a.a.a.a.a.a.a.a.p.p.p.p.p.O.O.O.o.O.O.p.O.o. .o. .o. .o. .o. .o. .o.| | | | | | 1.1.1.1.1.4.2.o.                                                                                                                          ` r.w.0.0.0.8.7.7.7.7.7.7.7.7.7.7.7.7.7.7.8.Y P Y P Y P Y P Y P Y Y K K E ! E T                                                                                                                         g p p u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; ; : $   ",
+"  g.c.c.c.g.c.g.c.a.a.a.a.a.a.a.s.s.p.p.p.p.p.O.O.O.m.O.O.o.O...o. .o. .o. .o. .o. .o. .| | | | | | 1.1.1.1.1.1.2.5.;.@.                                                                                                                        9.0.r.0.0.7.7.8.7.7.7.7.7.7.7.7.7.7.7.7.7.P Y P Y P Y P Y P Y P P K Q K R                                                                                                                         g s C u u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; ; : =   ",
+"  s.C.c.g.c.g.c.c.a.a.a.a.a.a.a.a.p.p.p.p.p.p.O.O.O.o.O.O.m.O.o. .o. .o. .o. .o. .o. .o.| | | | | | 1.1.1.1.1.1.1.| 2.4.:.:.                                                                                                                        ( w.w.0.7.8.7.7.7.7.7.7.7.7.7.7.7.7.8.P P P P Y P Y P Y P Y W W R                                                                                                                         z g A p 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; : : <   ",
+"    s.c.c.g.c.g.c.a.a.a.a.a.a.a.a.a.p.p.p.p.p.O.m.o.O.O.O.O.O.o.o. .o. .o. .o. .o. .o. .| | | | | | 1.1.1.1.1.1.1.1.;.;.2.2.;.                                                                                                                          9.w.w.8.7.7.7.7.7.7.7.7.7.7.7.7.8.P P P Y P Y P Y P P W 9.                                                                                                                          g x x 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; : ; 8     ",
+"        g.c.g.c.c.a.a.a.a.a.a.a.a.a.p.p.p.p.p.O.O.O.O.O.O.m.O.o. .o. .o. .o. .o. .o. .o.| | | | | | 1.1.1.1.1.1.1.1.;.:.;.:.4.:.=.                                                                                                                          _ w.q.7.7.7.7.7.7.7.7.7.7.7.7.P P P P Y P Y P W P P                                                                                                                         g x A x s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; > > <         ",
+"            O.c.c.c.a.a.a.a.a.a.a.a.p.p.p.p.p.O.O.O.O.O.m.O.O. . .o. .o. .o. .o. .o. .o.| | | | | | 1.1.1.1.1.1.1.1.;.:.;.;.;.2.4.;.@.                                                                                                                        _ 8.q.q.8.7.7.7.7.7.7.7.7.8.Y P Y Y Y W W Y P                                                                                                                         z f x x s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < > > 8             ",
+"              o.a.g.c.a.a.a.a.a.a.a.p.p.p.p.p.m.O.O.O.m.O.O.O. .o. .o. .o. .o. .o. .o. .| | | | | | 1.1.1.1.1.1.1.1.:.;.;.;.;.;.;.;.;.@.@.                                                                                                                        8.w.q.q.7.7.8.7.7.7.7.8.P Y P P W W Y                                                                                                                         j f c x s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < > > > 8               ",
+"                  s.c.N.c.a.a.a.a.a.p.p.p.p.p.O.m.O.O.O.O.O.O.o. .o. .o. .o. .o. .o. .o.| | | | | | 1.1.1.1.1.1.1.1.:.:.:.;.;.;.$.$.;.,.:.;.                                                                                                                          9.q.q.8.8.7.7.8.8.8.P Y W Y P T                                                                                                                         f f c f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < > > <                   ",
+"                      O.c.N.a.a.a.a.p.p.p.p.p.O.o.O.O.O.O.p.O.o.o. .o. .o. .o. .o. .o. .| | | | | | 1.1.1.1.1.1.1.1.:.:.;.:.;.:.$.$.$.$.:.,.,.=.                                                                                                                        9.7.q.q.7.7.8.8.8.q.W P P                                                                                                                         g c c f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < 3 < 0                       ",
+"                          O.N.N.a.a.p.p.p.p.p.O.O.O.O.O.m.O.O.o. .o. .o. .o. .o. .o. .o.| | | | | | 1.1.1.1.1.1.1.1.-.-.:.;.:.;.$.$.$.$.$.$.:.:.=.@.                                                                                                                        P 8.q.q.7.7.q.8.R                                                                                                                         z f c f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < 2 2 8 8                         ",
+"                            s.c.Z.N.p.p.p.p.p.O.O.O.O.O.O.O.O. .o. .o. .o. .o. .o. .o. .| | | | | | 1.1.1.1.1.1.1.1.-.-.;.:.;.:.$.$.$.$.$.$.$.=.%.,.=.@.                                                                                                                        8.7.e.7.8.                                                                                                                        z z c f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 2 4 0 q                             ",
+"                                c.a.Z.s.p.p.p.O.m.O.O.o.O.O.m. . .o. .o. .o. .o. .o. .o.| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.:.-.$.$.$.$.$.$.$.@.=.@.,.,.=.                                                                                                                          8.                                                                                                                          c D c f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 2 4 < <                                 ",
+"                                    c.N.m.p.p.m.o.O.O.m.O.O.o. .o. .o. .o. .o. .o. .o. .| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.$.=.@.=.=.@.,.=.@.                                                                                                                                                                                                                                              z D D c f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 2 2 8                                     ",
+"                                      o.O.B.m.p.O.O.O.O.O.m.O. . .o. .o. .o. .o. .o. .o.| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.$.@.=.@.=.@.=.@.,.&.}                                                                                                                                                                                                                                       j j D v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 2 r 8 8                                       ",
+"                                          o.O.B.m.O.O.O.O.O.O. .o. .o. .o. .o. .o. .o. .| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.$.=.@.=.@.=.@.=.=.>.,.@.@.                                                                                                                                                                                                                              z j F z h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 2 r 1 2                                           ",
+"                                              s.m.m.O.m.O.O.O. . .o. .o. .o. .o. .o. .o.| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.$.@.=.@.=.@.=.@.=.@.@.,.>.@.                                                                                                                                                                                                                          z b F h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 4 8 9                                               ",
+"                                                  O.V.m.O.O.O. .o. .o. .o. .o. .o. .o. .| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.$.=.@.=.@.=.@.=.@.=.=.&.&.<.@.=.                                                                                                                                                                                                                  z z F Z j h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 V 1                                                   ",
+"                                                      O.V.m.O. .o. .o. . .o. .o. .o. .o.| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.$.@.=.@.=.@.=.@.=.@.@.&.) [ >.<.[ }                                                                                                                                                                                                           j z F b z j z h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 V 8 8                                                     ",
+"                                                        o.O.m.O. .o. .o.o. .o. .o. .o. .| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.$.=.@.=.@.=.@.=.@.=.@.&.) [ [ [ >.>.[                                                                                                                                                                                                       m H F j z j z j h h h v v v f f f f f f f g f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 e 8 1                                                         ",
+"                                                             .O.O.m.o. . .o. .o. .o. . .| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.$.@.=.@.=.@.=.@.=.@.@.&.) [ [ [ ) ' >.[ =.                                                                                                                                                                                              j z ~ z j z j z j z h h h v v v f f f f f f g g g s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 e e e 8                                                             ",
+"                                                                O.O.O. .o. .o. . . . . .| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.%.=.@.=.@.=.@.=.@.=.@.&.) [ [ [ [ [ [ } >.[ '                                                                                                                                                                                       z m H H j z z j z j z j h h h v v v f f f f f f g g g s s s s s s 6 6 6 u u u u u 5 y y y y y y y w w w w w w w w e e e 8                                                                 ",
+"                                                                  o.o.O.m...o.o.o.o. .o.| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.$.@.=.@.=.@.=.@.=.@.#.&.) [ [ [ [ [ [ [ [ } } [ [                                                                                                                                                                               z m H H j z j z j z j z j z h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w t e 8 8                                                                   ",
+"                                                                      o.O.O.O.o.o. .o. .| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.$.=.@.=.@.=.@.=.@.=.#.&.) [ [ [ [ [ [ [ [ [ [ } [ `                                                                                                                                                                           m H H m z z j z j z j z j z j h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w t t w 0                                                                       ",
+"                                                                          O.O.M.o.o. .o.| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.$.@.=.@.=.@.=.@.=.@.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ } [ =.                                                                                                                                                                  M H H m m m z j z j z j z j z j z h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w t w 8                                                                           ",
+"                                                                              O...m.o. .| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.$.@.@.=.@.=.@.=.@.=.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ } [ _                                                                                                                                                           z m J H m m m m j z j z j z j z j z j h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w t t 0 q                                                                             ",
+"                                                                                ..O.m.O.| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.$.@.=.@.=.@.=.@.=.@.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` [ } `                                                                                                                                                     z m J m m m m m m m j j z j z j z j z j z h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y i V w q                                                                                 ",
+"                                                                                    o.o.M.3.| | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.$.@.@.=.@.=.@.=.@.=.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` [ } `                                                                                                                                               M J J m m m m m m m m z z j z j z j z j z j h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y i V i 8                                                                                     ",
+"                                                                                        o.5.5.| | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.$.@.=.@.=.@.=.@.=.@.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` } r.`                                                                                                                                       z J J M m m m m m m m m m z j z j z j z j z j z h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y i i 8                                                                                         ",
+"                                                                                            :.5.3.| 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.$.@.@.=.@.=.@.=.@.=.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` u._ _                                                                                                                               P m J m m m m m m m m m m m m j z j z j z j z j z j h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y i V 8 8                                                                                           ",
+"                                                                                              :.1.5.2.1.1.1.1.1.1.1.:.:.-.-.-.-.$.$.$.$.$.$.$.@.=.@.=.@.=.@.=.@.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` u.`                                                                                                                           m Q J N m m m m m m m m m m m m j z j z j z j j z j z h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y a p 8                                                                                               ",
+"                                                                                                  o.3.5.1.1.1.1.1.1.;.:.:.;.-.-.$.$.$.$.$.$.$.=.@.=.@.=.@.=.@.=.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` } r.`                                                                                                                   P E E N N N m m m m m m m m m m m m z j z j z j z z j z j h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u p a 8                                                                                                   ",
+"                                                                                                      :.5.2.1.1.1.1.;.;.;.:.;.:.$.$.$.$.$.$.$.@.=.@.=.@.=.@.=.@.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` r.u.r._                                                                                                           P J Q J N N N N m m m m m m m m m m m m z z j z j z j j z j z h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u C g                                                                                                       ",
+"                                                                                                        @.1.5.4.1.1.;.;.:.;.:.;.$.$.$.$.$.$.$.=.@.=.@.=.@.=.@.=.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ r.u.w._                                                                                                   z E Q J n G N N N N m m m m m m m m m m m m j j z j z j z z j z j h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 p C 6 8                                                                                                         ",
+"                                                                                                            :.1.2.:.:.;.:.;.;.:.$.$.$.$.$.$.$.@.=.@.=.@.=.@.=.@.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ y.y.`                                                                                             z M E Q n n n n N N N N m m m m m m m m m m m m j z j z j z j j z j z h h h v v v f f f f f f f f f s s s s s s 6 6 6 p x q                                                                                                             ",
+"                                                                                                                ..;.2.:.;.;.:.;.$.$.$.$.$.$.$.=.@.=.@.=.@.=.@.=.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ r.y.0.9.                                                                                      M G Q G n n n n n N N N N m m m m m m m m m m m m z j z j z j z z j z j h h h v v v f f f f f f f f f s s s s s s 6 x p g                                                                                                                 ",
+"                                                                                                                    :.2.;.;.;.;.$.$.$.$.$.$.$.@.=.@.=.@.=.@.=.@.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.r.y.w.(                                                                               P E Q E n n n n n n n N N N N m m m m m m m m m m m m j z j z j z j j z j z h h h v v v f f f f f f f f f s s s s x x x g                                                                                                                     ",
+"                                                                                                                      :.%.2.2.;.$.$.$.$.$.$.$.=.@.=.@.=.@.=.@.=.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0.r.w.w.9.                                                                      T E E E B B n n n n n n n N N N N m m m m m m m m m m m m z j z j z j z z j z j h h h v v v f f f f f f f f f s s s x x 6 z                                                                                                                       ",
+"                                                                                                                          O.:.2.-.$.$.$.$.$.$.@.#.#.#.#.#.#.#.#.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ 0.w.0.9.                                                                  K K E E B B B n n n n n n n N N N N m m m m m m m m m m m m j z j z j z j j z j z h h h v v v f f f f f f f f f s x x x g                                                                                                                           ",
+"                                                                                                                              :.;.| :.:.$.$.$.@.#.#.#.#.#.#.#.#.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.w.w./ (                                                           P K E E K B B B B n n n n n n n N N N N m m m m m m m m m m m m z j z j z j z z j z j h h h v v v f f f f f f f f f x s g                                                                                                                               ",
+"                                                                                                                                @.;.:.,.$.$.$.@.#.#.#.#.#.#.#.#.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.w.( _                                                   Y K W E K K K B B B B n n n n n n n N N N N m m m m m m m m m m m m j z j z j z j j z j z h h h v v v f f f f f f f c x f z                                                                                                                                 ",
+"                                                                                                                                    =.:.,.,.$.@.#.#.#.#.#.#.#.#.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.w.8.                                            T K W P K K K K K B B B B n n n n n n n N N N N m m m m m m m m m m m m z j z j z j z z j z z h h h v v v f f f f f c c f z                                                                                                                                     ",
+"                                                                                                                                        =.=.6.:.=.=.=.=.#.#.#.#.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0.( / 0.0.0.0.0.0.0.w.t.9.                                      Y W W P P K K K K K B B B B n n n n n n n N N N N m m m m m m m m m m m m j z j z j z j j z j z h h h v v v f f f f S f f                                                                                                                                         ",
+"                                                                                                                                            @.,.6.=.=.=.#.#.#.#.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0.( / 0.0.0.0.0.0.8.7.7.w.w.(                               Y P W Y P Y P K K K K K B B B B n n n n n n n N N N N m m m m m m m m m m m m z j z j z j z z j z j h h h v v v f f D c f                                                                                                                                             ",
+"                                                                                                                                              @.:.,.,.#.#.#.#.#.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0.( / 0.0.0.0.0.0.7.7.7.7.7.t.8.P                       Y P e.P Y P Y P P K K K K K B B B B n n n n n n n N N N N m m m m m m m m m m m m j z j z j z j j z j z h h h v v v c D z j                                                                                                                                               ",
+"                                                                                                                                                  :.#.,.#.#.#.#.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0.( / 0.0.0.0.0.0.7.7.7.8.8.8.q.t.9.T               T 9.e.Y P Y P Y P Y P K K K K K B B B B n n n n n n n N N N N m m m m m m m m m m m m z j z j z j z z j z j h h h v v D v z                                                                                                                                                   ",
+"                                                                                                                                                      @.=.,.=.#.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.q.q.8.          Y q.W P Y P Y P Y P Y P K K K K K B B B B n n n n n n n N N N N m m m m m m m m m m m m z j z z j z j j z z j h h h D D z                                                                                                                                                       ",
+"                                                                                                                                                          =.,.,.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.w.Y P   P P e.Y P Y P Y P Y P Y P P K K K K K B B B B n n n n n n n N N N N m m m m m m m m m m m m z z j j z j z z j j z h v D f                                                                                                                                                           ",
+"                                                                                                                                                            @.&.,.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.q.q.P e.q.Y P Y P Y P Y P Y P Y P K K K K K E B B B n n n n n n n N N N N m m m m m m m m m m m m z j z z j z j j z j j b z z                                                                                                                                                             ",
+"                                                                                                                                                                #.>.>.&.[ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.8.8.8.8.8.P Y P Y P Y P Y P Y P P K K K K K B B B B n n n n n n n N N N N m m m m m m m m m m m m j z j j z j z z j b z z                                                                                                                                                                 ",
+"                                                                                                                                                                    =.>.&.[ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.8.8.8.8.8.P P Y P Y P Y P Y P Y P K K K K K B B B B n n n n n n n N N N N m m m m m m m m m m m m j z j z j z j b F z                                                                                                                                                                     ",
+"                                                                                                                                                                        =.>.&.&.[ [ ' ' [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.8.8.7.7.8.P Y P Y P Y P Y P Y P P K K K K K B B B B n n n n n n n N N N N m m m m m m m m m m m m z j z j z z b z                                                                                                                                                                         ",
+"                                                                                                                                                                          [ [ >.&.[ [ ' [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.8.P P Y P Y P Y P Y P Y R K K K K K B B B B n n n n n n n N N N N m m m m m m m m m m m m z j j z z j z                                                                                                                                                                           ",
+"                                                                                                                                                                              =.&.>.>.' [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.8.P Y P Y P Y P Y P Y P R K K K K K B B B B n n n n n n n N N N N m m m m m m m m m m m m j z H j z                                                                                                                                                                               ",
+"                                                                                                                                                                                  =.} >.[ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.8.P P Y P Y P Y P Y P Y P K K K K K B B B B n n n n n n n N N N N m m m m m m m m m m m M H m M                                                                                                                                                                                   ",
+"                                                                                                                                                                                    #.[ } >.[ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.9.7.7.7.7.7.7.7.7.7.7.7.7.7.7.8.P Y P Y P Y P Y P Y P P K K K K K B B B B n n n n n n n N N N N m m m m m m m m m m H H z z                                                                                                                                                                                     ",
+"                                                                                                                                                                                        #.[ >.} [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.8.P P Y P Y P Y P Y P Y P K K K K K K B B B n n n n n n n N N N N m m m m m m m m H H m z                                                                                                                                                                                         ",
+"                                                                                                                                                                                            ' ` i.[ ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.8.P Y P Y P Y P Y P Y P P K K K K K B B B B n n n n n n n N N N N m m m m m m m J m z                                                                                                                                                                                             ",
+"                                                                                                                                                                                                #.[ } ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0.( / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.P P Y P Y P Y P Y P Y P K K K K K B B B B n n n n n n n N N N N m m m m m J H M                                                                                                                                                                                                 ",
+"                                                                                                                                                                                                  #.` } } ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0.( / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.8.P P P Y P Y P Y P Y P P K K K K K B B B B n n n n n n n N N N N m m m J ^ M z                                                                                                                                                                                                   ",
+"                                                                                                                                                                                                      _ ` u.` ` ` ` ` ` _ _ _ _ _ _ 0.0.0.( / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.8.P P P P Y P Y P Y P Y P K K K K K B B B B n n n n n n n N N N N m m ^ m z                                                                                                                                                                                                       ",
+"                                                                                                                                                                                                          ` ` u.` ` ` ` _ _ _ _ _ _ 0.0.0.( / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.P P P Y P Y P Y P Y P P K K K K K B B B B n n n n n n n N N N N J J M                                                                                                                                                                                                           ",
+"                                                                                                                                                                                                              [ u.` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.8.8.Y P Y P Y P Y P Y P Y P K K K K K B B B B n n n n n n n N N J ^ m                                                                                                                                                                                                               ",
+"                                                                                                                                                                                                                #.` u.` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.8.8.P Y P Y P Y P Y P Y P Y K K K K K B B B B n n n n n n n J ^ m z                                                                                                                                                                                                                 ",
+"                                                                                                                                                                                                                    [ ` y.r._ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.8.8.8.P P Y P Y P Y P Y P Y P K K K K K B B B B n n n n n J E J z                                                                                                                                                                                                                     ",
+"                                                                                                                                                                                                                        ` ` r.r._ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.8.8.8.P Y P Y P Y P Y P Y P Y K K K K K B B B B n n n G G J M                                                                                                                                                                                                                         ",
+"                                                                                                                                                                                                                            _ r.r.r.0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.8.P P Y P Y P Y P Y P Y P K K K K K B B B B G G E E K                                                                                                                                                                                                                             ",
+"                                                                                                                                                                                                                              9._ r.r.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.8.P Y P Y P Y P Y P Y P Y K K K K K B B B B E E K P                                                                                                                                                                                                                               ",
+"                                                                                                                                                                                                                                  ( r.r.r./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.8.P P Y P Y P Y P Y P Y P K K K K K E B E E E M                                                                                                                                                                                                                                   ",
+"                                                                                                                                                                                                                                      ` r.r.0.0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.8.P Y P Y P Y P Y P Y P Y K K K K K E E E P                                                                                                                                                                                                                                       ",
+"                                                                                                                                                                                                                                          ` r.r.0.0.0.0.0.8.8.7.7.7.7.7.7.7.7.7.7.7.7.7.8.P P Y P Y P Y P Y P Y P K K K K Q E K P                                                                                                                                                                                                                                         ",
+"                                                                                                                                                                                                                                            _ w.r.w.0.0.0.8.7.7.7.7.7.7.7.7.7.7.7.7.7.7.8.P Y P Y P Y P Y P Y P P K K E Q E P                                                                                                                                                                                                                                             ",
+"                                                                                                                                                                                                                                                ( w.r.w.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.8.P P Y P Y P Y P Y P Y Y E ! E R                                                                                                                                                                                                                                                 ",
+"                                                                                                                                                                                                                                                    8.w.w.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.8.P Y P Y P Y P Y P Y P W ! P T                                                                                                                                                                                                                                                   ",
+"                                                                                                                                                                                                                                                      9.9.w.w.8.8.7.7.7.7.7.7.7.7.7.7.7.7.P P Y P Y P Y P Y W e.9.P                                                                                                                                                                                                                                                       ",
+"                                                                                                                                                                                                                                                          9.w.t.q.8.7.7.7.7.7.7.7.7.7.7.8.P P P Y P Y P Y e.P Y                                                                                                                                                                                                                                                           ",
+"                                                                                                                                                                                                                                                              ( 0.w.7.7.7.7.7.7.7.7.7.7.8.P P P P T P W e.R                                                                                                                                                                                                                                                               ",
+"                                                                                                                                                                                                                                                                  9.t.q.7.7.7.8.7.7.7.7.7.P P P Y W e.8.                                                                                                                                                                                                                                                                  ",
+"                                                                                                                                                                                                                                                                    T 8.t.8.8.8.7.7.8.8.8.Y Y P e.P P                                                                                                                                                                                                                                                                     ",
+"                                                                                                                                                                                                                                                                        P 8.q.8.7.7.7.8.8.P W Y Y                                                                                                                                                                                                                                                                         ",
+"                                                                                                                                                                                                                                                                            8.q.q.7.8.8.8.q.Y                                                                                                                                                                                                                                                                             ",
+"                                                                                                                                                                                                                                                                                9.q.q.q.P T                                                                                                                                                                                                                                                                               ",
+"                                                                                                                                                                                                                                                                                  P P P                                                                                                                                                                                                                                                                                   ",
+"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          ",
+"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          ",
+"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          "
+};
diff --git a/Source Code/V2.0/PiacereToolProduct/Piacere/PiacereIcons/PiacereIcon_128x128.png b/Source Code/V2.0/PiacereToolProduct/Piacere/PiacereIcons/PiacereIcon_128x128.png
new file mode 100644
index 0000000000000000000000000000000000000000..515cef7760b8362f3c33ae438a648256dae149b0
Binary files /dev/null and b/Source Code/V2.0/PiacereToolProduct/Piacere/PiacereIcons/PiacereIcon_128x128.png differ
diff --git a/Source Code/V2.0/PiacereToolProduct/Piacere/PiacereIcons/PiacereIcon_16x16.png b/Source Code/V2.0/PiacereToolProduct/Piacere/PiacereIcons/PiacereIcon_16x16.png
new file mode 100644
index 0000000000000000000000000000000000000000..444de54d6cfe2958fac1bbb89dd8619b4c537c47
Binary files /dev/null and b/Source Code/V2.0/PiacereToolProduct/Piacere/PiacereIcons/PiacereIcon_16x16.png differ
diff --git a/Source Code/V2.0/PiacereToolProduct/Piacere/PiacereIcons/PiacereIcon_256x256.png b/Source Code/V2.0/PiacereToolProduct/Piacere/PiacereIcons/PiacereIcon_256x256.png
new file mode 100644
index 0000000000000000000000000000000000000000..6db52fe2c2ed0dd9f75163214b094476416e341a
Binary files /dev/null and b/Source Code/V2.0/PiacereToolProduct/Piacere/PiacereIcons/PiacereIcon_256x256.png differ
diff --git a/Source Code/V2.0/PiacereToolProduct/Piacere/PiacereIcons/PiacereIcon_32x32.png b/Source Code/V2.0/PiacereToolProduct/Piacere/PiacereIcons/PiacereIcon_32x32.png
new file mode 100644
index 0000000000000000000000000000000000000000..bb51b447d7bc3b9b0c866b35cc9c65917508e0f7
Binary files /dev/null and b/Source Code/V2.0/PiacereToolProduct/Piacere/PiacereIcons/PiacereIcon_32x32.png differ
diff --git a/Source Code/V2.0/PiacereToolProduct/Piacere/PiacereIcons/PiacereIcon_48x48.png b/Source Code/V2.0/PiacereToolProduct/Piacere/PiacereIcons/PiacereIcon_48x48.png
new file mode 100644
index 0000000000000000000000000000000000000000..b610e19f8483d4592b5bd75e3f1f31631fe7d74e
Binary files /dev/null and b/Source Code/V2.0/PiacereToolProduct/Piacere/PiacereIcons/PiacereIcon_48x48.png differ
diff --git a/Source Code/V2.0/PiacereToolProduct/Piacere/PiacereIcons/PiacereIcon_64x64.png b/Source Code/V2.0/PiacereToolProduct/Piacere/PiacereIcons/PiacereIcon_64x64.png
new file mode 100644
index 0000000000000000000000000000000000000000..35e591d0b099c68a688d1f1e8524effa1f20e54a
Binary files /dev/null and b/Source Code/V2.0/PiacereToolProduct/Piacere/PiacereIcons/PiacereIcon_64x64.png differ
diff --git a/Source Code/V2.0/PiacereToolProduct/Piacere/PiacereIcons/icon16.bmp b/Source Code/V2.0/PiacereToolProduct/Piacere/PiacereIcons/icon16.bmp
new file mode 100644
index 0000000000000000000000000000000000000000..b7e20845b6a19075baedbeeb6e08187ae431ab07
Binary files /dev/null and b/Source Code/V2.0/PiacereToolProduct/Piacere/PiacereIcons/icon16.bmp differ
diff --git a/Source Code/V2.0/PiacereToolProduct/Piacere/PiacereIcons/icon256.bmp b/Source Code/V2.0/PiacereToolProduct/Piacere/PiacereIcons/icon256.bmp
new file mode 100644
index 0000000000000000000000000000000000000000..8de86f74ca5f55d3394e9adad417fb05fe698688
Binary files /dev/null and b/Source Code/V2.0/PiacereToolProduct/Piacere/PiacereIcons/icon256.bmp differ
diff --git a/Source Code/V2.0/PiacereToolProduct/Piacere/PiacereIcons/icon32.bmp b/Source Code/V2.0/PiacereToolProduct/Piacere/PiacereIcons/icon32.bmp
new file mode 100644
index 0000000000000000000000000000000000000000..bbcafe4d4b1147ac7abbfa3a57da08834f1978d5
Binary files /dev/null and b/Source Code/V2.0/PiacereToolProduct/Piacere/PiacereIcons/icon32.bmp differ
diff --git a/Source Code/V2.0/PiacereToolProduct/Piacere/PiacereIcons/icon48.bmp b/Source Code/V2.0/PiacereToolProduct/Piacere/PiacereIcons/icon48.bmp
new file mode 100644
index 0000000000000000000000000000000000000000..b18d23b7018576501facd65545f0b909fa3ab2e9
Binary files /dev/null and b/Source Code/V2.0/PiacereToolProduct/Piacere/PiacereIcons/icon48.bmp differ
diff --git a/Source Code/V2.0/PiacereToolProduct/Piacere/sample.png b/Source Code/V2.0/PiacereToolProduct/Piacere/sample.png
new file mode 100755
index 0000000000000000000000000000000000000000..932e4518cdae42e5eaa2b38f655b31e155873367
Binary files /dev/null and b/Source Code/V2.0/PiacereToolProduct/Piacere/sample.png differ
diff --git a/Source Code/V2.0/PiacereToolProduct/Piacere/save_edit.png b/Source Code/V2.0/PiacereToolProduct/Piacere/save_edit.png
new file mode 100755
index 0000000000000000000000000000000000000000..2c598e5aef10055fd508a52964ecac7ad00ef2a2
Binary files /dev/null and b/Source Code/V2.0/PiacereToolProduct/Piacere/save_edit.png differ
diff --git a/Source Code/V2.0/PiacereToolProduct/PiacereToolProduct.product b/Source Code/V2.0/PiacereToolProduct/PiacereToolProduct.product
new file mode 100755
index 0000000000000000000000000000000000000000..b332398d0884e10b5d91da09feb164dd30364409
--- /dev/null
+++ b/Source Code/V2.0/PiacereToolProduct/PiacereToolProduct.product	
@@ -0,0 +1,1845 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?pde version="3.5"?>
+
+<product name="Piacere" uid="PiacereProductID" id="PiacereToolProduct.PiacereProductID" application="org.eclipse.ui.ide.workbench" version="2.0.0.qualifier" useFeatures="false" includeLaunchers="true">
+
+   <aboutInfo>
+      <image path="/PiacereToolProduct/about.gif"/>
+   </aboutInfo>
+
+   <configIni use="default">
+   </configIni>
+
+   <launcherArgs>
+      <programArgs>-consoleLog
+      </programArgs>
+      <vmArgs>-Dosgi.requiredJavaVersion=1.6 -XstartOnFirstThread -Dorg.eclipse.swt.internal.carbon.smallFonts -XX:MaxPermSize=256m -Xms40m -Xmx512m -Xdock:icon=../Resources/Eclipse.icns -XstartOnFirstThread -Dorg.eclipse.swt.internal.carbon.smallFonts
+      </vmArgs>
+      <vmArgsMac>-XstartOnFirstThread -Dorg.eclipse.swt.internal.carbon.smallFonts
+      </vmArgsMac>
+   </launcherArgs>
+
+   <windowImages i16="/PiacereToolProduct/Piacere/PiacereIcons/PiacereIcon_16x16.png" i32="/PiacereToolProduct/Piacere/PiacereIcons/PiacereIcon_32x32.png" i48="/PiacereToolProduct/Piacere/PiacereIcons/PiacereIcon_48x48.png" i64="/PiacereToolProduct/Piacere/PiacereIcons/PiacereIcon_64x64.png" i128="/PiacereToolProduct/Piacere/PiacereIcons/PiacereIcon_128x128.png" i256="/PiacereToolProduct/Piacere/PiacereIcons/PiacereIcon_256x256.png"/>
+
+   <splash
+      location="PiacereToolProduct"
+      startupProgressRect="2,310,448,10"
+      startupMessageRect="7,290,320,20"
+      startupForegroundColor="3A484E" />
+   <launcher>
+      <linux icon="/PiacereToolProduct/Piacere/PiacereIcon.xpm"/>
+      <macosx icon="/PiacereToolProduct/Piacere/PiacereIcon.icns"/>
+      <win useIco="false">
+         <ico path="/PiacereToolProduct/Piacere/PiacereIcon.ico"/>
+         <bmp
+            winSmallHigh="/PiacereToolProduct/Piacere/PiacereIcons/icon16.bmp"
+            winSmallLow="/PiacereToolProduct/Piacere/PiacereIcons/icon16.bmp"
+            winMediumHigh="/PiacereToolProduct/Piacere/PiacereIcons/icon32.bmp"
+            winMediumLow="/PiacereToolProduct/Piacere/PiacereIcons/icon32.bmp"
+            winLargeHigh="/PiacereToolProduct/Piacere/PiacereIcons/icon48.bmp"
+            winLargeLow="/PiacereToolProduct/Piacere/PiacereIcons/icon48.bmp"
+            winExtraLargeHigh="/PiacereToolProduct/Piacere/PiacereIcons/icon256.bmp"/>
+      </win>
+   </launcher>
+
+   <vm>
+      <linux include="false">org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8</linux>
+      <macos include="false">org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-11</macos>
+      <solaris include="false">org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8</solaris>
+      <windows include="false">org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8</windows>
+   </vm>
+
+   <plugins>
+      <plugin id="Java-json"/>
+      <plugin id="PiacereToolProduct"/>
+      <plugin id="com.google.gson"/>
+      <plugin id="com.google.gson.source"/>
+      <plugin id="com.google.guava"/>
+      <plugin id="com.google.guava.source"/>
+      <plugin id="com.google.inject"/>
+      <plugin id="com.ibm.icu"/>
+      <plugin id="com.ibm.icu.source"/>
+      <plugin id="com.jcraft.jsch"/>
+      <plugin id="com.jcraft.jsch.source"/>
+      <plugin id="com.sun.el"/>
+      <plugin id="com.sun.el.source"/>
+      <plugin id="com.sun.jna"/>
+      <plugin id="com.sun.jna.platform"/>
+      <plugin id="com.sun.xml.bind"/>
+      <plugin id="eu.piacere.doml"/>
+      <plugin id="eu.piacere.doml.edit"/>
+      <plugin id="eu.piacere.doml.editor"/>
+      <plugin id="eu.piacere.doml.grammar"/>
+      <plugin id="eu.piacere.doml.grammar.ide"/>
+      <plugin id="eu.piacere.doml.grammar.ui"/>
+      <plugin id="io.github.classgraph"/>
+      <plugin id="io.github.classgraph.source"/>
+      <plugin id="jakarta.servlet-api"/>
+      <plugin id="jakarta.servlet-api.source"/>
+      <plugin id="jakarta.xml.bind"/>
+      <plugin id="javaewah"/>
+      <plugin id="javax.activation"/>
+      <plugin id="javax.annotation"/>
+      <plugin id="javax.annotation.source"/>
+      <plugin id="javax.el"/>
+      <plugin id="javax.el.source"/>
+      <plugin id="javax.inject"/>
+      <plugin id="javax.inject.source"/>
+      <plugin id="javax.servlet.jsp"/>
+      <plugin id="javax.servlet.jsp.source"/>
+      <plugin id="javax.xml"/>
+      <plugin id="javax.xml.bind"/>
+      <plugin id="log4j2"/>
+      <plugin id="lpg.runtime.java"/>
+      <plugin id="net.i2p.crypto.eddsa"/>
+      <plugin id="org.antlr.runtime"/>
+      <plugin id="org.antlr.runtime.source"/>
+      <plugin id="org.apache.ant"/>
+      <plugin id="org.apache.ant.source"/>
+      <plugin id="org.apache.batik.bridge"/>
+      <plugin id="org.apache.batik.bridge.source"/>
+      <plugin id="org.apache.batik.constants"/>
+      <plugin id="org.apache.batik.constants.source"/>
+      <plugin id="org.apache.batik.css"/>
+      <plugin id="org.apache.batik.css.source"/>
+      <plugin id="org.apache.batik.dom"/>
+      <plugin id="org.apache.batik.dom.source"/>
+      <plugin id="org.apache.batik.dom.svg"/>
+      <plugin id="org.apache.batik.dom.svg.source"/>
+      <plugin id="org.apache.batik.ext.awt"/>
+      <plugin id="org.apache.batik.ext.awt.source"/>
+      <plugin id="org.apache.batik.i18n"/>
+      <plugin id="org.apache.batik.i18n.source"/>
+      <plugin id="org.apache.batik.parser"/>
+      <plugin id="org.apache.batik.parser.source"/>
+      <plugin id="org.apache.batik.pdf"/>
+      <plugin id="org.apache.batik.svggen"/>
+      <plugin id="org.apache.batik.svggen.source"/>
+      <plugin id="org.apache.batik.transcoder"/>
+      <plugin id="org.apache.batik.transcoder.source"/>
+      <plugin id="org.apache.batik.util"/>
+      <plugin id="org.apache.batik.util.gui"/>
+      <plugin id="org.apache.batik.util.gui.source"/>
+      <plugin id="org.apache.batik.util.source"/>
+      <plugin id="org.apache.batik.xml"/>
+      <plugin id="org.apache.batik.xml.source"/>
+      <plugin id="org.apache.commons.cli"/>
+      <plugin id="org.apache.commons.codec"/>
+      <plugin id="org.apache.commons.codec.source"/>
+      <plugin id="org.apache.commons.commons-codec"/>
+      <plugin id="org.apache.commons.compress"/>
+      <plugin id="org.apache.commons.io"/>
+      <plugin id="org.apache.commons.io.source"/>
+      <plugin id="org.apache.commons.jxpath"/>
+      <plugin id="org.apache.commons.jxpath.source"/>
+      <plugin id="org.apache.commons.lang"/>
+      <plugin id="org.apache.commons.lang3"/>
+      <plugin id="org.apache.commons.logging"/>
+      <plugin id="org.apache.commons.logging.source"/>
+      <plugin id="org.apache.commons.math3"/>
+      <plugin id="org.apache.commons.net"/>
+      <plugin id="org.apache.felix.gogo.command"/>
+      <plugin id="org.apache.felix.gogo.command.source"/>
+      <plugin id="org.apache.felix.gogo.runtime"/>
+      <plugin id="org.apache.felix.gogo.runtime.source"/>
+      <plugin id="org.apache.felix.gogo.shell"/>
+      <plugin id="org.apache.felix.gogo.shell.source"/>
+      <plugin id="org.apache.felix.scr"/>
+      <plugin id="org.apache.felix.scr.source"/>
+      <plugin id="org.apache.httpcomponents.client5.httpclient5"/>
+      <plugin id="org.apache.httpcomponents.core5.httpcore5"/>
+      <plugin id="org.apache.httpcomponents.core5.httpcore5-h2"/>
+      <plugin id="org.apache.httpcomponents.httpclient"/>
+      <plugin id="org.apache.httpcomponents.httpclient.source"/>
+      <plugin id="org.apache.httpcomponents.httpcore"/>
+      <plugin id="org.apache.httpcomponents.httpcore.source"/>
+      <plugin id="org.apache.jasper.glassfish"/>
+      <plugin id="org.apache.jasper.glassfish.source"/>
+      <plugin id="org.apache.log4j"/>
+      <plugin id="org.apache.lucene.analyzers-common"/>
+      <plugin id="org.apache.lucene.analyzers-common.source"/>
+      <plugin id="org.apache.lucene.analyzers-smartcn"/>
+      <plugin id="org.apache.lucene.analyzers-smartcn.source"/>
+      <plugin id="org.apache.lucene.core"/>
+      <plugin id="org.apache.lucene.core.source"/>
+      <plugin id="org.apache.sshd.osgi"/>
+      <plugin id="org.apache.sshd.sftp"/>
+      <plugin id="org.apache.xerces"/>
+      <plugin id="org.apache.xml.resolver"/>
+      <plugin id="org.apache.xml.serializer"/>
+      <plugin id="org.apache.xmlgraphics"/>
+      <plugin id="org.apache.xmlgraphics.source"/>
+      <plugin id="org.apiguardian"/>
+      <plugin id="org.apiguardian.source"/>
+      <plugin id="org.bouncycastle.bcpg"/>
+      <plugin id="org.bouncycastle.bcprov"/>
+      <plugin id="org.eclipse.acceleo.annotations"/>
+      <plugin id="org.eclipse.acceleo.common"/>
+      <plugin id="org.eclipse.acceleo.common.ide"/>
+      <plugin id="org.eclipse.acceleo.common.ui"/>
+      <plugin id="org.eclipse.acceleo.engine"/>
+      <plugin id="org.eclipse.acceleo.ide.ui"/>
+      <plugin id="org.eclipse.acceleo.model"/>
+      <plugin id="org.eclipse.acceleo.parser"/>
+      <plugin id="org.eclipse.acceleo.profiler"/>
+      <plugin id="org.eclipse.acceleo.query"/>
+      <plugin id="org.eclipse.acceleo.traceability"/>
+      <plugin id="org.eclipse.acceleo.traceability.model"/>
+      <plugin id="org.eclipse.acceleo.ui.interpreter"/>
+      <plugin id="org.eclipse.ant.core"/>
+      <plugin id="org.eclipse.ant.core.source"/>
+      <plugin id="org.eclipse.ant.launching"/>
+      <plugin id="org.eclipse.ant.launching.source"/>
+      <plugin id="org.eclipse.ant.ui"/>
+      <plugin id="org.eclipse.ant.ui.source"/>
+      <plugin id="org.eclipse.compare"/>
+      <plugin id="org.eclipse.compare.core"/>
+      <plugin id="org.eclipse.compare.core.source"/>
+      <plugin id="org.eclipse.compare.source"/>
+      <plugin id="org.eclipse.core.commands"/>
+      <plugin id="org.eclipse.core.commands.source"/>
+      <plugin id="org.eclipse.core.contenttype"/>
+      <plugin id="org.eclipse.core.contenttype.source"/>
+      <plugin id="org.eclipse.core.databinding"/>
+      <plugin id="org.eclipse.core.databinding.beans"/>
+      <plugin id="org.eclipse.core.databinding.beans.source"/>
+      <plugin id="org.eclipse.core.databinding.observable"/>
+      <plugin id="org.eclipse.core.databinding.observable.source"/>
+      <plugin id="org.eclipse.core.databinding.property"/>
+      <plugin id="org.eclipse.core.databinding.property.source"/>
+      <plugin id="org.eclipse.core.databinding.source"/>
+      <plugin id="org.eclipse.core.expressions"/>
+      <plugin id="org.eclipse.core.expressions.source"/>
+      <plugin id="org.eclipse.core.externaltools"/>
+      <plugin id="org.eclipse.core.externaltools.source"/>
+      <plugin id="org.eclipse.core.filebuffers"/>
+      <plugin id="org.eclipse.core.filebuffers.source"/>
+      <plugin id="org.eclipse.core.filesystem"/>
+      <plugin id="org.eclipse.core.filesystem.macosx" fragment="true"/>
+      <plugin id="org.eclipse.core.filesystem.source"/>
+      <plugin id="org.eclipse.core.jobs"/>
+      <plugin id="org.eclipse.core.jobs.source"/>
+      <plugin id="org.eclipse.core.net"/>
+      <plugin id="org.eclipse.core.net.source"/>
+      <plugin id="org.eclipse.core.resources"/>
+      <plugin id="org.eclipse.core.resources.source"/>
+      <plugin id="org.eclipse.core.runtime"/>
+      <plugin id="org.eclipse.core.runtime.source"/>
+      <plugin id="org.eclipse.core.variables"/>
+      <plugin id="org.eclipse.core.variables.source"/>
+      <plugin id="org.eclipse.datatools.connectivity"/>
+      <plugin id="org.eclipse.datatools.connectivity.oda"/>
+      <plugin id="org.eclipse.datatools.connectivity.oda.consumer"/>
+      <plugin id="org.eclipse.datatools.connectivity.oda.design"/>
+      <plugin id="org.eclipse.datatools.connectivity.oda.design.ui"/>
+      <plugin id="org.eclipse.datatools.connectivity.oda.profile"/>
+      <plugin id="org.eclipse.datatools.connectivity.sqm.core"/>
+      <plugin id="org.eclipse.datatools.connectivity.ui"/>
+      <plugin id="org.eclipse.datatools.help"/>
+      <plugin id="org.eclipse.datatools.modelbase.dbdefinition"/>
+      <plugin id="org.eclipse.datatools.modelbase.sql"/>
+      <plugin id="org.eclipse.debug.core"/>
+      <plugin id="org.eclipse.debug.core.source"/>
+      <plugin id="org.eclipse.debug.ui"/>
+      <plugin id="org.eclipse.debug.ui.launchview"/>
+      <plugin id="org.eclipse.debug.ui.launchview.source"/>
+      <plugin id="org.eclipse.debug.ui.source"/>
+      <plugin id="org.eclipse.draw2d"/>
+      <plugin id="org.eclipse.draw2d.doc.isv"/>
+      <plugin id="org.eclipse.draw2d.source"/>
+      <plugin id="org.eclipse.e4.core.commands"/>
+      <plugin id="org.eclipse.e4.core.commands.source"/>
+      <plugin id="org.eclipse.e4.core.contexts"/>
+      <plugin id="org.eclipse.e4.core.contexts.source"/>
+      <plugin id="org.eclipse.e4.core.di"/>
+      <plugin id="org.eclipse.e4.core.di.annotations"/>
+      <plugin id="org.eclipse.e4.core.di.annotations.source"/>
+      <plugin id="org.eclipse.e4.core.di.extensions"/>
+      <plugin id="org.eclipse.e4.core.di.extensions.source"/>
+      <plugin id="org.eclipse.e4.core.di.extensions.supplier"/>
+      <plugin id="org.eclipse.e4.core.di.extensions.supplier.source"/>
+      <plugin id="org.eclipse.e4.core.di.source"/>
+      <plugin id="org.eclipse.e4.core.services"/>
+      <plugin id="org.eclipse.e4.core.services.source"/>
+      <plugin id="org.eclipse.e4.emf.xpath"/>
+      <plugin id="org.eclipse.e4.emf.xpath.source"/>
+      <plugin id="org.eclipse.e4.tools"/>
+      <plugin id="org.eclipse.e4.tools.compat"/>
+      <plugin id="org.eclipse.e4.tools.emf.editor3x"/>
+      <plugin id="org.eclipse.e4.tools.emf.ui"/>
+      <plugin id="org.eclipse.e4.tools.jdt.templates"/>
+      <plugin id="org.eclipse.e4.tools.services"/>
+      <plugin id="org.eclipse.e4.ui.bindings"/>
+      <plugin id="org.eclipse.e4.ui.bindings.source"/>
+      <plugin id="org.eclipse.e4.ui.css.core"/>
+      <plugin id="org.eclipse.e4.ui.css.core.source"/>
+      <plugin id="org.eclipse.e4.ui.css.swt"/>
+      <plugin id="org.eclipse.e4.ui.css.swt.source"/>
+      <plugin id="org.eclipse.e4.ui.css.swt.theme"/>
+      <plugin id="org.eclipse.e4.ui.css.swt.theme.source"/>
+      <plugin id="org.eclipse.e4.ui.di"/>
+      <plugin id="org.eclipse.e4.ui.di.source"/>
+      <plugin id="org.eclipse.e4.ui.dialogs"/>
+      <plugin id="org.eclipse.e4.ui.dialogs.source"/>
+      <plugin id="org.eclipse.e4.ui.ide"/>
+      <plugin id="org.eclipse.e4.ui.ide.source"/>
+      <plugin id="org.eclipse.e4.ui.model.workbench"/>
+      <plugin id="org.eclipse.e4.ui.model.workbench.source"/>
+      <plugin id="org.eclipse.e4.ui.services"/>
+      <plugin id="org.eclipse.e4.ui.services.source"/>
+      <plugin id="org.eclipse.e4.ui.widgets"/>
+      <plugin id="org.eclipse.e4.ui.widgets.source"/>
+      <plugin id="org.eclipse.e4.ui.workbench"/>
+      <plugin id="org.eclipse.e4.ui.workbench.addons.swt"/>
+      <plugin id="org.eclipse.e4.ui.workbench.addons.swt.source"/>
+      <plugin id="org.eclipse.e4.ui.workbench.renderers.swt"/>
+      <plugin id="org.eclipse.e4.ui.workbench.renderers.swt.cocoa" fragment="true"/>
+      <plugin id="org.eclipse.e4.ui.workbench.renderers.swt.cocoa.source"/>
+      <plugin id="org.eclipse.e4.ui.workbench.renderers.swt.source"/>
+      <plugin id="org.eclipse.e4.ui.workbench.source"/>
+      <plugin id="org.eclipse.e4.ui.workbench.swt"/>
+      <plugin id="org.eclipse.e4.ui.workbench.swt.source"/>
+      <plugin id="org.eclipse.e4.ui.workbench3"/>
+      <plugin id="org.eclipse.e4.ui.workbench3.source"/>
+      <plugin id="org.eclipse.ecf"/>
+      <plugin id="org.eclipse.ecf.filetransfer"/>
+      <plugin id="org.eclipse.ecf.filetransfer.source"/>
+      <plugin id="org.eclipse.ecf.identity"/>
+      <plugin id="org.eclipse.ecf.identity.source"/>
+      <plugin id="org.eclipse.ecf.provider.filetransfer"/>
+      <plugin id="org.eclipse.ecf.provider.filetransfer.httpclient45"/>
+      <plugin id="org.eclipse.ecf.provider.filetransfer.httpclient45.source"/>
+      <plugin id="org.eclipse.ecf.provider.filetransfer.source"/>
+      <plugin id="org.eclipse.ecf.provider.filetransfer.ssl" fragment="true"/>
+      <plugin id="org.eclipse.ecf.provider.filetransfer.ssl.source"/>
+      <plugin id="org.eclipse.ecf.source"/>
+      <plugin id="org.eclipse.ecf.ssl" fragment="true"/>
+      <plugin id="org.eclipse.ecf.ssl.source"/>
+      <plugin id="org.eclipse.eef"/>
+      <plugin id="org.eclipse.eef.common"/>
+      <plugin id="org.eclipse.eef.common.ui"/>
+      <plugin id="org.eclipse.eef.core"/>
+      <plugin id="org.eclipse.eef.core.ext.widgets.reference"/>
+      <plugin id="org.eclipse.eef.ext.widgets.reference"/>
+      <plugin id="org.eclipse.eef.ide.ui"/>
+      <plugin id="org.eclipse.eef.ide.ui.ext.widgets.reference"/>
+      <plugin id="org.eclipse.eef.ide.ui.properties"/>
+      <plugin id="org.eclipse.eef.properties.ui"/>
+      <plugin id="org.eclipse.eef.properties.ui.legacy"/>
+      <plugin id="org.eclipse.egit"/>
+      <plugin id="org.eclipse.egit.core"/>
+      <plugin id="org.eclipse.egit.doc"/>
+      <plugin id="org.eclipse.egit.ui"/>
+      <plugin id="org.eclipse.emf"/>
+      <plugin id="org.eclipse.emf.activities"/>
+      <plugin id="org.eclipse.emf.ant"/>
+      <plugin id="org.eclipse.emf.ant.source"/>
+      <plugin id="org.eclipse.emf.cdo"/>
+      <plugin id="org.eclipse.emf.cdo.admin"/>
+      <plugin id="org.eclipse.emf.cdo.common"/>
+      <plugin id="org.eclipse.emf.cdo.compare"/>
+      <plugin id="org.eclipse.emf.cdo.doc"/>
+      <plugin id="org.eclipse.emf.cdo.edit"/>
+      <plugin id="org.eclipse.emf.cdo.examples.installer"/>
+      <plugin id="org.eclipse.emf.cdo.explorer"/>
+      <plugin id="org.eclipse.emf.cdo.explorer.ui"/>
+      <plugin id="org.eclipse.emf.cdo.expressions"/>
+      <plugin id="org.eclipse.emf.cdo.expressions.edit"/>
+      <plugin id="org.eclipse.emf.cdo.expressions.editor"/>
+      <plugin id="org.eclipse.emf.cdo.migrator"/>
+      <plugin id="org.eclipse.emf.cdo.net4j"/>
+      <plugin id="org.eclipse.emf.cdo.security"/>
+      <plugin id="org.eclipse.emf.cdo.security.edit"/>
+      <plugin id="org.eclipse.emf.cdo.security.editor"/>
+      <plugin id="org.eclipse.emf.cdo.security.ui"/>
+      <plugin id="org.eclipse.emf.cdo.server"/>
+      <plugin id="org.eclipse.emf.cdo.server.admin"/>
+      <plugin id="org.eclipse.emf.cdo.server.db"/>
+      <plugin id="org.eclipse.emf.cdo.server.net4j"/>
+      <plugin id="org.eclipse.emf.cdo.server.ocl"/>
+      <plugin id="org.eclipse.emf.cdo.server.product"/>
+      <plugin id="org.eclipse.emf.cdo.server.security"/>
+      <plugin id="org.eclipse.emf.cdo.transfer"/>
+      <plugin id="org.eclipse.emf.cdo.transfer.repository"/>
+      <plugin id="org.eclipse.emf.cdo.transfer.ui"/>
+      <plugin id="org.eclipse.emf.cdo.transfer.workspace"/>
+      <plugin id="org.eclipse.emf.cdo.transfer.workspace.ui"/>
+      <plugin id="org.eclipse.emf.cdo.ui"/>
+      <plugin id="org.eclipse.emf.cdo.ui.admin"/>
+      <plugin id="org.eclipse.emf.cdo.ui.compare"/>
+      <plugin id="org.eclipse.emf.cdo.ui.jdt"/>
+      <plugin id="org.eclipse.emf.cdo.ui.shared"/>
+      <plugin id="org.eclipse.emf.cdo.ui.team"/>
+      <plugin id="org.eclipse.emf.cdo.workspace"/>
+      <plugin id="org.eclipse.emf.cheatsheets"/>
+      <plugin id="org.eclipse.emf.codegen"/>
+      <plugin id="org.eclipse.emf.codegen.ecore"/>
+      <plugin id="org.eclipse.emf.codegen.ecore.source"/>
+      <plugin id="org.eclipse.emf.codegen.ecore.ui"/>
+      <plugin id="org.eclipse.emf.codegen.ecore.ui.source"/>
+      <plugin id="org.eclipse.emf.codegen.ecore.xtext"/>
+      <plugin id="org.eclipse.emf.codegen.ecore.xtext.source"/>
+      <plugin id="org.eclipse.emf.codegen.ecore.xtext.ui"/>
+      <plugin id="org.eclipse.emf.codegen.ecore.xtext.ui.source"/>
+      <plugin id="org.eclipse.emf.codegen.source"/>
+      <plugin id="org.eclipse.emf.codegen.ui"/>
+      <plugin id="org.eclipse.emf.codegen.ui.source"/>
+      <plugin id="org.eclipse.emf.common"/>
+      <plugin id="org.eclipse.emf.common.source"/>
+      <plugin id="org.eclipse.emf.common.ui"/>
+      <plugin id="org.eclipse.emf.common.ui.source"/>
+      <plugin id="org.eclipse.emf.compare"/>
+      <plugin id="org.eclipse.emf.compare.diagram"/>
+      <plugin id="org.eclipse.emf.compare.diagram.edit"/>
+      <plugin id="org.eclipse.emf.compare.diagram.ide.ui"/>
+      <plugin id="org.eclipse.emf.compare.diagram.ide.ui.sirius"/>
+      <plugin id="org.eclipse.emf.compare.diagram.ide.ui.sirius.source"/>
+      <plugin id="org.eclipse.emf.compare.diagram.sirius"/>
+      <plugin id="org.eclipse.emf.compare.diagram.sirius.source"/>
+      <plugin id="org.eclipse.emf.compare.doc"/>
+      <plugin id="org.eclipse.emf.compare.edit"/>
+      <plugin id="org.eclipse.emf.compare.edit.source"/>
+      <plugin id="org.eclipse.emf.compare.egit"/>
+      <plugin id="org.eclipse.emf.compare.egit.ui"/>
+      <plugin id="org.eclipse.emf.compare.ide"/>
+      <plugin id="org.eclipse.emf.compare.ide.source"/>
+      <plugin id="org.eclipse.emf.compare.ide.ui"/>
+      <plugin id="org.eclipse.emf.compare.ide.ui.source"/>
+      <plugin id="org.eclipse.emf.compare.rcp"/>
+      <plugin id="org.eclipse.emf.compare.rcp.ui"/>
+      <plugin id="org.eclipse.emf.compare.source"/>
+      <plugin id="org.eclipse.emf.converter"/>
+      <plugin id="org.eclipse.emf.converter.source"/>
+      <plugin id="org.eclipse.emf.databinding"/>
+      <plugin id="org.eclipse.emf.databinding.edit"/>
+      <plugin id="org.eclipse.emf.databinding.edit.source"/>
+      <plugin id="org.eclipse.emf.databinding.source"/>
+      <plugin id="org.eclipse.emf.doc"/>
+      <plugin id="org.eclipse.emf.ecore"/>
+      <plugin id="org.eclipse.emf.ecore.change"/>
+      <plugin id="org.eclipse.emf.ecore.change.edit"/>
+      <plugin id="org.eclipse.emf.ecore.change.edit.source"/>
+      <plugin id="org.eclipse.emf.ecore.change.source"/>
+      <plugin id="org.eclipse.emf.ecore.edit"/>
+      <plugin id="org.eclipse.emf.ecore.edit.source"/>
+      <plugin id="org.eclipse.emf.ecore.editor"/>
+      <plugin id="org.eclipse.emf.ecore.editor.source"/>
+      <plugin id="org.eclipse.emf.ecore.source"/>
+      <plugin id="org.eclipse.emf.ecore.xcore"/>
+      <plugin id="org.eclipse.emf.ecore.xcore.edit"/>
+      <plugin id="org.eclipse.emf.ecore.xcore.edit.source"/>
+      <plugin id="org.eclipse.emf.ecore.xcore.exporter"/>
+      <plugin id="org.eclipse.emf.ecore.xcore.exporter.source"/>
+      <plugin id="org.eclipse.emf.ecore.xcore.importer"/>
+      <plugin id="org.eclipse.emf.ecore.xcore.importer.source"/>
+      <plugin id="org.eclipse.emf.ecore.xcore.lib"/>
+      <plugin id="org.eclipse.emf.ecore.xcore.lib.source"/>
+      <plugin id="org.eclipse.emf.ecore.xcore.source"/>
+      <plugin id="org.eclipse.emf.ecore.xcore.ui"/>
+      <plugin id="org.eclipse.emf.ecore.xcore.ui.source"/>
+      <plugin id="org.eclipse.emf.ecore.xmi"/>
+      <plugin id="org.eclipse.emf.ecore.xmi.source"/>
+      <plugin id="org.eclipse.emf.ecoretools"/>
+      <plugin id="org.eclipse.emf.ecoretools.design"/>
+      <plugin id="org.eclipse.emf.ecoretools.design.ui"/>
+      <plugin id="org.eclipse.emf.ecoretools.doc"/>
+      <plugin id="org.eclipse.emf.ecoretools.ui"/>
+      <plugin id="org.eclipse.emf.ecp.common"/>
+      <plugin id="org.eclipse.emf.ecp.common.source"/>
+      <plugin id="org.eclipse.emf.ecp.common.ui"/>
+      <plugin id="org.eclipse.emf.ecp.common.ui.source"/>
+      <plugin id="org.eclipse.emf.ecp.edit"/>
+      <plugin id="org.eclipse.emf.ecp.edit.source"/>
+      <plugin id="org.eclipse.emf.ecp.edit.swt"/>
+      <plugin id="org.eclipse.emf.ecp.edit.swt.source"/>
+      <plugin id="org.eclipse.emf.ecp.emf2web"/>
+      <plugin id="org.eclipse.emf.ecp.emf2web.json"/>
+      <plugin id="org.eclipse.emf.ecp.emf2web.json.source"/>
+      <plugin id="org.eclipse.emf.ecp.emf2web.source"/>
+      <plugin id="org.eclipse.emf.ecp.emf2web.ui"/>
+      <plugin id="org.eclipse.emf.ecp.emf2web.ui.json"/>
+      <plugin id="org.eclipse.emf.ecp.emf2web.ui.json.source"/>
+      <plugin id="org.eclipse.emf.ecp.emf2web.ui.source"/>
+      <plugin id="org.eclipse.emf.ecp.ide.editor.view"/>
+      <plugin id="org.eclipse.emf.ecp.ide.editor.view.source"/>
+      <plugin id="org.eclipse.emf.ecp.ide.editor.view.templatebridge"/>
+      <plugin id="org.eclipse.emf.ecp.ide.editor.view.templatebridge.source"/>
+      <plugin id="org.eclipse.emf.ecp.ide.editor.viewmodel"/>
+      <plugin id="org.eclipse.emf.ecp.ide.editor.viewmodel.source"/>
+      <plugin id="org.eclipse.emf.ecp.ide.util"/>
+      <plugin id="org.eclipse.emf.ecp.ide.util.source"/>
+      <plugin id="org.eclipse.emf.ecp.ide.view.service"/>
+      <plugin id="org.eclipse.emf.ecp.ide.view.service.source"/>
+      <plugin id="org.eclipse.emf.ecp.makeithappen.wizards"/>
+      <plugin id="org.eclipse.emf.ecp.makeithappen.wizards.source"/>
+      <plugin id="org.eclipse.emf.ecp.ui.view"/>
+      <plugin id="org.eclipse.emf.ecp.ui.view.editor.controls"/>
+      <plugin id="org.eclipse.emf.ecp.ui.view.editor.controls.source"/>
+      <plugin id="org.eclipse.emf.ecp.ui.view.linewrapper"/>
+      <plugin id="org.eclipse.emf.ecp.ui.view.linewrapper.source"/>
+      <plugin id="org.eclipse.emf.ecp.ui.view.source"/>
+      <plugin id="org.eclipse.emf.ecp.ui.view.swt"/>
+      <plugin id="org.eclipse.emf.ecp.ui.view.swt.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.categorization.model"/>
+      <plugin id="org.eclipse.emf.ecp.view.categorization.model.edit"/>
+      <plugin id="org.eclipse.emf.ecp.view.categorization.model.edit.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.categorization.model.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.categorization.swt"/>
+      <plugin id="org.eclipse.emf.ecp.view.categorization.swt.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.compoundcontrol.model"/>
+      <plugin id="org.eclipse.emf.ecp.view.compoundcontrol.model.edit"/>
+      <plugin id="org.eclipse.emf.ecp.view.compoundcontrol.model.edit.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.compoundcontrol.model.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.compoundcontrol.swt"/>
+      <plugin id="org.eclipse.emf.ecp.view.compoundcontrol.swt.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.compoundcontrol.tooling"/>
+      <plugin id="org.eclipse.emf.ecp.view.compoundcontrol.tooling.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.context"/>
+      <plugin id="org.eclipse.emf.ecp.view.context.locale"/>
+      <plugin id="org.eclipse.emf.ecp.view.context.locale.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.context.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.control.multireference"/>
+      <plugin id="org.eclipse.emf.ecp.view.control.multireference.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.core.swt"/>
+      <plugin id="org.eclipse.emf.ecp.view.core.swt.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.custom.model"/>
+      <plugin id="org.eclipse.emf.ecp.view.custom.model.edit"/>
+      <plugin id="org.eclipse.emf.ecp.view.custom.model.edit.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.custom.model.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.custom.ui.swt"/>
+      <plugin id="org.eclipse.emf.ecp.view.custom.ui.swt.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.edapt"/>
+      <plugin id="org.eclipse.emf.ecp.view.edapt.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.group.model"/>
+      <plugin id="org.eclipse.emf.ecp.view.group.model.edit"/>
+      <plugin id="org.eclipse.emf.ecp.view.group.model.edit.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.group.model.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.group.swt.collapsable"/>
+      <plugin id="org.eclipse.emf.ecp.view.group.swt.collapsable.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.group.swt.embedded"/>
+      <plugin id="org.eclipse.emf.ecp.view.group.swt.embedded.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.group.ui.swt"/>
+      <plugin id="org.eclipse.emf.ecp.view.group.ui.swt.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.horizontal.model"/>
+      <plugin id="org.eclipse.emf.ecp.view.horizontal.model.edit"/>
+      <plugin id="org.eclipse.emf.ecp.view.horizontal.model.edit.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.horizontal.model.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.horizontal.ui.swt"/>
+      <plugin id="org.eclipse.emf.ecp.view.horizontal.ui.swt.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.indexdmr.model"/>
+      <plugin id="org.eclipse.emf.ecp.view.label.model"/>
+      <plugin id="org.eclipse.emf.ecp.view.label.model.edit"/>
+      <plugin id="org.eclipse.emf.ecp.view.label.model.edit.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.label.model.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.label.ui.swt"/>
+      <plugin id="org.eclipse.emf.ecp.view.label.ui.swt.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.mappingdmr.model"/>
+      <plugin id="org.eclipse.emf.ecp.view.migrator"/>
+      <plugin id="org.eclipse.emf.ecp.view.migrator.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.model"/>
+      <plugin id="org.eclipse.emf.ecp.view.model.common"/>
+      <plugin id="org.eclipse.emf.ecp.view.model.common.di"/>
+      <plugin id="org.eclipse.emf.ecp.view.model.common.di.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.model.common.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.model.edapt"/>
+      <plugin id="org.eclipse.emf.ecp.view.model.edapt.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.model.edit"/>
+      <plugin id="org.eclipse.emf.ecp.view.model.edit.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.model.editor"/>
+      <plugin id="org.eclipse.emf.ecp.view.model.editor.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.model.preview.common"/>
+      <plugin id="org.eclipse.emf.ecp.view.model.preview.common.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.model.preview.e3"/>
+      <plugin id="org.eclipse.emf.ecp.view.model.preview.e3.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.model.project.installer"/>
+      <plugin id="org.eclipse.emf.ecp.view.model.project.installer.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.model.provider.generator"/>
+      <plugin id="org.eclipse.emf.ecp.view.model.provider.generator.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.model.provider.xmi"/>
+      <plugin id="org.eclipse.emf.ecp.view.model.provider.xmi.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.model.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.rule"/>
+      <plugin id="org.eclipse.emf.ecp.view.rule.model"/>
+      <plugin id="org.eclipse.emf.ecp.view.rule.model.edit"/>
+      <plugin id="org.eclipse.emf.ecp.view.rule.model.edit.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.rule.model.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.rule.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.stack.model"/>
+      <plugin id="org.eclipse.emf.ecp.view.stack.model.edit"/>
+      <plugin id="org.eclipse.emf.ecp.view.stack.model.edit.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.stack.model.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.stack.ui.swt"/>
+      <plugin id="org.eclipse.emf.ecp.view.stack.ui.swt.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.stack.viewmodel"/>
+      <plugin id="org.eclipse.emf.ecp.view.swt.layout"/>
+      <plugin id="org.eclipse.emf.ecp.view.swt.layout.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.table.columnservice"/>
+      <plugin id="org.eclipse.emf.ecp.view.table.columnservice.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.table.edapt"/>
+      <plugin id="org.eclipse.emf.ecp.view.table.edapt.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.table.model"/>
+      <plugin id="org.eclipse.emf.ecp.view.table.model.edit"/>
+      <plugin id="org.eclipse.emf.ecp.view.table.model.edit.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.table.model.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.table.ui.swt"/>
+      <plugin id="org.eclipse.emf.ecp.view.table.ui.swt.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.template.annotation.model"/>
+      <plugin id="org.eclipse.emf.ecp.view.template.annotation.model.edit"/>
+      <plugin id="org.eclipse.emf.ecp.view.template.annotation.model.edit.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.template.annotation.model.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.template.model"/>
+      <plugin id="org.eclipse.emf.ecp.view.template.model.edit"/>
+      <plugin id="org.eclipse.emf.ecp.view.template.model.edit.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.template.model.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.template.service"/>
+      <plugin id="org.eclipse.emf.ecp.view.template.service.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.template.tooling"/>
+      <plugin id="org.eclipse.emf.ecp.view.template.tooling.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.treemasterdetail.model"/>
+      <plugin id="org.eclipse.emf.ecp.view.treemasterdetail.model.edit"/>
+      <plugin id="org.eclipse.emf.ecp.view.treemasterdetail.model.edit.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.treemasterdetail.model.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.treemasterdetail.ui.swt"/>
+      <plugin id="org.eclipse.emf.ecp.view.treemasterdetail.ui.swt.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.treemasterdetail.validation"/>
+      <plugin id="org.eclipse.emf.ecp.view.treemasterdetail.validation.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.unset"/>
+      <plugin id="org.eclipse.emf.ecp.view.unset.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.util.swt"/>
+      <plugin id="org.eclipse.emf.ecp.view.util.swt.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.validation"/>
+      <plugin id="org.eclipse.emf.ecp.view.validation.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.vertical.model"/>
+      <plugin id="org.eclipse.emf.ecp.view.vertical.model.edit"/>
+      <plugin id="org.eclipse.emf.ecp.view.vertical.model.edit.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.vertical.model.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.vertical.ui.swt"/>
+      <plugin id="org.eclipse.emf.ecp.view.vertical.ui.swt.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.viewproxy.model"/>
+      <plugin id="org.eclipse.emf.ecp.view.viewproxy.model.edit"/>
+      <plugin id="org.eclipse.emf.ecp.view.viewproxy.model.edit.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.viewproxy.model.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.workspace.migrator"/>
+      <plugin id="org.eclipse.emf.ecp.view.workspace.migrator.source"/>
+      <plugin id="org.eclipse.emf.edapt.common"/>
+      <plugin id="org.eclipse.emf.edapt.common.source"/>
+      <plugin id="org.eclipse.emf.edapt.declaration"/>
+      <plugin id="org.eclipse.emf.edapt.declaration.source"/>
+      <plugin id="org.eclipse.emf.edapt.history"/>
+      <plugin id="org.eclipse.emf.edapt.history.source"/>
+      <plugin id="org.eclipse.emf.edapt.migration"/>
+      <plugin id="org.eclipse.emf.edapt.migration.source"/>
+      <plugin id="org.eclipse.emf.edit"/>
+      <plugin id="org.eclipse.emf.edit.source"/>
+      <plugin id="org.eclipse.emf.edit.ui"/>
+      <plugin id="org.eclipse.emf.edit.ui.source"/>
+      <plugin id="org.eclipse.emf.emfatic.core"/>
+      <plugin id="org.eclipse.emf.emfatic.doc.user"/>
+      <plugin id="org.eclipse.emf.emfatic.ui"/>
+      <plugin id="org.eclipse.emf.example.installer"/>
+      <plugin id="org.eclipse.emf.examples"/>
+      <plugin id="org.eclipse.emf.examples.databinding.project.core"/>
+      <plugin id="org.eclipse.emf.examples.databinding.project.core.model"/>
+      <plugin id="org.eclipse.emf.examples.databinding.project.ui.rcp"/>
+      <plugin id="org.eclipse.emf.examples.generator.validator"/>
+      <plugin id="org.eclipse.emf.examples.jet.article2"/>
+      <plugin id="org.eclipse.emf.examples.library"/>
+      <plugin id="org.eclipse.emf.examples.library.edit"/>
+      <plugin id="org.eclipse.emf.examples.library.editor"/>
+      <plugin id="org.eclipse.emf.exporter"/>
+      <plugin id="org.eclipse.emf.exporter.html"/>
+      <plugin id="org.eclipse.emf.exporter.source"/>
+      <plugin id="org.eclipse.emf.generic.editor"/>
+      <plugin id="org.eclipse.emf.generic.editor.source"/>
+      <plugin id="org.eclipse.emf.importer"/>
+      <plugin id="org.eclipse.emf.importer.ecore"/>
+      <plugin id="org.eclipse.emf.importer.ecore.source"/>
+      <plugin id="org.eclipse.emf.importer.java"/>
+      <plugin id="org.eclipse.emf.importer.java.source"/>
+      <plugin id="org.eclipse.emf.importer.rose"/>
+      <plugin id="org.eclipse.emf.importer.rose.source"/>
+      <plugin id="org.eclipse.emf.importer.source"/>
+      <plugin id="org.eclipse.emf.java"/>
+      <plugin id="org.eclipse.emf.java.edit"/>
+      <plugin id="org.eclipse.emf.java.editor"/>
+      <plugin id="org.eclipse.emf.mapping"/>
+      <plugin id="org.eclipse.emf.mapping.ecore"/>
+      <plugin id="org.eclipse.emf.mapping.ecore.editor"/>
+      <plugin id="org.eclipse.emf.mapping.ecore.editor.source"/>
+      <plugin id="org.eclipse.emf.mapping.ecore.source"/>
+      <plugin id="org.eclipse.emf.mapping.ecore2ecore"/>
+      <plugin id="org.eclipse.emf.mapping.ecore2ecore.editor"/>
+      <plugin id="org.eclipse.emf.mapping.ecore2ecore.editor.source"/>
+      <plugin id="org.eclipse.emf.mapping.ecore2ecore.source"/>
+      <plugin id="org.eclipse.emf.mapping.ecore2xml"/>
+      <plugin id="org.eclipse.emf.mapping.ecore2xml.source"/>
+      <plugin id="org.eclipse.emf.mapping.ecore2xml.ui"/>
+      <plugin id="org.eclipse.emf.mapping.ecore2xml.ui.source"/>
+      <plugin id="org.eclipse.emf.mapping.source"/>
+      <plugin id="org.eclipse.emf.mapping.ui"/>
+      <plugin id="org.eclipse.emf.mapping.ui.source"/>
+      <plugin id="org.eclipse.emf.mapping.xsd2ecore"/>
+      <plugin id="org.eclipse.emf.mapping.xsd2ecore.editor"/>
+      <plugin id="org.eclipse.emf.mapping.xsd2ecore.editor.source"/>
+      <plugin id="org.eclipse.emf.mapping.xsd2ecore.source"/>
+      <plugin id="org.eclipse.emf.mwe.core"/>
+      <plugin id="org.eclipse.emf.mwe.ui"/>
+      <plugin id="org.eclipse.emf.mwe.utils"/>
+      <plugin id="org.eclipse.emf.mwe2.language"/>
+      <plugin id="org.eclipse.emf.mwe2.language.ide"/>
+      <plugin id="org.eclipse.emf.mwe2.language.ide.source"/>
+      <plugin id="org.eclipse.emf.mwe2.language.source"/>
+      <plugin id="org.eclipse.emf.mwe2.language.ui"/>
+      <plugin id="org.eclipse.emf.mwe2.language.ui.source"/>
+      <plugin id="org.eclipse.emf.mwe2.launch"/>
+      <plugin id="org.eclipse.emf.mwe2.launch.source"/>
+      <plugin id="org.eclipse.emf.mwe2.launch.ui"/>
+      <plugin id="org.eclipse.emf.mwe2.launch.ui.source"/>
+      <plugin id="org.eclipse.emf.mwe2.lib"/>
+      <plugin id="org.eclipse.emf.mwe2.lib.source"/>
+      <plugin id="org.eclipse.emf.mwe2.runtime"/>
+      <plugin id="org.eclipse.emf.mwe2.runtime.source"/>
+      <plugin id="org.eclipse.emf.oda"/>
+      <plugin id="org.eclipse.emf.oda.ecore"/>
+      <plugin id="org.eclipse.emf.oda.ecore.source"/>
+      <plugin id="org.eclipse.emf.oda.ecore.ui"/>
+      <plugin id="org.eclipse.emf.oda.ecore.ui.source"/>
+      <plugin id="org.eclipse.emf.oda.source"/>
+      <plugin id="org.eclipse.emf.parsley"/>
+      <plugin id="org.eclipse.emf.parsley.cdo"/>
+      <plugin id="org.eclipse.emf.parsley.cdo.common"/>
+      <plugin id="org.eclipse.emf.parsley.cdo.common.source"/>
+      <plugin id="org.eclipse.emf.parsley.common"/>
+      <plugin id="org.eclipse.emf.parsley.common.source"/>
+      <plugin id="org.eclipse.emf.parsley.doc"/>
+      <plugin id="org.eclipse.emf.parsley.doc.source"/>
+      <plugin id="org.eclipse.emf.parsley.dsl"/>
+      <plugin id="org.eclipse.emf.parsley.dsl.additional.builder"/>
+      <plugin id="org.eclipse.emf.parsley.dsl.additional.builder.source"/>
+      <plugin id="org.eclipse.emf.parsley.dsl.ide"/>
+      <plugin id="org.eclipse.emf.parsley.dsl.ide.source"/>
+      <plugin id="org.eclipse.emf.parsley.dsl.source"/>
+      <plugin id="org.eclipse.emf.parsley.dsl.ui"/>
+      <plugin id="org.eclipse.emf.parsley.dsl.ui.source"/>
+      <plugin id="org.eclipse.emf.parsley.editors"/>
+      <plugin id="org.eclipse.emf.parsley.editors.common"/>
+      <plugin id="org.eclipse.emf.parsley.editors.common.source"/>
+      <plugin id="org.eclipse.emf.parsley.generator.common"/>
+      <plugin id="org.eclipse.emf.parsley.generator.common.source"/>
+      <plugin id="org.eclipse.emf.parsley.junit4"/>
+      <plugin id="org.eclipse.emf.parsley.junit4.source"/>
+      <plugin id="org.eclipse.emf.parsley.runtime"/>
+      <plugin id="org.eclipse.emf.parsley.runtime.common"/>
+      <plugin id="org.eclipse.emf.parsley.runtime.common.source"/>
+      <plugin id="org.eclipse.emf.parsley.ui.examples"/>
+      <plugin id="org.eclipse.emf.parsley.ui.examples.source"/>
+      <plugin id="org.eclipse.emf.parsley.views"/>
+      <plugin id="org.eclipse.emf.parsley.views.common"/>
+      <plugin id="org.eclipse.emf.parsley.views.common.source"/>
+      <plugin id="org.eclipse.emf.parsley.views.source"/>
+      <plugin id="org.eclipse.emf.parsley.wizards"/>
+      <plugin id="org.eclipse.emf.parsley.wizards.source"/>
+      <plugin id="org.eclipse.emf.query"/>
+      <plugin id="org.eclipse.emf.query.doc"/>
+      <plugin id="org.eclipse.emf.query.examples"/>
+      <plugin id="org.eclipse.emf.query.ocl"/>
+      <plugin id="org.eclipse.emf.query.ocl.source"/>
+      <plugin id="org.eclipse.emf.query.source"/>
+      <plugin id="org.eclipse.emf.source"/>
+      <plugin id="org.eclipse.emf.transaction"/>
+      <plugin id="org.eclipse.emf.transaction.doc"/>
+      <plugin id="org.eclipse.emf.transaction.examples"/>
+      <plugin id="org.eclipse.emf.transaction.source"/>
+      <plugin id="org.eclipse.emf.transaction.ui"/>
+      <plugin id="org.eclipse.emf.transaction.ui.source"/>
+      <plugin id="org.eclipse.emf.validation"/>
+      <plugin id="org.eclipse.emf.validation.doc"/>
+      <plugin id="org.eclipse.emf.validation.examples"/>
+      <plugin id="org.eclipse.emf.validation.ocl"/>
+      <plugin id="org.eclipse.emf.validation.ocl.source"/>
+      <plugin id="org.eclipse.emf.validation.source"/>
+      <plugin id="org.eclipse.emf.validation.ui"/>
+      <plugin id="org.eclipse.emf.validation.ui.ide"/>
+      <plugin id="org.eclipse.emf.validation.ui.ide.source"/>
+      <plugin id="org.eclipse.emf.validation.ui.source"/>
+      <plugin id="org.eclipse.emf.workspace"/>
+      <plugin id="org.eclipse.emf.workspace.doc"/>
+      <plugin id="org.eclipse.emf.workspace.source"/>
+      <plugin id="org.eclipse.emf.workspace.ui"/>
+      <plugin id="org.eclipse.emf.workspace.ui.source"/>
+      <plugin id="org.eclipse.emfforms.coffee.wizards"/>
+      <plugin id="org.eclipse.emfforms.coffee.wizards.source"/>
+      <plugin id="org.eclipse.emfforms.common"/>
+      <plugin id="org.eclipse.emfforms.common.source"/>
+      <plugin id="org.eclipse.emfforms.common.validation"/>
+      <plugin id="org.eclipse.emfforms.common.validation.source"/>
+      <plugin id="org.eclipse.emfforms.core.bazaar"/>
+      <plugin id="org.eclipse.emfforms.core.bazaar.source"/>
+      <plugin id="org.eclipse.emfforms.core.services"/>
+      <plugin id="org.eclipse.emfforms.core.services.databinding.featurepath"/>
+      <plugin id="org.eclipse.emfforms.core.services.databinding.featurepath.source"/>
+      <plugin id="org.eclipse.emfforms.core.services.databinding.index"/>
+      <plugin id="org.eclipse.emfforms.core.services.databinding.mapping"/>
+      <plugin id="org.eclipse.emfforms.core.services.domainexpander.default"/>
+      <plugin id="org.eclipse.emfforms.core.services.domainexpander.default.source"/>
+      <plugin id="org.eclipse.emfforms.core.services.domainexpander.index"/>
+      <plugin id="org.eclipse.emfforms.core.services.domainexpander.mapping"/>
+      <plugin id="org.eclipse.emfforms.core.services.domainexpander.table"/>
+      <plugin id="org.eclipse.emfforms.core.services.domainexpander.table.source"/>
+      <plugin id="org.eclipse.emfforms.core.services.editsupport"/>
+      <plugin id="org.eclipse.emfforms.core.services.editsupport.source"/>
+      <plugin id="org.eclipse.emfforms.core.services.emf"/>
+      <plugin id="org.eclipse.emfforms.core.services.emf.source"/>
+      <plugin id="org.eclipse.emfforms.core.services.emfspecificservice"/>
+      <plugin id="org.eclipse.emfforms.core.services.emfspecificservice.source"/>
+      <plugin id="org.eclipse.emfforms.core.services.legacy"/>
+      <plugin id="org.eclipse.emfforms.core.services.legacy.source"/>
+      <plugin id="org.eclipse.emfforms.core.services.locale.default"/>
+      <plugin id="org.eclipse.emfforms.core.services.locale.default.source"/>
+      <plugin id="org.eclipse.emfforms.core.services.mappingprovider.default"/>
+      <plugin id="org.eclipse.emfforms.core.services.mappingprovider.default.source"/>
+      <plugin id="org.eclipse.emfforms.core.services.mappingprovider.table"/>
+      <plugin id="org.eclipse.emfforms.core.services.mappingprovider.table.panel"/>
+      <plugin id="org.eclipse.emfforms.core.services.mappingprovider.table.panel.source"/>
+      <plugin id="org.eclipse.emfforms.core.services.mappingprovider.table.source"/>
+      <plugin id="org.eclipse.emfforms.core.services.segments"/>
+      <plugin id="org.eclipse.emfforms.core.services.segments.featurepath"/>
+      <plugin id="org.eclipse.emfforms.core.services.segments.featurepath.source"/>
+      <plugin id="org.eclipse.emfforms.core.services.segments.index"/>
+      <plugin id="org.eclipse.emfforms.core.services.segments.mapping"/>
+      <plugin id="org.eclipse.emfforms.core.services.segments.multi"/>
+      <plugin id="org.eclipse.emfforms.core.services.segments.multi.source"/>
+      <plugin id="org.eclipse.emfforms.core.services.segments.source"/>
+      <plugin id="org.eclipse.emfforms.core.services.source"/>
+      <plugin id="org.eclipse.emfforms.core.services.structuralchange"/>
+      <plugin id="org.eclipse.emfforms.core.services.structuralchange.default"/>
+      <plugin id="org.eclipse.emfforms.core.services.structuralchange.default.source"/>
+      <plugin id="org.eclipse.emfforms.core.services.structuralchange.index"/>
+      <plugin id="org.eclipse.emfforms.core.services.structuralchange.mapping"/>
+      <plugin id="org.eclipse.emfforms.core.services.structuralchange.source"/>
+      <plugin id="org.eclipse.emfforms.core.services.structuralchange.table"/>
+      <plugin id="org.eclipse.emfforms.core.services.structuralchange.table.source"/>
+      <plugin id="org.eclipse.emfforms.editor"/>
+      <plugin id="org.eclipse.emfforms.editor.ecore"/>
+      <plugin id="org.eclipse.emfforms.editor.ecore.source"/>
+      <plugin id="org.eclipse.emfforms.editor.genmodel"/>
+      <plugin id="org.eclipse.emfforms.editor.genmodel.source"/>
+      <plugin id="org.eclipse.emfforms.editor.source"/>
+      <plugin id="org.eclipse.emfforms.example.common.wizards"/>
+      <plugin id="org.eclipse.emfforms.example.common.wizards.source"/>
+      <plugin id="org.eclipse.emfforms.ide.builder"/>
+      <plugin id="org.eclipse.emfforms.ide.builder.source"/>
+      <plugin id="org.eclipse.emfforms.ide.preferences"/>
+      <plugin id="org.eclipse.emfforms.ide.preferences.source"/>
+      <plugin id="org.eclipse.emfforms.ide.view.indexsegment"/>
+      <plugin id="org.eclipse.emfforms.ide.view.indexsegment.source"/>
+      <plugin id="org.eclipse.emfforms.ide.view.mappingsegment"/>
+      <plugin id="org.eclipse.emfforms.ide.view.mappingsegment.source"/>
+      <plugin id="org.eclipse.emfforms.ide.view.multisegment"/>
+      <plugin id="org.eclipse.emfforms.ide.view.multisegment.source"/>
+      <plugin id="org.eclipse.emfforms.ide.view.segments"/>
+      <plugin id="org.eclipse.emfforms.ide.view.segments.source"/>
+      <plugin id="org.eclipse.emfforms.ide.viewtemplate.builder"/>
+      <plugin id="org.eclipse.emfforms.ide.viewtemplate.builder.source"/>
+      <plugin id="org.eclipse.emfforms.localization"/>
+      <plugin id="org.eclipse.emfforms.localization.source"/>
+      <plugin id="org.eclipse.emfforms.setup.base"/>
+      <plugin id="org.eclipse.emfforms.swt.control.multiattribute"/>
+      <plugin id="org.eclipse.emfforms.swt.control.multiattribute.source"/>
+      <plugin id="org.eclipse.emfforms.swt.core"/>
+      <plugin id="org.eclipse.emfforms.swt.core.di"/>
+      <plugin id="org.eclipse.emfforms.swt.core.di.extension"/>
+      <plugin id="org.eclipse.emfforms.swt.core.di.extension.source"/>
+      <plugin id="org.eclipse.emfforms.swt.core.di.source"/>
+      <plugin id="org.eclipse.emfforms.swt.core.plugin"/>
+      <plugin id="org.eclipse.emfforms.swt.core.plugin.source"/>
+      <plugin id="org.eclipse.emfforms.swt.core.source"/>
+      <plugin id="org.eclipse.emfforms.swt.reference.table"/>
+      <plugin id="org.eclipse.emfforms.swt.reference.table.source"/>
+      <plugin id="org.eclipse.emfforms.swt.table"/>
+      <plugin id="org.eclipse.emfforms.swt.table.source"/>
+      <plugin id="org.eclipse.emfforms.swt.treemasterdetail"/>
+      <plugin id="org.eclipse.emfforms.swt.treemasterdetail.decorator.validation.default"/>
+      <plugin id="org.eclipse.emfforms.swt.treemasterdetail.decorator.validation.default.source"/>
+      <plugin id="org.eclipse.emfforms.swt.treemasterdetail.source"/>
+      <plugin id="org.eclipse.emfforms.view.annotation.model"/>
+      <plugin id="org.eclipse.emfforms.view.annotation.model.edit"/>
+      <plugin id="org.eclipse.emfforms.view.annotation.model.edit.source"/>
+      <plugin id="org.eclipse.emfforms.view.annotation.model.source"/>
+      <plugin id="org.eclipse.emfforms.view.indexsegment.model"/>
+      <plugin id="org.eclipse.emfforms.view.mappingsegment.model"/>
+      <plugin id="org.eclipse.emfforms.view.model.localization"/>
+      <plugin id="org.eclipse.emfforms.view.model.localization.source"/>
+      <plugin id="org.eclipse.emfforms.view.multisegment.model"/>
+      <plugin id="org.eclipse.emfforms.view.multisegment.model.edit"/>
+      <plugin id="org.eclipse.emfforms.view.multisegment.model.edit.source"/>
+      <plugin id="org.eclipse.emfforms.view.multisegment.model.source"/>
+      <plugin id="org.eclipse.epp.mpc.core"/>
+      <plugin id="org.eclipse.epp.mpc.help.ui"/>
+      <plugin id="org.eclipse.epp.mpc.ui"/>
+      <plugin id="org.eclipse.epp.mpc.ui.css"/>
+      <plugin id="org.eclipse.epp.package.common"/>
+      <plugin id="org.eclipse.epp.package.modeling"/>
+      <plugin id="org.eclipse.epsilon.common"/>
+      <plugin id="org.eclipse.epsilon.common.dt"/>
+      <plugin id="org.eclipse.epsilon.common.dt.examples"/>
+      <plugin id="org.eclipse.epsilon.dt.epackageregistryexplorer"/>
+      <plugin id="org.eclipse.epsilon.dt.exeed"/>
+      <plugin id="org.eclipse.epsilon.ecl.dt"/>
+      <plugin id="org.eclipse.epsilon.ecl.engine"/>
+      <plugin id="org.eclipse.epsilon.egl.dt"/>
+      <plugin id="org.eclipse.epsilon.egl.dt.traceability.editor"/>
+      <plugin id="org.eclipse.epsilon.egl.dt.traceability.fine.emf"/>
+      <plugin id="org.eclipse.epsilon.egl.engine"/>
+      <plugin id="org.eclipse.epsilon.egl.traceability.fine"/>
+      <plugin id="org.eclipse.epsilon.emc.bibtex"/>
+      <plugin id="org.eclipse.epsilon.emc.bibtex.dt"/>
+      <plugin id="org.eclipse.epsilon.emc.composite"/>
+      <plugin id="org.eclipse.epsilon.emc.emf"/>
+      <plugin id="org.eclipse.epsilon.emc.emf.decorator"/>
+      <plugin id="org.eclipse.epsilon.emc.emf.decorator.dt"/>
+      <plugin id="org.eclipse.epsilon.emc.emf.dt"/>
+      <plugin id="org.eclipse.epsilon.emc.emf.virtual"/>
+      <plugin id="org.eclipse.epsilon.emc.graphml"/>
+      <plugin id="org.eclipse.epsilon.emc.graphml.dt"/>
+      <plugin id="org.eclipse.epsilon.emc.html"/>
+      <plugin id="org.eclipse.epsilon.emc.html.dt"/>
+      <plugin id="org.eclipse.epsilon.emc.muddle"/>
+      <plugin id="org.eclipse.epsilon.emc.plainxml"/>
+      <plugin id="org.eclipse.epsilon.emc.plainxml.dt"/>
+      <plugin id="org.eclipse.epsilon.emc.uml"/>
+      <plugin id="org.eclipse.epsilon.emc.uml.dt"/>
+      <plugin id="org.eclipse.epsilon.emf.dt"/>
+      <plugin id="org.eclipse.epsilon.emg.dt"/>
+      <plugin id="org.eclipse.epsilon.emg.engine"/>
+      <plugin id="org.eclipse.epsilon.eml.dt"/>
+      <plugin id="org.eclipse.epsilon.eml.engine"/>
+      <plugin id="org.eclipse.epsilon.eol.dt"/>
+      <plugin id="org.eclipse.epsilon.eol.dt.interpreter"/>
+      <plugin id="org.eclipse.epsilon.eol.engine"/>
+      <plugin id="org.eclipse.epsilon.eol.tools"/>
+      <plugin id="org.eclipse.epsilon.epl.dt"/>
+      <plugin id="org.eclipse.epsilon.epl.engine"/>
+      <plugin id="org.eclipse.epsilon.erl.dt"/>
+      <plugin id="org.eclipse.epsilon.erl.engine"/>
+      <plugin id="org.eclipse.epsilon.etl.dt"/>
+      <plugin id="org.eclipse.epsilon.etl.engine"/>
+      <plugin id="org.eclipse.epsilon.eugenia"/>
+      <plugin id="org.eclipse.epsilon.eugenia.runtime.dependencies"/>
+      <plugin id="org.eclipse.epsilon.eunit.cmp.emf"/>
+      <plugin id="org.eclipse.epsilon.eunit.dt"/>
+      <plugin id="org.eclipse.epsilon.eunit.dt.diff.emf"/>
+      <plugin id="org.eclipse.epsilon.eunit.dt.diff.files"/>
+      <plugin id="org.eclipse.epsilon.eunit.engine"/>
+      <plugin id="org.eclipse.epsilon.eunit.junit"/>
+      <plugin id="org.eclipse.epsilon.eunit.junit.dt"/>
+      <plugin id="org.eclipse.epsilon.evl.dt"/>
+      <plugin id="org.eclipse.epsilon.evl.emf.validation"/>
+      <plugin id="org.eclipse.epsilon.evl.engine"/>
+      <plugin id="org.eclipse.epsilon.ewl.dt"/>
+      <plugin id="org.eclipse.epsilon.ewl.emf"/>
+      <plugin id="org.eclipse.epsilon.ewl.engine"/>
+      <plugin id="org.eclipse.epsilon.ewl.gmf"/>
+      <plugin id="org.eclipse.epsilon.flexmi"/>
+      <plugin id="org.eclipse.epsilon.flexmi.dt"/>
+      <plugin id="org.eclipse.epsilon.flock.dt"/>
+      <plugin id="org.eclipse.epsilon.flock.dt.emf"/>
+      <plugin id="org.eclipse.epsilon.flock.engine"/>
+      <plugin id="org.eclipse.epsilon.help"/>
+      <plugin id="org.eclipse.epsilon.perspective"/>
+      <plugin id="org.eclipse.epsilon.pinset.dt"/>
+      <plugin id="org.eclipse.epsilon.pinset.engine"/>
+      <plugin id="org.eclipse.epsilon.profiling"/>
+      <plugin id="org.eclipse.epsilon.profiling.dt"/>
+      <plugin id="org.eclipse.epsilon.workflow"/>
+      <plugin id="org.eclipse.epsilon.workflow.emf"/>
+      <plugin id="org.eclipse.epsilon.workflow.eugenia"/>
+      <plugin id="org.eclipse.equinox.app"/>
+      <plugin id="org.eclipse.equinox.app.source"/>
+      <plugin id="org.eclipse.equinox.bidi"/>
+      <plugin id="org.eclipse.equinox.bidi.source"/>
+      <plugin id="org.eclipse.equinox.common"/>
+      <plugin id="org.eclipse.equinox.common.source"/>
+      <plugin id="org.eclipse.equinox.concurrent"/>
+      <plugin id="org.eclipse.equinox.concurrent.source"/>
+      <plugin id="org.eclipse.equinox.console"/>
+      <plugin id="org.eclipse.equinox.console.source"/>
+      <plugin id="org.eclipse.equinox.event"/>
+      <plugin id="org.eclipse.equinox.event.source"/>
+      <plugin id="org.eclipse.equinox.frameworkadmin"/>
+      <plugin id="org.eclipse.equinox.frameworkadmin.equinox"/>
+      <plugin id="org.eclipse.equinox.frameworkadmin.equinox.source"/>
+      <plugin id="org.eclipse.equinox.frameworkadmin.source"/>
+      <plugin id="org.eclipse.equinox.http.jetty"/>
+      <plugin id="org.eclipse.equinox.http.jetty.source"/>
+      <plugin id="org.eclipse.equinox.http.registry"/>
+      <plugin id="org.eclipse.equinox.http.registry.source"/>
+      <plugin id="org.eclipse.equinox.http.servlet"/>
+      <plugin id="org.eclipse.equinox.http.servlet.source"/>
+      <plugin id="org.eclipse.equinox.jsp.jasper"/>
+      <plugin id="org.eclipse.equinox.jsp.jasper.registry"/>
+      <plugin id="org.eclipse.equinox.jsp.jasper.registry.source"/>
+      <plugin id="org.eclipse.equinox.jsp.jasper.source"/>
+      <plugin id="org.eclipse.equinox.launcher"/>
+      <plugin id="org.eclipse.equinox.launcher.cocoa.macosx.x86_64" fragment="true"/>
+      <plugin id="org.eclipse.equinox.launcher.source"/>
+      <plugin id="org.eclipse.equinox.p2.artifact.repository"/>
+      <plugin id="org.eclipse.equinox.p2.artifact.repository.source"/>
+      <plugin id="org.eclipse.equinox.p2.console"/>
+      <plugin id="org.eclipse.equinox.p2.console.source"/>
+      <plugin id="org.eclipse.equinox.p2.core"/>
+      <plugin id="org.eclipse.equinox.p2.core.source"/>
+      <plugin id="org.eclipse.equinox.p2.director"/>
+      <plugin id="org.eclipse.equinox.p2.director.app"/>
+      <plugin id="org.eclipse.equinox.p2.director.app.source"/>
+      <plugin id="org.eclipse.equinox.p2.director.source"/>
+      <plugin id="org.eclipse.equinox.p2.directorywatcher"/>
+      <plugin id="org.eclipse.equinox.p2.directorywatcher.source"/>
+      <plugin id="org.eclipse.equinox.p2.discovery"/>
+      <plugin id="org.eclipse.equinox.p2.discovery.compatibility"/>
+      <plugin id="org.eclipse.equinox.p2.engine"/>
+      <plugin id="org.eclipse.equinox.p2.engine.source"/>
+      <plugin id="org.eclipse.equinox.p2.extensionlocation"/>
+      <plugin id="org.eclipse.equinox.p2.extensionlocation.source"/>
+      <plugin id="org.eclipse.equinox.p2.garbagecollector"/>
+      <plugin id="org.eclipse.equinox.p2.garbagecollector.source"/>
+      <plugin id="org.eclipse.equinox.p2.jarprocessor"/>
+      <plugin id="org.eclipse.equinox.p2.jarprocessor.source"/>
+      <plugin id="org.eclipse.equinox.p2.metadata"/>
+      <plugin id="org.eclipse.equinox.p2.metadata.repository"/>
+      <plugin id="org.eclipse.equinox.p2.metadata.repository.source"/>
+      <plugin id="org.eclipse.equinox.p2.metadata.source"/>
+      <plugin id="org.eclipse.equinox.p2.operations"/>
+      <plugin id="org.eclipse.equinox.p2.operations.source"/>
+      <plugin id="org.eclipse.equinox.p2.publisher"/>
+      <plugin id="org.eclipse.equinox.p2.publisher.eclipse"/>
+      <plugin id="org.eclipse.equinox.p2.publisher.eclipse.source"/>
+      <plugin id="org.eclipse.equinox.p2.publisher.source"/>
+      <plugin id="org.eclipse.equinox.p2.reconciler.dropins"/>
+      <plugin id="org.eclipse.equinox.p2.reconciler.dropins.source"/>
+      <plugin id="org.eclipse.equinox.p2.repository"/>
+      <plugin id="org.eclipse.equinox.p2.repository.source"/>
+      <plugin id="org.eclipse.equinox.p2.repository.tools"/>
+      <plugin id="org.eclipse.equinox.p2.repository.tools.source"/>
+      <plugin id="org.eclipse.equinox.p2.touchpoint.eclipse"/>
+      <plugin id="org.eclipse.equinox.p2.touchpoint.eclipse.source"/>
+      <plugin id="org.eclipse.equinox.p2.touchpoint.natives"/>
+      <plugin id="org.eclipse.equinox.p2.touchpoint.natives.source"/>
+      <plugin id="org.eclipse.equinox.p2.transport.ecf"/>
+      <plugin id="org.eclipse.equinox.p2.transport.ecf.source"/>
+      <plugin id="org.eclipse.equinox.p2.ui"/>
+      <plugin id="org.eclipse.equinox.p2.ui.discovery"/>
+      <plugin id="org.eclipse.equinox.p2.ui.importexport"/>
+      <plugin id="org.eclipse.equinox.p2.ui.importexport.source"/>
+      <plugin id="org.eclipse.equinox.p2.ui.sdk"/>
+      <plugin id="org.eclipse.equinox.p2.ui.sdk.scheduler"/>
+      <plugin id="org.eclipse.equinox.p2.ui.sdk.scheduler.source"/>
+      <plugin id="org.eclipse.equinox.p2.ui.sdk.source"/>
+      <plugin id="org.eclipse.equinox.p2.ui.source"/>
+      <plugin id="org.eclipse.equinox.p2.updatechecker"/>
+      <plugin id="org.eclipse.equinox.p2.updatechecker.source"/>
+      <plugin id="org.eclipse.equinox.p2.updatesite"/>
+      <plugin id="org.eclipse.equinox.p2.updatesite.source"/>
+      <plugin id="org.eclipse.equinox.preferences"/>
+      <plugin id="org.eclipse.equinox.preferences.source"/>
+      <plugin id="org.eclipse.equinox.registry"/>
+      <plugin id="org.eclipse.equinox.registry.source"/>
+      <plugin id="org.eclipse.equinox.security"/>
+      <plugin id="org.eclipse.equinox.security.macosx" fragment="true"/>
+      <plugin id="org.eclipse.equinox.security.macosx.source"/>
+      <plugin id="org.eclipse.equinox.security.source"/>
+      <plugin id="org.eclipse.equinox.security.ui"/>
+      <plugin id="org.eclipse.equinox.security.ui.source"/>
+      <plugin id="org.eclipse.equinox.simpleconfigurator"/>
+      <plugin id="org.eclipse.equinox.simpleconfigurator.manipulator"/>
+      <plugin id="org.eclipse.equinox.simpleconfigurator.manipulator.source"/>
+      <plugin id="org.eclipse.equinox.simpleconfigurator.source"/>
+      <plugin id="org.eclipse.gef"/>
+      <plugin id="org.eclipse.gef.doc.isv"/>
+      <plugin id="org.eclipse.gef.examples.ui.pde"/>
+      <plugin id="org.eclipse.gef.source"/>
+      <plugin id="org.eclipse.gmf"/>
+      <plugin id="org.eclipse.gmf.bridge"/>
+      <plugin id="org.eclipse.gmf.bridge.ui"/>
+      <plugin id="org.eclipse.gmf.codegen"/>
+      <plugin id="org.eclipse.gmf.codegen.xtend"/>
+      <plugin id="org.eclipse.gmf.common"/>
+      <plugin id="org.eclipse.gmf.examples.runtime"/>
+      <plugin id="org.eclipse.gmf.examples.runtime.diagram.geoshapes"/>
+      <plugin id="org.eclipse.gmf.examples.runtime.diagram.logic"/>
+      <plugin id="org.eclipse.gmf.examples.runtime.diagram.logic.model"/>
+      <plugin id="org.eclipse.gmf.examples.runtime.diagram.logic.model.edit"/>
+      <plugin id="org.eclipse.gmf.examples.runtime.diagram.logic.model.editor"/>
+      <plugin id="org.eclipse.gmf.examples.runtime.ui.pde"/>
+      <plugin id="org.eclipse.gmf.graphdef"/>
+      <plugin id="org.eclipse.gmf.graphdef.codegen"/>
+      <plugin id="org.eclipse.gmf.graphdef.edit"/>
+      <plugin id="org.eclipse.gmf.map"/>
+      <plugin id="org.eclipse.gmf.map.edit"/>
+      <plugin id="org.eclipse.gmf.runtime.common.core"/>
+      <plugin id="org.eclipse.gmf.runtime.common.core.source"/>
+      <plugin id="org.eclipse.gmf.runtime.common.ui"/>
+      <plugin id="org.eclipse.gmf.runtime.common.ui.action"/>
+      <plugin id="org.eclipse.gmf.runtime.common.ui.action.ide"/>
+      <plugin id="org.eclipse.gmf.runtime.common.ui.action.ide.source"/>
+      <plugin id="org.eclipse.gmf.runtime.common.ui.action.source"/>
+      <plugin id="org.eclipse.gmf.runtime.common.ui.printing"/>
+      <plugin id="org.eclipse.gmf.runtime.common.ui.printing.source"/>
+      <plugin id="org.eclipse.gmf.runtime.common.ui.printing.win32" fragment="true"/>
+      <plugin id="org.eclipse.gmf.runtime.common.ui.printing.win32.source"/>
+      <plugin id="org.eclipse.gmf.runtime.common.ui.services"/>
+      <plugin id="org.eclipse.gmf.runtime.common.ui.services.action"/>
+      <plugin id="org.eclipse.gmf.runtime.common.ui.services.action.source"/>
+      <plugin id="org.eclipse.gmf.runtime.common.ui.services.dnd"/>
+      <plugin id="org.eclipse.gmf.runtime.common.ui.services.dnd.ide"/>
+      <plugin id="org.eclipse.gmf.runtime.common.ui.services.dnd.ide.source"/>
+      <plugin id="org.eclipse.gmf.runtime.common.ui.services.dnd.source"/>
+      <plugin id="org.eclipse.gmf.runtime.common.ui.services.properties"/>
+      <plugin id="org.eclipse.gmf.runtime.common.ui.services.properties.source"/>
+      <plugin id="org.eclipse.gmf.runtime.common.ui.services.source"/>
+      <plugin id="org.eclipse.gmf.runtime.common.ui.source"/>
+      <plugin id="org.eclipse.gmf.runtime.diagram.core"/>
+      <plugin id="org.eclipse.gmf.runtime.diagram.core.source"/>
+      <plugin id="org.eclipse.gmf.runtime.diagram.ui"/>
+      <plugin id="org.eclipse.gmf.runtime.diagram.ui.actions"/>
+      <plugin id="org.eclipse.gmf.runtime.diagram.ui.actions.source"/>
+      <plugin id="org.eclipse.gmf.runtime.diagram.ui.dnd"/>
+      <plugin id="org.eclipse.gmf.runtime.diagram.ui.dnd.source"/>
+      <plugin id="org.eclipse.gmf.runtime.diagram.ui.geoshapes"/>
+      <plugin id="org.eclipse.gmf.runtime.diagram.ui.geoshapes.source"/>
+      <plugin id="org.eclipse.gmf.runtime.diagram.ui.printing"/>
+      <plugin id="org.eclipse.gmf.runtime.diagram.ui.printing.render"/>
+      <plugin id="org.eclipse.gmf.runtime.diagram.ui.printing.render.source"/>
+      <plugin id="org.eclipse.gmf.runtime.diagram.ui.printing.source"/>
+      <plugin id="org.eclipse.gmf.runtime.diagram.ui.properties"/>
+      <plugin id="org.eclipse.gmf.runtime.diagram.ui.properties.source"/>
+      <plugin id="org.eclipse.gmf.runtime.diagram.ui.providers"/>
+      <plugin id="org.eclipse.gmf.runtime.diagram.ui.providers.ide"/>
+      <plugin id="org.eclipse.gmf.runtime.diagram.ui.providers.ide.source"/>
+      <plugin id="org.eclipse.gmf.runtime.diagram.ui.providers.source"/>
+      <plugin id="org.eclipse.gmf.runtime.diagram.ui.render"/>
+      <plugin id="org.eclipse.gmf.runtime.diagram.ui.render.source"/>
+      <plugin id="org.eclipse.gmf.runtime.diagram.ui.resources.editor"/>
+      <plugin id="org.eclipse.gmf.runtime.diagram.ui.resources.editor.ide"/>
+      <plugin id="org.eclipse.gmf.runtime.diagram.ui.resources.editor.ide.source"/>
+      <plugin id="org.eclipse.gmf.runtime.diagram.ui.resources.editor.source"/>
+      <plugin id="org.eclipse.gmf.runtime.diagram.ui.source"/>
+      <plugin id="org.eclipse.gmf.runtime.draw2d.ui"/>
+      <plugin id="org.eclipse.gmf.runtime.draw2d.ui.render"/>
+      <plugin id="org.eclipse.gmf.runtime.draw2d.ui.render.awt"/>
+      <plugin id="org.eclipse.gmf.runtime.draw2d.ui.render.awt.source"/>
+      <plugin id="org.eclipse.gmf.runtime.draw2d.ui.render.source"/>
+      <plugin id="org.eclipse.gmf.runtime.draw2d.ui.source"/>
+      <plugin id="org.eclipse.gmf.runtime.emf.clipboard.core"/>
+      <plugin id="org.eclipse.gmf.runtime.emf.clipboard.core.source"/>
+      <plugin id="org.eclipse.gmf.runtime.emf.commands.core"/>
+      <plugin id="org.eclipse.gmf.runtime.emf.commands.core.source"/>
+      <plugin id="org.eclipse.gmf.runtime.emf.core"/>
+      <plugin id="org.eclipse.gmf.runtime.emf.core.source"/>
+      <plugin id="org.eclipse.gmf.runtime.emf.type.core"/>
+      <plugin id="org.eclipse.gmf.runtime.emf.type.core.source"/>
+      <plugin id="org.eclipse.gmf.runtime.emf.type.ui"/>
+      <plugin id="org.eclipse.gmf.runtime.emf.type.ui.source"/>
+      <plugin id="org.eclipse.gmf.runtime.emf.ui"/>
+      <plugin id="org.eclipse.gmf.runtime.emf.ui.properties"/>
+      <plugin id="org.eclipse.gmf.runtime.emf.ui.properties.source"/>
+      <plugin id="org.eclipse.gmf.runtime.emf.ui.source"/>
+      <plugin id="org.eclipse.gmf.runtime.gef.ui"/>
+      <plugin id="org.eclipse.gmf.runtime.gef.ui.source"/>
+      <plugin id="org.eclipse.gmf.runtime.notation"/>
+      <plugin id="org.eclipse.gmf.runtime.notation.edit"/>
+      <plugin id="org.eclipse.gmf.runtime.notation.edit.source"/>
+      <plugin id="org.eclipse.gmf.runtime.notation.providers"/>
+      <plugin id="org.eclipse.gmf.runtime.notation.providers.source"/>
+      <plugin id="org.eclipse.gmf.runtime.notation.sdk"/>
+      <plugin id="org.eclipse.gmf.runtime.notation.source"/>
+      <plugin id="org.eclipse.gmf.runtime.sdk"/>
+      <plugin id="org.eclipse.gmf.sdk"/>
+      <plugin id="org.eclipse.gmf.tooldef"/>
+      <plugin id="org.eclipse.gmf.tooldef.edit"/>
+      <plugin id="org.eclipse.gmf.tooling"/>
+      <plugin id="org.eclipse.gmf.tooling.runtime"/>
+      <plugin id="org.eclipse.gmf.validate"/>
+      <plugin id="org.eclipse.gmf.xpand"/>
+      <plugin id="org.eclipse.gmf.xpand.qvtlibrary"/>
+      <plugin id="org.eclipse.gymnast.runtime.core"/>
+      <plugin id="org.eclipse.gymnast.runtime.ui"/>
+      <plugin id="org.eclipse.help"/>
+      <plugin id="org.eclipse.help.base"/>
+      <plugin id="org.eclipse.help.base.source"/>
+      <plugin id="org.eclipse.help.source"/>
+      <plugin id="org.eclipse.help.ui"/>
+      <plugin id="org.eclipse.help.ui.source"/>
+      <plugin id="org.eclipse.help.webapp"/>
+      <plugin id="org.eclipse.help.webapp.source"/>
+      <plugin id="org.eclipse.jdt"/>
+      <plugin id="org.eclipse.jdt.annotation"/>
+      <plugin id="org.eclipse.jdt.annotation.source"/>
+      <plugin id="org.eclipse.jdt.apt.core"/>
+      <plugin id="org.eclipse.jdt.apt.core.source"/>
+      <plugin id="org.eclipse.jdt.apt.pluggable.core"/>
+      <plugin id="org.eclipse.jdt.apt.pluggable.core.source"/>
+      <plugin id="org.eclipse.jdt.apt.ui"/>
+      <plugin id="org.eclipse.jdt.apt.ui.source"/>
+      <plugin id="org.eclipse.jdt.compiler.apt" fragment="true"/>
+      <plugin id="org.eclipse.jdt.compiler.apt.source"/>
+      <plugin id="org.eclipse.jdt.compiler.tool" fragment="true"/>
+      <plugin id="org.eclipse.jdt.compiler.tool.source"/>
+      <plugin id="org.eclipse.jdt.core"/>
+      <plugin id="org.eclipse.jdt.core.formatterapp"/>
+      <plugin id="org.eclipse.jdt.core.formatterapp.source"/>
+      <plugin id="org.eclipse.jdt.core.manipulation"/>
+      <plugin id="org.eclipse.jdt.core.manipulation.source"/>
+      <plugin id="org.eclipse.jdt.core.source"/>
+      <plugin id="org.eclipse.jdt.debug"/>
+      <plugin id="org.eclipse.jdt.debug.source"/>
+      <plugin id="org.eclipse.jdt.debug.ui"/>
+      <plugin id="org.eclipse.jdt.debug.ui.source"/>
+      <plugin id="org.eclipse.jdt.doc.isv"/>
+      <plugin id="org.eclipse.jdt.doc.user"/>
+      <plugin id="org.eclipse.jdt.junit"/>
+      <plugin id="org.eclipse.jdt.junit.core"/>
+      <plugin id="org.eclipse.jdt.junit.core.source"/>
+      <plugin id="org.eclipse.jdt.junit.runtime"/>
+      <plugin id="org.eclipse.jdt.junit.runtime.source"/>
+      <plugin id="org.eclipse.jdt.junit.source"/>
+      <plugin id="org.eclipse.jdt.junit4.runtime"/>
+      <plugin id="org.eclipse.jdt.junit4.runtime.source"/>
+      <plugin id="org.eclipse.jdt.junit5.runtime"/>
+      <plugin id="org.eclipse.jdt.junit5.runtime.source"/>
+      <plugin id="org.eclipse.jdt.launching"/>
+      <plugin id="org.eclipse.jdt.launching.macosx"/>
+      <plugin id="org.eclipse.jdt.launching.macosx.source"/>
+      <plugin id="org.eclipse.jdt.launching.source"/>
+      <plugin id="org.eclipse.jdt.launching.ui.macosx"/>
+      <plugin id="org.eclipse.jdt.launching.ui.macosx.source"/>
+      <plugin id="org.eclipse.jdt.ui"/>
+      <plugin id="org.eclipse.jdt.ui.source"/>
+      <plugin id="org.eclipse.jetty.http"/>
+      <plugin id="org.eclipse.jetty.http.source"/>
+      <plugin id="org.eclipse.jetty.io"/>
+      <plugin id="org.eclipse.jetty.io.source"/>
+      <plugin id="org.eclipse.jetty.security"/>
+      <plugin id="org.eclipse.jetty.security.source"/>
+      <plugin id="org.eclipse.jetty.server"/>
+      <plugin id="org.eclipse.jetty.server.source"/>
+      <plugin id="org.eclipse.jetty.servlet"/>
+      <plugin id="org.eclipse.jetty.servlet.source"/>
+      <plugin id="org.eclipse.jetty.util"/>
+      <plugin id="org.eclipse.jetty.util.ajax"/>
+      <plugin id="org.eclipse.jetty.util.ajax.source"/>
+      <plugin id="org.eclipse.jetty.util.source"/>
+      <plugin id="org.eclipse.jface"/>
+      <plugin id="org.eclipse.jface.databinding"/>
+      <plugin id="org.eclipse.jface.databinding.source"/>
+      <plugin id="org.eclipse.jface.notifications"/>
+      <plugin id="org.eclipse.jface.notifications.source"/>
+      <plugin id="org.eclipse.jface.source"/>
+      <plugin id="org.eclipse.jface.text"/>
+      <plugin id="org.eclipse.jface.text.source"/>
+      <plugin id="org.eclipse.jgit"/>
+      <plugin id="org.eclipse.jgit.archive"/>
+      <plugin id="org.eclipse.jgit.gpg.bc" fragment="true"/>
+      <plugin id="org.eclipse.jgit.http.apache"/>
+      <plugin id="org.eclipse.jgit.ssh.apache"/>
+      <plugin id="org.eclipse.jgit.ssh.apache.agent" fragment="true"/>
+      <plugin id="org.eclipse.jsch.core"/>
+      <plugin id="org.eclipse.jsch.core.source"/>
+      <plugin id="org.eclipse.jsch.ui"/>
+      <plugin id="org.eclipse.jsch.ui.source"/>
+      <plugin id="org.eclipse.lsp4j"/>
+      <plugin id="org.eclipse.lsp4j.generator"/>
+      <plugin id="org.eclipse.lsp4j.generator.source"/>
+      <plugin id="org.eclipse.lsp4j.jsonrpc"/>
+      <plugin id="org.eclipse.lsp4j.jsonrpc.source"/>
+      <plugin id="org.eclipse.lsp4j.source"/>
+      <plugin id="org.eclipse.ltk.core.refactoring"/>
+      <plugin id="org.eclipse.ltk.core.refactoring.source"/>
+      <plugin id="org.eclipse.ltk.ui.refactoring"/>
+      <plugin id="org.eclipse.ltk.ui.refactoring.source"/>
+      <plugin id="org.eclipse.m2m.qvt.oml"/>
+      <plugin id="org.eclipse.m2m.qvt.oml.common"/>
+      <plugin id="org.eclipse.m2m.qvt.oml.cst.parser"/>
+      <plugin id="org.eclipse.m2m.qvt.oml.ecore.imperativeocl"/>
+      <plugin id="org.eclipse.m2m.qvt.oml.emf.util"/>
+      <plugin id="org.eclipse.m2m.qvt.oml.project"/>
+      <plugin id="org.eclipse.m2m.qvt.oml.runtime"/>
+      <plugin id="org.eclipse.mylyn.wikitext"/>
+      <plugin id="org.eclipse.mylyn.wikitext.ant"/>
+      <plugin id="org.eclipse.mylyn.wikitext.asciidoc"/>
+      <plugin id="org.eclipse.mylyn.wikitext.asciidoc.ui"/>
+      <plugin id="org.eclipse.mylyn.wikitext.confluence"/>
+      <plugin id="org.eclipse.mylyn.wikitext.confluence.ui"/>
+      <plugin id="org.eclipse.mylyn.wikitext.help.ui"/>
+      <plugin id="org.eclipse.mylyn.wikitext.html"/>
+      <plugin id="org.eclipse.mylyn.wikitext.markdown"/>
+      <plugin id="org.eclipse.mylyn.wikitext.markdown.ui"/>
+      <plugin id="org.eclipse.mylyn.wikitext.mediawiki"/>
+      <plugin id="org.eclipse.mylyn.wikitext.mediawiki.ui"/>
+      <plugin id="org.eclipse.mylyn.wikitext.osgi"/>
+      <plugin id="org.eclipse.mylyn.wikitext.textile"/>
+      <plugin id="org.eclipse.mylyn.wikitext.textile.ui"/>
+      <plugin id="org.eclipse.mylyn.wikitext.tracwiki"/>
+      <plugin id="org.eclipse.mylyn.wikitext.tracwiki.ui"/>
+      <plugin id="org.eclipse.mylyn.wikitext.twiki"/>
+      <plugin id="org.eclipse.mylyn.wikitext.twiki.ui"/>
+      <plugin id="org.eclipse.mylyn.wikitext.ui"/>
+      <plugin id="org.eclipse.nebula.widgets.tablecombo"/>
+      <plugin id="org.eclipse.net4j"/>
+      <plugin id="org.eclipse.net4j.db"/>
+      <plugin id="org.eclipse.net4j.db.h2"/>
+      <plugin id="org.eclipse.net4j.db.jdbc"/>
+      <plugin id="org.eclipse.net4j.debug"/>
+      <plugin id="org.eclipse.net4j.examples.installer"/>
+      <plugin id="org.eclipse.net4j.jvm"/>
+      <plugin id="org.eclipse.net4j.tcp"/>
+      <plugin id="org.eclipse.net4j.ui"/>
+      <plugin id="org.eclipse.net4j.ui.shared"/>
+      <plugin id="org.eclipse.net4j.util"/>
+      <plugin id="org.eclipse.net4j.util.ui"/>
+      <plugin id="org.eclipse.ocl"/>
+      <plugin id="org.eclipse.ocl.common"/>
+      <plugin id="org.eclipse.ocl.common.ui"/>
+      <plugin id="org.eclipse.ocl.doc"/>
+      <plugin id="org.eclipse.ocl.ecore"/>
+      <plugin id="org.eclipse.ocl.ecore.edit"/>
+      <plugin id="org.eclipse.ocl.edit"/>
+      <plugin id="org.eclipse.ocl.ui"/>
+      <plugin id="org.eclipse.ocl.uml"/>
+      <plugin id="org.eclipse.ocl.uml.edit"/>
+      <plugin id="org.eclipse.ocl.uml.ui"/>
+      <plugin id="org.eclipse.oomph.base"/>
+      <plugin id="org.eclipse.oomph.base.edit"/>
+      <plugin id="org.eclipse.oomph.extractor.lib"/>
+      <plugin id="org.eclipse.oomph.jreinfo"/>
+      <plugin id="org.eclipse.oomph.jreinfo.ui"/>
+      <plugin id="org.eclipse.oomph.p2"/>
+      <plugin id="org.eclipse.oomph.p2.core"/>
+      <plugin id="org.eclipse.oomph.p2.doc"/>
+      <plugin id="org.eclipse.oomph.p2.edit"/>
+      <plugin id="org.eclipse.oomph.p2.ui"/>
+      <plugin id="org.eclipse.oomph.predicates"/>
+      <plugin id="org.eclipse.oomph.predicates.edit"/>
+      <plugin id="org.eclipse.oomph.preferences"/>
+      <plugin id="org.eclipse.oomph.resources"/>
+      <plugin id="org.eclipse.oomph.resources.edit"/>
+      <plugin id="org.eclipse.oomph.setup"/>
+      <plugin id="org.eclipse.oomph.setup.core"/>
+      <plugin id="org.eclipse.oomph.setup.doc"/>
+      <plugin id="org.eclipse.oomph.setup.edit"/>
+      <plugin id="org.eclipse.oomph.setup.editor"/>
+      <plugin id="org.eclipse.oomph.setup.p2"/>
+      <plugin id="org.eclipse.oomph.setup.p2.edit"/>
+      <plugin id="org.eclipse.oomph.setup.sync"/>
+      <plugin id="org.eclipse.oomph.setup.ui"/>
+      <plugin id="org.eclipse.oomph.setup.ui.questionnaire"/>
+      <plugin id="org.eclipse.oomph.ui"/>
+      <plugin id="org.eclipse.oomph.util"/>
+      <plugin id="org.eclipse.oomph.workingsets"/>
+      <plugin id="org.eclipse.oomph.workingsets.edit"/>
+      <plugin id="org.eclipse.oomph.workingsets.editor"/>
+      <plugin id="org.eclipse.osgi"/>
+      <plugin id="org.eclipse.osgi.compatibility.state" fragment="true"/>
+      <plugin id="org.eclipse.osgi.compatibility.state.source"/>
+      <plugin id="org.eclipse.osgi.services"/>
+      <plugin id="org.eclipse.osgi.services.source"/>
+      <plugin id="org.eclipse.osgi.source"/>
+      <plugin id="org.eclipse.osgi.util"/>
+      <plugin id="org.eclipse.osgi.util.source"/>
+      <plugin id="org.eclipse.paho.client.mqttv3"/>
+      <plugin id="org.eclipse.pde"/>
+      <plugin id="org.eclipse.pde.api.tools"/>
+      <plugin id="org.eclipse.pde.api.tools.annotations"/>
+      <plugin id="org.eclipse.pde.api.tools.annotations.source"/>
+      <plugin id="org.eclipse.pde.api.tools.source"/>
+      <plugin id="org.eclipse.pde.api.tools.ui"/>
+      <plugin id="org.eclipse.pde.api.tools.ui.source"/>
+      <plugin id="org.eclipse.pde.build"/>
+      <plugin id="org.eclipse.pde.build.source"/>
+      <plugin id="org.eclipse.pde.core"/>
+      <plugin id="org.eclipse.pde.core.source"/>
+      <plugin id="org.eclipse.pde.doc.user"/>
+      <plugin id="org.eclipse.pde.ds.annotations"/>
+      <plugin id="org.eclipse.pde.ds.annotations.source"/>
+      <plugin id="org.eclipse.pde.ds.core"/>
+      <plugin id="org.eclipse.pde.ds.core.source"/>
+      <plugin id="org.eclipse.pde.ds.lib"/>
+      <plugin id="org.eclipse.pde.ds.lib.source"/>
+      <plugin id="org.eclipse.pde.ds.ui"/>
+      <plugin id="org.eclipse.pde.ds.ui.source"/>
+      <plugin id="org.eclipse.pde.ds1_2.lib"/>
+      <plugin id="org.eclipse.pde.ds1_2.lib.source"/>
+      <plugin id="org.eclipse.pde.genericeditor.extension"/>
+      <plugin id="org.eclipse.pde.genericeditor.extension.source"/>
+      <plugin id="org.eclipse.pde.junit.runtime"/>
+      <plugin id="org.eclipse.pde.junit.runtime.source"/>
+      <plugin id="org.eclipse.pde.launching"/>
+      <plugin id="org.eclipse.pde.launching.source"/>
+      <plugin id="org.eclipse.pde.runtime"/>
+      <plugin id="org.eclipse.pde.runtime.source"/>
+      <plugin id="org.eclipse.pde.spy.core"/>
+      <plugin id="org.eclipse.pde.spy.core.source"/>
+      <plugin id="org.eclipse.pde.spy.css"/>
+      <plugin id="org.eclipse.pde.spy.css.source"/>
+      <plugin id="org.eclipse.pde.spy.model"/>
+      <plugin id="org.eclipse.pde.spy.model.source"/>
+      <plugin id="org.eclipse.pde.spy.preferences"/>
+      <plugin id="org.eclipse.pde.spy.preferences.source"/>
+      <plugin id="org.eclipse.pde.ua.core"/>
+      <plugin id="org.eclipse.pde.ua.core.source"/>
+      <plugin id="org.eclipse.pde.ua.ui"/>
+      <plugin id="org.eclipse.pde.ua.ui.source"/>
+      <plugin id="org.eclipse.pde.ui"/>
+      <plugin id="org.eclipse.pde.ui.source"/>
+      <plugin id="org.eclipse.pde.ui.templates"/>
+      <plugin id="org.eclipse.pde.ui.templates.source"/>
+      <plugin id="org.eclipse.platform"/>
+      <plugin id="org.eclipse.platform.doc.isv"/>
+      <plugin id="org.eclipse.platform.doc.user"/>
+      <plugin id="org.eclipse.platform.source"/>
+      <plugin id="org.eclipse.rcp"/>
+      <plugin id="org.eclipse.sdk"/>
+      <plugin id="org.eclipse.search"/>
+      <plugin id="org.eclipse.search.source"/>
+      <plugin id="org.eclipse.sirius"/>
+      <plugin id="org.eclipse.sirius.common"/>
+      <plugin id="org.eclipse.sirius.common.acceleo.aql"/>
+      <plugin id="org.eclipse.sirius.common.acceleo.aql.ide"/>
+      <plugin id="org.eclipse.sirius.common.acceleo.mtl"/>
+      <plugin id="org.eclipse.sirius.common.acceleo.mtl.ide"/>
+      <plugin id="org.eclipse.sirius.common.interpreter"/>
+      <plugin id="org.eclipse.sirius.common.ui"/>
+      <plugin id="org.eclipse.sirius.common.ui.ext"/>
+      <plugin id="org.eclipse.sirius.diagram"/>
+      <plugin id="org.eclipse.sirius.diagram.formatdata"/>
+      <plugin id="org.eclipse.sirius.diagram.sequence"/>
+      <plugin id="org.eclipse.sirius.diagram.sequence.edit"/>
+      <plugin id="org.eclipse.sirius.diagram.sequence.ui"/>
+      <plugin id="org.eclipse.sirius.diagram.ui"/>
+      <plugin id="org.eclipse.sirius.diagram.ui.ext"/>
+      <plugin id="org.eclipse.sirius.doc"/>
+      <plugin id="org.eclipse.sirius.ecore.extender"/>
+      <plugin id="org.eclipse.sirius.editor"/>
+      <plugin id="org.eclipse.sirius.editor.diagram"/>
+      <plugin id="org.eclipse.sirius.editor.properties"/>
+      <plugin id="org.eclipse.sirius.editor.properties.ext.widgets.reference"/>
+      <plugin id="org.eclipse.sirius.editor.sequence"/>
+      <plugin id="org.eclipse.sirius.editor.table"/>
+      <plugin id="org.eclipse.sirius.editor.tree"/>
+      <plugin id="org.eclipse.sirius.ext.base"/>
+      <plugin id="org.eclipse.sirius.ext.draw2d"/>
+      <plugin id="org.eclipse.sirius.ext.e3"/>
+      <plugin id="org.eclipse.sirius.ext.e3.ui"/>
+      <plugin id="org.eclipse.sirius.ext.emf"/>
+      <plugin id="org.eclipse.sirius.ext.emf.edit"/>
+      <plugin id="org.eclipse.sirius.ext.emf.tx"/>
+      <plugin id="org.eclipse.sirius.ext.emf.ui"/>
+      <plugin id="org.eclipse.sirius.ext.gef"/>
+      <plugin id="org.eclipse.sirius.ext.gmf.notation"/>
+      <plugin id="org.eclipse.sirius.ext.gmf.runtime"/>
+      <plugin id="org.eclipse.sirius.ext.ide"/>
+      <plugin id="org.eclipse.sirius.ext.jface"/>
+      <plugin id="org.eclipse.sirius.ext.swt"/>
+      <plugin id="org.eclipse.sirius.interpreter"/>
+      <plugin id="org.eclipse.sirius.properties"/>
+      <plugin id="org.eclipse.sirius.properties.core"/>
+      <plugin id="org.eclipse.sirius.properties.defaultrules"/>
+      <plugin id="org.eclipse.sirius.properties.edit"/>
+      <plugin id="org.eclipse.sirius.properties.ext.widgets.reference"/>
+      <plugin id="org.eclipse.sirius.properties.ext.widgets.reference.edit"/>
+      <plugin id="org.eclipse.sirius.synchronizer"/>
+      <plugin id="org.eclipse.sirius.table"/>
+      <plugin id="org.eclipse.sirius.table.ui"/>
+      <plugin id="org.eclipse.sirius.table.ui.ext"/>
+      <plugin id="org.eclipse.sirius.tree"/>
+      <plugin id="org.eclipse.sirius.tree.ui"/>
+      <plugin id="org.eclipse.sirius.tree.ui.ext"/>
+      <plugin id="org.eclipse.sirius.ui"/>
+      <plugin id="org.eclipse.sirius.ui.editor"/>
+      <plugin id="org.eclipse.sirius.ui.ext"/>
+      <plugin id="org.eclipse.sirius.ui.properties"/>
+      <plugin id="org.eclipse.sirius.ui.properties.ext.widgets.reference"/>
+      <plugin id="org.eclipse.swt"/>
+      <plugin id="org.eclipse.swt.cocoa.macosx.x86_64" fragment="true"/>
+      <plugin id="org.eclipse.swt.cocoa.macosx.x86_64.source"/>
+      <plugin id="org.eclipse.team.core"/>
+      <plugin id="org.eclipse.team.core.source"/>
+      <plugin id="org.eclipse.team.genericeditor.diff.extension"/>
+      <plugin id="org.eclipse.team.genericeditor.diff.extension.source"/>
+      <plugin id="org.eclipse.team.ui"/>
+      <plugin id="org.eclipse.team.ui.source"/>
+      <plugin id="org.eclipse.text"/>
+      <plugin id="org.eclipse.text.quicksearch"/>
+      <plugin id="org.eclipse.text.quicksearch.source"/>
+      <plugin id="org.eclipse.text.source"/>
+      <plugin id="org.eclipse.tips.core"/>
+      <plugin id="org.eclipse.tips.ide"/>
+      <plugin id="org.eclipse.tips.json"/>
+      <plugin id="org.eclipse.tips.ui"/>
+      <plugin id="org.eclipse.tools.layout.spy"/>
+      <plugin id="org.eclipse.tools.layout.spy.source"/>
+      <plugin id="org.eclipse.ui"/>
+      <plugin id="org.eclipse.ui.browser"/>
+      <plugin id="org.eclipse.ui.browser.source"/>
+      <plugin id="org.eclipse.ui.cheatsheets"/>
+      <plugin id="org.eclipse.ui.cheatsheets.source"/>
+      <plugin id="org.eclipse.ui.cocoa" fragment="true"/>
+      <plugin id="org.eclipse.ui.cocoa.source"/>
+      <plugin id="org.eclipse.ui.console"/>
+      <plugin id="org.eclipse.ui.console.source"/>
+      <plugin id="org.eclipse.ui.editors"/>
+      <plugin id="org.eclipse.ui.editors.source"/>
+      <plugin id="org.eclipse.ui.externaltools"/>
+      <plugin id="org.eclipse.ui.externaltools.source"/>
+      <plugin id="org.eclipse.ui.forms"/>
+      <plugin id="org.eclipse.ui.forms.source"/>
+      <plugin id="org.eclipse.ui.genericeditor"/>
+      <plugin id="org.eclipse.ui.genericeditor.source"/>
+      <plugin id="org.eclipse.ui.ide"/>
+      <plugin id="org.eclipse.ui.ide.application"/>
+      <plugin id="org.eclipse.ui.ide.application.source"/>
+      <plugin id="org.eclipse.ui.ide.source"/>
+      <plugin id="org.eclipse.ui.intro"/>
+      <plugin id="org.eclipse.ui.intro.quicklinks"/>
+      <plugin id="org.eclipse.ui.intro.quicklinks.source"/>
+      <plugin id="org.eclipse.ui.intro.source"/>
+      <plugin id="org.eclipse.ui.intro.universal"/>
+      <plugin id="org.eclipse.ui.intro.universal.source"/>
+      <plugin id="org.eclipse.ui.monitoring"/>
+      <plugin id="org.eclipse.ui.monitoring.source"/>
+      <plugin id="org.eclipse.ui.navigator"/>
+      <plugin id="org.eclipse.ui.navigator.resources"/>
+      <plugin id="org.eclipse.ui.navigator.resources.source"/>
+      <plugin id="org.eclipse.ui.navigator.source"/>
+      <plugin id="org.eclipse.ui.net"/>
+      <plugin id="org.eclipse.ui.net.source"/>
+      <plugin id="org.eclipse.ui.source"/>
+      <plugin id="org.eclipse.ui.themes"/>
+      <plugin id="org.eclipse.ui.themes.source"/>
+      <plugin id="org.eclipse.ui.trace"/>
+      <plugin id="org.eclipse.ui.trace.source"/>
+      <plugin id="org.eclipse.ui.views"/>
+      <plugin id="org.eclipse.ui.views.log"/>
+      <plugin id="org.eclipse.ui.views.log.source"/>
+      <plugin id="org.eclipse.ui.views.properties.tabbed"/>
+      <plugin id="org.eclipse.ui.views.properties.tabbed.source"/>
+      <plugin id="org.eclipse.ui.views.source"/>
+      <plugin id="org.eclipse.ui.workbench"/>
+      <plugin id="org.eclipse.ui.workbench.source"/>
+      <plugin id="org.eclipse.ui.workbench.texteditor"/>
+      <plugin id="org.eclipse.ui.workbench.texteditor.source"/>
+      <plugin id="org.eclipse.uml2"/>
+      <plugin id="org.eclipse.uml2.ant"/>
+      <plugin id="org.eclipse.uml2.codegen.ecore"/>
+      <plugin id="org.eclipse.uml2.codegen.ecore.ui"/>
+      <plugin id="org.eclipse.uml2.common"/>
+      <plugin id="org.eclipse.uml2.common.edit"/>
+      <plugin id="org.eclipse.uml2.doc"/>
+      <plugin id="org.eclipse.uml2.examples"/>
+      <plugin id="org.eclipse.uml2.examples.uml.ui"/>
+      <plugin id="org.eclipse.uml2.sdk"/>
+      <plugin id="org.eclipse.uml2.types"/>
+      <plugin id="org.eclipse.uml2.uml"/>
+      <plugin id="org.eclipse.uml2.uml.ecore.exporter"/>
+      <plugin id="org.eclipse.uml2.uml.ecore.importer"/>
+      <plugin id="org.eclipse.uml2.uml.edit"/>
+      <plugin id="org.eclipse.uml2.uml.editor"/>
+      <plugin id="org.eclipse.uml2.uml.profile.standard"/>
+      <plugin id="org.eclipse.uml2.uml.resources"/>
+      <plugin id="org.eclipse.uml2.uml.validation"/>
+      <plugin id="org.eclipse.update.configurator"/>
+      <plugin id="org.eclipse.update.configurator.source"/>
+      <plugin id="org.eclipse.urischeme"/>
+      <plugin id="org.eclipse.urischeme.source"/>
+      <plugin id="org.eclipse.userstorage"/>
+      <plugin id="org.eclipse.userstorage.oauth"/>
+      <plugin id="org.eclipse.userstorage.ui"/>
+      <plugin id="org.eclipse.xpand"/>
+      <plugin id="org.eclipse.xpand.activities"/>
+      <plugin id="org.eclipse.xpand.activities.source"/>
+      <plugin id="org.eclipse.xpand.doc"/>
+      <plugin id="org.eclipse.xpand.examples"/>
+      <plugin id="org.eclipse.xpand.examples.source"/>
+      <plugin id="org.eclipse.xpand.source"/>
+      <plugin id="org.eclipse.xpand.support.cdt"/>
+      <plugin id="org.eclipse.xpand.support.cdt.source"/>
+      <plugin id="org.eclipse.xpand.ui"/>
+      <plugin id="org.eclipse.xpand.ui.source"/>
+      <plugin id="org.eclipse.xsd"/>
+      <plugin id="org.eclipse.xsd.cheatsheets"/>
+      <plugin id="org.eclipse.xsd.doc"/>
+      <plugin id="org.eclipse.xsd.ecore.converter"/>
+      <plugin id="org.eclipse.xsd.ecore.converter.source"/>
+      <plugin id="org.eclipse.xsd.ecore.exporter"/>
+      <plugin id="org.eclipse.xsd.ecore.exporter.source"/>
+      <plugin id="org.eclipse.xsd.ecore.importer"/>
+      <plugin id="org.eclipse.xsd.ecore.importer.source"/>
+      <plugin id="org.eclipse.xsd.edit"/>
+      <plugin id="org.eclipse.xsd.edit.source"/>
+      <plugin id="org.eclipse.xsd.editor"/>
+      <plugin id="org.eclipse.xsd.editor.source"/>
+      <plugin id="org.eclipse.xsd.example"/>
+      <plugin id="org.eclipse.xsd.example.installer"/>
+      <plugin id="org.eclipse.xsd.mapping"/>
+      <plugin id="org.eclipse.xsd.mapping.editor"/>
+      <plugin id="org.eclipse.xsd.mapping.editor.source"/>
+      <plugin id="org.eclipse.xsd.mapping.source"/>
+      <plugin id="org.eclipse.xsd.source"/>
+      <plugin id="org.eclipse.xtend"/>
+      <plugin id="org.eclipse.xtend.backend"/>
+      <plugin id="org.eclipse.xtend.backend.compiler"/>
+      <plugin id="org.eclipse.xtend.backend.compiler.source"/>
+      <plugin id="org.eclipse.xtend.backend.source"/>
+      <plugin id="org.eclipse.xtend.backend.ui"/>
+      <plugin id="org.eclipse.xtend.backend.ui.source"/>
+      <plugin id="org.eclipse.xtend.backend.uml2types"/>
+      <plugin id="org.eclipse.xtend.backend.uml2types.source"/>
+      <plugin id="org.eclipse.xtend.backend.xsdtypes"/>
+      <plugin id="org.eclipse.xtend.backend.xsdtypes.source"/>
+      <plugin id="org.eclipse.xtend.check.ui"/>
+      <plugin id="org.eclipse.xtend.check.ui.source"/>
+      <plugin id="org.eclipse.xtend.core"/>
+      <plugin id="org.eclipse.xtend.core.source"/>
+      <plugin id="org.eclipse.xtend.doc"/>
+      <plugin id="org.eclipse.xtend.examples"/>
+      <plugin id="org.eclipse.xtend.ide"/>
+      <plugin id="org.eclipse.xtend.ide.common"/>
+      <plugin id="org.eclipse.xtend.ide.common.source"/>
+      <plugin id="org.eclipse.xtend.ide.source"/>
+      <plugin id="org.eclipse.xtend.lib"/>
+      <plugin id="org.eclipse.xtend.lib.gwt"/>
+      <plugin id="org.eclipse.xtend.lib.macro"/>
+      <plugin id="org.eclipse.xtend.lib.macro.source"/>
+      <plugin id="org.eclipse.xtend.lib.source"/>
+      <plugin id="org.eclipse.xtend.m2e"/>
+      <plugin id="org.eclipse.xtend.m2e.source"/>
+      <plugin id="org.eclipse.xtend.middleend.xpand"/>
+      <plugin id="org.eclipse.xtend.middleend.xtend"/>
+      <plugin id="org.eclipse.xtend.profiler"/>
+      <plugin id="org.eclipse.xtend.profiler.source"/>
+      <plugin id="org.eclipse.xtend.shared.ui"/>
+      <plugin id="org.eclipse.xtend.shared.ui.source"/>
+      <plugin id="org.eclipse.xtend.source"/>
+      <plugin id="org.eclipse.xtend.standalone"/>
+      <plugin id="org.eclipse.xtend.standalone.source"/>
+      <plugin id="org.eclipse.xtend.typesystem.emf"/>
+      <plugin id="org.eclipse.xtend.typesystem.emf.source"/>
+      <plugin id="org.eclipse.xtend.typesystem.emf.ui"/>
+      <plugin id="org.eclipse.xtend.typesystem.emf.ui.source"/>
+      <plugin id="org.eclipse.xtend.typesystem.uml2"/>
+      <plugin id="org.eclipse.xtend.typesystem.uml2.source"/>
+      <plugin id="org.eclipse.xtend.typesystem.uml2.ui"/>
+      <plugin id="org.eclipse.xtend.typesystem.uml2.ui.source"/>
+      <plugin id="org.eclipse.xtend.typesystem.xsd"/>
+      <plugin id="org.eclipse.xtend.typesystem.xsd.source"/>
+      <plugin id="org.eclipse.xtend.typesystem.xsd.ui"/>
+      <plugin id="org.eclipse.xtend.typesystem.xsd.ui.source"/>
+      <plugin id="org.eclipse.xtend.ui"/>
+      <plugin id="org.eclipse.xtend.ui.source"/>
+      <plugin id="org.eclipse.xtend.util.stdlib"/>
+      <plugin id="org.eclipse.xtend.util.stdlib.source"/>
+      <plugin id="org.eclipse.xtext"/>
+      <plugin id="org.eclipse.xtext.activities"/>
+      <plugin id="org.eclipse.xtext.activities.source"/>
+      <plugin id="org.eclipse.xtext.builder"/>
+      <plugin id="org.eclipse.xtext.builder.source"/>
+      <plugin id="org.eclipse.xtext.builder.standalone"/>
+      <plugin id="org.eclipse.xtext.builder.standalone.source"/>
+      <plugin id="org.eclipse.xtext.buildship"/>
+      <plugin id="org.eclipse.xtext.buildship.source"/>
+      <plugin id="org.eclipse.xtext.common.types"/>
+      <plugin id="org.eclipse.xtext.common.types.edit"/>
+      <plugin id="org.eclipse.xtext.common.types.edit.source"/>
+      <plugin id="org.eclipse.xtext.common.types.shared"/>
+      <plugin id="org.eclipse.xtext.common.types.shared.jdt38" fragment="true"/>
+      <plugin id="org.eclipse.xtext.common.types.shared.jdt38.source"/>
+      <plugin id="org.eclipse.xtext.common.types.shared.source"/>
+      <plugin id="org.eclipse.xtext.common.types.source"/>
+      <plugin id="org.eclipse.xtext.common.types.ui"/>
+      <plugin id="org.eclipse.xtext.common.types.ui.source"/>
+      <plugin id="org.eclipse.xtext.doc"/>
+      <plugin id="org.eclipse.xtext.ecore"/>
+      <plugin id="org.eclipse.xtext.ecore.source"/>
+      <plugin id="org.eclipse.xtext.generator"/>
+      <plugin id="org.eclipse.xtext.generator.source"/>
+      <plugin id="org.eclipse.xtext.ide"/>
+      <plugin id="org.eclipse.xtext.ide.source"/>
+      <plugin id="org.eclipse.xtext.java"/>
+      <plugin id="org.eclipse.xtext.java.source"/>
+      <plugin id="org.eclipse.xtext.junit4"/>
+      <plugin id="org.eclipse.xtext.junit4.source"/>
+      <plugin id="org.eclipse.xtext.logging" fragment="true"/>
+      <plugin id="org.eclipse.xtext.logging.source"/>
+      <plugin id="org.eclipse.xtext.m2e"/>
+      <plugin id="org.eclipse.xtext.m2e.source"/>
+      <plugin id="org.eclipse.xtext.purexbase"/>
+      <plugin id="org.eclipse.xtext.purexbase.ide"/>
+      <plugin id="org.eclipse.xtext.purexbase.ide.source"/>
+      <plugin id="org.eclipse.xtext.purexbase.source"/>
+      <plugin id="org.eclipse.xtext.purexbase.ui"/>
+      <plugin id="org.eclipse.xtext.purexbase.ui.source"/>
+      <plugin id="org.eclipse.xtext.smap"/>
+      <plugin id="org.eclipse.xtext.smap.source"/>
+      <plugin id="org.eclipse.xtext.source"/>
+      <plugin id="org.eclipse.xtext.testing"/>
+      <plugin id="org.eclipse.xtext.testing.source"/>
+      <plugin id="org.eclipse.xtext.ui"/>
+      <plugin id="org.eclipse.xtext.ui.codemining"/>
+      <plugin id="org.eclipse.xtext.ui.codemining.source"/>
+      <plugin id="org.eclipse.xtext.ui.codetemplates"/>
+      <plugin id="org.eclipse.xtext.ui.codetemplates.ide"/>
+      <plugin id="org.eclipse.xtext.ui.codetemplates.ide.source"/>
+      <plugin id="org.eclipse.xtext.ui.codetemplates.source"/>
+      <plugin id="org.eclipse.xtext.ui.codetemplates.ui"/>
+      <plugin id="org.eclipse.xtext.ui.codetemplates.ui.source"/>
+      <plugin id="org.eclipse.xtext.ui.ecore"/>
+      <plugin id="org.eclipse.xtext.ui.ecore.source"/>
+      <plugin id="org.eclipse.xtext.ui.shared"/>
+      <plugin id="org.eclipse.xtext.ui.shared.source"/>
+      <plugin id="org.eclipse.xtext.ui.source"/>
+      <plugin id="org.eclipse.xtext.ui.testing"/>
+      <plugin id="org.eclipse.xtext.ui.testing.source"/>
+      <plugin id="org.eclipse.xtext.util"/>
+      <plugin id="org.eclipse.xtext.util.source"/>
+      <plugin id="org.eclipse.xtext.xbase"/>
+      <plugin id="org.eclipse.xtext.xbase.ide"/>
+      <plugin id="org.eclipse.xtext.xbase.ide.source"/>
+      <plugin id="org.eclipse.xtext.xbase.junit"/>
+      <plugin id="org.eclipse.xtext.xbase.junit.source"/>
+      <plugin id="org.eclipse.xtext.xbase.lib"/>
+      <plugin id="org.eclipse.xtext.xbase.lib.gwt"/>
+      <plugin id="org.eclipse.xtext.xbase.lib.source"/>
+      <plugin id="org.eclipse.xtext.xbase.source"/>
+      <plugin id="org.eclipse.xtext.xbase.testing"/>
+      <plugin id="org.eclipse.xtext.xbase.testing.source"/>
+      <plugin id="org.eclipse.xtext.xbase.ui"/>
+      <plugin id="org.eclipse.xtext.xbase.ui.source"/>
+      <plugin id="org.eclipse.xtext.xbase.ui.testing"/>
+      <plugin id="org.eclipse.xtext.xbase.ui.testing.source"/>
+      <plugin id="org.eclipse.xtext.xtext.generator"/>
+      <plugin id="org.eclipse.xtext.xtext.generator.source"/>
+      <plugin id="org.eclipse.xtext.xtext.ide"/>
+      <plugin id="org.eclipse.xtext.xtext.ide.source"/>
+      <plugin id="org.eclipse.xtext.xtext.ui"/>
+      <plugin id="org.eclipse.xtext.xtext.ui.examples"/>
+      <plugin id="org.eclipse.xtext.xtext.ui.graph"/>
+      <plugin id="org.eclipse.xtext.xtext.ui.graph.source"/>
+      <plugin id="org.eclipse.xtext.xtext.ui.source"/>
+      <plugin id="org.eclipse.xtext.xtext.wizard"/>
+      <plugin id="org.eclipse.xtext.xtext.wizard.source"/>
+      <plugin id="org.h2"/>
+      <plugin id="org.hamcrest.core"/>
+      <plugin id="org.hamcrest.core.source"/>
+      <plugin id="org.jdom"/>
+      <plugin id="org.jsoup"/>
+      <plugin id="org.junit"/>
+      <plugin id="org.junit.jupiter.api"/>
+      <plugin id="org.junit.jupiter.api.source"/>
+      <plugin id="org.junit.jupiter.engine"/>
+      <plugin id="org.junit.jupiter.engine.source"/>
+      <plugin id="org.junit.jupiter.migrationsupport"/>
+      <plugin id="org.junit.jupiter.migrationsupport.source"/>
+      <plugin id="org.junit.jupiter.params"/>
+      <plugin id="org.junit.jupiter.params.source"/>
+      <plugin id="org.junit.platform.commons"/>
+      <plugin id="org.junit.platform.commons.source"/>
+      <plugin id="org.junit.platform.engine"/>
+      <plugin id="org.junit.platform.engine.source"/>
+      <plugin id="org.junit.platform.launcher"/>
+      <plugin id="org.junit.platform.launcher.source"/>
+      <plugin id="org.junit.platform.runner"/>
+      <plugin id="org.junit.platform.runner.source"/>
+      <plugin id="org.junit.platform.suite.api"/>
+      <plugin id="org.junit.platform.suite.api.source"/>
+      <plugin id="org.junit.platform.suite.commons"/>
+      <plugin id="org.junit.platform.suite.commons.source"/>
+      <plugin id="org.junit.platform.suite.engine"/>
+      <plugin id="org.junit.platform.suite.engine.source"/>
+      <plugin id="org.junit.source"/>
+      <plugin id="org.junit.vintage.engine"/>
+      <plugin id="org.junit.vintage.engine.source"/>
+      <plugin id="org.objectweb.asm"/>
+      <plugin id="org.objectweb.asm.source"/>
+      <plugin id="org.objectweb.asm.tree"/>
+      <plugin id="org.objectweb.asm.tree.source"/>
+      <plugin id="org.opentest4j"/>
+      <plugin id="org.opentest4j.source"/>
+      <plugin id="org.restlet"/>
+      <plugin id="org.restlet.example"/>
+      <plugin id="org.restlet.ext.apispark"/>
+      <plugin id="org.restlet.ext.atom"/>
+      <plugin id="org.restlet.ext.crypto"/>
+      <plugin id="org.restlet.ext.e4"/>
+      <plugin id="org.restlet.ext.emf"/>
+      <plugin id="org.restlet.ext.fileupload"/>
+      <plugin id="org.restlet.ext.freemarker"/>
+      <plugin id="org.restlet.ext.gson"/>
+      <plugin id="org.restlet.ext.guice"/>
+      <plugin id="org.restlet.ext.gwt"/>
+      <plugin id="org.restlet.ext.html"/>
+      <plugin id="org.restlet.ext.httpclient"/>
+      <plugin id="org.restlet.ext.jaas"/>
+      <plugin id="org.restlet.ext.jackson"/>
+      <plugin id="org.restlet.ext.javamail"/>
+      <plugin id="org.restlet.ext.jaxb"/>
+      <plugin id="org.restlet.ext.jaxrs"/>
+      <plugin id="org.restlet.ext.jdbc"/>
+      <plugin id="org.restlet.ext.jetty"/>
+      <plugin id="org.restlet.ext.jibx"/>
+      <plugin id="org.restlet.ext.json"/>
+      <plugin id="org.restlet.ext.jsslutils"/>
+      <plugin id="org.restlet.ext.lucene"/>
+      <plugin id="org.restlet.ext.nio"/>
+      <plugin id="org.restlet.ext.oauth"/>
+      <plugin id="org.restlet.ext.odata"/>
+      <plugin id="org.restlet.ext.openid"/>
+      <plugin id="org.restlet.ext.osgi"/>
+      <plugin id="org.restlet.ext.raml"/>
+      <plugin id="org.restlet.ext.rdf"/>
+      <plugin id="org.restlet.ext.rome"/>
+      <plugin id="org.restlet.ext.sdc"/>
+      <plugin id="org.restlet.ext.servlet"/>
+      <plugin id="org.restlet.ext.simple"/>
+      <plugin id="org.restlet.ext.sip"/>
+      <plugin id="org.restlet.ext.slf4j"/>
+      <plugin id="org.restlet.ext.spring"/>
+      <plugin id="org.restlet.ext.swagger"/>
+      <plugin id="org.restlet.ext.thymeleaf"/>
+      <plugin id="org.restlet.ext.velocity"/>
+      <plugin id="org.restlet.ext.wadl"/>
+      <plugin id="org.restlet.ext.xdb"/>
+      <plugin id="org.restlet.ext.xml"/>
+      <plugin id="org.restlet.ext.xstream"/>
+      <plugin id="org.sat4j.core"/>
+      <plugin id="org.sat4j.pb"/>
+      <plugin id="org.slf4j.api"/>
+      <plugin id="org.slf4j.api.source"/>
+      <plugin id="org.tukaani.xz"/>
+      <plugin id="org.tukaani.xz.source"/>
+      <plugin id="org.w3c.css.sac"/>
+      <plugin id="org.w3c.css.sac.source"/>
+      <plugin id="org.w3c.dom.events"/>
+      <plugin id="org.w3c.dom.events.source"/>
+      <plugin id="org.w3c.dom.smil"/>
+      <plugin id="org.w3c.dom.smil.source"/>
+      <plugin id="org.w3c.dom.svg"/>
+      <plugin id="org.w3c.dom.svg.source"/>
+      <plugin id="org.yaml.snakeyaml"/>
+   </plugins>
+
+   <configurations>
+      <plugin id="org.eclipse.core.runtime" autoStart="true" startLevel="0" />
+      <plugin id="org.eclipse.equinox.common" autoStart="true" startLevel="2" />
+      <plugin id="org.eclipse.equinox.ds" autoStart="true" startLevel="2" />
+      <plugin id="org.eclipse.equinox.event" autoStart="true" startLevel="2" />
+      <plugin id="org.eclipse.equinox.simpleconfigurator" autoStart="true" startLevel="1" />
+   </configurations>
+
+   <preferencesInfo>
+      <targetfile overwrite="false"/>
+   </preferencesInfo>
+
+   <cssInfo>
+   </cssInfo>
+
+</product>
diff --git a/Source Code/V2.0/PiacereToolProduct/about.gif b/Source Code/V2.0/PiacereToolProduct/about.gif
new file mode 100644
index 0000000000000000000000000000000000000000..ab9d7596d8019353b55a7126b8285fd6112292cf
Binary files /dev/null and b/Source Code/V2.0/PiacereToolProduct/about.gif differ
diff --git a/Source Code/V2.0/PiacereToolProduct/build.properties b/Source Code/V2.0/PiacereToolProduct/build.properties
new file mode 100755
index 0000000000000000000000000000000000000000..d0d65a25b7404ec7dcbed0abefaf2efdbec4bb4e
--- /dev/null
+++ b/Source Code/V2.0/PiacereToolProduct/build.properties	
@@ -0,0 +1,11 @@
+output.. = bin/
+bin.includes = META-INF/,\
+               .,\
+               plugin_customization.ini,\
+               plugin.xml,\
+               PiacereToolProduct.product,\
+               about.gif,\
+               splash.bmp,\
+               about.jpg,\
+               Piacere/
+source.. = src/
diff --git a/Source Code/V2.0/PiacereToolProduct/plugin.xml b/Source Code/V2.0/PiacereToolProduct/plugin.xml
new file mode 100755
index 0000000000000000000000000000000000000000..4320957fd29e2e868831ba1c73c6e5bda2ff9296
--- /dev/null
+++ b/Source Code/V2.0/PiacereToolProduct/plugin.xml	
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+<plugin>
+
+   <extension
+         id="PiacereProductID"
+         point="org.eclipse.core.runtime.products">
+      <product
+            application="org.eclipse.ui.ide.workbench"
+            name="Piacere">
+         <property
+               name="windowImages"
+               value="Piacere/PiacereIcons/PiacereIcon_16x16.png,Piacere/PiacereIcons/PiacereIcon_32x32.png,Piacere/PiacereIcons/PiacereIcon_48x48.png,Piacere/PiacereIcons/PiacereIcon_64x64.png,Piacere/PiacereIcons/PiacereIcon_128x128.png,Piacere/PiacereIcons/PiacereIcon_256x256.png">
+         </property>
+         <property
+               name="aboutImage"
+               value="about.gif">
+         </property>
+         <property
+               name="startupForegroundColor"
+               value="17CE1C">
+         </property>
+         <property
+               name="startupProgressRect"
+               value="2,310,448,10">
+         </property>
+         <property
+               name="startupMessageRect"
+               value="7,290,320,20">
+         </property>
+         <property
+               name="appName"
+               value="Piacere">
+         </property>
+         <property
+               name="preferenceCustomization"
+               value="plugin_customization.ini">
+         </property>
+      </product>
+   </extension>
+
+</plugin>
diff --git a/Source Code/V2.0/PiacereToolProduct/plugin_customization.ini b/Source Code/V2.0/PiacereToolProduct/plugin_customization.ini
new file mode 100755
index 0000000000000000000000000000000000000000..333fab9da760c08792618efc88d4a4c7a17b2fc3
--- /dev/null
+++ b/Source Code/V2.0/PiacereToolProduct/plugin_customization.ini	
@@ -0,0 +1 @@
+org.eclipse.ui/SHOW_PROGRESS_ON_STARTUP = true
diff --git a/Source Code/V2.0/PiacereToolProduct/splash.bmp b/Source Code/V2.0/PiacereToolProduct/splash.bmp
new file mode 100644
index 0000000000000000000000000000000000000000..0c489eedc9b5482d8511d83d57aafcb5c738bfe2
Binary files /dev/null and b/Source Code/V2.0/PiacereToolProduct/splash.bmp differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR03/.classpath b/Source Code/V2.1/PiacereIDEIntegration.KR03/.classpath
new file mode 100644
index 0000000000000000000000000000000000000000..81fe078c20c05db46a8281fbb1a72875a5322b45
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KR03/.classpath	
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-17"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR03/.gitignore b/Source Code/V2.1/PiacereIDEIntegration.KR03/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..ae3c1726048cd06b9a143e0376ed46dd9b9a8d53
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KR03/.gitignore	
@@ -0,0 +1 @@
+/bin/
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR03/.project b/Source Code/V2.1/PiacereIDEIntegration.KR03/.project
new file mode 100644
index 0000000000000000000000000000000000000000..851c45bf6199b05e81499352e11341bc20f790bf
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KR03/.project	
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>PiacereIDEIntegration.KR03</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR03/.settings/org.eclipse.jdt.core.prefs b/Source Code/V2.1/PiacereIDEIntegration.KR03/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000000000000000000000000000000000000..62ef3488cc0468ee9c2d4440dfbbbd5877cd0c28
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KR03/.settings/org.eclipse.jdt.core.prefs	
@@ -0,0 +1,9 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=17
+org.eclipse.jdt.core.compiler.compliance=17
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
+org.eclipse.jdt.core.compiler.release=enabled
+org.eclipse.jdt.core.compiler.source=17
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR03/META-INF/MANIFEST.MF b/Source Code/V2.1/PiacereIDEIntegration.KR03/META-INF/MANIFEST.MF
new file mode 100644
index 0000000000000000000000000000000000000000..951134b9c2629f1cf0c780e37603ec5633340c8c
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KR03/META-INF/MANIFEST.MF	
@@ -0,0 +1,23 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: KR03
+Bundle-SymbolicName: PiacereIDEIntegration.KR03;singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Automatic-Module-Name: PiacereIDEIntegration.KR03
+Require-Bundle: org.eclipse.ui,
+ org.eclipse.core.runtime,
+ org.apache.httpcomponents.httpcore
+Import-Package: eu.piacere.doml.doml.commons,
+ eu.piacere.piacereTool.utils,
+ org.apache.commons.io,
+ org.apache.http.client;version="4.5.13",
+ org.apache.http.client.methods;version="4.5.13",
+ org.apache.http.impl.client;version="4.5.13",
+ org.eclipse.core.resources,
+ org.eclipse.core.runtime.preferences;version="3.4.0",
+ org.eclipse.emf.common.util,
+ org.eclipse.emf.ecore,
+ org.eclipse.emf.ecore.resource,
+ org.eclipse.emf.ecore.resource.impl,
+ org.eclipse.emf.ecore.util,
+ org.json
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR03/Piacere/PiacereIcon_16x16.png b/Source Code/V2.1/PiacereIDEIntegration.KR03/Piacere/PiacereIcon_16x16.png
new file mode 100644
index 0000000000000000000000000000000000000000..444de54d6cfe2958fac1bbb89dd8619b4c537c47
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KR03/Piacere/PiacereIcon_16x16.png differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR03/build.properties b/Source Code/V2.1/PiacereIDEIntegration.KR03/build.properties
new file mode 100644
index 0000000000000000000000000000000000000000..52086a7c305694aa678bde0640768488a5cf8e4f
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KR03/build.properties	
@@ -0,0 +1,6 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+               .,\
+               plugin.xml,\
+               Piacere/
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR03/plugin.xml b/Source Code/V2.1/PiacereIDEIntegration.KR03/plugin.xml
new file mode 100644
index 0000000000000000000000000000000000000000..8bf8e3d15664752b43fde75f4d9da8ed6e45af3a
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KR03/plugin.xml	
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+<plugin>
+   <extension
+         point="org.eclipse.ui.preferencePages">
+      <page
+            category="PiacereToolCustomization.preferences.page1"
+            class="eu.piacere.ide.toolIntegration.kr03.preferencePage.KR03PreferencePage"
+            id="PiacereIDEIntegration.KR03.preferences.page1"
+            name="Infrastructural Code Generator Preferences">
+      </page>
+   </extension>
+   <extension
+         point="org.eclipse.core.runtime.preferences">
+      <initializer
+            class="eu.piacere.ide.toolIntegration.kr03.preferencePage.KR03PreferenceInitializer">
+      </initializer>
+   </extension>
+   <extension
+         point="org.eclipse.ui.commands">
+      <command
+            categoryId="eu.piacere.piacereModelsCommands.category.id"
+            defaultHandler="eu.piacere.ide.toolIntegration.kr03.commandHandlers.CodeGeneratorCommandHandler"
+            id="eu.piacere.piacereModelsCommands.codeGeneratorCommand.id"
+            name="Generate Code">
+      </command>
+   </extension>
+   <extension
+         point="org.eclipse.ui.menus">
+      <menuContribution
+            allPopups="false"
+            locationURI="popup:eu.piacere.eclipsePopupMenu.id">
+         <command
+               commandId="eu.piacere.piacereModelsCommands.codeGeneratorCommand.id"
+               icon="Piacere/PiacereIcon_16x16.png"
+               label="Generate IaC Code"
+               style="push"
+               tooltip="Generate IaC code using DOML">
+            <visibleWhen
+                  checkEnabled="false">
+               <reference
+                     definitionId="eu.piacere.piacereTool.propertyTesters.extensionPropertyTester.isDOMLModel.id">
+               </reference>
+            </visibleWhen>
+         </command>
+      </menuContribution>
+   </extension>
+
+</plugin>
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR03/src/eu/piacere/ide/toolIntegration/kr03/commandHandlers/CodeGeneratorCommandHandler.java b/Source Code/V2.1/PiacereIDEIntegration.KR03/src/eu/piacere/ide/toolIntegration/kr03/commandHandlers/CodeGeneratorCommandHandler.java
new file mode 100644
index 0000000000000000000000000000000000000000..7e30d1a2c7f7146ac9c99b93cafedb029aa0d12c
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KR03/src/eu/piacere/ide/toolIntegration/kr03/commandHandlers/CodeGeneratorCommandHandler.java	
@@ -0,0 +1,98 @@
+package eu.piacere.ide.toolIntegration.kr03.commandHandlers;
+
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.util.UUID;
+
+import org.apache.http.client.ClientProtocolException;
+import org.apache.http.client.HttpClient;
+import org.apache.http.client.methods.CloseableHttpResponse;
+import org.apache.http.client.methods.HttpPost;
+import org.apache.http.entity.StringEntity;
+import org.apache.http.impl.client.HttpClientBuilder;
+import org.eclipse.core.commands.AbstractHandler;
+import org.eclipse.core.commands.ExecutionEvent;
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.jface.dialogs.ProgressMonitorDialog;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.ui.handlers.HandlerUtil;
+import org.json.JSONException;
+
+import eu.piacere.doml.doml.commons.DOMLModel;
+import eu.piacere.piacereTool.utils.FileUtils;
+import eu.piacere.piacereTool.utils.ModelUtils;
+import eu.piacere.piacereTool.utils.ToolCustomizationUtils;
+
+public class CodeGeneratorCommandHandler extends AbstractHandler{
+
+	private void doPostRequestToIACCodeGenerator(String fileContent, String path, String defaultFileName) throws ClientProtocolException, IOException, JSONException {
+		HttpClient httpClient = HttpClientBuilder.create().build();
+
+		String url=ToolCustomizationUtils.getPreference(this.getClass(), "KR03.protocol")+"://"+ToolCustomizationUtils.getPreference(this.getClass(), "KR03.host")+":"+ToolCustomizationUtils.getPreference(this.getClass(), "KR03.port")+"/iac/files";
+
+		HttpPost httpPost = new HttpPost(url);
+
+		StringEntity entity = new StringEntity(fileContent);
+		httpPost.setEntity(entity);
+
+		httpPost.setHeader("Accept", "application/json");
+		httpPost.setHeader("Content-type", "application/xml");
+
+		CloseableHttpResponse response = (CloseableHttpResponse) httpClient.execute(httpPost);
+		if(response.getStatusLine().getStatusCode()==200) {
+
+			String generationFileName=ToolCustomizationUtils.doDialogAsk("IaC Code Generator", "Enter the IaC Code File Name", defaultFileName);
+
+			FileOutputStream fos = new FileOutputStream(path + "//" + generationFileName+"_"+FileUtils.getTimestamp()+".tar.gz");
+			int br = -1;
+			byte[] buffer = new byte[4096];
+			while ((br = response.getEntity().getContent().read(buffer)) != -1 ) {
+				fos.write(buffer, 0, br);
+			}
+			fos.close();	
+		} 
+
+		else {
+			ToolCustomizationUtils.showErrorDialog("Code Generator", "Error: " + response.getStatusLine().getStatusCode() + ".\n\nCan not generate the IaC code.");
+		}
+	}
+	
+
+	@Override
+	public Object execute(ExecutionEvent event) throws ExecutionException {
+		ToolCustomizationUtils.saveWorkbench();
+		ISelection selection = HandlerUtil.getCurrentSelection(event);
+		if (selection instanceof StructuredSelection) {
+			if(((StructuredSelection)selection).getFirstElement() instanceof IFile){
+				
+				IFile res = (IFile)((StructuredSelection) selection).getFirstElement();
+
+				String fileContent= ModelUtils.getModelTextAsDOMLXFromDOML(res);
+				if(fileContent==null) {
+					return null;
+				}
+				
+				String path = res.getLocation().removeLastSegments(1).toString();
+				
+				try {
+					doPostRequestToIACCodeGenerator(fileContent, path, res.getFullPath().lastSegment().replace(".domlx", ""));
+					res.getParent().refreshLocal(IResource.DEPTH_INFINITE, null);
+				} catch (IOException | JSONException | CoreException e2) {
+					e2.printStackTrace();
+				}
+			}
+		}
+		return null;
+	}
+}
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR03/src/eu/piacere/ide/toolIntegration/kr03/preferencePage/KR03PreferenceInitializer.java b/Source Code/V2.1/PiacereIDEIntegration.KR03/src/eu/piacere/ide/toolIntegration/kr03/preferencePage/KR03PreferenceInitializer.java
new file mode 100644
index 0000000000000000000000000000000000000000..7a5e270927f78167e5a913e7e4052ba7ecf74343
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KR03/src/eu/piacere/ide/toolIntegration/kr03/preferencePage/KR03PreferenceInitializer.java	
@@ -0,0 +1,22 @@
+package eu.piacere.ide.toolIntegration.kr03.preferencePage;
+
+import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer;
+import org.eclipse.core.runtime.preferences.ConfigurationScope;
+import org.eclipse.ui.preferences.ScopedPreferenceStore;
+import org.osgi.framework.FrameworkUtil;
+
+import eu.piacere.ide.toolIntegration.kr03.preferencePage.KR03PreferenceInitializer;
+
+public class KR03PreferenceInitializer extends AbstractPreferenceInitializer {
+
+	@Override
+	public void initializeDefaultPreferences() {
+		
+		ScopedPreferenceStore scopedPreferenceStore = new ScopedPreferenceStore(ConfigurationScope.INSTANCE,(FrameworkUtil.getBundle(KR03PreferenceInitializer.class)).getSymbolicName());
+        scopedPreferenceStore.setDefault("KR03.host", "icg.ci.piacere.digital.tecnalia.dev");
+        scopedPreferenceStore.setDefault("KR03.port", 443);
+        scopedPreferenceStore.setDefault("KR03.protocol", "https");
+
+	}
+
+}
\ No newline at end of file
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR03/src/eu/piacere/ide/toolIntegration/kr03/preferencePage/KR03PreferencePage.java b/Source Code/V2.1/PiacereIDEIntegration.KR03/src/eu/piacere/ide/toolIntegration/kr03/preferencePage/KR03PreferencePage.java
new file mode 100644
index 0000000000000000000000000000000000000000..4c26e99bc5da8a16575ff91146258190919ecb52
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KR03/src/eu/piacere/ide/toolIntegration/kr03/preferencePage/KR03PreferencePage.java	
@@ -0,0 +1,36 @@
+package eu.piacere.ide.toolIntegration.kr03.preferencePage;
+
+import org.eclipse.core.runtime.preferences.ConfigurationScope;
+import org.eclipse.jface.preference.FieldEditorPreferencePage;
+import org.eclipse.jface.preference.IntegerFieldEditor;
+import org.eclipse.jface.preference.RadioGroupFieldEditor;
+import org.eclipse.jface.preference.StringFieldEditor;
+import org.eclipse.ui.IWorkbench;
+import org.eclipse.ui.IWorkbenchPreferencePage;
+import org.eclipse.ui.preferences.ScopedPreferenceStore;
+import org.osgi.framework.FrameworkUtil;
+
+public class KR03PreferencePage extends FieldEditorPreferencePage implements IWorkbenchPreferencePage {
+
+	public KR03PreferencePage() {
+		super(GRID);
+	}
+
+	@Override
+	public void init(IWorkbench workbench) {
+		//WHICH SCOPE SHOULD I SELECT: https://wiki.eclipse.org/FAQ_What_is_a_preference_scope%3F
+
+		setPreferenceStore(new ScopedPreferenceStore(ConfigurationScope.INSTANCE, (FrameworkUtil.getBundle(KR03PreferenceInitializer.class)).getSymbolicName()));
+		setDescription("These Are The Infrastructural Code Generator Preferences");
+
+	}
+
+	@Override
+	protected void createFieldEditors() {
+		addField(new StringFieldEditor("KR03.host", "Endpoint Host", getFieldEditorParent()));
+		addField(new IntegerFieldEditor("KR03.port", "Endpoint Port", getFieldEditorParent()));
+		addField(new RadioGroupFieldEditor("KR03.protocol", "Protocol", 1, new String[][] {{"HTTP","http"},{"HTTPS","https"}}, getFieldEditorParent()));
+
+	}
+
+}
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR05/.classpath b/Source Code/V2.1/PiacereIDEIntegration.KR05/.classpath
new file mode 100644
index 0000000000000000000000000000000000000000..1fa3e6803d3b22e055b735220510616c4e35f2fc
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KR05/.classpath	
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR05/.gitignore b/Source Code/V2.1/PiacereIDEIntegration.KR05/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..ae3c1726048cd06b9a143e0376ed46dd9b9a8d53
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KR05/.gitignore	
@@ -0,0 +1 @@
+/bin/
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR05/.project b/Source Code/V2.1/PiacereIDEIntegration.KR05/.project
new file mode 100644
index 0000000000000000000000000000000000000000..1ae7a77bc897917bd4e7579cdbc86ebfaa189192
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KR05/.project	
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>PiacereIDEIntegration.KR05</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR05/META-INF/MANIFEST.MF b/Source Code/V2.1/PiacereIDEIntegration.KR05/META-INF/MANIFEST.MF
new file mode 100644
index 0000000000000000000000000000000000000000..1e759f6bd6a99befc22c64b4edac3a95f3b81664
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KR05/META-INF/MANIFEST.MF	
@@ -0,0 +1,23 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: KR05
+Bundle-SymbolicName: PiacereIDEIntegration.KR05;singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Automatic-Module-Name: PiacereIDEIntegration.KR05
+Require-Bundle: org.eclipse.ui,
+ org.eclipse.core.runtime,
+ org.apache.httpcomponents.httpcore
+Import-Package: eu.piacere.doml.doml.commons,
+ eu.piacere.piacereTool.utils,
+ org.apache.commons.io,
+ org.apache.http.client;version="4.5.13",
+ org.apache.http.client.methods;version="4.5.13",
+ org.apache.http.impl.client;version="4.5.13",
+ org.eclipse.core.resources,
+ org.eclipse.core.runtime.preferences;version="3.4.0",
+ org.eclipse.emf.common.util,
+ org.eclipse.emf.ecore,
+ org.eclipse.emf.ecore.resource,
+ org.eclipse.emf.ecore.resource.impl,
+ org.eclipse.emf.ecore.util,
+ org.json
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR05/Piacere/PiacereIcon_16x16.png b/Source Code/V2.1/PiacereIDEIntegration.KR05/Piacere/PiacereIcon_16x16.png
new file mode 100644
index 0000000000000000000000000000000000000000..444de54d6cfe2958fac1bbb89dd8619b4c537c47
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KR05/Piacere/PiacereIcon_16x16.png differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR05/build.properties b/Source Code/V2.1/PiacereIDEIntegration.KR05/build.properties
new file mode 100644
index 0000000000000000000000000000000000000000..52086a7c305694aa678bde0640768488a5cf8e4f
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KR05/build.properties	
@@ -0,0 +1,6 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+               .,\
+               plugin.xml,\
+               Piacere/
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR05/plugin.xml b/Source Code/V2.1/PiacereIDEIntegration.KR05/plugin.xml
new file mode 100644
index 0000000000000000000000000000000000000000..7ac7d9f6eb5da4cd1ed3f26374746adc0803028c
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KR05/plugin.xml	
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+<plugin>
+   <extension
+         point="org.eclipse.ui.preferencePages">
+      <page
+            category="PiacereToolCustomization.preferences.page1"
+            class="eu.piacere.ide.toolIntegration.kr05.preferencePage.KR05PreferencePage"
+            id="PiacereIDEIntegration.KR05.preferences.page1"
+            name="Model Checker Preferences">
+      </page>
+   </extension>
+   <extension
+         point="org.eclipse.core.runtime.preferences">
+      <initializer
+            class="eu.piacere.ide.toolIntegration.kr05.preferencePage.KR05PreferenceInitializer">
+      </initializer>
+   </extension>
+   
+   <extension
+         point="org.eclipse.ui.commands">
+      <command
+            categoryId="eu.piacere.piacereModelsCommands.category.id"
+            defaultHandler="eu.piacere.ide.toolIntegration.kr05.commandHandlers.ValidateDOMLCommandHandler"
+            id="eu.piacere.piacereModelsCommands.validateDOMLCommand.id"
+            name="Validate DOML">
+      </command>
+   </extension>
+   <extension
+         point="org.eclipse.ui.menus">
+      <menuContribution
+            allPopups="false"
+            locationURI="popup:eu.piacere.eclipsePopupMenu.id">
+         <command
+               commandId="eu.piacere.piacereModelsCommands.validateDOMLCommand.id"
+               icon="Piacere/PiacereIcon_16x16.png"
+               label="Validate DOML"
+               style="push"
+               tooltip="Validate the DOML Specification">
+            <visibleWhen
+                  checkEnabled="false">
+               <reference
+                     definitionId="eu.piacere.piacereTool.propertyTesters.extensionPropertyTester.isDOMLModel.id">
+               </reference>
+            </visibleWhen>
+         </command>
+      </menuContribution>
+   </extension>
+
+</plugin>
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR05/src/eu/piacere/ide/toolIntegration/kr05/commandHandlers/ValidateDOMLCommandHandler.java b/Source Code/V2.1/PiacereIDEIntegration.KR05/src/eu/piacere/ide/toolIntegration/kr05/commandHandlers/ValidateDOMLCommandHandler.java
new file mode 100644
index 0000000000000000000000000000000000000000..953135ba1fdaf210f240e204abcfda31b1a1be5d
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KR05/src/eu/piacere/ide/toolIntegration/kr05/commandHandlers/ValidateDOMLCommandHandler.java	
@@ -0,0 +1,150 @@
+package eu.piacere.ide.toolIntegration.kr05.commandHandlers;
+
+import java.io.IOException;
+
+import org.apache.http.client.ClientProtocolException;
+import org.apache.http.client.HttpClient;
+import org.apache.http.client.methods.CloseableHttpResponse;
+import org.apache.http.client.methods.HttpPost;
+import org.apache.http.entity.StringEntity;
+import org.apache.http.impl.client.HttpClientBuilder;
+import org.apache.http.util.EntityUtils;
+import org.eclipse.core.commands.AbstractHandler;
+import org.eclipse.core.commands.ExecutionEvent;
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.resources.IContainer;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.jface.dialogs.ProgressMonitorDialog;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.ui.handlers.HandlerUtil;
+import org.json.JSONException;
+import org.json.JSONObject;
+
+import eu.piacere.piacereTool.utils.FileUtils;
+import eu.piacere.piacereTool.utils.ModelUtils;
+import eu.piacere.piacereTool.utils.ToolCustomizationUtils;
+
+
+public class ValidateDOMLCommandHandler extends AbstractHandler {
+
+	private JSONObject doPostRequestToValidator(String fileContent) throws ClientProtocolException, IOException, JSONException {
+		HttpClient httpClient = HttpClientBuilder.create().build();
+
+		String url=ToolCustomizationUtils.getPreference(this.getClass(), "KR05.protocol")+"://"+ToolCustomizationUtils.getPreference(this.getClass(), "KR05.host");
+		if(ToolCustomizationUtils.getPreference(this.getClass(), "KR05.port")!=null) {
+			if(!ToolCustomizationUtils.getPreference(this.getClass(), "KR05.port").equals("")) {
+				url=url+":"+ToolCustomizationUtils.getPreference(this.getClass(), "KR05.port");
+			}
+		}
+
+		url=url+"/modelcheck";
+
+		HttpPost httpPost = new HttpPost(url);
+
+		StringEntity entity = new StringEntity(fileContent);
+		httpPost.setEntity(entity);
+
+		httpPost.setHeader("Accept", "application/json");
+		httpPost.setHeader("Content-type", "application/xml");
+
+		CloseableHttpResponse response = (CloseableHttpResponse) httpClient.execute(httpPost);
+		if(response.getStatusLine().getStatusCode()==200) {
+			String content =  EntityUtils.toString(response.getEntity());
+			JSONObject responseAsJSON=new JSONObject(content);
+			return responseAsJSON;
+		}
+
+		else if(response.getStatusLine().getStatusCode()==400) {
+			String content =  EntityUtils.toString(response.getEntity());
+			JSONObject responseAsJSON =new JSONObject(content);
+			ToolCustomizationUtils.showErrorDialog("Model Checking Result","Model Checker Raised an Error HTTP-400:\n Message:" + responseAsJSON.getString("message") + "\n Debug Message:" + responseAsJSON.getString("debug_message"));
+			return null;
+		}
+
+		else {
+			String content =  EntityUtils.toString(response.getEntity());
+			ToolCustomizationUtils.showErrorDialog("Model Checking Result","Unknown error" + content);
+			return null;
+		}
+	}
+
+	private void saveFileInWorkspace(IContainer container, String fileContent, String defaultFileName) {
+
+
+		String domlModelName=ToolCustomizationUtils.doDialogAsk("DOML Model Validation", "Enter the DOML Model Validation Results File Name", defaultFileName);
+
+		ProgressMonitorDialog pd=new ProgressMonitorDialog(ToolCustomizationUtils.getActiveShell());
+		pd.open();
+		try {
+			FileUtils.createFile(domlModelName+"_"+FileUtils.getTimestamp()+".validation" , container, fileContent, pd);
+		} catch (Exception e1) {
+			e1.printStackTrace();
+		}
+		pd.close();
+		try {
+			container.refreshLocal(IResource.DEPTH_INFINITE, null);
+		} catch (CoreException e) {
+			e.printStackTrace();
+		}
+	}
+
+	private void interpretResult(JSONObject responseFromValidator) {
+		try {
+			if(responseFromValidator.getString("result").equals("sat")) {
+				ToolCustomizationUtils.showInformationDialog("Model Checking Result", "Your Requirements are SATISFIED");
+			}
+			else if(responseFromValidator.getString("result").equals("unsat")) {
+				ToolCustomizationUtils.showErrorDialog("Model Checking Result", "Your Requirements are UNSATISFIED:\n\n"+responseFromValidator.getString("description"));
+			}
+		} catch (JSONException e) {
+			e.printStackTrace();
+		}
+
+
+	}
+
+	@Override
+	public Object execute(ExecutionEvent event) throws ExecutionException {
+		ToolCustomizationUtils.saveWorkbench();
+		ISelection selection = HandlerUtil.getCurrentSelection(event);
+		if (selection instanceof StructuredSelection) {
+			if(((StructuredSelection)selection).getFirstElement() instanceof IFile){
+				IFile res = (IFile)((StructuredSelection) selection).getFirstElement();
+				
+
+				String fileContent= ModelUtils.getModelTextAsDOMLXFromDOML(res);
+				if(fileContent==null) {
+					//ARROJAR ERROR
+					return null;
+				}
+				JSONObject responseFromValidator=null;
+				try {
+					responseFromValidator=doPostRequestToValidator(fileContent);
+				} catch (IOException | JSONException e2) {
+					e2.printStackTrace();
+				}
+
+				if(responseFromValidator==null) {
+					//ARROJAR ERROR
+					return null;
+				}			
+
+
+				interpretResult(responseFromValidator);
+
+				if(ToolCustomizationUtils.showQuestionDialog("Save Result", "Do you want to save the validation result on workspace?")) {
+					try {
+						saveFileInWorkspace(res.getParent(), responseFromValidator.toString(4), res.getFullPath().lastSegment().replace(".domlx", ""));
+					} catch (JSONException e) {
+						e.printStackTrace();
+					}
+				}
+			}
+		}
+		return null;
+	}
+
+}
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR05/src/eu/piacere/ide/toolIntegration/kr05/preferencePage/KR05PreferenceInitializer.java b/Source Code/V2.1/PiacereIDEIntegration.KR05/src/eu/piacere/ide/toolIntegration/kr05/preferencePage/KR05PreferenceInitializer.java
new file mode 100644
index 0000000000000000000000000000000000000000..9d00e7ad8a2c6fec4e8eb8b6ffc22e20520a353e
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KR05/src/eu/piacere/ide/toolIntegration/kr05/preferencePage/KR05PreferenceInitializer.java	
@@ -0,0 +1,20 @@
+package eu.piacere.ide.toolIntegration.kr05.preferencePage;
+
+import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer;
+import org.eclipse.core.runtime.preferences.ConfigurationScope;
+import org.eclipse.ui.preferences.ScopedPreferenceStore;
+import org.osgi.framework.FrameworkUtil;
+
+public class KR05PreferenceInitializer extends AbstractPreferenceInitializer {
+
+	@Override
+	public void initializeDefaultPreferences() {
+		
+		ScopedPreferenceStore scopedPreferenceStore = new ScopedPreferenceStore(ConfigurationScope.INSTANCE,(FrameworkUtil.getBundle(KR05PreferenceInitializer.class)).getSymbolicName());
+        scopedPreferenceStore.setDefault("KR05.host", "dmc.ci.piacere.digital.tecnalia.dev");
+        scopedPreferenceStore.setDefault("KR05.port", 443);
+        scopedPreferenceStore.setDefault("KR05.protocol", "https");
+
+	}
+
+}
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR05/src/eu/piacere/ide/toolIntegration/kr05/preferencePage/KR05PreferencePage.java b/Source Code/V2.1/PiacereIDEIntegration.KR05/src/eu/piacere/ide/toolIntegration/kr05/preferencePage/KR05PreferencePage.java
new file mode 100644
index 0000000000000000000000000000000000000000..7e41b210d65be8031fe4a25bdd0b201deca1a1b3
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KR05/src/eu/piacere/ide/toolIntegration/kr05/preferencePage/KR05PreferencePage.java	
@@ -0,0 +1,42 @@
+package eu.piacere.ide.toolIntegration.kr05.preferencePage;
+
+import org.eclipse.core.runtime.preferences.ConfigurationScope;
+import org.eclipse.jface.preference.FieldEditorPreferencePage;
+import org.eclipse.jface.preference.IntegerFieldEditor;
+import org.eclipse.jface.preference.RadioGroupFieldEditor;
+import org.eclipse.jface.preference.StringFieldEditor;
+import org.eclipse.ui.IWorkbench;
+import org.eclipse.ui.IWorkbenchPreferencePage;
+import org.eclipse.ui.preferences.ScopedPreferenceStore;
+import org.osgi.framework.FrameworkUtil;
+
+public class KR05PreferencePage extends FieldEditorPreferencePage implements IWorkbenchPreferencePage {
+
+	public KR05PreferencePage() {
+		super(GRID);
+	}
+
+	@Override
+	public void init(IWorkbench workbench) {
+		//WHICH SCOPE SHOULD I SELECT: https://wiki.eclipse.org/FAQ_What_is_a_preference_scope%3F
+		
+		 setPreferenceStore(new ScopedPreferenceStore(ConfigurationScope.INSTANCE, (FrameworkUtil.getBundle(KR05PreferenceInitializer.class)).getSymbolicName()));
+	     setDescription("Model Checker Preferences");
+
+	}
+
+	@Override
+	protected void createFieldEditors() {
+		
+		StringFieldEditor hostFieldEditor = new StringFieldEditor("KR05.host", "Endpoint Host", getFieldEditorParent());
+		addField(hostFieldEditor);
+		
+		IntegerFieldEditor portfieldeditor= new IntegerFieldEditor("KR05.port", "Endpoint Port", getFieldEditorParent());
+		addField(portfieldeditor);
+		
+		RadioGroupFieldEditor protocolFieldEditor = new RadioGroupFieldEditor("KR05.protocol", "Protocol", 1, new String[][] {{"HTTP","http"},{"HTTPS","https"}}, getFieldEditorParent());
+		addField(protocolFieldEditor);
+
+	}
+
+}
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR06And07/.classpath b/Source Code/V2.1/PiacereIDEIntegration.KR06And07/.classpath
new file mode 100644
index 0000000000000000000000000000000000000000..1fa3e6803d3b22e055b735220510616c4e35f2fc
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KR06And07/.classpath	
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR06And07/.gitignore b/Source Code/V2.1/PiacereIDEIntegration.KR06And07/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..ae3c1726048cd06b9a143e0376ed46dd9b9a8d53
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KR06And07/.gitignore	
@@ -0,0 +1 @@
+/bin/
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR06And07/.project b/Source Code/V2.1/PiacereIDEIntegration.KR06And07/.project
new file mode 100644
index 0000000000000000000000000000000000000000..176ccaf78998f00709a2c2a5cd42472fd2e62ba4
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KR06And07/.project	
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>PiacereIDEIntegration.KR06And07</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR06And07/META-INF/MANIFEST.MF b/Source Code/V2.1/PiacereIDEIntegration.KR06And07/META-INF/MANIFEST.MF
new file mode 100644
index 0000000000000000000000000000000000000000..aad93834a06a887e25130bc9847c35bd5386925a
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KR06And07/META-INF/MANIFEST.MF	
@@ -0,0 +1,27 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: KR06And07
+Bundle-SymbolicName: PiacereIDEIntegration.KR06And07;singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Bundle-Vendor: VRAIN
+Automatic-Module-Name: PiacereIDEIntegration.KR06And07
+Require-Bundle: org.eclipse.ui,
+ org.eclipse.core.runtime,
+ org.apache.httpcomponents.httpcore
+Import-Package: eu.piacere.doml.doml.commons,
+ eu.piacere.piacereTool.utils,
+ org.apache.commons.io,
+ org.apache.http.client;version="4.5.13",
+ org.apache.http.client.methods;version="4.5.13",
+ org.apache.http.entity.mime;version="4.5.13",
+ org.apache.http.entity.mime.content;version="4.5.13",
+ org.apache.http.impl.client;version="4.5.13",
+ org.eclipse.core.resources,
+ org.eclipse.core.runtime.preferences;version="3.4.0",
+ org.eclipse.emf.common.util,
+ org.eclipse.emf.ecore,
+ org.eclipse.emf.ecore.resource,
+ org.eclipse.emf.ecore.resource.impl,
+ org.eclipse.emf.ecore.util,
+ org.json
+
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR06And07/Piacere/PiacereIcon_16x16.png b/Source Code/V2.1/PiacereIDEIntegration.KR06And07/Piacere/PiacereIcon_16x16.png
new file mode 100644
index 0000000000000000000000000000000000000000..444de54d6cfe2958fac1bbb89dd8619b4c537c47
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KR06And07/Piacere/PiacereIcon_16x16.png differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR06And07/build.properties b/Source Code/V2.1/PiacereIDEIntegration.KR06And07/build.properties
new file mode 100644
index 0000000000000000000000000000000000000000..52086a7c305694aa678bde0640768488a5cf8e4f
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KR06And07/build.properties	
@@ -0,0 +1,6 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+               .,\
+               plugin.xml,\
+               Piacere/
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR06And07/plugin.xml b/Source Code/V2.1/PiacereIDEIntegration.KR06And07/plugin.xml
new file mode 100644
index 0000000000000000000000000000000000000000..4dd9e6b4c87c745d369694c6ee6ff0531be6eac8
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KR06And07/plugin.xml	
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+<plugin>
+   <extension
+         point="org.eclipse.ui.preferencePages">
+      <page
+            category="PiacereToolCustomization.preferences.page1"
+            class="eu.piacere.ide.toolIntegration.kr06And07.preferencePage.KR06And07PreferencePage"
+            id="PiacereIDEIntegration.KR06And07.preferences.page1"
+            name="IaC Security Inspector Preferences">
+      </page>
+   </extension>
+   <extension
+         point="org.eclipse.core.runtime.preferences">
+      <initializer
+            class="eu.piacere.ide.toolIntegration.kr06And07.preferencePage.KR06And07PreferenceInitializer">
+      </initializer>
+   </extension>
+   <extension
+         point="org.eclipse.ui.commands">
+      <command
+            categoryId="eu.piacere.piacereModelsCommands.category.id"
+            defaultHandler="eu.piacere.ide.toolIntegration.kr06And07.commandHandlers.IaCSecurityInspectorCommandHandler"
+            id="eu.piacere.piacereModelsCommands.IaCSecurityInspectorCommand.id"
+            name="Security Inspector">
+      </command>
+     <!-- <command
+            categoryId="eu.piacere.piacereModelsCommands.category.id"
+            defaultHandler="eu.piacere.ide.toolIntegration.kr06And07.commandHandlers.IaCSecurityEnableCommandHandler"
+            id="eu.piacere.piacereModelsCommands.IaCSecurityEnableCommand.id"
+            name="Security Enable">
+      </command>
+      <command
+            categoryId="eu.piacere.piacereModelsCommands.category.id"
+            defaultHandler="eu.piacere.ide.toolIntegration.kr06And07.commandHandlers.IaCSecurityConfCommandHandlers"
+            id="eu.piacere.piacereModelsCommands.IaCSecurityConfCommand.id"
+            name="Security configuration">
+      </command> -->
+      <command
+            categoryId="eu.piacere.piacereModelsCommands.category.id"
+            defaultHandler="eu.piacere.ide.toolIntegration.kr06And07.commandHandlers.IaCSecurityScanCommandHandler"
+            id="eu.piacere.piacereModelsCommands.IaCSecurityScanCommand.id"
+            name="Security Scanner">
+      </command>
+   </extension>
+   <extension
+         point="org.eclipse.ui.menus">
+      <menuContribution
+            allPopups="false"
+            locationURI="menu:org.eclipse.ui.main.menu">
+         <menu
+               id="piacereMenu"
+               label="Piacere">
+            <menu
+                  label="Security Inspector">
+               <command
+                     commandId="eu.piacere.piacereModelsCommands.IaCSecurityInspectorCommand.id"
+                     label="Get Security Inspector Configuration"
+                     style="push"
+                     tooltip="Checks your IaC for security vulnerabilities">
+               </command>
+               <!--<command
+                     commandId="eu.piacere.piacereModelsCommands.IaCSecurityConfCommand.id"
+                     label="Set Security Configuration"
+                     style="push"
+                     tooltip="Set Security Configuration">
+               </command>
+               <command
+                     commandId="eu.piacere.piacereModelsCommands.IaCSecurityEnableCommand.id"
+                     label="Enable/Disable Security Checks"
+                     style="push"
+                     tooltip="Enable/Disable your IaC or Components">
+               </command>-->
+            </menu>
+         </menu>
+      </menuContribution>
+      <menuContribution
+            allPopups="false"
+            locationURI="popup:eu.piacere.eclipsePopupMenu.id">
+         <command
+               commandId="eu.piacere.piacereModelsCommands.IaCSecurityScanCommand.id"
+               icon="Piacere/PiacereIcon_16x16.png"
+               label="Perform Security Scan"
+               style="push"
+               tooltip="Scan IaC for security vulnerabilities">
+            <visibleWhen
+                  checkEnabled="false">
+                  <or>
+               <reference
+                     definitionId="eu.piacere.piacereTool.propertyTesters.extensionPropertyTester.isTarGz.id">
+               </reference>
+               <reference
+                     definitionId="eu.piacere.piacereTool.propertyTesters.extensionPropertyTester.isZip.id">
+               </reference>
+               <reference
+                     definitionId="eu.piacere.piacereTool.propertyTesters.extensionPropertyTester.isCSAR.id">
+               </reference>
+               </or>
+            </visibleWhen>
+         </command>
+      </menuContribution>
+   </extension>
+
+</plugin>
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR06And07/src/eu/piacere/ide/toolIntegration/kr06And07/commandHandlers/IaCSecurityConfCommandHandler.java b/Source Code/V2.1/PiacereIDEIntegration.KR06And07/src/eu/piacere/ide/toolIntegration/kr06And07/commandHandlers/IaCSecurityConfCommandHandler.java
new file mode 100644
index 0000000000000000000000000000000000000000..2a4021adc97021b48d800569afd1a27a073d9971
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KR06And07/src/eu/piacere/ide/toolIntegration/kr06And07/commandHandlers/IaCSecurityConfCommandHandler.java	
@@ -0,0 +1,141 @@
+package eu.piacere.ide.toolIntegration.kr06And07.commandHandlers;
+
+import java.io.File;
+import java.io.IOException;
+
+import javax.swing.JFrame;
+import javax.swing.JOptionPane;
+
+import org.apache.http.HttpEntity;
+import org.apache.http.client.ClientProtocolException;
+import org.apache.http.client.HttpClient;
+import org.apache.http.client.methods.CloseableHttpResponse;
+import org.apache.http.client.methods.HttpPatch;
+import org.apache.http.entity.ContentType;
+import org.apache.http.entity.mime.HttpMultipartMode;
+import org.apache.http.entity.mime.MultipartEntityBuilder;
+import org.apache.http.entity.mime.content.FileBody;
+import org.apache.http.impl.client.HttpClientBuilder;
+import org.apache.http.util.EntityUtils;
+import org.eclipse.core.commands.AbstractHandler;
+import org.eclipse.core.commands.ExecutionEvent;
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.preferences.ConfigurationScope;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.ui.handlers.HandlerUtil;
+import org.eclipse.ui.preferences.ScopedPreferenceStore;
+import org.json.JSONException;
+import org.json.JSONObject;
+import org.osgi.framework.FrameworkUtil;
+
+import eu.piacere.piacereTool.utils.FileUtils;
+import eu.piacere.piacereTool.utils.ToolCustomizationUtils;
+
+public class IaCSecurityConfCommandHandler  extends AbstractHandler {
+	
+	private String getPreference(String preferenceID) {
+		ScopedPreferenceStore scopedPreferenceStore = new ScopedPreferenceStore(ConfigurationScope.INSTANCE,(FrameworkUtil.getBundle(IaCSecurityConfCommandHandler.class)).getSymbolicName());
+		return scopedPreferenceStore.getString(preferenceID);
+	}
+
+	private JSONObject showDialog(IPath fileuri) throws ClientProtocolException, IOException, JSONException {
+		 
+	       JFrame frame = new JFrame("Security Options");
+
+	       String result = (String)JOptionPane.showInputDialog(
+	               frame,
+	               "Configure IaC/Component", 
+	               "Check Name",            
+	               JOptionPane.PLAIN_MESSAGE,
+	               null,            
+	               null, 
+	               ""
+	            );
+	       if(result == null) return null;
+	       String result2 = (String)JOptionPane.showInputDialog(
+	               frame,
+	               "Configure IaC/Component", 
+	               "Secret",            
+	               JOptionPane.PLAIN_MESSAGE,
+	               null,            
+	               null, 
+	               ""
+	            );
+	       
+	       if(result2 == null) return null;
+	       return doPostRequestTochecker(fileuri, result, result2);
+	       
+		}
+	private JSONObject doPostRequestTochecker(IPath fileuri, String chk_name, String secret) throws ClientProtocolException, IOException, JSONException {
+		HttpClient httpClient = HttpClientBuilder.create().build();
+		
+		String url=getPreference("KR06.protocol")+"://"+getPreference("KR06.host")+":"+getPreference("KR06.port")+"/checks/";
+
+		MultipartEntityBuilder  builder = MultipartEntityBuilder.create();
+		builder.setMode(HttpMultipartMode.BROWSER_COMPATIBLE);
+		if(!chk_name.equals("")) {
+			url+= chk_name + "/configure?";
+		}
+		if(!secret.equals("")) {
+			builder.addTextBody("secret", secret);
+		}
+		
+		if(!fileuri.equals("")) {
+			builder.addPart("config_file", new FileBody(new File(fileuri.toString()), ContentType.DEFAULT_BINARY));
+		}
+		
+		HttpPatch httpPatch = new HttpPatch(url);
+		HttpEntity entity = builder.build();
+		httpPatch.setEntity(entity);
+		
+		CloseableHttpResponse response = (CloseableHttpResponse) httpClient.execute(httpPatch);
+		if(response.getStatusLine().getStatusCode()==200) {
+			String content =  EntityUtils.toString(response.getEntity());
+			ToolCustomizationUtils.showInformationDialog("Security Configure Result", content);
+		} else {
+			String content =  EntityUtils.toString(response.getEntity());
+			ToolCustomizationUtils.showErrorDialog("Security Configure Error", content);
+		}
+		return null;
+	}
+
+	@Override
+	public Object execute(ExecutionEvent event) throws ExecutionException {
+		ToolCustomizationUtils.saveWorkbench();
+		ISelection selection = HandlerUtil.getCurrentSelection(event);
+		if (selection instanceof StructuredSelection) {
+			if(((StructuredSelection)selection).getFirstElement() instanceof IFile){
+				IFile res = (IFile)((StructuredSelection) selection).getFirstElement();
+				IProject project = ResourcesPlugin.getWorkspace().getRoot().getFileForLocation(ToolCustomizationUtils.getFullPath(URI.createURI(res.getLocationURI().toString()))).getProject();
+				
+				//DOMLModel theDOMLModel = (DOMLModel) ModelUtils.loadEMFModelRoot(res);
+
+				String fileContent=FileUtils.getIFileContents(res);
+				IPath path = res.getLocation();
+				if(fileContent==null) {
+					//ARROJAR ERROR
+					return null;
+				}
+				JSONObject responseFromChecker=null;
+				try {
+					// Escollir 1 desde la finestra emergent
+					responseFromChecker=showDialog(path);
+					
+					
+				} catch (IOException | JSONException e2) {
+					e2.printStackTrace();
+				}
+				
+				return null;
+			}
+		}
+		return null;
+	}
+
+}
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR06And07/src/eu/piacere/ide/toolIntegration/kr06And07/commandHandlers/IaCSecurityEnableCommandHandler.java b/Source Code/V2.1/PiacereIDEIntegration.KR06And07/src/eu/piacere/ide/toolIntegration/kr06And07/commandHandlers/IaCSecurityEnableCommandHandler.java
new file mode 100644
index 0000000000000000000000000000000000000000..ace26413e52a5ec74430783cdc877691535ce311
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KR06And07/src/eu/piacere/ide/toolIntegration/kr06And07/commandHandlers/IaCSecurityEnableCommandHandler.java	
@@ -0,0 +1,106 @@
+package eu.piacere.ide.toolIntegration.kr06And07.commandHandlers;
+
+import java.io.IOException;
+
+import javax.swing.JFrame;
+import javax.swing.JOptionPane;
+
+import org.apache.http.client.ClientProtocolException;
+import org.apache.http.client.HttpClient;
+import org.apache.http.client.methods.CloseableHttpResponse;
+import org.apache.http.client.methods.HttpPatch;
+import org.apache.http.impl.client.HttpClientBuilder;
+import org.apache.http.util.EntityUtils;
+import org.eclipse.core.commands.AbstractHandler;
+import org.eclipse.core.commands.ExecutionEvent;
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.runtime.preferences.ConfigurationScope;
+import org.eclipse.ui.preferences.ScopedPreferenceStore;
+import org.json.JSONException;
+import org.osgi.framework.FrameworkUtil;
+
+import eu.piacere.piacereTool.utils.ToolCustomizationUtils;
+
+public class IaCSecurityEnableCommandHandler extends AbstractHandler{
+
+
+	String url = "";
+	private String getPreference(String preferenceID) {
+		ScopedPreferenceStore scopedPreferenceStore = new ScopedPreferenceStore(ConfigurationScope.INSTANCE,(FrameworkUtil.getBundle(IaCSecurityInspectorCommandHandler.class)).getSymbolicName());
+		return scopedPreferenceStore.getString(preferenceID);
+	}
+
+	private String showDialog() throws ClientProtocolException, IOException, JSONException {
+
+		String[] options = {"true", "false"}; 
+		JFrame frame = new JFrame("Security Options");
+
+		String result = (String)JOptionPane.showInputDialog(
+				frame,
+				"Enable IaC/Component", 
+				"Check Name",            
+				JOptionPane.PLAIN_MESSAGE,
+				null,            
+				null, 
+				""
+				);
+		if(result == null) return null;
+		String result2 = (String)JOptionPane.showInputDialog(
+				frame,
+				"Select one option", 
+				"Enable IaC/Component", 
+				JOptionPane.PLAIN_MESSAGE,
+				null,            
+				options, 
+				options[0] 
+				);
+
+		if(result2 == null) return null;
+		return doPatchRequestToChecker(result, result2);
+
+	}
+
+	private String doPatchRequestToChecker(String chk_name, String enable) throws ClientProtocolException, IOException, JSONException {
+		HttpClient httpClient = HttpClientBuilder.create().build();
+
+		url=getPreference("KR06.protocol")+"://"+getPreference("KR06.host")+":"+getPreference("KR06.port")+"/checks/";
+		if(!chk_name.equals("")) {
+			url+=  chk_name + "/";
+		}
+		if(enable.equals("true")) {
+			url+= "enable";
+		} else {
+			url+= "disable";
+		}
+
+		HttpPatch httpPatch = new HttpPatch(url);
+
+		httpPatch.setHeader("Accept", "application/json");
+
+		CloseableHttpResponse response = (CloseableHttpResponse) httpClient.execute(httpPatch);
+		if(response.getStatusLine().getStatusCode()==200) {
+			String content =  EntityUtils.toString(response.getEntity());
+			ToolCustomizationUtils.showInformationDialog("Security Enable Result", content);
+		} else {
+			String content =  EntityUtils.toString(response.getEntity());
+			ToolCustomizationUtils.showErrorDialog("Security Enable Error", content);
+		}
+
+		return null;		
+	}
+
+	@Override
+	public Object execute(ExecutionEvent event) throws ExecutionException {
+
+		/*try {
+			// Escollir 1 desde la finestra emergent
+			String responseFromChecker=showDialog();
+
+
+		} catch (IOException | JSONException e2) {
+			e2.printStackTrace();
+		}*/
+
+		return null;
+	}
+}
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR06And07/src/eu/piacere/ide/toolIntegration/kr06And07/commandHandlers/IaCSecurityInspectorCommandHandler.java b/Source Code/V2.1/PiacereIDEIntegration.KR06And07/src/eu/piacere/ide/toolIntegration/kr06And07/commandHandlers/IaCSecurityInspectorCommandHandler.java
new file mode 100644
index 0000000000000000000000000000000000000000..e9106185c5cb84855b7897f6f6358bd53fd1397a
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KR06And07/src/eu/piacere/ide/toolIntegration/kr06And07/commandHandlers/IaCSecurityInspectorCommandHandler.java	
@@ -0,0 +1,214 @@
+package eu.piacere.ide.toolIntegration.kr06And07.commandHandlers;
+
+import java.io.IOException;
+
+import org.apache.http.client.ClientProtocolException;
+import org.apache.http.client.HttpClient;
+import org.apache.http.client.methods.CloseableHttpResponse;
+import org.apache.http.client.methods.HttpGet;
+import org.apache.http.impl.client.HttpClientBuilder;
+import org.apache.http.util.EntityUtils;
+import org.eclipse.core.commands.AbstractHandler;
+import org.eclipse.core.commands.ExecutionEvent;
+import org.eclipse.core.commands.ExecutionException;
+import org.json.JSONArray;
+import org.json.JSONException;
+import org.json.JSONObject;
+
+import eu.piacere.piacereTool.utils.ToolCustomizationUtils;
+
+public class IaCSecurityInspectorCommandHandler extends AbstractHandler {
+
+	private JSONArray showDialog() throws ClientProtocolException, IOException, JSONException {
+
+		String keyword=ToolCustomizationUtils.doDialogAskWithoutPostProcess("Keyword","Keyword","");
+
+		if(keyword==null) {
+			return null;
+		}
+		return doGetRequestToChecker(keyword);
+
+	}
+
+	private JSONArray doGetRequestToChecker(String keyword/*, String configured, String enabled, String target_entity*/) throws ClientProtocolException, IOException, JSONException {
+
+		String url=ToolCustomizationUtils.getPreference(this.getClass(), "KR06_07.protocol")+"://"+ToolCustomizationUtils.getPreference(this.getClass(), "KR06_07.host")+":"+ToolCustomizationUtils.getPreference(this.getClass(), "KR06_07.port")+"/checks?";
+
+		String target_entity=ToolCustomizationUtils.getPreference(this.getClass(), "KR06_07.entityType");
+		if(!target_entity.equals("both")) {
+			url+= "target_entity_type=" + target_entity+"&";
+		}
+
+		if(!keyword.equals("")) {
+			url+= "keyword=" + keyword+"&";
+		}
+
+		String enabled=ToolCustomizationUtils.getPreference(this.getClass(), "KR06_07.enableStatus");
+		if(!enabled.equals("both")) {
+			url+= "enabled=" + enabled+"&";
+		}
+		String configured=ToolCustomizationUtils.getPreference(this.getClass(), "KR06_07.confStatus");
+		if(!configured.equals("both")) {
+			url+= "configured=" + configured;
+		}
+
+		HttpGet httpGet = new HttpGet(url);
+
+		HttpClient httpClient = HttpClientBuilder.create().build();
+		CloseableHttpResponse response = (CloseableHttpResponse) httpClient.execute(httpGet);
+
+		if(response.getStatusLine().getStatusCode()==200) {
+			String content =  EntityUtils.toString(response.getEntity());
+			JSONArray responseAsJSON=new JSONArray(content);
+			return responseAsJSON;
+		}
+
+
+		return null;
+
+	}
+
+	private String capitalize(String str) {
+		if(str == null || str.isEmpty()) {
+			return str;
+		}
+
+		return str.substring(0, 1).toUpperCase() + str.substring(1);
+	}
+
+	/*
+	private JSONObject doPostRequestToScanner(String fileContent, List<String> checks) throws ClientProtocolException, IOException, JSONException {
+		HttpClient httpClient = HttpClientBuilder.create().build();
+
+		url=getPreference("KR06.protocol")+"://"+getPreference("KR06.host")+":"+getPreference("KR06.port")+"/scan?checks=" + checks + "&iac=" + fileContent;
+
+		HttpPost httpPost = new HttpPost();
+
+		StringEntity entity = new StringEntity(fileContent);
+		httpPost.setEntity(entity);
+
+		httpPost.setHeader("Accept", "application/json");
+		httpPost.setHeader("Content-type","multipart/form-data");
+
+		CloseableHttpResponse response = (CloseableHttpResponse) httpClient.execute(httpPost);
+		if(response.getStatusLine().getStatusCode()==200) {
+			String content =  EntityUtils.toString(response.getEntity());
+			JSONObject responseAsJSON = new JSONObject(content);
+			return responseAsJSON;
+		}
+		return null;
+
+	}
+
+	private JSONObject doPatchEnableRequestToChecker(String check_name) throws ClientProtocolException, IOException, JSONException {
+		HttpClient httpClient = HttpClientBuilder.create().build();
+
+		url=getPreference("KR06.protocol")+"://"+getPreference("KR06.host")+":"+getPreference("KR06.port")+"/checks/"+ check_name + "/enable";
+
+		HttpPatch httpPatch = new HttpPatch();
+
+		httpPatch.setHeader("Accept", "application/json");
+
+		CloseableHttpResponse response = (CloseableHttpResponse) httpClient.execute(httpPatch);
+		if(response.getStatusLine().getStatusCode()==200) {
+			String content =  EntityUtils.toString(response.getEntity());
+			JSONObject responseAsJSON = new JSONObject(content);
+			return responseAsJSON;
+		}
+		return null;
+
+	}
+
+	private JSONObject doPatchDisableRequestToChecker(String check_name) throws ClientProtocolException, IOException, JSONException {
+		HttpClient httpClient = HttpClientBuilder.create().build();
+
+		url=getPreference("KR06.protocol")+"://"+getPreference("KR06.host")+":"+getPreference("KR06.port")+"/checks/"+ check_name + "/disable";
+
+		HttpPatch httpPatch = new HttpPatch();
+
+		httpPatch.setHeader("Accept", "application/json");
+
+		CloseableHttpResponse response = (CloseableHttpResponse) httpClient.execute(httpPatch);
+		if(response.getStatusLine().getStatusCode()==200) {
+			String content =  EntityUtils.toString(response.getEntity());
+			JSONObject responseAsJSON = new JSONObject(content);
+			return responseAsJSON;
+		}
+		return null;
+
+	}
+
+	private JSONObject doPatchConfigureRequestToChecker(String fileContent, String check_name, String secret) throws ClientProtocolException, IOException, JSONException {
+		HttpClient httpClient = HttpClientBuilder.create().build();
+
+		url=getPreference("KR06.protocol")+"://"+getPreference("KR06.host")+":"+getPreference("KR06.port")+"/checks/" + check_name + "/configure?config_file=" + fileContent + "&secret=" + secret;
+
+		HttpPatch httpPatch = new HttpPatch();
+
+		StringEntity entity = new StringEntity(fileContent);
+		httpPatch.setEntity(entity);
+
+		httpPatch.setHeader("Accept", "application/json");
+		httpPatch.setHeader("Content-type","multipart/form-data");
+
+		CloseableHttpResponse response = (CloseableHttpResponse) httpClient.execute(httpPatch);
+		if(response.getStatusLine().getStatusCode()==200) {
+			String content =  EntityUtils.toString(response.getEntity());
+			JSONObject responseAsJSON = new JSONObject(content);
+			return responseAsJSON;
+		}
+		return null;
+
+	}
+	 */
+
+	private void interpretResult(JSONArray responseFromSchecker) {
+
+		String response = "";
+
+		try {
+
+			for (int i= 0; i < responseFromSchecker.length(); i++) { 
+				JSONObject jsonobj = responseFromSchecker.getJSONObject(i);
+				String name = jsonobj.getString("name");
+				if(jsonobj.getBoolean("enabled")) {
+					response += "- "+capitalize(jsonobj.getString("target_entity_type"))+" "+ name + " IS enabled. \n";
+				}
+				else {
+					response += "- "+capitalize(jsonobj.getString("target_entity_type"))+" "+ name + " IS NOT enabled. \n";
+				}
+				if(jsonobj.getBoolean("configured")) {
+					response += "- "+capitalize(jsonobj.getString("target_entity_type"))+" "+ name + " IS configured. \n";
+				}
+				else {
+					response += "- "+capitalize(jsonobj.getString("target_entity_type"))+" "+ name + " IS NOT configured. \n";
+				}
+			} 
+		} catch (JSONException e) {
+			e.printStackTrace();
+		}
+
+		ToolCustomizationUtils.showInformationDialog("Security Inspector Configuration", response);		
+	}
+
+
+
+	@Override
+	public Object execute(ExecutionEvent event) throws ExecutionException {
+
+		JSONArray responseFromChecker = null;
+		try {
+			responseFromChecker=showDialog();
+		} catch (IOException | JSONException e2) {
+			e2.printStackTrace();
+		}
+
+		if(responseFromChecker==null) {
+			//ARROJAR ERROR
+			return null;
+		}else {
+			interpretResult(responseFromChecker);
+		}
+		return null;
+	}
+}
\ No newline at end of file
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR06And07/src/eu/piacere/ide/toolIntegration/kr06And07/commandHandlers/IaCSecurityScanCommandHandler.java b/Source Code/V2.1/PiacereIDEIntegration.KR06And07/src/eu/piacere/ide/toolIntegration/kr06And07/commandHandlers/IaCSecurityScanCommandHandler.java
new file mode 100644
index 0000000000000000000000000000000000000000..95052bc75c5836e06369cc2d35b8720da6ee4990
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KR06And07/src/eu/piacere/ide/toolIntegration/kr06And07/commandHandlers/IaCSecurityScanCommandHandler.java	
@@ -0,0 +1,127 @@
+package eu.piacere.ide.toolIntegration.kr06And07.commandHandlers;
+
+import java.io.File;
+import java.io.IOException;
+
+import org.apache.http.HttpEntity;
+import org.apache.http.client.ClientProtocolException;
+import org.apache.http.client.HttpClient;
+import org.apache.http.client.methods.CloseableHttpResponse;
+import org.apache.http.client.methods.HttpPost;
+import org.apache.http.entity.ContentType;
+import org.apache.http.entity.mime.HttpMultipartMode;
+import org.apache.http.entity.mime.MultipartEntityBuilder;
+import org.apache.http.entity.mime.content.FileBody;
+import org.apache.http.impl.client.HttpClientBuilder;
+import org.apache.http.util.EntityUtils;
+import org.eclipse.core.commands.AbstractHandler;
+import org.eclipse.core.commands.ExecutionEvent;
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.resources.IContainer;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.jface.dialogs.ProgressMonitorDialog;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.ui.handlers.HandlerUtil;
+import org.json.JSONException;
+import org.json.JSONObject;
+
+import eu.piacere.piacereTool.utils.FileUtils;
+import eu.piacere.piacereTool.utils.ToolCustomizationUtils;
+
+public class IaCSecurityScanCommandHandler  extends AbstractHandler {
+
+	private String showDialog() throws ClientProtocolException, IOException, JSONException {
+		String checks=ToolCustomizationUtils.doDialogAskWithoutPostProcess("Perform Security Scan","Provide a comma-separated list of the Components/IaC  you want to scan (leave blank for a whole scan)","");
+		return checks;
+	}
+
+
+	private JSONObject doPostRequestTochecker(IPath fileuri, String checks) throws ClientProtocolException, IOException, JSONException {
+		HttpClient httpClient = HttpClientBuilder.create().build();
+
+		String url=ToolCustomizationUtils.getPreference(this.getClass(), "KR06_07.protocol")+"://"+ToolCustomizationUtils.getPreference(this.getClass(), "KR06_07.host")+":"+ToolCustomizationUtils.getPreference(this.getClass(), "KR06_07.port")+"/scan";
+
+		MultipartEntityBuilder  builder = MultipartEntityBuilder.create();  
+
+		builder.setMode(HttpMultipartMode.BROWSER_COMPATIBLE);
+		if(!checks.equals("")) {
+			String aux = checks.replace(" ", ",");
+			while(aux.contains(",,")) {
+				aux = aux.replace(",,", ",");
+
+			}
+			builder.addTextBody("checks", aux);
+		}
+
+		builder.addPart("iac", new FileBody(new File(fileuri.toString()), ContentType.DEFAULT_BINARY));
+
+		HttpPost httpPost = new HttpPost(url);
+		HttpEntity entity = builder.build();
+		httpPost.setEntity(entity);
+
+		CloseableHttpResponse response = (CloseableHttpResponse) httpClient.execute(httpPost);
+		if(response.getStatusLine().getStatusCode()==200) {
+			String content =  EntityUtils.toString(response.getEntity());
+			JSONObject reponseResult = new JSONObject(content);
+			ToolCustomizationUtils.showInformationDialog("Model Scanned", "Your Model was Scanned successfully");
+			return reponseResult;
+		} else {
+			String content =  EntityUtils.toString(response.getEntity());
+			ToolCustomizationUtils.showErrorDialog("Security Scan Error", content);
+		}
+
+		return null;
+	}
+
+
+	@Override
+	public Object execute(ExecutionEvent event) throws ExecutionException {
+		ToolCustomizationUtils.saveWorkbench();
+		ISelection selection = HandlerUtil.getCurrentSelection(event);
+		if (selection instanceof StructuredSelection) {
+			if(((StructuredSelection)selection).getFirstElement() instanceof IFile){
+				IFile res = (IFile)((StructuredSelection) selection).getFirstElement();
+
+				IPath path = res.getLocation();
+
+				JSONObject responseFromScaner=null;
+				try {
+
+					String checks=showDialog();
+					if(checks!=null) {
+						responseFromScaner=doPostRequestTochecker(path, checks);
+						if(responseFromScaner!=null) {
+							saveFileInWorkspace(res.getParent(), path ,responseFromScaner.toString(4));
+						}
+					}
+				} 
+				catch (JSONException|IOException e) {
+					e.printStackTrace();
+				}
+			}
+		}
+		return null;
+	}
+
+
+	private void saveFileInWorkspace(IContainer container, IPath path, String fileContent) {
+
+		ProgressMonitorDialog pd=new ProgressMonitorDialog(ToolCustomizationUtils.getActiveShell());
+		pd.open();
+		try {
+			FileUtils.createFile(path.lastSegment().split(".tar")[0]+".scannresult_"+FileUtils.getTimestamp()+".json", container, fileContent, pd);
+		} catch (Exception e1) {
+			e1.printStackTrace();
+		}
+		pd.close();
+		try {
+			container.refreshLocal(IResource.DEPTH_INFINITE, null);
+		} catch (CoreException e) {
+			e.printStackTrace();
+		}
+	}	
+}
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR06And07/src/eu/piacere/ide/toolIntegration/kr06And07/preferencePage/KR06And07PreferenceInitializer.java b/Source Code/V2.1/PiacereIDEIntegration.KR06And07/src/eu/piacere/ide/toolIntegration/kr06And07/preferencePage/KR06And07PreferenceInitializer.java
new file mode 100644
index 0000000000000000000000000000000000000000..d3a7ea17c56892d9d716dc649c78f567c6f592f8
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KR06And07/src/eu/piacere/ide/toolIntegration/kr06And07/preferencePage/KR06And07PreferenceInitializer.java	
@@ -0,0 +1,23 @@
+package eu.piacere.ide.toolIntegration.kr06And07.preferencePage;
+
+import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer;
+import org.eclipse.core.runtime.preferences.ConfigurationScope;
+import org.eclipse.ui.preferences.ScopedPreferenceStore;
+import org.osgi.framework.FrameworkUtil;
+
+public class KR06And07PreferenceInitializer extends AbstractPreferenceInitializer {
+
+	@Override
+	public void initializeDefaultPreferences() {
+		
+		ScopedPreferenceStore scopedPreferenceStore = new ScopedPreferenceStore(ConfigurationScope.INSTANCE,(FrameworkUtil.getBundle(KR06And07PreferenceInitializer.class)).getSymbolicName());
+        scopedPreferenceStore.setDefault("KR06_07.host", "isr.ci.piacere.digital.tecnalia.dev");
+        scopedPreferenceStore.setDefault("KR06_07.port", 443);
+        scopedPreferenceStore.setDefault("KR06_07.protocol", "https");
+        scopedPreferenceStore.setDefault("KR06_07.enableStatus", "both");
+        scopedPreferenceStore.setDefault("KR06_07.confStatus", "both");
+        scopedPreferenceStore.setDefault("KR06_07.entityType", "both");
+
+	}
+
+}
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR06And07/src/eu/piacere/ide/toolIntegration/kr06And07/preferencePage/KR06And07PreferencePage.java b/Source Code/V2.1/PiacereIDEIntegration.KR06And07/src/eu/piacere/ide/toolIntegration/kr06And07/preferencePage/KR06And07PreferencePage.java
new file mode 100644
index 0000000000000000000000000000000000000000..1501f019606e23a9691278672ccc51c7836c94b4
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KR06And07/src/eu/piacere/ide/toolIntegration/kr06And07/preferencePage/KR06And07PreferencePage.java	
@@ -0,0 +1,40 @@
+package eu.piacere.ide.toolIntegration.kr06And07.preferencePage;
+
+import org.eclipse.core.runtime.preferences.ConfigurationScope;
+import org.eclipse.jface.preference.FieldEditorPreferencePage;
+import org.eclipse.jface.preference.IntegerFieldEditor;
+import org.eclipse.jface.preference.RadioGroupFieldEditor;
+import org.eclipse.jface.preference.StringFieldEditor;
+import org.eclipse.ui.IWorkbench;
+import org.eclipse.ui.IWorkbenchPreferencePage;
+import org.eclipse.ui.preferences.ScopedPreferenceStore;
+import org.osgi.framework.FrameworkUtil;
+
+public class KR06And07PreferencePage extends FieldEditorPreferencePage implements IWorkbenchPreferencePage {
+
+	public KR06And07PreferencePage() {
+		super(GRID);
+	}
+
+	@Override
+	public void init(IWorkbench workbench) {
+		//WHICH SCOPE SHOULD I SELECT: https://wiki.eclipse.org/FAQ_What_is_a_preference_scope%3F
+		
+		 setPreferenceStore(new ScopedPreferenceStore(ConfigurationScope.INSTANCE, (FrameworkUtil.getBundle(KR06And07PreferenceInitializer.class)).getSymbolicName()));
+	     setDescription("These Are The IaC Security Inspector Preferences");
+
+	}
+
+	@Override
+	protected void createFieldEditors() {
+		addField(new StringFieldEditor("KR06_07.host", "Endpoint Host:", getFieldEditorParent()));
+		addField(new IntegerFieldEditor("KR06_07.port", "Endpoint Port:", getFieldEditorParent()));
+		addField(new RadioGroupFieldEditor("KR06_07.protocol", "Protocol:", 1, new String[][] {{"HTTP","http"},{"HTTPS","https"}}, getFieldEditorParent()));
+		
+		addField(new RadioGroupFieldEditor("KR06_07.enableStatus", "Enabled:", 1, new String[][] {{"Both Enabled and Disabled Checks","both"}, {"Only Enabled Checks","true"}, {"Only Disabled Checks","false"}}, getFieldEditorParent()));
+		addField(new RadioGroupFieldEditor("KR06_07.confStatus", "Configured:", 1, new String[][] {{"Both Configured and Not Configured Checks","both"}, {"Only Configured Checks","true"}, {"Only Not Configured Checks","false"}}, getFieldEditorParent()));
+		addField(new RadioGroupFieldEditor("KR06_07.entityType", "Entity Type:", 1, new String[][] {{"Both IaC and Component Checks","both"}, {"Only IaC","IaC"}, {"Only Component","component"}}, getFieldEditorParent()));
+
+	}
+
+}
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR08/.classpath b/Source Code/V2.1/PiacereIDEIntegration.KR08/.classpath
new file mode 100644
index 0000000000000000000000000000000000000000..81fe078c20c05db46a8281fbb1a72875a5322b45
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KR08/.classpath	
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-17"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR08/.gitignore b/Source Code/V2.1/PiacereIDEIntegration.KR08/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..ae3c1726048cd06b9a143e0376ed46dd9b9a8d53
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KR08/.gitignore	
@@ -0,0 +1 @@
+/bin/
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR08/.project b/Source Code/V2.1/PiacereIDEIntegration.KR08/.project
new file mode 100644
index 0000000000000000000000000000000000000000..9992dcf91ea39ba0923e8ec0765c648bffa25d1a
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KR08/.project	
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>PiacereIDEIntegration.KR08</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR08/.settings/org.eclipse.jdt.core.prefs b/Source Code/V2.1/PiacereIDEIntegration.KR08/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000000000000000000000000000000000000..62ef3488cc0468ee9c2d4440dfbbbd5877cd0c28
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KR08/.settings/org.eclipse.jdt.core.prefs	
@@ -0,0 +1,9 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=17
+org.eclipse.jdt.core.compiler.compliance=17
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
+org.eclipse.jdt.core.compiler.release=enabled
+org.eclipse.jdt.core.compiler.source=17
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR08/META-INF/MANIFEST.MF b/Source Code/V2.1/PiacereIDEIntegration.KR08/META-INF/MANIFEST.MF
new file mode 100644
index 0000000000000000000000000000000000000000..5f9ac6df7e573580a0e348acb5b281a38f89d198
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KR08/META-INF/MANIFEST.MF	
@@ -0,0 +1,33 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: KR08
+Bundle-SymbolicName: PiacereIDEIntegration.KR08;singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Automatic-Module-Name: PiacereIDEIntegration.KR08
+Require-Bundle: org.eclipse.ui,
+ org.eclipse.core.runtime,
+ org.apache.httpcomponents.httpcore
+Import-Package: eu.piacere.doml.doml.commons,
+ eu.piacere.piacereTool.utils,
+ org.apache.commons.io,
+ org.apache.http.client;version="4.5.13",
+ org.apache.http.client.methods;version="4.5.13",
+ org.apache.http.impl.client;version="4.5.13",
+ org.eclipse.core.resources,
+ org.eclipse.core.runtime.preferences;version="3.4.0",
+ org.eclipse.emf.common.notify,
+ org.eclipse.emf.common.util,
+ org.eclipse.emf.ecore,
+ org.eclipse.emf.ecore.resource,
+ org.eclipse.emf.ecore.resource.impl,
+ org.eclipse.emf.ecore.util,
+ org.eclipse.emf.edit.provider.resource,
+ org.eclipse.emf.edit.ui.provider,
+ org.eclipse.ui.dialogs,
+ org.eclipse.ui.navigator,
+ org.eclipse.ui.views.properties,
+ org.json,
+ org.restlet,
+ org.restlet.data,
+ org.restlet.representation,
+ org.restlet.resource
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR08/Piacere/PiacereIcon_16x16.png b/Source Code/V2.1/PiacereIDEIntegration.KR08/Piacere/PiacereIcon_16x16.png
new file mode 100644
index 0000000000000000000000000000000000000000..444de54d6cfe2958fac1bbb89dd8619b4c537c47
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KR08/Piacere/PiacereIcon_16x16.png differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR08/build.properties b/Source Code/V2.1/PiacereIDEIntegration.KR08/build.properties
new file mode 100644
index 0000000000000000000000000000000000000000..d3bb3b52a4b4e6918a27ed9328f514e80b23ccc0
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KR08/build.properties	
@@ -0,0 +1,7 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+               .,\
+               Piacere/,\
+               plugin.xml,\
+               icons/
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/ComponentsModel.png b/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/ComponentsModel.png
new file mode 100644
index 0000000000000000000000000000000000000000..9ee76accc89ff76934fe746a3af1a853843e1209
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/ComponentsModel.png differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/FAdAIcon_24.png b/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/FAdAIcon_24.png
new file mode 100644
index 0000000000000000000000000000000000000000..f4259625230e2b11b98a14aa6b75b52edad25dd8
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/FAdAIcon_24.png differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/FadaModelRepositoriesView.png b/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/FadaModelRepositoriesView.png
new file mode 100644
index 0000000000000000000000000000000000000000..4db27dd10ecbbcf29062e8cc7b7b3c22bf72c5a3
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/FadaModelRepositoriesView.png differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/FadaModelRepositoriesView_old.png b/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/FadaModelRepositoriesView_old.png
new file mode 100644
index 0000000000000000000000000000000000000000..d4f2feef7f465a95b720ec2a24aa4429b5a64aab
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/FadaModelRepositoriesView_old.png differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/RepoConnected.png b/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/RepoConnected.png
new file mode 100644
index 0000000000000000000000000000000000000000..bd178d026ebd3aa22573ca74e985f306d64a59c1
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/RepoConnected.png differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/RepoDisconnected.png b/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/RepoDisconnected.png
new file mode 100644
index 0000000000000000000000000000000000000000..0c78354020ea586917e7ec598e357c739b031aa0
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/RepoDisconnected.png differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/SystemConfigurationModel.png b/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/SystemConfigurationModel.png
new file mode 100644
index 0000000000000000000000000000000000000000..d4561b60458f1b50d06bfd23d7f8308af08688ef
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/SystemConfigurationModel.png differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/addRepository.png b/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/addRepository.png
new file mode 100644
index 0000000000000000000000000000000000000000..fe03f37202ca955983c42397173fb12faca9d187
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/addRepository.png differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/bundle.png b/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/bundle.png
new file mode 100644
index 0000000000000000000000000000000000000000..1f41d9b1bfcf6db40272453364a446ad457ec50f
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/bundle.png differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/collapseAll.gif b/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/collapseAll.gif
new file mode 100644
index 0000000000000000000000000000000000000000..a2d80a9044f38833cb728a69c88294ce3fd007c7
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/collapseAll.gif differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/deleteRepository.png b/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/deleteRepository.png
new file mode 100644
index 0000000000000000000000000000000000000000..807f97450c23a784814393f55a16ff75688ec15b
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/deleteRepository.png differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/download.png b/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/download.png
new file mode 100644
index 0000000000000000000000000000000000000000..236f4a77ea9131d404b0efb5e7bddd72098181f9
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/download.png differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/expandAll.gif b/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/expandAll.gif
new file mode 100644
index 0000000000000000000000000000000000000000..0205b29176d4e60307639b6ac80ebfc40be61c3b
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/expandAll.gif differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/export.png b/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/export.png
new file mode 100644
index 0000000000000000000000000000000000000000..670042c62ce6b5cb200fa3807c57d18511275f39
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/export.png differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/full/elcl16/addrepositorylocation.gif b/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/full/elcl16/addrepositorylocation.gif
new file mode 100644
index 0000000000000000000000000000000000000000..6237766393fcc7a602d4695d151c3e546abeab6a
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/full/elcl16/addrepositorylocation.gif differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/full/elcl16/copy.gif b/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/full/elcl16/copy.gif
new file mode 100644
index 0000000000000000000000000000000000000000..71d7c95aa8caa2e8f139d262a4e5e08aba2b88e5
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/full/elcl16/copy.gif differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/full/elcl16/integrateconceptualfragment.gif b/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/full/elcl16/integrateconceptualfragment.gif
new file mode 100644
index 0000000000000000000000000000000000000000..07164754e5ca231666d9daf7fa4a9d12e378a52a
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/full/elcl16/integrateconceptualfragment.gif differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/full/elcl16/integratetechnicalfragment.gif b/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/full/elcl16/integratetechnicalfragment.gif
new file mode 100644
index 0000000000000000000000000000000000000000..e7035189cd8dd45b6afba27b8cbccd75df5000e1
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/full/elcl16/integratetechnicalfragment.gif differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/full/elcl16/paste.gif b/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/full/elcl16/paste.gif
new file mode 100644
index 0000000000000000000000000000000000000000..39dd4d9d38aa85f9c4c9ff652c453c555b850980
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/full/elcl16/paste.gif differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/full/elcl16/search.gif b/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/full/elcl16/search.gif
new file mode 100644
index 0000000000000000000000000000000000000000..d540a01f4d9eeb9d2951f30cee165c7370e9fc6a
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/full/elcl16/search.gif differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/full/obj16/CapabilityPattern.gif b/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/full/obj16/CapabilityPattern.gif
new file mode 100644
index 0000000000000000000000000000000000000000..15ffbb0795fbdc2a0add02f0a07bcea02f034ab4
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/full/obj16/CapabilityPattern.gif differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/full/obj16/CapabilityPatterns.gif b/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/full/obj16/CapabilityPatterns.gif
new file mode 100644
index 0000000000000000000000000000000000000000..37147654e68f964a947278cb954e47633809c5c4
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/full/obj16/CapabilityPatterns.gif differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/full/obj16/ConceptualFragment.gif b/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/full/obj16/ConceptualFragment.gif
new file mode 100644
index 0000000000000000000000000000000000000000..49ab538b6c432e7eb280793484e555df7ba2761d
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/full/obj16/ConceptualFragment.gif differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/full/obj16/Delete.gif b/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/full/obj16/Delete.gif
new file mode 100644
index 0000000000000000000000000000000000000000..b6922ac11cf64e16a15cf2976cdaa1e40118abed
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/full/obj16/Delete.gif differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/full/obj16/DeliveryProcess.gif b/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/full/obj16/DeliveryProcess.gif
new file mode 100644
index 0000000000000000000000000000000000000000..7b40362c2f54cebce43f5511342df015c4f52feb
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/full/obj16/DeliveryProcess.gif differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/full/obj16/Description.gif b/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/full/obj16/Description.gif
new file mode 100644
index 0000000000000000000000000000000000000000..75f33c24fa441d09729e7adcbc78a4e55d84b443
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/full/obj16/Description.gif differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/full/obj16/Descriptor.gif b/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/full/obj16/Descriptor.gif
new file mode 100644
index 0000000000000000000000000000000000000000..04032a915a0d9eace79a7aec3c573ca07eb7f4ac
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/full/obj16/Descriptor.gif differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/full/obj16/Input.gif b/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/full/obj16/Input.gif
new file mode 100644
index 0000000000000000000000000000000000000000..d8d7d974fa596ee7a8d06b1d8b110ee7336850af
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/full/obj16/Input.gif differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/full/obj16/Interface.gif b/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/full/obj16/Interface.gif
new file mode 100644
index 0000000000000000000000000000000000000000..7c7d39ef65b96d71b7b2e1e576c3677bbf7757f1
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/full/obj16/Interface.gif differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/full/obj16/MethodPlugin.gif b/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/full/obj16/MethodPlugin.gif
new file mode 100644
index 0000000000000000000000000000000000000000..bb82c391ed462f0f01e988e00b07f8de262278e7
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/full/obj16/MethodPlugin.gif differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/full/obj16/Name.gif b/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/full/obj16/Name.gif
new file mode 100644
index 0000000000000000000000000000000000000000..75f33c24fa441d09729e7adcbc78a4e55d84b443
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/full/obj16/Name.gif differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/full/obj16/Objective.gif b/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/full/obj16/Objective.gif
new file mode 100644
index 0000000000000000000000000000000000000000..75f33c24fa441d09729e7adcbc78a4e55d84b443
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/full/obj16/Objective.gif differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/full/obj16/Origin.gif b/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/full/obj16/Origin.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c79bf78956a277d98343ab949be3efe08411f37f
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/full/obj16/Origin.gif differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/full/obj16/Output.gif b/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/full/obj16/Output.gif
new file mode 100644
index 0000000000000000000000000000000000000000..b4fe2c84ecd2cb1ce8a4fb03a091ba76cad78916
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/full/obj16/Output.gif differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/full/obj16/Package.gif b/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/full/obj16/Package.gif
new file mode 100644
index 0000000000000000000000000000000000000000..00a311efa25ac538073fb14e59efbb9a968a94e3
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/full/obj16/Package.gif differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/full/obj16/Processes.gif b/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/full/obj16/Processes.gif
new file mode 100644
index 0000000000000000000000000000000000000000..08d8c2d5d1a7a70f5af53200633a7ba92aab1788
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/full/obj16/Processes.gif differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/full/obj16/Repositories.gif b/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/full/obj16/Repositories.gif
new file mode 100644
index 0000000000000000000000000000000000000000..16eda8a78a63bfe5874e2e92a29f20a644241bba
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/full/obj16/Repositories.gif differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/full/obj16/RoleSetCategory.gif b/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/full/obj16/RoleSetCategory.gif
new file mode 100644
index 0000000000000000000000000000000000000000..54a3f677a3efc25358bb4f637de6166d1425a486
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/full/obj16/RoleSetCategory.gif differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/full/obj16/Task.gif b/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/full/obj16/Task.gif
new file mode 100644
index 0000000000000000000000000000000000000000..5c3b2b89a47caa2cbec35a9e9c3fe2efef4b2895
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/full/obj16/Task.gif differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/full/obj16/Tasks.gif b/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/full/obj16/Tasks.gif
new file mode 100644
index 0000000000000000000000000000000000000000..638bd83009d2d7bf881dab9dbc07c176edd23060
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/full/obj16/Tasks.gif differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/full/obj16/TechnicalFragment.gif b/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/full/obj16/TechnicalFragment.gif
new file mode 100644
index 0000000000000000000000000000000000000000..4f1b85a7801922060d6b5a968a76be30eb5326c9
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/full/obj16/TechnicalFragment.gif differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/full/obj16/TechnicalFragmentError.gif b/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/full/obj16/TechnicalFragmentError.gif
new file mode 100644
index 0000000000000000000000000000000000000000..50b162dbdfc4a7f0eabd5d7119871e378efe6940
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/full/obj16/TechnicalFragmentError.gif differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/full/obj16/TechnicalFragmentImported.gif b/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/full/obj16/TechnicalFragmentImported.gif
new file mode 100644
index 0000000000000000000000000000000000000000..3260ab2872cfcc35cc75b3501dd05bb23bd6f333
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/full/obj16/TechnicalFragmentImported.gif differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/full/obj16/Type.gif b/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/full/obj16/Type.gif
new file mode 100644
index 0000000000000000000000000000000000000000..358cbcb83d800352e59d672771057f3156f27491
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/full/obj16/Type.gif differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/full/obj16/WorkProduct.gif b/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/full/obj16/WorkProduct.gif
new file mode 100644
index 0000000000000000000000000000000000000000..1540f3d3c95605a8d7f641f8c93b098e356c40c3
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/full/obj16/WorkProduct.gif differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/full/obj16/WorkProducts.gif b/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/full/obj16/WorkProducts.gif
new file mode 100644
index 0000000000000000000000000000000000000000..cf289263e15224bfd984e2145ddc6c6eb415f50c
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/full/obj16/WorkProducts.gif differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/full/obj16/activity16.gif b/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/full/obj16/activity16.gif
new file mode 100644
index 0000000000000000000000000000000000000000..cf20deb439ab39a63162c93396060706051569b0
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/full/obj16/activity16.gif differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/full/obj16/role.gif b/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/full/obj16/role.gif
new file mode 100644
index 0000000000000000000000000000000000000000..69ebdf2959ed859952751f3f377d581671045873
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/full/obj16/role.gif differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/import.png b/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/import.png
new file mode 100644
index 0000000000000000000000000000000000000000..bb6ff06b7bcf18590deb1f93a519d5264b6a067f
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/import.png differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/jar.png b/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/jar.png
new file mode 100644
index 0000000000000000000000000000000000000000..660f8ea5131c2f9f59a5fa2491993cfa71a1ac57
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/jar.png differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/ref.png b/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/ref.png
new file mode 100644
index 0000000000000000000000000000000000000000..2839c60a42f8a79067981fd7b3a26f4b81a69231
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/ref.png differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/refresh.gif b/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/refresh.gif
new file mode 100644
index 0000000000000000000000000000000000000000..e3831471a6592da14f53b1e7c5a2f7d6a92d9937
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/refresh.gif differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/repository.png b/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/repository.png
new file mode 100644
index 0000000000000000000000000000000000000000..92794f126f846474fafef14aac6fccb82faaf4f8
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KR08/icons/repository.png differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR08/plugin.xml b/Source Code/V2.1/PiacereIDEIntegration.KR08/plugin.xml
new file mode 100644
index 0000000000000000000000000000000000000000..4562af168139bfe1d6d21ed78591496fcbf1f69d
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KR08/plugin.xml	
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+<plugin>
+   <extension
+         point="org.eclipse.ui.preferencePages">
+      <page
+            category="PiacereToolCustomization.preferences.page1"
+            class="eu.piacere.ide.toolIntegration.kr08.preferencePage.KR08PreferencePage"
+            id="PiacereIDEIntegration.KR08.preferences.page1"
+            name="Canary SandBox Environment Provisioner Preferences">
+      </page>
+   </extension>
+   <extension
+         point="org.eclipse.core.runtime.preferences">
+      <initializer
+            class="eu.piacere.ide.toolIntegration.kr08.preferencePage.KR08PreferenceInitializer">
+      </initializer>
+   </extension>
+   <extension point = "org.eclipse.ui.views">
+      <view
+         id = "PiacereIDEIntegration.KR08.CanarySandboxViewPart"
+         name = "Canary SandBox Environment"
+         category = "org.eclipse.ui"
+         class = "eu.piacere.ide.toolIntegration.kr08.viewPart.CanarySandboxViewPart"
+         icon = "Piacere/PiacereIcon_16x16.png" />
+   </extension>
+   <extension
+         point="org.eclipse.ui.commands">
+      <command
+            categoryId="eu.piacere.piacereModelsCommands.category.id"
+            defaultHandler="eu.piacere.ide.toolIntegration.kr08.commandHandlers.CreateCanarySandBoxDeploymentCommandHandler"
+            id="eu.piacere.piacereModelsCommands.createCanarySandBoxDeploymentCommand.id"
+            name="Create Canary SandBox Deployment">
+      </command>
+   </extension>
+   <extension
+         point="org.eclipse.ui.menus">
+      <menuContribution
+            allPopups="false"
+            locationURI="popup:eu.piacere.eclipsePopupMenu.id">
+         <command
+               commandId="eu.piacere.piacereModelsCommands.createCanarySandBoxDeploymentCommand.id"
+               icon="Piacere/PiacereIcon_16x16.png"
+               label="Create Canary SandBox Deployment"
+               style="push"
+               tooltip="Create Canary SandBox Deployment">
+            <visibleWhen
+                  checkEnabled="false">
+               <reference
+                     definitionId="eu.piacere.piacereTool.propertyTesters.extensionPropertyTester.isJSON.id">
+               </reference>
+            </visibleWhen>
+         </command>
+      </menuContribution>
+   </extension>
+
+</plugin>
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR08/src/eu/piacere/ide/toolIntegration/kr08/commandHandlers/CreateCanarySandBoxDeploymentCommandHandler.java b/Source Code/V2.1/PiacereIDEIntegration.KR08/src/eu/piacere/ide/toolIntegration/kr08/commandHandlers/CreateCanarySandBoxDeploymentCommandHandler.java
new file mode 100644
index 0000000000000000000000000000000000000000..727230978eeced93f43b1f674b9b101f94c331bc
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KR08/src/eu/piacere/ide/toolIntegration/kr08/commandHandlers/CreateCanarySandBoxDeploymentCommandHandler.java	
@@ -0,0 +1,67 @@
+package eu.piacere.ide.toolIntegration.kr08.commandHandlers;
+
+import java.io.OutputStream;
+import java.net.HttpURLConnection;
+import java.net.URL;
+import java.net.URLConnection;
+import java.nio.charset.StandardCharsets;
+
+import org.eclipse.core.commands.AbstractHandler;
+import org.eclipse.core.commands.ExecutionEvent;
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.ui.handlers.HandlerUtil;
+
+import eu.piacere.ide.toolIntegration.kr08.viewPart.util.CSEDeploymentClientUtil;
+import eu.piacere.piacereTool.utils.FileUtils;
+import eu.piacere.piacereTool.utils.ToolCustomizationUtils;
+
+public class CreateCanarySandBoxDeploymentCommandHandler extends AbstractHandler{
+	
+	private void doPostToCreateCSEDeployment(String filecontent) throws Exception {
+		String protocol=ToolCustomizationUtils.getPreference(this.getClass(), "KR08.protocol");
+		String host=ToolCustomizationUtils.getPreference(this.getClass(), "KR08.host");
+		String port=ToolCustomizationUtils.getPreference(this.getClass(), "KR08.port");
+		URL url = new URL(protocol+"://"+host+":"+port+"/deployments/");
+		URLConnection con = url.openConnection();
+		HttpURLConnection http = (HttpURLConnection)con;
+		http.setRequestMethod("POST");
+		http.setDoOutput(true);
+		byte[] out = filecontent.getBytes(StandardCharsets.UTF_8);
+		int length = out.length;
+
+		http.setFixedLengthStreamingMode(length);
+		http.setRequestProperty("Content-Type", "application/json; charset=UTF-8");
+		http.connect();
+		try(OutputStream os = http.getOutputStream()) {
+		    os.write(out);
+		}
+	}
+	
+	@Override
+	public Object execute(ExecutionEvent event) throws ExecutionException {
+		ToolCustomizationUtils.saveWorkbench();
+		ISelection selection = HandlerUtil.getCurrentSelection(event);
+		if (selection instanceof StructuredSelection) {
+			if(((StructuredSelection)selection).getFirstElement() instanceof IFile){
+				IFile res = (IFile)((StructuredSelection) selection).getFirstElement();
+
+				String fileContent=FileUtils.getIFileContents(res);
+				if(fileContent==null) {
+					return null;
+				}
+				try {
+					doPostToCreateCSEDeployment(fileContent);
+					CSEDeploymentClientUtil.getRuntimeControllerView().getCanarySandboxController().reloadContent();
+					CSEDeploymentClientUtil.getRuntimeControllerView().refreshViewer();
+				} catch (Exception e) {
+					e.printStackTrace();
+				}
+			}
+		}
+		return null;
+	}
+	
+}
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR08/src/eu/piacere/ide/toolIntegration/kr08/preferencePage/KR08PreferenceInitializer.java b/Source Code/V2.1/PiacereIDEIntegration.KR08/src/eu/piacere/ide/toolIntegration/kr08/preferencePage/KR08PreferenceInitializer.java
new file mode 100644
index 0000000000000000000000000000000000000000..fc9e443d023218d01342dc0e6933131d8ddf3539
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KR08/src/eu/piacere/ide/toolIntegration/kr08/preferencePage/KR08PreferenceInitializer.java	
@@ -0,0 +1,20 @@
+package eu.piacere.ide.toolIntegration.kr08.preferencePage;
+
+import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer;
+import org.eclipse.core.runtime.preferences.ConfigurationScope;
+import org.eclipse.ui.preferences.ScopedPreferenceStore;
+import org.osgi.framework.FrameworkUtil;
+
+public class KR08PreferenceInitializer extends AbstractPreferenceInitializer {
+
+	@Override
+	public void initializeDefaultPreferences() {
+		
+		ScopedPreferenceStore scopedPreferenceStore = new ScopedPreferenceStore(ConfigurationScope.INSTANCE,(FrameworkUtil.getBundle(KR08PreferenceInitializer.class)).getSymbolicName());
+        scopedPreferenceStore.setDefault("KR08.host", "csep.ci.piacere.digital.tecnalia.dev");
+        scopedPreferenceStore.setDefault("KR08.port", 443);
+        scopedPreferenceStore.setDefault("KR08.protocol", "https");
+
+	}
+
+}
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR08/src/eu/piacere/ide/toolIntegration/kr08/preferencePage/KR08PreferencePage.java b/Source Code/V2.1/PiacereIDEIntegration.KR08/src/eu/piacere/ide/toolIntegration/kr08/preferencePage/KR08PreferencePage.java
new file mode 100644
index 0000000000000000000000000000000000000000..328434b33c03ed6e502b1719692a7aac520c07a2
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KR08/src/eu/piacere/ide/toolIntegration/kr08/preferencePage/KR08PreferencePage.java	
@@ -0,0 +1,36 @@
+package eu.piacere.ide.toolIntegration.kr08.preferencePage;
+
+import org.eclipse.core.runtime.preferences.ConfigurationScope;
+import org.eclipse.jface.preference.FieldEditorPreferencePage;
+import org.eclipse.jface.preference.IntegerFieldEditor;
+import org.eclipse.jface.preference.RadioGroupFieldEditor;
+import org.eclipse.jface.preference.StringFieldEditor;
+import org.eclipse.ui.IWorkbench;
+import org.eclipse.ui.IWorkbenchPreferencePage;
+import org.eclipse.ui.preferences.ScopedPreferenceStore;
+import org.osgi.framework.FrameworkUtil;
+
+public class KR08PreferencePage  extends FieldEditorPreferencePage implements IWorkbenchPreferencePage {
+
+	public KR08PreferencePage() {
+		super(GRID);
+	}
+
+	@Override
+	public void init(IWorkbench workbench) {
+		//WHICH SCOPE SHOULD I SELECT: https://wiki.eclipse.org/FAQ_What_is_a_preference_scope%3F
+		
+		 setPreferenceStore(new ScopedPreferenceStore(ConfigurationScope.INSTANCE, (FrameworkUtil.getBundle(KR08PreferenceInitializer.class)).getSymbolicName()));
+	     setDescription("These are the Canary SandBox Environment Provisioner preferences");
+
+	}
+
+	@Override
+	protected void createFieldEditors() {
+		addField(new StringFieldEditor("KR08.host", "Endpoint Host", getFieldEditorParent()));
+		addField(new IntegerFieldEditor("KR08.port", "Endpoint Port", getFieldEditorParent()));
+		addField(new RadioGroupFieldEditor("KR08.protocol", "Protocol", 1, new String[][] {{"HTTP","http"},{"HTTPS","https"}}, getFieldEditorParent()));
+
+	}
+
+}
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR08/src/eu/piacere/ide/toolIntegration/kr08/viewPart/CanarySandboxViewPart.java b/Source Code/V2.1/PiacereIDEIntegration.KR08/src/eu/piacere/ide/toolIntegration/kr08/viewPart/CanarySandboxViewPart.java
new file mode 100644
index 0000000000000000000000000000000000000000..2e71295cb623e99e7f82cbe354e56ec36d1124f8
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KR08/src/eu/piacere/ide/toolIntegration/kr08/viewPart/CanarySandboxViewPart.java	
@@ -0,0 +1,198 @@
+package eu.piacere.ide.toolIntegration.kr08.viewPart;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.edit.provider.resource.ResourceItemProviderAdapterFactory;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.action.IMenuListener;
+import org.eclipse.jface.action.IMenuManager;
+import org.eclipse.jface.action.MenuManager;
+import org.eclipse.jface.action.Separator;
+import org.eclipse.jface.resource.FontDescriptor;
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.jface.resource.JFaceResources;
+import org.eclipse.jface.resource.LocalResourceManager;
+import org.eclipse.jface.resource.ResourceManager;
+import org.eclipse.jface.viewers.IBaseLabelProvider;
+import org.eclipse.jface.viewers.IContentProvider;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.ISelectionChangedListener;
+import org.eclipse.jface.viewers.ISelectionProvider;
+import org.eclipse.jface.viewers.SelectionChangedEvent;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Menu;
+import org.eclipse.ui.IMemento;
+import org.eclipse.ui.IViewSite;
+import org.eclipse.ui.PartInitException;
+import org.eclipse.ui.actions.ActionGroup;
+import org.eclipse.ui.navigator.CommonNavigator;
+import org.eclipse.ui.navigator.CommonViewer;
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+
+import eu.piacere.ide.toolIntegration.kr08.viewPart.actions.CanarySandboxViewActionGroup;
+import eu.piacere.ide.toolIntegration.kr08.viewPart.actions.DeleteDeploymentAction;
+import eu.piacere.ide.toolIntegration.kr08.viewPart.actions.DownloadDeploymentInfoAction;
+import eu.piacere.ide.toolIntegration.kr08.viewPart.actions.LoadDeploymentInfoAction;
+import eu.piacere.ide.toolIntegration.kr08.viewPart.actions.RedeployDeploymentAction;
+import eu.piacere.ide.toolIntegration.kr08.viewPart.actions.RefreshAction;
+import eu.piacere.ide.toolIntegration.kr08.viewPart.providers.CSEContentProvider;
+import eu.piacere.ide.toolIntegration.kr08.viewPart.providers.CSELabelProvider;
+import eu.piacere.ide.toolIntegration.kr08.viewPart.util.CSEDeployment;
+import eu.piacere.ide.toolIntegration.kr08.viewPart.util.CanarySandboxEnvironmentProvisioner;
+
+
+public class CanarySandboxViewPart extends CommonNavigator implements IMenuListener {
+
+	private static CanarySandboxEnvironmentProvisioner canarySandboxEnvironmentProvisioner = new CanarySandboxEnvironmentProvisioner();
+
+	public CanarySandboxEnvironmentProvisioner getCanarySandboxController() {
+		return canarySandboxEnvironmentProvisioner;
+	}
+	@Override
+	public void createPartControl(Composite parent) {
+		super.createPartControl(parent);
+
+		if (getCommonViewer() != null) {
+
+			getCommonViewer().setContentProvider((IContentProvider)new CSEContentProvider((AdapterFactory)new ResourceItemProviderAdapterFactory()));
+			getCommonViewer().setInput(canarySandboxEnvironmentProvisioner);
+			getCommonViewer().setLabelProvider((IBaseLabelProvider)new CSELabelProvider());
+			ResourceManager resourceManager = new LocalResourceManager(JFaceResources.getResources(), parent);
+			getCommonViewer().getTree().setFont(resourceManager.createFont(FontDescriptor.createFrom(getCommonViewer().getTree().getFont()).setHeight(14)));
+			getCommonViewer().setSorter(null);
+			getCommonViewer().addSelectionChangedListener(new SelectionChangedListener());
+			createContextMenuForViewer(getCommonViewer());
+			refreshViewer();
+		} 
+	}
+
+	public void init(IViewSite aSite, IMemento aMemento) throws PartInitException {
+		super.init(aSite, aMemento);
+
+		if (aMemento != null && this.getCanarySandboxController().getDeployments().size() == 0) {
+			/*int i = 0;
+			while (aMemento.getString("host" + i) != null) {
+				RepositoryLocation rp = new RepositoryLocation();
+				rp.setHost(aMemento.getString("host" + i));
+				rp.setRepositoryPath(aMemento.getString("repositorypath" + i));
+				rp.setName(aMemento.getString("name" + i));
+				if(DeploymentClientUtil.testConnection(rp, false)) {
+					rp.reloadContent();
+				}
+				locations.add(rp);
+				i++;
+			} */
+		} 
+	}
+
+	protected CommonViewer createCommonViewerObject(Composite aParent) {
+		return new CommonViewer(getViewSite().getId(), aParent, 768);
+	}
+
+	private class SelectionChangedListener implements ISelectionChangedListener {
+		@SuppressWarnings("unused")
+		public void selectionChanged(SelectionChangedEvent event) {
+			if (event.getSelection() instanceof StructuredSelection) {
+				Object selected = ((StructuredSelection)event.getSelection()).getFirstElement(); 
+			}
+		}
+	}
+
+	protected ActionGroup createCommonActionGroup() {
+		return (ActionGroup)new CanarySandboxViewActionGroup(getCommonViewer());
+	}
+
+	public void refreshViewer() {
+		CommonViewer viewer = getCommonViewer();
+		if (viewer != null && !viewer.getTree().isDisposed())
+			viewer.refresh(); 
+	}
+
+	public void saveState(IMemento aMemento) {
+		super.saveState(aMemento);/*
+		int size = locations.size();
+		for (int i = 0; i < size; i++) {
+			RepositoryLocation rp = locations.get(i);
+			aMemento.putString("host" + i, rp.getHost());
+			aMemento.putString("repositorypath" + i, rp.getRepositoryPath());
+			aMemento.putString("name" + i, rp.getName());
+		} */
+	}
+
+	private void createContextMenuForViewer(CommonViewer viewer) {
+		MenuManager contextMenu = new MenuManager("Popup", getImageDescriptor("icons/FadaModelRepositoriesView.png"), null);
+		contextMenu.setRemoveAllWhenShown(true);
+		contextMenu.addMenuListener(this);
+
+		Menu menu = contextMenu.createContextMenu(viewer.getControl());
+		viewer.getControl().setMenu(menu);
+		this.getSite().registerContextMenu(contextMenu, (ISelectionProvider)viewer);
+	}
+
+	public void menuAboutToShow(IMenuManager manager) {
+		ISelection selection = getCommonViewer().getSelection();
+		if (selection instanceof StructuredSelection) {
+			StructuredSelection sel = (StructuredSelection)selection;
+			Object selectedObject = sel.getFirstElement();
+			if (selectedObject instanceof CSEDeployment) {
+				
+				
+				RefreshAction ra = new RefreshAction();
+				ra.setText("Refresh All");
+				ra.setImageDescriptor(getImageDescriptor("icons/refresh.gif"));
+				
+				LoadDeploymentInfoAction ldia = new LoadDeploymentInfoAction();
+				ldia.setText("Load Info");
+				ldia.setImageDescriptor(getImageDescriptor("icons/repository.png"));
+				
+				DownloadDeploymentInfoAction ddia = new DownloadDeploymentInfoAction();
+				ddia.setText("Download Info");
+				ddia.setImageDescriptor(getImageDescriptor("icons/repository.png"));
+				
+				/*GetDeploymentInfoAction gdia = new GetDeploymentInfoAction();
+				gdia.setText("Get Deployment Details");
+				gdia.setImageDescriptor(getImageDescriptor("icons/repository.png"));
+				
+				OpenPerformanceMonitoringAction opma = new OpenPerformanceMonitoringAction();
+				opma.setText("Open Performance Monitor");
+				opma.setImageDescriptor(getImageDescriptor("icons/ref.png"));		
+*/
+				RedeployDeploymentAction rdda = new RedeployDeploymentAction ();
+				rdda.setText("Redeploy Deployment");
+				rdda.setImageDescriptor(getImageDescriptor("icons/refresh.gif"));
+				
+				DeleteDeploymentAction dda = new DeleteDeploymentAction ();
+				dda.setText("Delete Deployment");
+				dda.setImageDescriptor(getImageDescriptor("icons/deleteRepository.png"));
+			
+				
+				
+				
+				manager.add((IAction)ra);
+				manager.add(new Separator("additions"));
+				manager.add((IAction)ldia);
+				manager.add((IAction)ddia);
+				manager.add(new Separator("additions"));
+				manager.add((IAction)rdda);
+				/*manager.add((IAction)opma);*/
+				manager.add(new Separator("additions"));
+				manager.add((IAction)dda);
+			}
+			/*if (selectedObject instanceof AppComponentsModelVersion || selectedObject instanceof AppSystemConfigurationModelVersion) {
+				DownloadModelAction dma = new DownloadModelAction();
+				dma.setText("Download Model");
+				dma.setImageDescriptor(getImageDescriptor("icons/download.png"));
+				manager.add((IAction)dma);
+
+				DeleteModelAction dma2 = new DeleteModelAction();
+				dma2.setText("Delete Model from Repository");
+				dma2.setImageDescriptor(getImageDescriptor("icons/deleteRepository.png"));
+				manager.add((IAction)dma2);
+			}*/
+		} 
+	}
+
+	protected final ImageDescriptor getImageDescriptor(String relativePath) {
+		return AbstractUIPlugin.imageDescriptorFromPlugin("PiacereIDEIntegration.KR08", relativePath);
+	}
+}
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR08/src/eu/piacere/ide/toolIntegration/kr08/viewPart/actions/CanarySandboxViewActionGroup.java b/Source Code/V2.1/PiacereIDEIntegration.KR08/src/eu/piacere/ide/toolIntegration/kr08/viewPart/actions/CanarySandboxViewActionGroup.java
new file mode 100644
index 0000000000000000000000000000000000000000..f4905c20f12e671e7e43e166b7e30e8bed3fc55e
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KR08/src/eu/piacere/ide/toolIntegration/kr08/viewPart/actions/CanarySandboxViewActionGroup.java	
@@ -0,0 +1,53 @@
+package eu.piacere.ide.toolIntegration.kr08.viewPart.actions;
+
+import org.eclipse.jface.action.Separator;
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.ui.IActionBars;
+import org.eclipse.ui.actions.ActionGroup;
+import org.eclipse.ui.navigator.CommonViewer;
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+
+
+public class CanarySandboxViewActionGroup extends ActionGroup
+{
+	private final CommonViewer commonViewer;
+	
+	public CanarySandboxViewActionGroup(CommonViewer viewer) {
+		this.commonViewer = viewer;
+	}
+
+	protected final ImageDescriptor getImageDescriptor(String relativePath) {
+		return AbstractUIPlugin.imageDescriptorFromPlugin("PiacereIDEIntegration.KR10_KR11_KR12", relativePath);
+	}
+
+	public void fillActionBars(IActionBars actionBars) {
+
+		RefreshAction ra = new RefreshAction();
+		ra.setText("Refresh All");
+		ra.setImageDescriptor(getImageDescriptor("icons/refresh.gif"));
+		
+		/*CreateDeploymentAction cda = new CreateDeploymentAction();
+		cda.setText("Create Deployment");
+		cda.setImageDescriptor(getImageDescriptor("icons/addRepository.png"));
+*/
+		CollapseAllAction ca = new CollapseAllAction(this.commonViewer);
+		ca.setText("Collapse All");
+		ca.setImageDescriptor(getImageDescriptor("icons/collapseAll.gif"));
+		
+		ExpandAllAction ea = new ExpandAllAction(this.commonViewer);
+		ea.setText("Expand All");
+		ea.setImageDescriptor(getImageDescriptor("icons/expandAll.gif"));
+
+		actionBars.getMenuManager().add(ra);
+		//actionBars.getMenuManager().add(new Separator("additions"));
+		//actionBars.getMenuManager().add(cda);
+		actionBars.getMenuManager().add(new Separator("additions"));
+		actionBars.getMenuManager().add(ca);
+		actionBars.getMenuManager().add(ea);
+	}
+}
+
+
+
+
+
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR08/src/eu/piacere/ide/toolIntegration/kr08/viewPart/actions/CollapseAllAction.java b/Source Code/V2.1/PiacereIDEIntegration.KR08/src/eu/piacere/ide/toolIntegration/kr08/viewPart/actions/CollapseAllAction.java
new file mode 100644
index 0000000000000000000000000000000000000000..98ff044ee02492c02f4fe00b949a3ee6051518d3
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KR08/src/eu/piacere/ide/toolIntegration/kr08/viewPart/actions/CollapseAllAction.java	
@@ -0,0 +1,24 @@
+package eu.piacere.ide.toolIntegration.kr08.viewPart.actions;
+
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.ui.IWorkbenchCommandConstants;
+import org.eclipse.ui.navigator.CommonViewer;
+
+public class CollapseAllAction extends Action implements IAction
+{
+	private final CommonViewer commonViewer;
+
+	public CollapseAllAction(CommonViewer aViewer) {
+		super("Collapse all");
+		setToolTipText("Collapse all");
+		setActionDefinitionId(IWorkbenchCommandConstants.NAVIGATE_COLLAPSE_ALL);
+		this.commonViewer = aViewer;
+	}
+
+	public void run() {
+		if (this.commonViewer != null)
+			this.commonViewer.collapseAll(); 
+	}
+}
+
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR08/src/eu/piacere/ide/toolIntegration/kr08/viewPart/actions/DeleteDeploymentAction.java b/Source Code/V2.1/PiacereIDEIntegration.KR08/src/eu/piacere/ide/toolIntegration/kr08/viewPart/actions/DeleteDeploymentAction.java
new file mode 100644
index 0000000000000000000000000000000000000000..a13df3631f7bbad24b6293d8758e60d84179b3b6
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KR08/src/eu/piacere/ide/toolIntegration/kr08/viewPart/actions/DeleteDeploymentAction.java	
@@ -0,0 +1,47 @@
+package eu.piacere.ide.toolIntegration.kr08.viewPart.actions;
+
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.restlet.data.Protocol;
+
+import eu.piacere.ide.toolIntegration.kr08.viewPart.CanarySandboxViewPart;
+import eu.piacere.ide.toolIntegration.kr08.viewPart.util.CSEDeployment;
+import eu.piacere.ide.toolIntegration.kr08.viewPart.util.CSEDeploymentClientUtil;
+import eu.piacere.piacereTool.utils.ToolCustomizationUtils;
+
+
+public class DeleteDeploymentAction extends Action implements IAction
+{
+
+	public void run() {
+		CanarySandboxViewPart repositoriesView = CSEDeploymentClientUtil.getRuntimeControllerView();
+		ISelection selection = repositoriesView.getCommonViewer().getSelection();
+		if (selection instanceof StructuredSelection) {
+			StructuredSelection sel = (StructuredSelection)selection;
+			Object selectedObject = sel.getFirstElement();
+			if (selectedObject instanceof CSEDeployment) {
+				CSEDeployment deployment = (CSEDeployment)selectedObject;
+
+				String protocol = ToolCustomizationUtils.getPreference(this.getClass(), "KR08.protocol");
+				String host = ToolCustomizationUtils.getPreference(this.getClass(), "KR08.host");
+				String port = ToolCustomizationUtils.getPreference(this.getClass(), "KR08.port");		
+				Protocol p = null;
+				if(protocol.equals("http")) {
+					p=Protocol.HTTP;
+				}
+				else if(protocol.equals("https")) {
+					p=Protocol.HTTPS;
+				}
+				if(CSEDeploymentClientUtil.deleteDeployment(protocol+"://"+host+":"+port+"/", p, deployment)){
+					CanarySandboxViewPart csView = CSEDeploymentClientUtil.getRuntimeControllerView();
+					if (csView != null) {
+						csView.getCanarySandboxController().reloadContent();
+						csView.refreshViewer();
+					}
+				}
+			}
+		}
+	}
+}
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR08/src/eu/piacere/ide/toolIntegration/kr08/viewPart/actions/DownloadDeploymentInfoAction.java b/Source Code/V2.1/PiacereIDEIntegration.KR08/src/eu/piacere/ide/toolIntegration/kr08/viewPart/actions/DownloadDeploymentInfoAction.java
new file mode 100644
index 0000000000000000000000000000000000000000..b8f845f72f01667e73c1a39e257aadb321cbd7a1
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KR08/src/eu/piacere/ide/toolIntegration/kr08/viewPart/actions/DownloadDeploymentInfoAction.java	
@@ -0,0 +1,104 @@
+package eu.piacere.ide.toolIntegration.kr08.viewPart.actions;
+
+import org.eclipse.core.resources.IContainer;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.IWorkspace;
+import org.eclipse.core.resources.IWorkspaceRoot;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.dialogs.ProgressMonitorDialog;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.ui.dialogs.ContainerSelectionDialog;
+import org.json.JSONException;
+import org.json.JSONObject;
+import org.restlet.data.Protocol;
+
+import eu.piacere.ide.toolIntegration.kr08.viewPart.CanarySandboxViewPart;
+import eu.piacere.ide.toolIntegration.kr08.viewPart.util.CSEDeployment;
+import eu.piacere.ide.toolIntegration.kr08.viewPart.util.CSEDeploymentClientUtil;
+import eu.piacere.piacereTool.utils.FileUtils;
+import eu.piacere.piacereTool.utils.ToolCustomizationUtils;
+
+
+public class DownloadDeploymentInfoAction extends Action implements IAction
+{
+
+	public void run() {
+		CanarySandboxViewPart repositoriesView = CSEDeploymentClientUtil.getRuntimeControllerView();
+		ISelection selection = repositoriesView.getCommonViewer().getSelection();
+		if (selection instanceof StructuredSelection) {
+			StructuredSelection sel = (StructuredSelection)selection;
+			Object selectedObject = sel.getFirstElement();
+			if (selectedObject instanceof CSEDeployment) {
+				CSEDeployment deployment = (CSEDeployment)selectedObject;
+
+				String protocol = ToolCustomizationUtils.getPreference(this.getClass(), "KR08.protocol");
+				String host = ToolCustomizationUtils.getPreference(this.getClass(), "KR08.host");
+				String port = ToolCustomizationUtils.getPreference(this.getClass(), "KR08.port");		
+				Protocol p = null;
+				if(protocol.equals("http")) {
+					p=Protocol.HTTP;
+				}
+				else if(protocol.equals("https")) {
+					p=Protocol.HTTPS;
+				}
+				JSONObject deploymentInfo=CSEDeploymentClientUtil.retrieveDeploymentGet(protocol+"://"+host+":"+port+"/", p, deployment);
+				if(ToolCustomizationUtils.showQuestionDialog("Save Result", "Do you want to save the validation result on workspace?")) {
+					try {
+						String destinationPath=handleBrowse();
+						if(destinationPath!=null) {
+							IContainer cont=ResourcesPlugin.getWorkspace().getRoot().getContainerForLocation(new Path(ResourcesPlugin.getWorkspace().getRoot().getLocation().toString()+destinationPath));
+							saveFileInWorkspace(cont, deploymentInfo.toString(4), deployment.getDeploymentName()+"_DeploymentInfo.json");
+						}							
+					} catch (JSONException e) {
+						e.printStackTrace();
+					}
+				}
+			}
+		}
+	}
+
+
+	private void saveFileInWorkspace(IContainer container, String fileContent, String defaultFileName) {
+
+
+		String domlModelName=ToolCustomizationUtils.doDialogAsk("Deployment Info", "Enter the Deployment Info File Name", defaultFileName);
+
+		ProgressMonitorDialog pd=new ProgressMonitorDialog(ToolCustomizationUtils.getActiveShell());
+		pd.open();
+		try {
+			FileUtils.createFile(domlModelName , container, fileContent, pd);
+		} catch (Exception e1) {
+			e1.printStackTrace();
+		}
+		pd.close();
+		try {
+			container.refreshLocal(IResource.DEPTH_INFINITE, null);
+		} catch (CoreException e) {
+			e.printStackTrace();
+		}
+	}
+
+	public String handleBrowse() {
+		IWorkspace _workspace = ResourcesPlugin.getWorkspace();
+		IWorkspaceRoot _root = _workspace.getRoot();
+		ContainerSelectionDialog _containerSelectionDialog = new ContainerSelectionDialog(ToolCustomizationUtils.getActiveShell(), _root, false, "Select new file container");
+		final ContainerSelectionDialog dialog = _containerSelectionDialog;
+		int _open = dialog.open();
+		if (_open == ContainerSelectionDialog.OK) {
+			final Object[] result = dialog.getResult();
+			int _length = result.length;
+			if (_length == 1) {
+				Object _get = result[0];
+				String _string = ((Path) _get).toString();
+				return _string;
+			}
+		}
+		return null;
+	}
+}
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR08/src/eu/piacere/ide/toolIntegration/kr08/viewPart/actions/ExpandAllAction.java b/Source Code/V2.1/PiacereIDEIntegration.KR08/src/eu/piacere/ide/toolIntegration/kr08/viewPart/actions/ExpandAllAction.java
new file mode 100644
index 0000000000000000000000000000000000000000..b3d50050b322558542a08a76cab72dc56800df96
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KR08/src/eu/piacere/ide/toolIntegration/kr08/viewPart/actions/ExpandAllAction.java	
@@ -0,0 +1,25 @@
+package eu.piacere.ide.toolIntegration.kr08.viewPart.actions;
+
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.ui.IWorkbenchCommandConstants;
+import org.eclipse.ui.navigator.CommonViewer;
+
+public class ExpandAllAction extends Action implements IAction
+{
+	private final CommonViewer commonViewer;
+
+	public ExpandAllAction(CommonViewer aViewer) {
+		super("Expand All");
+		setToolTipText("Expand All");
+		setActionDefinitionId(IWorkbenchCommandConstants.NAVIGATE_EXPAND_ALL);
+
+		this.commonViewer = aViewer;
+	}
+
+	public void run() {
+		if (this.commonViewer != null)
+			this.commonViewer.expandAll(); 
+	}
+}
+
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR08/src/eu/piacere/ide/toolIntegration/kr08/viewPart/actions/LoadDeploymentInfoAction.java b/Source Code/V2.1/PiacereIDEIntegration.KR08/src/eu/piacere/ide/toolIntegration/kr08/viewPart/actions/LoadDeploymentInfoAction.java
new file mode 100644
index 0000000000000000000000000000000000000000..3e04fcba0de2d219821528d26f9447b03c79b0c4
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KR08/src/eu/piacere/ide/toolIntegration/kr08/viewPart/actions/LoadDeploymentInfoAction.java	
@@ -0,0 +1,48 @@
+package eu.piacere.ide.toolIntegration.kr08.viewPart.actions;
+
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.json.JSONException;
+import org.json.JSONObject;
+import org.restlet.data.Protocol;
+
+import eu.piacere.ide.toolIntegration.kr08.viewPart.CanarySandboxViewPart;
+import eu.piacere.ide.toolIntegration.kr08.viewPart.util.CSEDeployment;
+import eu.piacere.ide.toolIntegration.kr08.viewPart.util.CSEDeploymentClientUtil;
+import eu.piacere.piacereTool.utils.ToolCustomizationUtils;
+
+
+public class LoadDeploymentInfoAction extends Action implements IAction
+{
+
+	public void run() {
+		CanarySandboxViewPart repositoriesView = CSEDeploymentClientUtil.getRuntimeControllerView();
+		ISelection selection = repositoriesView.getCommonViewer().getSelection();
+		if (selection instanceof StructuredSelection) {
+			StructuredSelection sel = (StructuredSelection)selection;
+			Object selectedObject = sel.getFirstElement();
+			if (selectedObject instanceof CSEDeployment) {
+				CSEDeployment deployment = (CSEDeployment)selectedObject;
+
+				String protocol = ToolCustomizationUtils.getPreference(this.getClass(), "KR08.protocol");
+				String host = ToolCustomizationUtils.getPreference(this.getClass(), "KR08.host");
+				String port = ToolCustomizationUtils.getPreference(this.getClass(), "KR08.port");		
+				Protocol p = null;
+				if(protocol.equals("http")) {
+					p=Protocol.HTTP;
+				}
+				else if(protocol.equals("https")) {
+					p=Protocol.HTTPS;
+				}
+				JSONObject res=CSEDeploymentClientUtil.retrieveDeploymentGet(protocol+"://"+host+":"+port+"/", p, deployment);
+				try {
+					ToolCustomizationUtils.showInformationDialog(deployment.getDeploymentName()+" INFO", res.toString(4));
+				} catch (JSONException e) {
+					e.printStackTrace();
+				}
+			}
+		}
+	}
+}
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR08/src/eu/piacere/ide/toolIntegration/kr08/viewPart/actions/RedeployDeploymentAction.java b/Source Code/V2.1/PiacereIDEIntegration.KR08/src/eu/piacere/ide/toolIntegration/kr08/viewPart/actions/RedeployDeploymentAction.java
new file mode 100644
index 0000000000000000000000000000000000000000..39b7124f53b0aea956b9f3bda95ac170b7c441f0
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KR08/src/eu/piacere/ide/toolIntegration/kr08/viewPart/actions/RedeployDeploymentAction.java	
@@ -0,0 +1,47 @@
+package eu.piacere.ide.toolIntegration.kr08.viewPart.actions;
+
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.restlet.data.Protocol;
+
+import eu.piacere.ide.toolIntegration.kr08.viewPart.CanarySandboxViewPart;
+import eu.piacere.ide.toolIntegration.kr08.viewPart.util.CSEDeployment;
+import eu.piacere.ide.toolIntegration.kr08.viewPart.util.CSEDeploymentClientUtil;
+import eu.piacere.piacereTool.utils.ToolCustomizationUtils;
+
+
+public class RedeployDeploymentAction extends Action implements IAction
+{
+
+	public void run() {
+		CanarySandboxViewPart repositoriesView = CSEDeploymentClientUtil.getRuntimeControllerView();
+		ISelection selection = repositoriesView.getCommonViewer().getSelection();
+		if (selection instanceof StructuredSelection) {
+			StructuredSelection sel = (StructuredSelection)selection;
+			Object selectedObject = sel.getFirstElement();
+			if (selectedObject instanceof CSEDeployment) {
+				CSEDeployment deployment = (CSEDeployment)selectedObject;
+
+				String protocol = ToolCustomizationUtils.getPreference(this.getClass(), "KR08.protocol");
+				String host = ToolCustomizationUtils.getPreference(this.getClass(), "KR08.host");
+				String port = ToolCustomizationUtils.getPreference(this.getClass(), "KR08.port");		
+				Protocol p = null;
+				if(protocol.equals("http")) {
+					p=Protocol.HTTP;
+				}
+				else if(protocol.equals("https")) {
+					p=Protocol.HTTPS;
+				}
+				if(CSEDeploymentClientUtil.redeployDeployment(protocol+"://"+host+":"+port+"/", p, deployment)){
+					CanarySandboxViewPart csView = CSEDeploymentClientUtil.getRuntimeControllerView();
+					if (csView != null) {
+						csView.getCanarySandboxController().reloadContent();
+						csView.refreshViewer();
+					}
+				}
+			}
+		}
+	}
+}
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR08/src/eu/piacere/ide/toolIntegration/kr08/viewPart/actions/RefreshAction.java b/Source Code/V2.1/PiacereIDEIntegration.KR08/src/eu/piacere/ide/toolIntegration/kr08/viewPart/actions/RefreshAction.java
new file mode 100644
index 0000000000000000000000000000000000000000..98904b179246c3574c75d0996ecb32799083eabe
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KR08/src/eu/piacere/ide/toolIntegration/kr08/viewPart/actions/RefreshAction.java	
@@ -0,0 +1,18 @@
+package eu.piacere.ide.toolIntegration.kr08.viewPart.actions;
+
+import org.eclipse.jface.action.Action;
+
+import eu.piacere.ide.toolIntegration.kr08.viewPart.CanarySandboxViewPart;
+import eu.piacere.ide.toolIntegration.kr08.viewPart.util.CSEDeploymentClientUtil;
+
+public class RefreshAction extends Action
+{
+	public void run() {
+		super.run();
+		CanarySandboxViewPart csView = CSEDeploymentClientUtil.getRuntimeControllerView();
+		if (csView != null) {
+			csView.getCanarySandboxController().reloadContent();
+			csView.refreshViewer();
+		}
+	}
+}
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR08/src/eu/piacere/ide/toolIntegration/kr08/viewPart/providers/CSEContentProvider.java b/Source Code/V2.1/PiacereIDEIntegration.KR08/src/eu/piacere/ide/toolIntegration/kr08/viewPart/providers/CSEContentProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..ad670c58d7927ee6e5d07804cb55599591ac2b7f
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KR08/src/eu/piacere/ide/toolIntegration/kr08/viewPart/providers/CSEContentProvider.java	
@@ -0,0 +1,60 @@
+package eu.piacere.ide.toolIntegration.kr08.viewPart.providers;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.edit.ui.provider.AdapterFactoryContentProvider;
+
+import eu.piacere.ide.toolIntegration.kr08.viewPart.util.CSEDeployment;
+import eu.piacere.ide.toolIntegration.kr08.viewPart.util.CanarySandboxEnvironmentProvisioner;
+
+public class CSEContentProvider extends AdapterFactoryContentProvider
+{
+	public CSEContentProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+		
+	}
+
+	@SuppressWarnings("unchecked")
+	public Object[] getElements(Object object) {
+		if (object instanceof List) {
+			List<CanarySandboxEnvironmentProvisioner> elements = (List<CanarySandboxEnvironmentProvisioner>)object;
+			return elements.toArray();
+		}
+		if (object instanceof CanarySandboxEnvironmentProvisioner) {
+			return ((CanarySandboxEnvironmentProvisioner)object).getDeployments().values().toArray();
+			
+		}
+
+		return super.getElements(object);
+	}
+
+
+
+	public boolean hasChildren(Object object) {
+		if (object instanceof CanarySandboxEnvironmentProvisioner) {
+			return ((CanarySandboxEnvironmentProvisioner)object).getDeployments().size()>0;
+		}
+		else if(object instanceof CSEDeployment) {
+			return false;
+		}
+		return super.hasChildren(object);
+	}
+
+
+
+	public Object[] getChildren(Object object) {
+		if (object instanceof CanarySandboxEnvironmentProvisioner) {
+			CanarySandboxEnvironmentProvisioner csep = (CanarySandboxEnvironmentProvisioner)object;
+			ArrayList<Object> assets = new ArrayList<Object>();
+			for(CSEDeployment dep : csep.getDeployments().values()) {
+				assets.add(dep);
+			}
+			return assets.toArray();
+		}
+		return null;
+	}
+	
+}
+
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR08/src/eu/piacere/ide/toolIntegration/kr08/viewPart/providers/CSELabelProvider.java b/Source Code/V2.1/PiacereIDEIntegration.KR08/src/eu/piacere/ide/toolIntegration/kr08/viewPart/providers/CSELabelProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..0221834c739a3ec466d05fc6ee7f37925fa0693b
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KR08/src/eu/piacere/ide/toolIntegration/kr08/viewPart/providers/CSELabelProvider.java	
@@ -0,0 +1,94 @@
+package eu.piacere.ide.toolIntegration.kr08.viewPart.providers;
+
+import java.io.IOException;
+
+import org.eclipse.core.runtime.FileLocator;
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.jface.viewers.LabelProvider;
+import org.eclipse.swt.graphics.Device;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.swt.widgets.Display;
+
+import eu.piacere.ide.toolIntegration.kr08.viewPart.util.CSEDeployment;
+import eu.piacere.ide.toolIntegration.kr08.viewPart.util.CanarySandboxEnvironmentProvisioner;
+
+public class CSELabelProvider extends LabelProvider
+{
+	
+	public String getText(Object element) {
+		if (element instanceof CanarySandboxEnvironmentProvisioner) {
+			return getCanarySandboxEnvironmentProvisionerLabel((CanarySandboxEnvironmentProvisioner)element);
+		}
+		else if(element instanceof CSEDeployment) {
+			return "Deployment ID: "+((CSEDeployment)element).getDeploymentName();
+		}
+		return super.getText(element);
+	}
+
+	public Image getImage(Object element) {
+		try {
+			String imagePath = FileLocator.toFileURL(Platform.getBundle("PiacereIDEIntegration.KR08").getResource("icons/")).getPath();
+			/*if (element instanceof PiacereRuntimeController) {
+				Image image = null;
+				if(((PiacereRuntimeController)element).isConnected()) {
+					image = new Image((Device)Display.getCurrent(), String.valueOf(imagePath) + "RepoConnected.png");
+				}
+				else {
+					image = new Image((Device)Display.getCurrent(), String.valueOf(imagePath) + "RepoDisconnected.png");
+				}
+				return image;
+			} 
+			else */
+			if (element instanceof CSEDeployment) {
+				Image image = new Image((Device)Display.getCurrent(), String.valueOf(imagePath) + "repository.png");
+				return image;
+			} 
+			/*else if (element instanceof AppComponentsModel) {
+				Image image = new Image((Device)Display.getCurrent(), String.valueOf(imagePath) + "ComponentsModel.png");
+				return image;
+			} 
+			else if (element instanceof AppSystemConfigurationModel) {
+				Image image = new Image((Device)Display.getCurrent(), String.valueOf(imagePath) + "SystemConfigurationModel.png");
+				return image;
+			} 
+
+			else if (element instanceof AppComponentsModelVersion) {
+				Image image = new Image((Device)Display.getCurrent(), String.valueOf(imagePath) + "bundle.png");
+				return image;
+			} 
+			else if (element instanceof AppSystemConfigurationModelVersion) {
+				Image image = new Image((Device)Display.getCurrent(), String.valueOf(imagePath) + "bundle.png");
+				return image;
+			} 
+
+			else if (element instanceof AppComponentsModelReference) {
+				Image image = new Image((Device)Display.getCurrent(), String.valueOf(imagePath) + "ref.png");
+				return image;
+			} */
+		} catch (IOException iOException) {
+			return null;
+		} 
+		return super.getImage(element);
+	}
+
+
+	private String getCanarySandboxEnvironmentProvisionerLabel(CanarySandboxEnvironmentProvisioner cse) {
+		String res=cse.getCanarySandboxEnvironmentProvisionerURL();
+		
+		/*if(location.getName()!=null && location.getName()!="") {
+			res = location.getName()+": ";
+		}
+
+		String host = (location.getHost() == null) ? "" : location.getHost();
+		String repositoryPath = (location.getRepositoryPath() == null) ? "" : location.getRepositoryPath();
+
+		return res+host + "/" + repositoryPath;*/
+		return res;
+	}
+
+}
+
+
+
+
+
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR08/src/eu/piacere/ide/toolIntegration/kr08/viewPart/util/CSEDeployment.java b/Source Code/V2.1/PiacereIDEIntegration.KR08/src/eu/piacere/ide/toolIntegration/kr08/viewPart/util/CSEDeployment.java
new file mode 100644
index 0000000000000000000000000000000000000000..cd98a545f952b1578582d90f354a0f9bb532264c
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KR08/src/eu/piacere/ide/toolIntegration/kr08/viewPart/util/CSEDeployment.java	
@@ -0,0 +1,20 @@
+package eu.piacere.ide.toolIntegration.kr08.viewPart.util;
+
+public class CSEDeployment {
+	private String deploymentName;
+	
+	
+	public CSEDeployment(String name) {
+		this.setDeploymentName(name);
+	}
+
+
+	public String getDeploymentName() {
+		return deploymentName;
+	}
+
+
+	public void setDeploymentName(String deploymentName) {
+		this.deploymentName = deploymentName;
+	}
+}
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR08/src/eu/piacere/ide/toolIntegration/kr08/viewPart/util/CSEDeploymentClientUtil.java b/Source Code/V2.1/PiacereIDEIntegration.KR08/src/eu/piacere/ide/toolIntegration/kr08/viewPart/util/CSEDeploymentClientUtil.java
new file mode 100644
index 0000000000000000000000000000000000000000..ade9913f7dbd2689b99784a474c05161626de169
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KR08/src/eu/piacere/ide/toolIntegration/kr08/viewPart/util/CSEDeploymentClientUtil.java	
@@ -0,0 +1,97 @@
+package eu.piacere.ide.toolIntegration.kr08.viewPart.util;
+
+import org.eclipse.ui.IViewPart;
+import org.eclipse.ui.PlatformUI;
+import org.json.JSONObject;
+import org.restlet.Client;
+import org.restlet.Context;
+import org.restlet.data.MediaType;
+import org.restlet.data.Protocol;
+import org.restlet.resource.ClientResource;
+
+import eu.piacere.ide.toolIntegration.kr08.viewPart.CanarySandboxViewPart;
+
+public class CSEDeploymentClientUtil {
+
+	
+
+	public static boolean testConnection(CanarySandboxEnvironmentProvisioner csep, boolean showErrors) {
+		return csep.isConnected();
+
+	}
+
+	public static CanarySandboxViewPart getRuntimeControllerView() {
+		try {
+			IViewPart viewPart = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().findView("PiacereIDEIntegration.KR08.CanarySandboxViewPart");
+			if (viewPart instanceof CanarySandboxViewPart)
+				return (CanarySandboxViewPart)viewPart; 
+		} catch (Exception exception) {
+			return null;
+		} 
+		return null;
+	}
+	
+	public static JSONObject retrieveDeploymentGet(String getURL, Protocol proto, CSEDeployment deployment) {
+		Client client = new Client(new Context(), proto);
+
+		ClientResource service = new ClientResource(getURL);
+		service.setNext(client);
+		ClientResource resource = service.getChild("deployments/"+deployment.getDeploymentName());
+		String respuesta="";
+		try {
+			respuesta=resource.get().getText();
+			return new JSONObject(respuesta);
+		}
+		catch (Exception e) {
+			e.printStackTrace();
+		}
+		return null;
+	}
+	
+	public static boolean deleteDeployment(String deleteURL, Protocol proto, CSEDeployment deployment) {
+
+			Client client = new Client(new Context(), proto);
+
+			ClientResource service = new ClientResource(deleteURL);
+			service.setNext(client);
+			try {
+				ClientResource resource = service.getChild("deployments/"+deployment.getDeploymentName());
+				resource.delete();
+				return resource.getResponse().getStatus().getCode()/100==2;
+			}
+			catch (Exception e) {
+				e.printStackTrace();
+			}
+
+			return false;
+	}
+	
+	public static boolean redeployDeployment(String postURL, Protocol proto, CSEDeployment deployment) {
+			//DEVUELVE SIEMPRE UN ERROR 400
+			Client client = new Client(new Context(), proto);
+
+			ClientResource service = new ClientResource(postURL);
+			service.setNext(client);
+			try {
+				JSONObject objectToPost=new JSONObject();
+				objectToPost.put("type", "dummy");
+				objectToPost.put("time_to_start", 0);
+				objectToPost.put("time_to_complete", 0);
+				objectToPost.put("should_succeed", true);
+				
+				ClientResource resource = service.getChild("deployments/"+deployment.getDeploymentName()+"/redeploy");
+				resource.post(resource.toRepresentation(objectToPost.toString(), MediaType.APPLICATION_JSON));
+				return resource.getResponse().getStatus().getCode()/100==2;
+			}
+			catch (Exception e) {
+				e.printStackTrace();
+			}
+
+			return false;
+	}
+	
+	
+
+
+
+}
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR08/src/eu/piacere/ide/toolIntegration/kr08/viewPart/util/CSEPClientUtil.java b/Source Code/V2.1/PiacereIDEIntegration.KR08/src/eu/piacere/ide/toolIntegration/kr08/viewPart/util/CSEPClientUtil.java
new file mode 100644
index 0000000000000000000000000000000000000000..269715f3b4ed40b41ccd5864b407304c17c6ad73
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KR08/src/eu/piacere/ide/toolIntegration/kr08/viewPart/util/CSEPClientUtil.java	
@@ -0,0 +1,31 @@
+package eu.piacere.ide.toolIntegration.kr08.viewPart.util;
+
+import org.json.JSONArray;
+import org.restlet.Client;
+import org.restlet.Context;
+import org.restlet.data.Protocol;
+import org.restlet.resource.ClientResource;
+
+public class CSEPClientUtil {
+
+	public static JSONArray retrieveAllDeploymentsGet(String getURL, Protocol proto) {
+		Client client = new Client(new Context(), proto);
+
+		ClientResource service = new ClientResource(getURL);
+		service.setNext(client);
+		ClientResource resource = service.getChild("deployments");
+		String respuesta="";
+		try {
+			respuesta=resource.get().getText();
+			if(respuesta.equals("[]")) {
+				//respuesta="[{\"name\": \"test_os\"}]";
+			}
+			return new JSONArray(respuesta);
+		}
+		catch (Exception e) {
+			e.printStackTrace();
+		}
+		return null;
+	}
+	
+}
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR08/src/eu/piacere/ide/toolIntegration/kr08/viewPart/util/CanarySandboxEnvironmentProvisioner.java b/Source Code/V2.1/PiacereIDEIntegration.KR08/src/eu/piacere/ide/toolIntegration/kr08/viewPart/util/CanarySandboxEnvironmentProvisioner.java
new file mode 100644
index 0000000000000000000000000000000000000000..0e993299ba05c5d422581ab06c5a42a42af9977f
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KR08/src/eu/piacere/ide/toolIntegration/kr08/viewPart/util/CanarySandboxEnvironmentProvisioner.java	
@@ -0,0 +1,134 @@
+package eu.piacere.ide.toolIntegration.kr08.viewPart.util;
+
+import java.util.TreeMap;
+
+import org.json.JSONArray;
+import org.json.JSONException;
+import org.json.JSONObject;
+import org.restlet.Client;
+import org.restlet.Context;
+import org.restlet.data.Protocol;
+import org.restlet.data.Status;
+import org.restlet.resource.ClientResource;
+
+import eu.piacere.piacereTool.utils.ToolCustomizationUtils;
+
+public class CanarySandboxEnvironmentProvisioner {
+
+	
+	private String protocol;
+	private String host;
+	private String port;
+	
+	
+	public static String DEPLOYMENTS_PATH = "deployments";
+	
+	private TreeMap<String, CSEDeployment> rpcDeployments;
+	private Boolean isConnected;
+	
+	public CanarySandboxEnvironmentProvisioner() {
+		this.setProtocol(ToolCustomizationUtils.getPreference(this.getClass(), "KR08.protocol"));
+		this.setHost(ToolCustomizationUtils.getPreference(this.getClass(), "KR08.host"));
+		this.setPort(ToolCustomizationUtils.getPreference(this.getClass(), "KR08.port"));
+		this.setDeployments(new TreeMap<String,CSEDeployment>());
+		reloadContent();
+
+	}
+
+	public String getProtocol() {
+		return protocol;
+	}
+
+	public void setProtocol(String protocol) {
+		this.protocol = protocol;
+	}
+
+	public String getHost() {
+		return host;
+	}
+
+	public void setHost(String host) {
+		this.host = host;
+	}
+
+	public String getPort() {
+		return port;
+	}
+
+	public void setPort(String port) {
+		this.port = port;
+	}
+
+	public TreeMap<String, CSEDeployment> getDeployments() {
+		return rpcDeployments;
+	}
+
+	public void setDeployments(TreeMap<String, CSEDeployment> rpcDeployments) {
+		this.rpcDeployments = rpcDeployments;
+	}
+	
+	@Override
+	public String toString() {
+		return "Canary SandBox Environment Provisioner";
+	}
+	
+	public void reloadContent() {
+		if(this.testConnection()) {
+			this.setDeployments(new TreeMap<String,CSEDeployment>());
+			
+			Protocol p = loadProtocol();
+			JSONArray res=CSEPClientUtil.retrieveAllDeploymentsGet(getCanarySandboxEnvironmentProvisionerURL(), p);
+			for(int i = 0; i < res.length(); i++) {
+				try {
+					JSONObject obj = res.getJSONObject(i);
+					this.getDeployments().put(obj.getString("name"), new CSEDeployment(obj.getString("name")));
+				} catch (JSONException e) {
+					e.printStackTrace();
+				}				
+			}	
+		}
+	}
+	
+	private Protocol loadProtocol() {
+		Protocol p = null;
+		if(this.getProtocol().equals("http")) {
+			p=Protocol.HTTP;
+		}
+		else if(this.getProtocol().equals("https")) {
+			p=Protocol.HTTPS;
+		}
+		return p;
+	}
+	
+	public String getCanarySandboxEnvironmentProvisionerURL() {
+		String res = this.getProtocol()+"://"+this.getHost()+":"+this.getPort()+"/";
+		return res;
+	}
+
+	public boolean testConnection() {
+		Protocol p = loadProtocol();
+		if(p!=null) {
+			Client client = new Client(new Context(), p);
+			ClientResource service = new ClientResource(getCanarySandboxEnvironmentProvisionerURL());
+			service.setNext(client);
+			ClientResource resource = service.getChild("/"+DEPLOYMENTS_PATH);
+			try {
+				resource.get().getText();
+				Status s=resource.getStatus();
+				if(s.getCode()==200) {
+					return true;
+				}
+			}
+			catch (Exception e) {
+			}
+		}
+		return false;
+	}
+	
+	public boolean isConnected() {
+		if(this.isConnected==null) {
+			isConnected=testConnection();
+		}
+		return isConnected.booleanValue();
+	}
+}
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR09/.classpath b/Source Code/V2.1/PiacereIDEIntegration.KR09/.classpath
new file mode 100644
index 0000000000000000000000000000000000000000..81fe078c20c05db46a8281fbb1a72875a5322b45
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KR09/.classpath	
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-17"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR09/.gitignore b/Source Code/V2.1/PiacereIDEIntegration.KR09/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..ae3c1726048cd06b9a143e0376ed46dd9b9a8d53
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KR09/.gitignore	
@@ -0,0 +1 @@
+/bin/
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR09/.project b/Source Code/V2.1/PiacereIDEIntegration.KR09/.project
new file mode 100644
index 0000000000000000000000000000000000000000..4d3c8d95c5cdf8f7400e0b9b81f3b00d97a0ceb9
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KR09/.project	
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>PiacereIDEIntegration.KR09</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR09/.settings/org.eclipse.jdt.core.prefs b/Source Code/V2.1/PiacereIDEIntegration.KR09/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000000000000000000000000000000000000..62ef3488cc0468ee9c2d4440dfbbbd5877cd0c28
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KR09/.settings/org.eclipse.jdt.core.prefs	
@@ -0,0 +1,9 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=17
+org.eclipse.jdt.core.compiler.compliance=17
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
+org.eclipse.jdt.core.compiler.release=enabled
+org.eclipse.jdt.core.compiler.source=17
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR09/META-INF/MANIFEST.MF b/Source Code/V2.1/PiacereIDEIntegration.KR09/META-INF/MANIFEST.MF
new file mode 100644
index 0000000000000000000000000000000000000000..afc02e72e13c3c6f34bae98fcc5f98dc68fae7a6
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KR09/META-INF/MANIFEST.MF	
@@ -0,0 +1,23 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: KR09
+Bundle-SymbolicName: PiacereIDEIntegration.KR09;singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Automatic-Module-Name: PiacereIDEIntegration.KR09
+Require-Bundle: org.eclipse.ui,
+ org.eclipse.core.runtime,
+ org.apache.httpcomponents.httpcore
+Import-Package: eu.piacere.doml.doml.commons,
+ eu.piacere.piacereTool.utils,
+ org.apache.commons.io,
+ org.apache.http.client;version="4.5.13",
+ org.apache.http.client.methods;version="4.5.13",
+ org.apache.http.impl.client;version="4.5.13",
+ org.eclipse.core.resources,
+ org.eclipse.core.runtime.preferences;version="3.4.0",
+ org.eclipse.emf.common.util,
+ org.eclipse.emf.ecore,
+ org.eclipse.emf.ecore.resource,
+ org.eclipse.emf.ecore.resource.impl,
+ org.eclipse.emf.ecore.util,
+ org.json
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR09/Piacere/PiacereIcon_16x16.png b/Source Code/V2.1/PiacereIDEIntegration.KR09/Piacere/PiacereIcon_16x16.png
new file mode 100644
index 0000000000000000000000000000000000000000..444de54d6cfe2958fac1bbb89dd8619b4c537c47
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KR09/Piacere/PiacereIcon_16x16.png differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR09/build.properties b/Source Code/V2.1/PiacereIDEIntegration.KR09/build.properties
new file mode 100644
index 0000000000000000000000000000000000000000..52086a7c305694aa678bde0640768488a5cf8e4f
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KR09/build.properties	
@@ -0,0 +1,6 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+               .,\
+               plugin.xml,\
+               Piacere/
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR09/plugin.xml b/Source Code/V2.1/PiacereIDEIntegration.KR09/plugin.xml
new file mode 100644
index 0000000000000000000000000000000000000000..905c4578b32a57513839287c5b6e9859647cb9c0
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KR09/plugin.xml	
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+<plugin>
+   <extension
+         point="org.eclipse.ui.preferencePages">
+      <page
+            category="PiacereToolCustomization.preferences.page1"
+            class="eu.piacere.ide.toolIntegration.kr09.preferencePage.KR09PreferencePage"
+            id="PiacereIDEIntegration.KR09.preferences.page1"
+            name="IaC Optimizer Platform Preferences">
+      </page>
+   </extension>
+   <extension
+         point="org.eclipse.core.runtime.preferences">
+      <initializer
+            class="eu.piacere.ide.toolIntegration.kr09.preferencePage.KR09PreferenceInitializer">
+      </initializer>
+   </extension>
+   
+   <extension
+         point="org.eclipse.ui.commands">
+      <command
+            categoryId="eu.piacere.piacereModelsCommands.category.id"
+            defaultHandler="eu.piacere.ide.toolIntegration.kr09.commandHandlers.OptimizerCommandHandler"
+            id="eu.piacere.piacereModelsCommands.OptimizerCommand.id"
+            name="Optimize DOML">
+      </command>
+   </extension>
+   <extension
+         point="org.eclipse.ui.menus">
+      <menuContribution
+            allPopups="false"
+            locationURI="popup:eu.piacere.eclipsePopupMenu.id">
+         <command
+               commandId="eu.piacere.piacereModelsCommands.OptimizerCommand.id"
+               icon="Piacere/PiacereIcon_16x16.png"
+               label="Optimize DOML"
+               style="push"
+               tooltip="Optimize the DOML Specification">
+            <visibleWhen
+                  checkEnabled="false">
+               <reference
+                     definitionId="eu.piacere.piacereTool.propertyTesters.extensionPropertyTester.isDOMLModel.id">
+               </reference>
+            </visibleWhen>
+         </command>
+      </menuContribution>
+   </extension>
+
+</plugin>
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR09/src/eu/piacere/ide/toolIntegration/kr09/commandHandlers/OptimizerCommandHandler.java b/Source Code/V2.1/PiacereIDEIntegration.KR09/src/eu/piacere/ide/toolIntegration/kr09/commandHandlers/OptimizerCommandHandler.java
new file mode 100644
index 0000000000000000000000000000000000000000..4150eb73b2505302392ad16dadd42b888e32824c
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KR09/src/eu/piacere/ide/toolIntegration/kr09/commandHandlers/OptimizerCommandHandler.java	
@@ -0,0 +1,107 @@
+package eu.piacere.ide.toolIntegration.kr09.commandHandlers;
+
+import java.io.IOException;
+
+import org.apache.http.client.ClientProtocolException;
+import org.apache.http.client.HttpClient;
+import org.apache.http.client.methods.CloseableHttpResponse;
+import org.apache.http.client.methods.HttpPost;
+import org.apache.http.entity.StringEntity;
+import org.apache.http.impl.client.HttpClientBuilder;
+import org.apache.http.util.EntityUtils;
+import org.eclipse.core.commands.AbstractHandler;
+import org.eclipse.core.commands.ExecutionEvent;
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.resources.IContainer;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.jface.dialogs.ProgressMonitorDialog;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.ui.handlers.HandlerUtil;
+import org.json.JSONException;
+
+import eu.piacere.piacereTool.utils.FileUtils;
+import eu.piacere.piacereTool.utils.ToolCustomizationUtils;
+
+public class OptimizerCommandHandler extends AbstractHandler {
+
+	private String doPostRequestToValidator(String fileContent) throws ClientProtocolException, IOException, JSONException {
+		HttpClient httpClient = HttpClientBuilder.create().build();
+
+		String url=ToolCustomizationUtils.getPreference(this.getClass(), "KR09.protocol")+"://"+ToolCustomizationUtils.getPreference(this.getClass(), "KR09.host")+":"+ToolCustomizationUtils.getPreference(this.getClass(), "KR09.port")+"/api/optimize";
+
+		HttpPost httpPost = new HttpPost(url);
+
+		StringEntity entity = new StringEntity(fileContent);
+		httpPost.setEntity(entity);
+
+		httpPost.setHeader("Accept", "application/json");
+
+		CloseableHttpResponse response = (CloseableHttpResponse) httpClient.execute(httpPost);
+		if(response.getStatusLine().getStatusCode()==200) {
+			String content =  EntityUtils.toString(response.getEntity());
+			ToolCustomizationUtils.showInformationDialog("Model Optimized", "Your Model has been optimized successfull");
+			return content;
+		}
+		else {
+			ToolCustomizationUtils.showErrorDialog("Model Optimized", "Your model can not be optimized");
+
+		}
+		return null;
+	}
+
+	private void saveFileInWorkspace(IContainer container, String fileContent, String defaultFileName) {
+		String domlModelName=ToolCustomizationUtils.doDialogAsk("DOML Optimizer", "Enter the DOML Optimizer Results File Name", defaultFileName);
+
+
+		ProgressMonitorDialog pd=new ProgressMonitorDialog(ToolCustomizationUtils.getActiveShell());
+		pd.open();
+		try {
+			FileUtils.createFile(domlModelName+".optimized_"+ FileUtils.getTimestamp() +".doml", container, fileContent, pd);
+		} catch (Exception e1) {
+			e1.printStackTrace();
+		}
+		pd.close();
+		try {
+			container.refreshLocal(IResource.DEPTH_INFINITE, null);
+		} catch (CoreException e) {
+			e.printStackTrace();
+		}
+	}	
+
+	@Override
+	public Object execute(ExecutionEvent event) throws ExecutionException {
+		ToolCustomizationUtils.saveWorkbench();
+		ISelection selection = HandlerUtil.getCurrentSelection(event);
+		if (selection instanceof StructuredSelection) {
+			if(((StructuredSelection)selection).getFirstElement() instanceof IFile){
+				IFile res = (IFile)((StructuredSelection) selection).getFirstElement();
+				
+
+				String fileContent=FileUtils.getIFileContents(res);
+				if(fileContent==null) {
+					//ARROJAR ERROR
+					return null;
+				}
+				String responseFromValidator=null;
+				try {
+					responseFromValidator=doPostRequestToValidator(fileContent);
+				} catch (IOException | JSONException e2) {
+					e2.printStackTrace();
+				}
+
+				if(responseFromValidator==null) {
+					//ARROJAR ERROR
+					return null;
+				}	
+
+				if(ToolCustomizationUtils.showQuestionDialog("Save Result", "Do you want to save the result on workspace?")) {
+					saveFileInWorkspace(res.getParent(), responseFromValidator, res.getFullPath().lastSegment().replace(".doml", ""));
+				}
+			}
+		}
+		return null;
+	}
+}
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR09/src/eu/piacere/ide/toolIntegration/kr09/preferencePage/KR09PreferenceInitializer.java b/Source Code/V2.1/PiacereIDEIntegration.KR09/src/eu/piacere/ide/toolIntegration/kr09/preferencePage/KR09PreferenceInitializer.java
new file mode 100644
index 0000000000000000000000000000000000000000..408f2a60fc4b7f06544c2586ae1bec90addcf166
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KR09/src/eu/piacere/ide/toolIntegration/kr09/preferencePage/KR09PreferenceInitializer.java	
@@ -0,0 +1,20 @@
+package eu.piacere.ide.toolIntegration.kr09.preferencePage;
+
+import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer;
+import org.eclipse.core.runtime.preferences.ConfigurationScope;
+import org.eclipse.ui.preferences.ScopedPreferenceStore;
+import org.osgi.framework.FrameworkUtil;
+
+public class KR09PreferenceInitializer extends AbstractPreferenceInitializer {
+
+	@Override
+	public void initializeDefaultPreferences() {
+		
+		ScopedPreferenceStore scopedPreferenceStore = new ScopedPreferenceStore(ConfigurationScope.INSTANCE,(FrameworkUtil.getBundle(KR09PreferenceInitializer.class)).getSymbolicName());
+        scopedPreferenceStore.setDefault("KR09.host", "iop.ci.piacere.digital.tecnalia.dev");
+        scopedPreferenceStore.setDefault("KR09.port", 443);
+        scopedPreferenceStore.setDefault("KR09.protocol", "https");
+
+	}
+
+}
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR09/src/eu/piacere/ide/toolIntegration/kr09/preferencePage/KR09PreferencePage.java b/Source Code/V2.1/PiacereIDEIntegration.KR09/src/eu/piacere/ide/toolIntegration/kr09/preferencePage/KR09PreferencePage.java
new file mode 100644
index 0000000000000000000000000000000000000000..e98558ce9be2cfd0bfb09a7ebc4cccf65f75cdb2
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KR09/src/eu/piacere/ide/toolIntegration/kr09/preferencePage/KR09PreferencePage.java	
@@ -0,0 +1,37 @@
+package eu.piacere.ide.toolIntegration.kr09.preferencePage;
+
+import org.eclipse.core.runtime.preferences.ConfigurationScope;
+import org.eclipse.jface.preference.FieldEditorPreferencePage;
+import org.eclipse.jface.preference.IntegerFieldEditor;
+import org.eclipse.jface.preference.RadioGroupFieldEditor;
+import org.eclipse.jface.preference.StringFieldEditor;
+import org.eclipse.ui.IWorkbench;
+import org.eclipse.ui.IWorkbenchPreferencePage;
+import org.eclipse.ui.preferences.ScopedPreferenceStore;
+import org.osgi.framework.FrameworkUtil;
+
+public class KR09PreferencePage extends FieldEditorPreferencePage implements IWorkbenchPreferencePage{
+
+
+	public KR09PreferencePage() {
+		super(GRID);
+	}
+
+	@Override
+	public void init(IWorkbench workbench) {
+		//WHICH SCOPE SHOULD I SELECT: https://wiki.eclipse.org/FAQ_What_is_a_preference_scope%3F
+		
+		 setPreferenceStore(new ScopedPreferenceStore(ConfigurationScope.INSTANCE, (FrameworkUtil.getBundle(KR09PreferenceInitializer.class)).getSymbolicName()));
+	     setDescription("These Are The IaC Optimizer Platform Preferences");
+
+	}
+
+	@Override
+	protected void createFieldEditors() {
+		addField(new StringFieldEditor("KR09.host", "Endpoint Host", getFieldEditorParent()));
+		addField(new IntegerFieldEditor("KR09.port", "Endpoint Port", getFieldEditorParent()));
+		addField(new RadioGroupFieldEditor("KR09.protocol", "Protocol", 1, new String[][] {{"HTTP","http"},{"HTTPS","https"}}, getFieldEditorParent()));
+
+	}
+
+}
\ No newline at end of file
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/.classpath b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/.classpath
new file mode 100644
index 0000000000000000000000000000000000000000..81fe078c20c05db46a8281fbb1a72875a5322b45
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/.classpath	
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-17"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/.gitignore b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..ae3c1726048cd06b9a143e0376ed46dd9b9a8d53
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/.gitignore	
@@ -0,0 +1 @@
+/bin/
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/.project b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/.project
new file mode 100644
index 0000000000000000000000000000000000000000..7e947e928fdf4cac658a6ed315d4efaea5c5ea72
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/.project	
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>PiacereIDEIntegration.KR10_KR11_KR12</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/.settings/org.eclipse.core.resources.prefs b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000000000000000000000000000000000000..99f26c0203a7844de00dbfc56e6a35d8ed3c022c
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/.settings/org.eclipse.core.resources.prefs	
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/.settings/org.eclipse.jdt.core.prefs b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000000000000000000000000000000000000..62ef3488cc0468ee9c2d4440dfbbbd5877cd0c28
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/.settings/org.eclipse.jdt.core.prefs	
@@ -0,0 +1,9 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=17
+org.eclipse.jdt.core.compiler.compliance=17
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
+org.eclipse.jdt.core.compiler.release=enabled
+org.eclipse.jdt.core.compiler.source=17
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/META-INF/MANIFEST.MF b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/META-INF/MANIFEST.MF
new file mode 100644
index 0000000000000000000000000000000000000000..56e829ea880caec250bb2f05ad815dafc4f30dfa
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/META-INF/MANIFEST.MF	
@@ -0,0 +1,33 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: PiacereIDEIntegration.KR10_KR11_KR12
+Bundle-SymbolicName: PiacereIDEIntegration.KR10_KR11_KR12;singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Automatic-Module-Name: PiacereIDEIntegration.KR10_KR11_KR12
+Require-Bundle: org.eclipse.ui,
+ org.eclipse.core.runtime,
+ org.apache.httpcomponents.httpcore
+Import-Package: eu.piacere.doml.doml.commons,
+ eu.piacere.piacereTool.utils,
+ org.apache.commons.io,
+ org.apache.http.client;version="4.5.13",
+ org.apache.http.client.methods;version="4.5.13",
+ org.apache.http.impl.client;version="4.5.13",
+ org.eclipse.core.resources,
+ org.eclipse.core.runtime.preferences;version="3.4.0",
+ org.eclipse.emf.common.notify,
+ org.eclipse.emf.common.util,
+ org.eclipse.emf.ecore,
+ org.eclipse.emf.ecore.resource,
+ org.eclipse.emf.ecore.resource.impl,
+ org.eclipse.emf.ecore.util,
+ org.eclipse.emf.edit.provider.resource,
+ org.eclipse.emf.edit.ui.provider,
+ org.eclipse.ui.dialogs,
+ org.eclipse.ui.navigator,
+ org.eclipse.ui.views.properties,
+ org.json,
+ org.restlet,
+ org.restlet.data,
+ org.restlet.representation,
+ org.restlet.resource
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/Piacere/PiacereIcon_16x16.png b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/Piacere/PiacereIcon_16x16.png
new file mode 100644
index 0000000000000000000000000000000000000000..444de54d6cfe2958fac1bbb89dd8619b4c537c47
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/Piacere/PiacereIcon_16x16.png differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/build.properties b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/build.properties
new file mode 100644
index 0000000000000000000000000000000000000000..d3bb3b52a4b4e6918a27ed9328f514e80b23ccc0
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/build.properties	
@@ -0,0 +1,7 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+               .,\
+               Piacere/,\
+               plugin.xml,\
+               icons/
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/ComponentsModel.png b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/ComponentsModel.png
new file mode 100644
index 0000000000000000000000000000000000000000..9ee76accc89ff76934fe746a3af1a853843e1209
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/ComponentsModel.png differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/FAdAIcon_24.png b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/FAdAIcon_24.png
new file mode 100644
index 0000000000000000000000000000000000000000..f4259625230e2b11b98a14aa6b75b52edad25dd8
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/FAdAIcon_24.png differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/FadaModelRepositoriesView.png b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/FadaModelRepositoriesView.png
new file mode 100644
index 0000000000000000000000000000000000000000..4db27dd10ecbbcf29062e8cc7b7b3c22bf72c5a3
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/FadaModelRepositoriesView.png differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/FadaModelRepositoriesView_old.png b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/FadaModelRepositoriesView_old.png
new file mode 100644
index 0000000000000000000000000000000000000000..d4f2feef7f465a95b720ec2a24aa4429b5a64aab
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/FadaModelRepositoriesView_old.png differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/RepoConnected.png b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/RepoConnected.png
new file mode 100644
index 0000000000000000000000000000000000000000..bd178d026ebd3aa22573ca74e985f306d64a59c1
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/RepoConnected.png differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/RepoDisconnected.png b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/RepoDisconnected.png
new file mode 100644
index 0000000000000000000000000000000000000000..0c78354020ea586917e7ec598e357c739b031aa0
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/RepoDisconnected.png differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/SystemConfigurationModel.png b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/SystemConfigurationModel.png
new file mode 100644
index 0000000000000000000000000000000000000000..d4561b60458f1b50d06bfd23d7f8308af08688ef
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/SystemConfigurationModel.png differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/addRepository.png b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/addRepository.png
new file mode 100644
index 0000000000000000000000000000000000000000..fe03f37202ca955983c42397173fb12faca9d187
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/addRepository.png differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/bundle.png b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/bundle.png
new file mode 100644
index 0000000000000000000000000000000000000000..1f41d9b1bfcf6db40272453364a446ad457ec50f
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/bundle.png differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/collapseAll.gif b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/collapseAll.gif
new file mode 100644
index 0000000000000000000000000000000000000000..a2d80a9044f38833cb728a69c88294ce3fd007c7
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/collapseAll.gif differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/deleteRepository.png b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/deleteRepository.png
new file mode 100644
index 0000000000000000000000000000000000000000..807f97450c23a784814393f55a16ff75688ec15b
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/deleteRepository.png differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/download.png b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/download.png
new file mode 100644
index 0000000000000000000000000000000000000000..236f4a77ea9131d404b0efb5e7bddd72098181f9
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/download.png differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/expandAll.gif b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/expandAll.gif
new file mode 100644
index 0000000000000000000000000000000000000000..0205b29176d4e60307639b6ac80ebfc40be61c3b
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/expandAll.gif differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/export.png b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/export.png
new file mode 100644
index 0000000000000000000000000000000000000000..670042c62ce6b5cb200fa3807c57d18511275f39
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/export.png differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/elcl16/addrepositorylocation.gif b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/elcl16/addrepositorylocation.gif
new file mode 100644
index 0000000000000000000000000000000000000000..6237766393fcc7a602d4695d151c3e546abeab6a
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/elcl16/addrepositorylocation.gif differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/elcl16/copy.gif b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/elcl16/copy.gif
new file mode 100644
index 0000000000000000000000000000000000000000..71d7c95aa8caa2e8f139d262a4e5e08aba2b88e5
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/elcl16/copy.gif differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/elcl16/integrateconceptualfragment.gif b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/elcl16/integrateconceptualfragment.gif
new file mode 100644
index 0000000000000000000000000000000000000000..07164754e5ca231666d9daf7fa4a9d12e378a52a
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/elcl16/integrateconceptualfragment.gif differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/elcl16/integratetechnicalfragment.gif b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/elcl16/integratetechnicalfragment.gif
new file mode 100644
index 0000000000000000000000000000000000000000..e7035189cd8dd45b6afba27b8cbccd75df5000e1
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/elcl16/integratetechnicalfragment.gif differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/elcl16/paste.gif b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/elcl16/paste.gif
new file mode 100644
index 0000000000000000000000000000000000000000..39dd4d9d38aa85f9c4c9ff652c453c555b850980
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/elcl16/paste.gif differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/elcl16/search.gif b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/elcl16/search.gif
new file mode 100644
index 0000000000000000000000000000000000000000..d540a01f4d9eeb9d2951f30cee165c7370e9fc6a
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/elcl16/search.gif differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/CapabilityPattern.gif b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/CapabilityPattern.gif
new file mode 100644
index 0000000000000000000000000000000000000000..15ffbb0795fbdc2a0add02f0a07bcea02f034ab4
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/CapabilityPattern.gif differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/CapabilityPatterns.gif b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/CapabilityPatterns.gif
new file mode 100644
index 0000000000000000000000000000000000000000..37147654e68f964a947278cb954e47633809c5c4
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/CapabilityPatterns.gif differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/ConceptualFragment.gif b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/ConceptualFragment.gif
new file mode 100644
index 0000000000000000000000000000000000000000..49ab538b6c432e7eb280793484e555df7ba2761d
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/ConceptualFragment.gif differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/Delete.gif b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/Delete.gif
new file mode 100644
index 0000000000000000000000000000000000000000..b6922ac11cf64e16a15cf2976cdaa1e40118abed
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/Delete.gif differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/DeliveryProcess.gif b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/DeliveryProcess.gif
new file mode 100644
index 0000000000000000000000000000000000000000..7b40362c2f54cebce43f5511342df015c4f52feb
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/DeliveryProcess.gif differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/Description.gif b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/Description.gif
new file mode 100644
index 0000000000000000000000000000000000000000..75f33c24fa441d09729e7adcbc78a4e55d84b443
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/Description.gif differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/Descriptor.gif b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/Descriptor.gif
new file mode 100644
index 0000000000000000000000000000000000000000..04032a915a0d9eace79a7aec3c573ca07eb7f4ac
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/Descriptor.gif differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/Input.gif b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/Input.gif
new file mode 100644
index 0000000000000000000000000000000000000000..d8d7d974fa596ee7a8d06b1d8b110ee7336850af
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/Input.gif differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/Interface.gif b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/Interface.gif
new file mode 100644
index 0000000000000000000000000000000000000000..7c7d39ef65b96d71b7b2e1e576c3677bbf7757f1
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/Interface.gif differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/MethodPlugin.gif b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/MethodPlugin.gif
new file mode 100644
index 0000000000000000000000000000000000000000..bb82c391ed462f0f01e988e00b07f8de262278e7
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/MethodPlugin.gif differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/Name.gif b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/Name.gif
new file mode 100644
index 0000000000000000000000000000000000000000..75f33c24fa441d09729e7adcbc78a4e55d84b443
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/Name.gif differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/Objective.gif b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/Objective.gif
new file mode 100644
index 0000000000000000000000000000000000000000..75f33c24fa441d09729e7adcbc78a4e55d84b443
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/Objective.gif differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/Origin.gif b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/Origin.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c79bf78956a277d98343ab949be3efe08411f37f
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/Origin.gif differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/Output.gif b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/Output.gif
new file mode 100644
index 0000000000000000000000000000000000000000..b4fe2c84ecd2cb1ce8a4fb03a091ba76cad78916
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/Output.gif differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/Package.gif b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/Package.gif
new file mode 100644
index 0000000000000000000000000000000000000000..00a311efa25ac538073fb14e59efbb9a968a94e3
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/Package.gif differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/Processes.gif b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/Processes.gif
new file mode 100644
index 0000000000000000000000000000000000000000..08d8c2d5d1a7a70f5af53200633a7ba92aab1788
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/Processes.gif differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/Repositories.gif b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/Repositories.gif
new file mode 100644
index 0000000000000000000000000000000000000000..16eda8a78a63bfe5874e2e92a29f20a644241bba
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/Repositories.gif differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/RoleSetCategory.gif b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/RoleSetCategory.gif
new file mode 100644
index 0000000000000000000000000000000000000000..54a3f677a3efc25358bb4f637de6166d1425a486
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/RoleSetCategory.gif differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/Task.gif b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/Task.gif
new file mode 100644
index 0000000000000000000000000000000000000000..5c3b2b89a47caa2cbec35a9e9c3fe2efef4b2895
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/Task.gif differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/Tasks.gif b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/Tasks.gif
new file mode 100644
index 0000000000000000000000000000000000000000..638bd83009d2d7bf881dab9dbc07c176edd23060
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/Tasks.gif differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/TechnicalFragment.gif b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/TechnicalFragment.gif
new file mode 100644
index 0000000000000000000000000000000000000000..4f1b85a7801922060d6b5a968a76be30eb5326c9
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/TechnicalFragment.gif differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/TechnicalFragmentError.gif b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/TechnicalFragmentError.gif
new file mode 100644
index 0000000000000000000000000000000000000000..50b162dbdfc4a7f0eabd5d7119871e378efe6940
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/TechnicalFragmentError.gif differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/TechnicalFragmentImported.gif b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/TechnicalFragmentImported.gif
new file mode 100644
index 0000000000000000000000000000000000000000..3260ab2872cfcc35cc75b3501dd05bb23bd6f333
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/TechnicalFragmentImported.gif differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/Type.gif b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/Type.gif
new file mode 100644
index 0000000000000000000000000000000000000000..358cbcb83d800352e59d672771057f3156f27491
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/Type.gif differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/WorkProduct.gif b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/WorkProduct.gif
new file mode 100644
index 0000000000000000000000000000000000000000..1540f3d3c95605a8d7f641f8c93b098e356c40c3
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/WorkProduct.gif differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/WorkProducts.gif b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/WorkProducts.gif
new file mode 100644
index 0000000000000000000000000000000000000000..cf289263e15224bfd984e2145ddc6c6eb415f50c
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/WorkProducts.gif differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/activity16.gif b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/activity16.gif
new file mode 100644
index 0000000000000000000000000000000000000000..cf20deb439ab39a63162c93396060706051569b0
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/activity16.gif differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/role.gif b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/role.gif
new file mode 100644
index 0000000000000000000000000000000000000000..69ebdf2959ed859952751f3f377d581671045873
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/full/obj16/role.gif differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/import.png b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/import.png
new file mode 100644
index 0000000000000000000000000000000000000000..bb6ff06b7bcf18590deb1f93a519d5264b6a067f
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/import.png differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/jar.png b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/jar.png
new file mode 100644
index 0000000000000000000000000000000000000000..660f8ea5131c2f9f59a5fa2491993cfa71a1ac57
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/jar.png differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/ref.png b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/ref.png
new file mode 100644
index 0000000000000000000000000000000000000000..2839c60a42f8a79067981fd7b3a26f4b81a69231
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/ref.png differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/refresh.gif b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/refresh.gif
new file mode 100644
index 0000000000000000000000000000000000000000..e3831471a6592da14f53b1e7c5a2f7d6a92d9937
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/refresh.gif differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/repository.png b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/repository.png
new file mode 100644
index 0000000000000000000000000000000000000000..92794f126f846474fafef14aac6fccb82faaf4f8
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/icons/repository.png differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/plugin.xml b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/plugin.xml
new file mode 100644
index 0000000000000000000000000000000000000000..ee80c57ce364d3f1cade833ba0bfab316f59d2c6
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/plugin.xml	
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+<plugin>
+   <extension
+         point="org.eclipse.ui.preferencePages">
+      <page
+            category="PiacereToolCustomization.preferences.page1"
+            class="eu.piacere.ide.toolIntegration.kr10kr11kr12.preferencePage.KR10PreferencePage"
+            id="PiacereIDEIntegration.KR10KR11KR12.preferences.page1"
+            name="PIACERE Runtime Controller Preferences">
+      </page>
+      <page
+            category="PiacereToolCustomization.preferences.page1"
+            class="eu.piacere.ide.toolIntegration.kr10kr11kr12.preferencePage.KR11_12PreferencePage"
+            id="PiacereIDEIntegration.KR10KR11KR12.preferences.page2"
+            name="PIACERE Performance Monitoring Controller Preferences">
+      </page>
+   </extension>
+   <extension
+         point="org.eclipse.core.runtime.preferences">
+      <initializer
+            class="eu.piacere.ide.toolIntegration.kr10kr11kr12.preferencePage.KR10PreferenceInitializer">
+      </initializer>
+      <initializer
+            class="eu.piacere.ide.toolIntegration.kr10kr11kr12.preferencePage.KR11_12PreferenceInitializer">
+      </initializer>
+   </extension>
+   <extension point = "org.eclipse.ui.views">
+      <view
+         id = "PiacereIDEIntegration.KR10KR11KR12.PiacereRuntimeControllerViewPart"
+         name = "PIACERE Runtime Controller"
+         category = "org.eclipse.ui"
+         class = "eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.PiacereRuntimeControllerViewPart"
+         icon = "Piacere/PiacereIcon_16x16.png" />
+   </extension>
+
+</plugin>
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/preferencePage/KR10PreferenceInitializer.java b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/preferencePage/KR10PreferenceInitializer.java
new file mode 100644
index 0000000000000000000000000000000000000000..66b9b24ccbad705c696b06a5cb7858158ebbdf1b
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/preferencePage/KR10PreferenceInitializer.java	
@@ -0,0 +1,20 @@
+package eu.piacere.ide.toolIntegration.kr10kr11kr12.preferencePage;
+
+import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer;
+import org.eclipse.core.runtime.preferences.ConfigurationScope;
+import org.eclipse.ui.preferences.ScopedPreferenceStore;
+import org.osgi.framework.FrameworkUtil;
+
+public class KR10PreferenceInitializer extends AbstractPreferenceInitializer {
+
+	@Override
+	public void initializeDefaultPreferences() {
+		
+		ScopedPreferenceStore scopedPreferenceStore = new ScopedPreferenceStore(ConfigurationScope.INSTANCE,(FrameworkUtil.getBundle(KR10PreferenceInitializer.class)).getSymbolicName());
+        scopedPreferenceStore.setDefault("KR10.host", "prc.ci.piacere.digital.tecnalia.dev");
+        scopedPreferenceStore.setDefault("KR10.port", 443);
+        scopedPreferenceStore.setDefault("KR10.protocol", "https");
+
+	}
+
+}
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/preferencePage/KR10PreferencePage.java b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/preferencePage/KR10PreferencePage.java
new file mode 100644
index 0000000000000000000000000000000000000000..6449ac6e8874a3a08f1c32794883f36551898091
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/preferencePage/KR10PreferencePage.java	
@@ -0,0 +1,37 @@
+package eu.piacere.ide.toolIntegration.kr10kr11kr12.preferencePage;
+
+import org.eclipse.core.runtime.preferences.ConfigurationScope;
+import org.eclipse.jface.preference.FieldEditorPreferencePage;
+import org.eclipse.jface.preference.IntegerFieldEditor;
+import org.eclipse.jface.preference.RadioGroupFieldEditor;
+import org.eclipse.jface.preference.StringFieldEditor;
+import org.eclipse.ui.IWorkbench;
+import org.eclipse.ui.IWorkbenchPreferencePage;
+import org.eclipse.ui.preferences.ScopedPreferenceStore;
+import org.osgi.framework.FrameworkUtil;
+
+public class KR10PreferencePage extends FieldEditorPreferencePage implements IWorkbenchPreferencePage{
+
+
+	public KR10PreferencePage() {
+		super(GRID);
+	}
+
+	@Override
+	public void init(IWorkbench workbench) {
+		//WHICH SCOPE SHOULD I SELECT: https://wiki.eclipse.org/FAQ_What_is_a_preference_scope%3F
+		
+		 setPreferenceStore(new ScopedPreferenceStore(ConfigurationScope.INSTANCE, (FrameworkUtil.getBundle(KR10PreferenceInitializer.class)).getSymbolicName()));
+	     setDescription("These Are The PIACERE Runtime Controller Preferences");
+
+	}
+
+	@Override
+	protected void createFieldEditors() {
+		addField(new StringFieldEditor("KR10.host", "Endpoint Host", getFieldEditorParent()));
+		addField(new IntegerFieldEditor("KR10.port", "Endpoint Port", getFieldEditorParent()));
+		addField(new RadioGroupFieldEditor("KR10.protocol", "Protocol", 1, new String[][] {{"HTTP","http"},{"HTTPS","https"}}, getFieldEditorParent()));
+
+	}
+
+}
\ No newline at end of file
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/preferencePage/KR11_12PreferenceInitializer.java b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/preferencePage/KR11_12PreferenceInitializer.java
new file mode 100644
index 0000000000000000000000000000000000000000..2922929768aeaeacbf535ff70ba1a37a2fc6d436
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/preferencePage/KR11_12PreferenceInitializer.java	
@@ -0,0 +1,20 @@
+package eu.piacere.ide.toolIntegration.kr10kr11kr12.preferencePage;
+
+import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer;
+import org.eclipse.core.runtime.preferences.ConfigurationScope;
+import org.eclipse.ui.preferences.ScopedPreferenceStore;
+import org.osgi.framework.FrameworkUtil;
+
+public class KR11_12PreferenceInitializer extends AbstractPreferenceInitializer {
+
+	@Override
+	public void initializeDefaultPreferences() {
+		
+		ScopedPreferenceStore scopedPreferenceStore = new ScopedPreferenceStore(ConfigurationScope.INSTANCE,(FrameworkUtil.getBundle(KR11_12PreferenceInitializer.class)).getSymbolicName());
+        scopedPreferenceStore.setDefault("KR11_12.host", "c.pm.ci.piacere.digital.tecnalia.dev");
+        scopedPreferenceStore.setDefault("KR11_12.port", 443);
+        scopedPreferenceStore.setDefault("KR11_12.protocol", "https");
+
+	}
+
+}
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/preferencePage/KR11_12PreferencePage.java b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/preferencePage/KR11_12PreferencePage.java
new file mode 100644
index 0000000000000000000000000000000000000000..fc54757eae5f7b70a3605be2f1b94e9097e314ff
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/preferencePage/KR11_12PreferencePage.java	
@@ -0,0 +1,37 @@
+package eu.piacere.ide.toolIntegration.kr10kr11kr12.preferencePage;
+
+import org.eclipse.core.runtime.preferences.ConfigurationScope;
+import org.eclipse.jface.preference.FieldEditorPreferencePage;
+import org.eclipse.jface.preference.IntegerFieldEditor;
+import org.eclipse.jface.preference.RadioGroupFieldEditor;
+import org.eclipse.jface.preference.StringFieldEditor;
+import org.eclipse.ui.IWorkbench;
+import org.eclipse.ui.IWorkbenchPreferencePage;
+import org.eclipse.ui.preferences.ScopedPreferenceStore;
+import org.osgi.framework.FrameworkUtil;
+
+public class KR11_12PreferencePage extends FieldEditorPreferencePage implements IWorkbenchPreferencePage{
+
+
+	public KR11_12PreferencePage() {
+		super(GRID);
+	}
+
+	@Override
+	public void init(IWorkbench workbench) {
+		//WHICH SCOPE SHOULD I SELECT: https://wiki.eclipse.org/FAQ_What_is_a_preference_scope%3F
+		
+		 setPreferenceStore(new ScopedPreferenceStore(ConfigurationScope.INSTANCE, (FrameworkUtil.getBundle(KR10PreferenceInitializer.class)).getSymbolicName()));
+	     setDescription("These Are The Piacere Performance Monitoring Controller Preferences");
+
+	}
+
+	@Override
+	protected void createFieldEditors() {
+		addField(new StringFieldEditor("KR11_12.host", "Endpoint Host", getFieldEditorParent()));
+		addField(new IntegerFieldEditor("KR11_12.port", "Endpoint Port", getFieldEditorParent()));
+		addField(new RadioGroupFieldEditor("KR11_12.protocol", "Protocol", 1, new String[][] {{"HTTP","http"},{"HTTPS","https"}}, getFieldEditorParent()));
+
+	}
+
+}
\ No newline at end of file
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/PiacereRuntimeControllerViewPart.java b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/PiacereRuntimeControllerViewPart.java
new file mode 100644
index 0000000000000000000000000000000000000000..a00819d6190a1f6d3265625f0bde6de051f3f047
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/PiacereRuntimeControllerViewPart.java	
@@ -0,0 +1,207 @@
+package eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.edit.provider.resource.ResourceItemProviderAdapterFactory;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.action.IMenuListener;
+import org.eclipse.jface.action.IMenuManager;
+import org.eclipse.jface.action.MenuManager;
+import org.eclipse.jface.action.Separator;
+import org.eclipse.jface.resource.FontDescriptor;
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.jface.resource.JFaceResources;
+import org.eclipse.jface.resource.LocalResourceManager;
+import org.eclipse.jface.resource.ResourceManager;
+import org.eclipse.jface.viewers.IBaseLabelProvider;
+import org.eclipse.jface.viewers.IContentProvider;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.ISelectionChangedListener;
+import org.eclipse.jface.viewers.ISelectionProvider;
+import org.eclipse.jface.viewers.SelectionChangedEvent;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Menu;
+import org.eclipse.ui.IMemento;
+import org.eclipse.ui.IViewSite;
+import org.eclipse.ui.PartInitException;
+import org.eclipse.ui.actions.ActionGroup;
+import org.eclipse.ui.navigator.CommonNavigator;
+import org.eclipse.ui.navigator.CommonViewer;
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+
+import eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.actions.FinishDeploymentAction;
+import eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.actions.GetDeploymentInfoAction;
+import eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.actions.OpenPerformanceMonitoringAction;
+import eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.actions.OpenPerformanceSelfLearningMonitoringAction;
+import eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.actions.OpenSecurityMonitoringAction;
+import eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.actions.OpenSecuritySelfLearningMonitoringAction;
+import eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.actions.OpenSelfHealingAction;
+import eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.actions.PiacereRuntimeControllerViewActionGroup;
+import eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.actions.RefreshAction;
+import eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.providers.PRCContentProvider;
+import eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.providers.PRCLabelProvider;
+import eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.util.PiacereDeployment;
+import eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.util.PiacereRuntimeController;
+
+
+public class PiacereRuntimeControllerViewPart extends CommonNavigator implements IMenuListener {
+
+	private static PiacereRuntimeController piacereRuntimeController = new PiacereRuntimeController();
+
+	public PiacereRuntimeController getPiacereRuntimeController() {
+		return piacereRuntimeController;
+	}
+
+	@Override
+	public void createPartControl(Composite parent) {
+		super.createPartControl(parent);
+
+		if (getCommonViewer() != null) {
+
+			getCommonViewer().setContentProvider((IContentProvider)new PRCContentProvider((AdapterFactory)new ResourceItemProviderAdapterFactory()));
+			getCommonViewer().setInput(piacereRuntimeController);
+			getCommonViewer().setLabelProvider((IBaseLabelProvider)new PRCLabelProvider());
+			ResourceManager resourceManager = new LocalResourceManager(JFaceResources.getResources(), parent);
+			getCommonViewer().getTree().setFont(resourceManager.createFont(FontDescriptor.createFrom(getCommonViewer().getTree().getFont()).setHeight(14)));
+			getCommonViewer().setSorter(null);
+			getCommonViewer().addSelectionChangedListener(new SelectionChangedListener());
+			createContextMenuForViewer(getCommonViewer());
+			refreshViewer();
+		} 
+	}
+
+	public void init(IViewSite aSite, IMemento aMemento) throws PartInitException {
+		super.init(aSite, aMemento);
+
+		if (aMemento != null && this.getPiacereRuntimeController().getDeployments().size() == 0) {
+			/*int i = 0;
+			while (aMemento.getString("host" + i) != null) {
+				RepositoryLocation rp = new RepositoryLocation();
+				rp.setHost(aMemento.getString("host" + i));
+				rp.setRepositoryPath(aMemento.getString("repositorypath" + i));
+				rp.setName(aMemento.getString("name" + i));
+				if(DeploymentClientUtil.testConnection(rp, false)) {
+					rp.reloadContent();
+				}
+				locations.add(rp);
+				i++;
+			} */
+		} 
+	}
+
+	protected CommonViewer createCommonViewerObject(Composite aParent) {
+		return new CommonViewer(getViewSite().getId(), aParent, 768);
+	}
+
+	private class SelectionChangedListener implements ISelectionChangedListener {
+		@SuppressWarnings("unused")
+		public void selectionChanged(SelectionChangedEvent event) {
+			if (event.getSelection() instanceof StructuredSelection) {
+				Object selected = ((StructuredSelection)event.getSelection()).getFirstElement(); 
+			}
+		}
+	}
+
+	protected ActionGroup createCommonActionGroup() {
+		return (ActionGroup)new PiacereRuntimeControllerViewActionGroup(getCommonViewer());
+	}
+
+	public void refreshViewer() {
+		CommonViewer viewer = getCommonViewer();
+		if (viewer != null && !viewer.getTree().isDisposed())
+			viewer.refresh(); 
+	}
+
+	public void saveState(IMemento aMemento) {
+		super.saveState(aMemento);/*
+		int size = locations.size();
+		for (int i = 0; i < size; i++) {
+			RepositoryLocation rp = locations.get(i);
+			aMemento.putString("host" + i, rp.getHost());
+			aMemento.putString("repositorypath" + i, rp.getRepositoryPath());
+			aMemento.putString("name" + i, rp.getName());
+		} */
+	}
+
+	private void createContextMenuForViewer(CommonViewer viewer) {
+		MenuManager contextMenu = new MenuManager("Popup", getImageDescriptor("icons/FadaModelRepositoriesView.png"), null);
+		contextMenu.setRemoveAllWhenShown(true);
+		contextMenu.addMenuListener(this);
+
+		Menu menu = contextMenu.createContextMenu(viewer.getControl());
+		viewer.getControl().setMenu(menu);
+		this.getSite().registerContextMenu(contextMenu, (ISelectionProvider)viewer);
+	}
+
+	public void menuAboutToShow(IMenuManager manager) {
+		ISelection selection = getCommonViewer().getSelection();
+		if (selection instanceof StructuredSelection) {
+			StructuredSelection sel = (StructuredSelection)selection;
+			Object selectedObject = sel.getFirstElement();
+			if (selectedObject instanceof PiacereDeployment) {
+				
+				
+				RefreshAction ra = new RefreshAction();
+				ra.setText("Refresh All");
+				ra.setImageDescriptor(getImageDescriptor("icons/refresh.gif"));
+				
+				GetDeploymentInfoAction gdia = new GetDeploymentInfoAction();
+				gdia.setText("Get Deployment Details");
+				gdia.setImageDescriptor(getImageDescriptor("icons/repository.png"));
+				
+				OpenPerformanceMonitoringAction opma = new OpenPerformanceMonitoringAction();
+				opma.setText("Open Performance Monitor");
+				opma.setImageDescriptor(getImageDescriptor("icons/ref.png"));		
+
+				OpenPerformanceSelfLearningMonitoringAction opslma = new OpenPerformanceSelfLearningMonitoringAction();
+				opslma.setText("Open Performance Self Learning Monitor");
+				opslma.setImageDescriptor(getImageDescriptor("icons/ref.png"));		
+				
+				OpenSecurityMonitoringAction osma = new OpenSecurityMonitoringAction();
+				osma.setText("Open Security Monitor");
+				osma.setImageDescriptor(getImageDescriptor("icons/ref.png"));		
+				
+				OpenSecuritySelfLearningMonitoringAction osslma = new OpenSecuritySelfLearningMonitoringAction();
+				osslma.setText("Open Security Self Learning Monitor");
+				osslma.setImageDescriptor(getImageDescriptor("icons/ref.png"));		
+				
+				OpenSelfHealingAction osha = new OpenSelfHealingAction();
+				osha.setText("Open Self Healing Events");
+				osha.setImageDescriptor(getImageDescriptor("icons/ref.png"));		
+				
+				FinishDeploymentAction fda = new FinishDeploymentAction ();
+				fda.setText("Finish Deployment");
+				fda.setImageDescriptor(getImageDescriptor("icons/deleteRepository.png"));
+				
+				
+				
+				
+				manager.add((IAction)ra);
+				manager.add(new Separator("additions"));
+				manager.add((IAction)gdia);
+				manager.add((IAction)opma);
+				manager.add((IAction)opslma);
+				manager.add((IAction)osma);
+				manager.add((IAction)osslma);
+				manager.add((IAction)osha);
+				manager.add(new Separator("additions"));
+				manager.add((IAction)fda);
+			}
+			/*if (selectedObject instanceof AppComponentsModelVersion || selectedObject instanceof AppSystemConfigurationModelVersion) {
+				DownloadModelAction dma = new DownloadModelAction();
+				dma.setText("Download Model");
+				dma.setImageDescriptor(getImageDescriptor("icons/download.png"));
+				manager.add((IAction)dma);
+
+				DeleteModelAction dma2 = new DeleteModelAction();
+				dma2.setText("Delete Model from Repository");
+				dma2.setImageDescriptor(getImageDescriptor("icons/deleteRepository.png"));
+				manager.add((IAction)dma2);
+			}*/
+		} 
+	}
+
+	protected final ImageDescriptor getImageDescriptor(String relativePath) {
+		return AbstractUIPlugin.imageDescriptorFromPlugin("PiacereIDEIntegration.KR10_KR11_KR12", relativePath);
+	}
+}
\ No newline at end of file
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/actions/CollapseAllAction.java b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/actions/CollapseAllAction.java
new file mode 100644
index 0000000000000000000000000000000000000000..b8da9d62e89dc6765c0be850f536125486688df9
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/actions/CollapseAllAction.java	
@@ -0,0 +1,24 @@
+package eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.actions;
+
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.ui.IWorkbenchCommandConstants;
+import org.eclipse.ui.navigator.CommonViewer;
+
+public class CollapseAllAction extends Action implements IAction
+{
+	private final CommonViewer commonViewer;
+
+	public CollapseAllAction(CommonViewer aViewer) {
+		super("Collapse all");
+		setToolTipText("Collapse all");
+		setActionDefinitionId(IWorkbenchCommandConstants.NAVIGATE_COLLAPSE_ALL);
+		this.commonViewer = aViewer;
+	}
+
+	public void run() {
+		if (this.commonViewer != null)
+			this.commonViewer.collapseAll(); 
+	}
+}
+
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/actions/CreateDeploymentAction.java b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/actions/CreateDeploymentAction.java
new file mode 100644
index 0000000000000000000000000000000000000000..0fae68c88afa08e52d93222660e1e3b17a86dba8
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/actions/CreateDeploymentAction.java	
@@ -0,0 +1,65 @@
+package eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.actions;
+
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.action.IAction;
+import org.restlet.Response;
+import org.restlet.data.Protocol;
+
+import eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.PiacereRuntimeControllerViewPart;
+import eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.util.DeploymentClientUtil;
+import eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.util.PRCClientUtil;
+import eu.piacere.piacereTool.utils.ToolCustomizationUtils;
+
+
+public class CreateDeploymentAction extends Action implements IAction
+{
+
+	public void run() {
+
+		String repositoryURL=ToolCustomizationUtils.doDialogAskWithoutPostProcess("Repository URL", "Provide the respository URL of the deployment", "");
+		if(repositoryURL==null) {
+			return;
+		}
+		String deploymentID=ToolCustomizationUtils.doDialogAskWithoutPostProcess("Deployment ID", "Provide the new Deployment ID", "");
+		if(deploymentID==null) {
+			return;
+		}
+		String commitID=ToolCustomizationUtils.doDialogAskWithoutPostProcess("Deployment Commit ID", "Provide the new Deployment Commit ID", "");
+		if(commitID==null) {
+			return;
+		}
+		
+		String protocol = ToolCustomizationUtils.getPreference(this.getClass(), "KR10.protocol");
+		String host = ToolCustomizationUtils.getPreference(this.getClass(), "KR10.host");
+		String port = ToolCustomizationUtils.getPreference(this.getClass(), "KR10.port");		
+		Protocol p = null;
+		if(protocol.equals("http")) {
+			p=Protocol.HTTP;
+		}
+		else if(protocol.equals("https")) {
+			p=Protocol.HTTPS;
+		}
+
+		Response resp=PRCClientUtil.createDeploymentPOST(protocol+"://"+host+":"+port+"/", p, repositoryURL, deploymentID, commitID);
+		if(resp!=null) {
+
+			if(resp.getStatus().getCode()/100==2){
+				PiacereRuntimeControllerViewPart prcView = DeploymentClientUtil.getRuntimeControllerView();
+				if (prcView != null) {
+					prcView.getPiacereRuntimeController().reloadContent();
+					prcView.refreshViewer();
+				}
+			}
+			else {
+				String content =  resp.getEntity().toString();
+				ToolCustomizationUtils.showErrorDialog("PRC Client Result","Unknown error" + content);
+			}
+		}
+		else {
+
+			ToolCustomizationUtils.showErrorDialog("PRC Client Result","Unknown error: Could not get any response from repository.");
+		}
+
+
+	}
+}
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/actions/ExpandAllAction.java b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/actions/ExpandAllAction.java
new file mode 100644
index 0000000000000000000000000000000000000000..a1facb6cf0b9934a90aea59e8f1f1bcaedb6dca7
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/actions/ExpandAllAction.java	
@@ -0,0 +1,25 @@
+package eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.actions;
+
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.ui.IWorkbenchCommandConstants;
+import org.eclipse.ui.navigator.CommonViewer;
+
+public class ExpandAllAction extends Action implements IAction
+{
+	private final CommonViewer commonViewer;
+
+	public ExpandAllAction(CommonViewer aViewer) {
+		super("Expand All");
+		setToolTipText("Expand All");
+		setActionDefinitionId(IWorkbenchCommandConstants.NAVIGATE_EXPAND_ALL);
+
+		this.commonViewer = aViewer;
+	}
+
+	public void run() {
+		if (this.commonViewer != null)
+			this.commonViewer.expandAll(); 
+	}
+}
+
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/actions/FinishDeploymentAction.java b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/actions/FinishDeploymentAction.java
new file mode 100644
index 0000000000000000000000000000000000000000..025ea71bbfed0f3a5c60243fee48a907e2620a97
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/actions/FinishDeploymentAction.java	
@@ -0,0 +1,61 @@
+package eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.actions;
+
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.restlet.Response;
+import org.restlet.data.Protocol;
+
+import eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.PiacereRuntimeControllerViewPart;
+import eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.util.DeploymentClientUtil;
+import eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.util.PRCClientUtil;
+import eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.util.PiacereDeployment;
+import eu.piacere.piacereTool.utils.ToolCustomizationUtils;
+
+
+public class FinishDeploymentAction extends Action implements IAction
+{
+
+	public void run() {
+		PiacereRuntimeControllerViewPart repositoriesView = DeploymentClientUtil.getRuntimeControllerView();
+		ISelection selection = repositoriesView.getCommonViewer().getSelection();
+		if (selection instanceof StructuredSelection) {
+			StructuredSelection sel = (StructuredSelection)selection;
+			Object selectedObject = sel.getFirstElement();
+			if (selectedObject instanceof PiacereDeployment) {
+				PiacereDeployment deployment = (PiacereDeployment)selectedObject;
+
+				String protocol = ToolCustomizationUtils.getPreference(this.getClass(), "KR10.protocol");
+				String host = ToolCustomizationUtils.getPreference(this.getClass(), "KR10.host");
+				String port = ToolCustomizationUtils.getPreference(this.getClass(), "KR10.port");		
+				Protocol p = null;
+				if(protocol.equals("http")) {
+					p=Protocol.HTTP;
+				}
+				else if(protocol.equals("https")) {
+					p=Protocol.HTTPS;
+				}
+
+				Response resp=PRCClientUtil.finishDeploymentPOST(protocol+"://"+host+":"+port+"/", p, deployment);//return ;
+				if(resp!=null) {
+					if(resp.getStatus().getCode()/100==2){
+						PiacereRuntimeControllerViewPart prcView = DeploymentClientUtil.getRuntimeControllerView();
+						if (prcView != null) {
+							prcView.getPiacereRuntimeController().reloadContent();
+							prcView.refreshViewer();
+						}
+					}
+					else {
+						String content =  resp.getEntity().toString();
+						ToolCustomizationUtils.showErrorDialog("PRC Client Result","Unknown error" + content);
+					}
+				}
+				else {
+
+					ToolCustomizationUtils.showErrorDialog("PRC Client Result","Unknown error: Could not get any response from repository.");
+				}
+			}
+		}
+	}
+}
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/actions/GetDeploymentInfoAction.java b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/actions/GetDeploymentInfoAction.java
new file mode 100644
index 0000000000000000000000000000000000000000..19f4b950161df89704bd01a07096773833a81b19
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/actions/GetDeploymentInfoAction.java	
@@ -0,0 +1,49 @@
+package eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.actions;
+
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.json.JSONException;
+import org.json.JSONObject;
+import org.restlet.data.Protocol;
+
+import eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.PiacereRuntimeControllerViewPart;
+import eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.util.DeploymentClientUtil;
+import eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.util.PRCClientUtil;
+import eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.util.PiacereDeployment;
+import eu.piacere.piacereTool.utils.ToolCustomizationUtils;
+
+
+public class GetDeploymentInfoAction extends Action implements IAction
+{
+	public void run() {
+		PiacereRuntimeControllerViewPart repositoriesView = DeploymentClientUtil.getRuntimeControllerView();
+		ISelection selection = repositoriesView.getCommonViewer().getSelection();
+		if (selection instanceof StructuredSelection) {
+			StructuredSelection sel = (StructuredSelection)selection;
+			Object selectedObject = sel.getFirstElement();
+			if (selectedObject instanceof PiacereDeployment) {
+				PiacereDeployment deployment = (PiacereDeployment)selectedObject;
+				
+				String protocol = ToolCustomizationUtils.getPreference(this.getClass(), "KR10.protocol");
+				String host = ToolCustomizationUtils.getPreference(this.getClass(), "KR10.host");
+				String port = ToolCustomizationUtils.getPreference(this.getClass(), "KR10.port");		
+				Protocol p = null;
+				if(protocol.equals("http")) {
+					p=Protocol.HTTP;
+				}
+				else if(protocol.equals("https")) {
+					p=Protocol.HTTPS;
+				}
+				JSONObject res=PRCClientUtil.retrieveDeploymentGet(protocol+"://"+host+":"+port+"/", p, deployment);
+				
+				try {
+					ToolCustomizationUtils.showInformationDialog("Deployment Information", res.toString(4));
+				} catch (JSONException e) {
+					e.printStackTrace();
+				}
+			}
+		}
+	}
+}
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/actions/OpenPerformanceMonitoringAction.java b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/actions/OpenPerformanceMonitoringAction.java
new file mode 100644
index 0000000000000000000000000000000000000000..5e04bbfebbdaef6a45c9f2155c2ab38968a0fa78
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/actions/OpenPerformanceMonitoringAction.java	
@@ -0,0 +1,43 @@
+package eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.actions;
+
+import java.net.URL;
+
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.ui.browser.IWebBrowser;
+
+import eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.PiacereRuntimeControllerViewPart;
+import eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.util.DeploymentClientUtil;
+import eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.util.PiacereDeployment;
+
+
+public class OpenPerformanceMonitoringAction extends Action implements IAction
+{
+	public void run() {
+		PiacereRuntimeControllerViewPart repositoriesView = DeploymentClientUtil.getRuntimeControllerView();
+		ISelection selection = repositoriesView.getCommonViewer().getSelection();
+		if (selection instanceof StructuredSelection) {
+			StructuredSelection sel = (StructuredSelection)selection;
+			Object selectedObject = sel.getFirstElement();
+			if (selectedObject instanceof PiacereDeployment) {
+				String url=DeploymentClientUtil.getPerformanceMonitoringURL((PiacereDeployment)selectedObject, "performance");
+				if(url==null) url="https://grafana.pm.ci.piacere.digital.tecnalia.dev/d/m69joqMVk/performance?orgId=1";
+				try {
+					openWeb(url, ((PiacereDeployment)selectedObject).getDeploymentID());
+				} catch (Exception e) {
+					// TODO Auto-generated catch block
+					e.printStackTrace();
+				}
+			}
+		}
+	}
+
+
+	private void openWeb(String webURL, String deploymentID) throws Exception {
+		final IWebBrowser browser = PlatformUI.getWorkbench().getBrowserSupport().createBrowser(deploymentID);
+		browser.openURL(new URL(webURL));
+	}
+}
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/actions/OpenPerformanceSelfLearningMonitoringAction.java b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/actions/OpenPerformanceSelfLearningMonitoringAction.java
new file mode 100644
index 0000000000000000000000000000000000000000..193fd10aa9b17903fd2ec0c7c254d971afa19f7c
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/actions/OpenPerformanceSelfLearningMonitoringAction.java	
@@ -0,0 +1,43 @@
+package eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.actions;
+
+import java.net.URL;
+
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.ui.browser.IWebBrowser;
+
+import eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.PiacereRuntimeControllerViewPart;
+import eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.util.DeploymentClientUtil;
+import eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.util.PiacereDeployment;
+
+
+public class OpenPerformanceSelfLearningMonitoringAction extends Action implements IAction
+{
+	public void run() {
+		PiacereRuntimeControllerViewPart repositoriesView = DeploymentClientUtil.getRuntimeControllerView();
+		ISelection selection = repositoriesView.getCommonViewer().getSelection();
+		if (selection instanceof StructuredSelection) {
+			StructuredSelection sel = (StructuredSelection)selection;
+			Object selectedObject = sel.getFirstElement();
+			if (selectedObject instanceof PiacereDeployment) {
+				String url=DeploymentClientUtil.getPerformanceMonitoringURL((PiacereDeployment)selectedObject, "performance-self-learning");
+				if(url==null) url="https://grafana.pm.ci.piacere.digital.tecnalia.dev/d/G39CTqMVk/performance-self-learning?orgId=1";
+				try {
+					openWeb(url, ((PiacereDeployment)selectedObject).getDeploymentID());
+				} catch (Exception e) {
+					// TODO Auto-generated catch block
+					e.printStackTrace();
+				}
+			}
+		}
+	}
+
+
+	private void openWeb(String webURL, String deploymentID) throws Exception {
+		final IWebBrowser browser = PlatformUI.getWorkbench().getBrowserSupport().createBrowser(deploymentID);
+		browser.openURL(new URL(webURL));
+	}
+}
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/actions/OpenSecurityMonitoringAction.java b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/actions/OpenSecurityMonitoringAction.java
new file mode 100644
index 0000000000000000000000000000000000000000..c85adde209fc651d0424923e4a3808eeff850a8f
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/actions/OpenSecurityMonitoringAction.java	
@@ -0,0 +1,43 @@
+package eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.actions;
+
+import java.net.URL;
+
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.ui.browser.IWebBrowser;
+
+import eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.PiacereRuntimeControllerViewPart;
+import eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.util.DeploymentClientUtil;
+import eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.util.PiacereDeployment;
+
+
+public class OpenSecurityMonitoringAction extends Action implements IAction
+{
+	public void run() {
+		PiacereRuntimeControllerViewPart repositoriesView = DeploymentClientUtil.getRuntimeControllerView();
+		ISelection selection = repositoriesView.getCommonViewer().getSelection();
+		if (selection instanceof StructuredSelection) {
+			StructuredSelection sel = (StructuredSelection)selection;
+			Object selectedObject = sel.getFirstElement();
+			if (selectedObject instanceof PiacereDeployment) {
+				String url=DeploymentClientUtil.getSecurityMonitoringURL((PiacereDeployment)selectedObject);
+				if(url==null) url="https://sm-wazuh-kibana.ci.piacere.digital.tecnalia.dev/";
+				try {
+					openWeb(url, ((PiacereDeployment)selectedObject).getDeploymentID());
+				} catch (Exception e) {
+					// TODO Auto-generated catch block
+					e.printStackTrace();
+				}
+			}
+		}
+	}
+
+
+	private void openWeb(String webURL, String deploymentID) throws Exception {
+		final IWebBrowser browser = PlatformUI.getWorkbench().getBrowserSupport().createBrowser(deploymentID);
+		browser.openURL(new URL(webURL));
+	}
+}
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/actions/OpenSecuritySelfLearningMonitoringAction.java b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/actions/OpenSecuritySelfLearningMonitoringAction.java
new file mode 100644
index 0000000000000000000000000000000000000000..62c8824b78fa6bc87eab55f593e2a844386eb0ec
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/actions/OpenSecuritySelfLearningMonitoringAction.java	
@@ -0,0 +1,43 @@
+package eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.actions;
+
+import java.net.URL;
+
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.ui.browser.IWebBrowser;
+
+import eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.PiacereRuntimeControllerViewPart;
+import eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.util.DeploymentClientUtil;
+import eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.util.PiacereDeployment;
+
+
+public class OpenSecuritySelfLearningMonitoringAction extends Action implements IAction
+{
+	public void run() {
+		PiacereRuntimeControllerViewPart repositoriesView = DeploymentClientUtil.getRuntimeControllerView();
+		ISelection selection = repositoriesView.getCommonViewer().getSelection();
+		if (selection instanceof StructuredSelection) {
+			StructuredSelection sel = (StructuredSelection)selection;
+			Object selectedObject = sel.getFirstElement();
+			if (selectedObject instanceof PiacereDeployment) {
+				String url=DeploymentClientUtil.getSecuritySelfLearningMonitoringURL((PiacereDeployment)selectedObject);
+				if(url==null) url="https://piacere-security-monitoring.xlab.si/grafana/";
+				try {
+					openWeb(url, ((PiacereDeployment)selectedObject).getDeploymentID());
+				} catch (Exception e) {
+					// TODO Auto-generated catch block
+					e.printStackTrace();
+				}
+			}
+		}
+	}
+
+
+	private void openWeb(String webURL, String deploymentID) throws Exception {
+		final IWebBrowser browser = PlatformUI.getWorkbench().getBrowserSupport().createBrowser(deploymentID);
+		browser.openURL(new URL(webURL));
+	}
+}
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/actions/OpenSelfHealingAction.java b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/actions/OpenSelfHealingAction.java
new file mode 100644
index 0000000000000000000000000000000000000000..218abab1f15ee72371eb422e95fbd1b74f232b59
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/actions/OpenSelfHealingAction.java	
@@ -0,0 +1,43 @@
+package eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.actions;
+
+import java.net.URL;
+
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.ui.browser.IWebBrowser;
+
+import eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.PiacereRuntimeControllerViewPart;
+import eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.util.DeploymentClientUtil;
+import eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.util.PiacereDeployment;
+
+
+public class OpenSelfHealingAction extends Action implements IAction
+{
+	public void run() {
+		PiacereRuntimeControllerViewPart repositoriesView = DeploymentClientUtil.getRuntimeControllerView();
+		ISelection selection = repositoriesView.getCommonViewer().getSelection();
+		if (selection instanceof StructuredSelection) {
+			StructuredSelection sel = (StructuredSelection)selection;
+			Object selectedObject = sel.getFirstElement();
+			if (selectedObject instanceof PiacereDeployment) {
+				String url=DeploymentClientUtil.getSelfHealingURL((PiacereDeployment)selectedObject);
+				if(url==null) url="https://sh.ci.piacere.digital.tecnalia.dev/";
+				try {
+					openWeb(url, ((PiacereDeployment)selectedObject).getDeploymentID());
+				} catch (Exception e) {
+					// TODO Auto-generated catch block
+					e.printStackTrace();
+				}
+			}
+		}
+	}
+
+
+	private void openWeb(String webURL, String deploymentID) throws Exception {
+		final IWebBrowser browser = PlatformUI.getWorkbench().getBrowserSupport().createBrowser(deploymentID);
+		browser.openURL(new URL(webURL));
+	}
+}
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/actions/PiacereRuntimeControllerViewActionGroup.java b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/actions/PiacereRuntimeControllerViewActionGroup.java
new file mode 100644
index 0000000000000000000000000000000000000000..e1f771256ad6f4a5810847baec329213a70e30ff
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/actions/PiacereRuntimeControllerViewActionGroup.java	
@@ -0,0 +1,53 @@
+package eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.actions;
+
+import org.eclipse.jface.action.Separator;
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.ui.IActionBars;
+import org.eclipse.ui.actions.ActionGroup;
+import org.eclipse.ui.navigator.CommonViewer;
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+
+
+public class PiacereRuntimeControllerViewActionGroup extends ActionGroup
+{
+	private final CommonViewer commonViewer;
+	
+	public PiacereRuntimeControllerViewActionGroup(CommonViewer viewer) {
+		this.commonViewer = viewer;
+	}
+
+	protected final ImageDescriptor getImageDescriptor(String relativePath) {
+		return AbstractUIPlugin.imageDescriptorFromPlugin("PiacereIDEIntegration.KR10_KR11_KR12", relativePath);
+	}
+
+	public void fillActionBars(IActionBars actionBars) {
+
+		RefreshAction ra = new RefreshAction();
+		ra.setText("Refresh All");
+		ra.setImageDescriptor(getImageDescriptor("icons/refresh.gif"));
+		
+		CreateDeploymentAction cda = new CreateDeploymentAction();
+		cda.setText("Create Deployment");
+		cda.setImageDescriptor(getImageDescriptor("icons/addRepository.png"));
+
+		CollapseAllAction ca = new CollapseAllAction(this.commonViewer);
+		ca.setText("Collapse All");
+		ca.setImageDescriptor(getImageDescriptor("icons/collapseAll.gif"));
+
+		ExpandAllAction ea = new ExpandAllAction(this.commonViewer);
+		ea.setText("Expand All");
+		ea.setImageDescriptor(getImageDescriptor("icons/expandAll.gif"));
+
+		actionBars.getMenuManager().add(ra);
+		actionBars.getMenuManager().add(new Separator("additions"));
+		actionBars.getMenuManager().add(cda);
+		//actionBars.getMenuManager().add(new Separator("additions"));
+		//actionBars.getMenuManager().add(ca);
+		//actionBars.getMenuManager().add(ea);
+	}
+}
+
+
+
+
+
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/actions/RefreshAction.java b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/actions/RefreshAction.java
new file mode 100644
index 0000000000000000000000000000000000000000..8d6f0d08758856fdb9f6aa217e4287056352ddd7
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/actions/RefreshAction.java	
@@ -0,0 +1,18 @@
+package eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.actions;
+
+import org.eclipse.jface.action.Action;
+
+import eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.PiacereRuntimeControllerViewPart;
+import eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.util.DeploymentClientUtil;
+
+public class RefreshAction extends Action
+{
+	public void run() {
+		super.run();
+		PiacereRuntimeControllerViewPart prcView = DeploymentClientUtil.getRuntimeControllerView();
+		if (prcView != null) {
+			prcView.getPiacereRuntimeController().reloadContent();
+			prcView.refreshViewer();
+		}
+	}
+}
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/actions/old/AddRepositoryLocationAction.java b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/actions/old/AddRepositoryLocationAction.java
new file mode 100644
index 0000000000000000000000000000000000000000..c72dbb36bcd47feae0ae0916fba50de4a3c15a5c
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/actions/old/AddRepositoryLocationAction.java	
@@ -0,0 +1,53 @@
+package eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.actions.old;
+
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.action.IAction;
+
+
+public class AddRepositoryLocationAction extends Action implements IAction
+{
+	public void run() {
+		/*PiacereRuntimeControllerViewPart repositoriesView = DeploymentClientUtil.getModelRepositoriesView();
+		if (repositoriesView != null) { 
+
+			AddRepositoryLocationDialog dialog = new AddRepositoryLocationDialog(repositoriesView.getSite().getShell());
+
+			if (dialog.open() == 0) {
+				String host = dialog.getHost();
+				String repositoryPath = dialog.getRepositoryPath();
+				String repositoryName = dialog.getRepositoryName();
+				
+
+				if (existingLocation(repositoriesView, host, repositoryPath)) {
+					MessageDialog.openError(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), "Repository Already Exists", "The repository location already exists");
+				} 
+				else {
+
+					RepositoryLocation location = new RepositoryLocation(host, repositoryPath, repositoryName);
+
+					if(DeploymentClientUtil.testConnection(location, true)) {
+						location.reloadContent();
+						repositoriesView.getLocations().add(location);
+						repositoriesView.getCommonViewer().setInput(repositoriesView.getLocations());
+						
+					} 
+				} 
+			} 
+		} */
+	}
+
+
+
+	/*private boolean existingLocation(PiacereRuntimeControllerViewPart repositoriesView, String host, String repositoryPath) {
+		List<RepositoryLocation> locations = repositoriesView.getLocations();
+
+		for (RepositoryLocation location : locations) {
+			if (location.getHost().equals(host) && 
+					location.getRepositoryPath().equals(repositoryPath))
+			{
+				return true;
+			}
+		} 
+		return false;
+	}*/
+}
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/actions/old/DeleteModelAction.java b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/actions/old/DeleteModelAction.java
new file mode 100644
index 0000000000000000000000000000000000000000..f1b05f706b5c41482e07ab378256bd0510581245
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/actions/old/DeleteModelAction.java	
@@ -0,0 +1,64 @@
+package eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.actions.old;
+
+import org.eclipse.jface.action.Action;
+
+public class DeleteModelAction extends Action
+{
+	public void run() {
+		super.run();
+
+		/*boolean result = MessageDialog.openConfirm(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), "Delete Model From Repository", "Are you sure you want to delete the selected model from the repository location?");
+
+		if (result) {
+
+			IWorkbenchPart part = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActivePart();
+
+			if (part instanceof FadaModelRepositoriesPart) {
+				FadaModelRepositoriesPart rv = (FadaModelRepositoriesPart)part;
+				ISelection selection = rv.getCommonViewer().getSelection();
+				if (selection instanceof StructuredSelection) {
+					StructuredSelection sel = (StructuredSelection)selection;
+					Object selectedObject = sel.getFirstElement();
+					if (selectedObject instanceof AppComponentsModelVersion) {
+						AppComponentsModelVersion theModelToDownload = (AppComponentsModelVersion)selectedObject;
+						String theURL="/modelsRepository/" + theModelToDownload.getModel().getApp().getAppName() + "/cm/" + theModelToDownload.getModel().getAppComponentsModelName() + "/" + theModelToDownload.getVersion();
+						boolean respuesta=DeploymentClientUtil.doDelete(theURL, theModelToDownload.getModel().getApp().getAppLocation());
+						if(!respuesta) {
+							ErrorDialog.openError(null, "Error", "Error deleting Components Model",null, IStatus.ERROR);
+						}
+						else {
+							theModelToDownload.getModel().getAppComponentsModelVersions().remove(theModelToDownload.getVersion());
+							if(theModelToDownload.getModel().getAppComponentsModelVersions().size()==0) {
+								theModelToDownload.getModel().getApp().getAppComponentsModels().remove(theModelToDownload.getModel().getAppComponentsModelName());
+							}
+							if(theModelToDownload.getModel().getApp().getAppComponentsModels().size()+theModelToDownload.getModel().getApp().getAppSystemConfigurationModels().size()==0) {
+								theModelToDownload.getModel().getApp().getAppLocation().getRepositoryApps().remove(theModelToDownload.getModel().getApp().getAppName());
+							}
+							
+						}
+					}
+					else if (selectedObject instanceof AppSystemConfigurationModelVersion) {
+						AppSystemConfigurationModelVersion theModelToDownload = (AppSystemConfigurationModelVersion)selectedObject;
+						String theURL="/modelsRepository/" + theModelToDownload.getModel().getApp().getAppName() + "/scm/" + theModelToDownload.getModel().getAppSystemConfigurationModelName() + "/" + theModelToDownload.getVersion();
+						boolean respuesta=DeploymentClientUtil.doDelete(theURL, theModelToDownload.getModel().getApp().getAppLocation());
+						if(!respuesta) {
+							ErrorDialog.openError(null, "Error", "Error deleting System Configuration Model",null, IStatus.ERROR);
+						}
+						else {
+							theModelToDownload.getModel().getAppSystemConfigurationModelVersions().remove(theModelToDownload.getVersion());
+							if(theModelToDownload.getModel().getAppSystemConfigurationModelVersions().size()==0) {
+								theModelToDownload.getModel().getApp().getAppSystemConfigurationModels().remove(theModelToDownload.getModel().getAppSystemConfigurationModelName());
+							}
+							if(theModelToDownload.getModel().getApp().getAppComponentsModels().size()+theModelToDownload.getModel().getApp().getAppSystemConfigurationModels().size()==0) {
+								theModelToDownload.getModel().getApp().getAppLocation().getRepositoryApps().remove(theModelToDownload.getModel().getApp().getAppName());
+							}
+							
+						}
+					}
+					rv.refreshViewer();
+				} 
+			} 
+		}*/ 
+	}
+}
+
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/actions/old/DiscardLocationAction.java b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/actions/old/DiscardLocationAction.java
new file mode 100644
index 0000000000000000000000000000000000000000..c5af3facb16a9e80d684e75a7b1faeb5c7724bc1
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/actions/old/DiscardLocationAction.java	
@@ -0,0 +1,37 @@
+package eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.actions.old;
+
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.ui.IWorkbenchPart;
+import org.eclipse.ui.PlatformUI;
+
+public class DiscardLocationAction extends Action
+{
+	public void run() {
+		super.run();
+
+		boolean result = MessageDialog.openConfirm(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), "Discard Repository", "Are you sure you want to discard the selected repository location?");
+
+		if (result) {
+
+			IWorkbenchPart part = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActivePart();
+
+			/*if (part instanceof FadaModelRepositoriesPart) {
+				FadaModelRepositoriesPart rv = (FadaModelRepositoriesPart)part;
+				ISelection selection = rv.getCommonViewer().getSelection();
+				if (selection instanceof StructuredSelection) {
+					StructuredSelection sel = (StructuredSelection)selection;
+					Object selectedobject = sel.getFirstElement();
+					if (selectedobject instanceof RepositoryLocation) {
+						RepositoryLocation rp = (RepositoryLocation)selectedobject;
+						rv.getLocations().remove(rp);
+						rv.refreshViewer();
+					} 
+				} 
+			} */
+		} 
+	}
+}
+
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/actions/old/DownloadModelAction.java b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/actions/old/DownloadModelAction.java
new file mode 100644
index 0000000000000000000000000000000000000000..4396288f8c2167b625ff853e3da3d940c5c0cc6d
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/actions/old/DownloadModelAction.java	
@@ -0,0 +1,121 @@
+package eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.actions.old;
+
+
+
+
+import java.io.File;
+import java.io.FileWriter;
+import java.io.IOException;
+
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.ui.IWorkbenchPart;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.ui.dialogs.ContainerSelectionDialog;
+import org.json.JSONException;
+import org.json.JSONObject;
+
+import eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.util.DeploymentClientUtil;
+
+public class DownloadModelAction extends Action
+{
+	public void run() {
+		super.run();
+
+		/*IWorkbenchPart part = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActivePart();
+
+		if (part instanceof FadaModelRepositoriesPart) {
+			FadaModelRepositoriesPart rv = (FadaModelRepositoriesPart)part;
+			ISelection selection = rv.getCommonViewer().getSelection();
+			if (selection instanceof StructuredSelection) {
+				StructuredSelection sel = (StructuredSelection)selection;
+				Object selectedObject = sel.getFirstElement();
+				if (selectedObject instanceof AppComponentsModelVersion) {
+					AppComponentsModelVersion theModelToDownload = (AppComponentsModelVersion)selectedObject;
+					String destDirectory = getDestDirectory();
+					if(destDirectory!=null) {
+						
+						String theURL="/modelsRepository/" + theModelToDownload.getModel().getApp().getAppName() + "/cm/" + theModelToDownload.getModel().getAppComponentsModelName() + "/" + theModelToDownload.getVersion();
+						JSONObject respuesta=DeploymentClientUtil.doGet(theURL, theModelToDownload.getModel().getApp().getAppLocation());
+						if(respuesta!=null) {
+							try {
+								String fileName=theModelToDownload.getAppCMFileName();
+								createFile(destDirectory+File.separator+fileName, respuesta.getString("CM"));
+								ResourcesPlugin.getWorkspace().getRoot().refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor());
+							} catch (IOException | JSONException | CoreException e) {
+								e.printStackTrace();
+							}
+						}
+					}
+				}
+				else if (selectedObject instanceof AppSystemConfigurationModelVersion) {
+					AppSystemConfigurationModelVersion theModelToDownload = (AppSystemConfigurationModelVersion)selectedObject;
+					String destDirectory = getDestDirectory();
+					if(destDirectory!=null) {
+						String theURL="/modelsRepository/" + theModelToDownload.getModel().getApp().getAppName() + "/scm/" + theModelToDownload.getModel().getAppSystemConfigurationModelName() + "/" + theModelToDownload.getVersion();
+						JSONObject respuesta=DeploymentClientUtil.doGet(theURL, theModelToDownload.getModel().getApp().getAppLocation());
+						if(respuesta!=null) {
+							try {
+								String scmFileName=theModelToDownload.getAppSCMFileName();
+								String cmFileName=theModelToDownload.getModel().getApp().getAppComponentsModels().get(theModelToDownload.getAppComponentsModelReference().getAppComponentsModelReferenceName()).getAppComponentsModelVersions().get(theModelToDownload.getAppComponentsModelReference().getAppComponentsModelReferenceVersion()).getAppCMFileName();
+								createFile(destDirectory+File.separator+cmFileName, respuesta.getString("CM"));
+								createFile(destDirectory+File.separator+scmFileName, changeReference(respuesta.getString("SCM"), cmFileName));
+								ResourcesPlugin.getWorkspace().getRoot().refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor());
+								
+							} catch (IOException | JSONException | CoreException e) {
+								e.printStackTrace();
+							}
+						}
+					}
+				}
+			} 
+		} */
+	}
+
+
+	
+	private void createFile(String fileURI, String fileContent) throws IOException {
+		File f = new File(fileURI);
+		f.getParentFile().mkdirs();
+		if(!f.exists()) {
+			f.createNewFile();
+		}
+		FileWriter fw = new FileWriter(f);
+		fw.write(fileContent);
+		fw.flush();
+		fw.close();
+	}
+	
+	
+	private String changeReference(String scmAsString, String cmFileName) {
+		String toReplace = scmAsString.split("<componentsModel href=\"")[1].split("#")[0];
+		String scmAsString2 = scmAsString.replace(toReplace, cmFileName);
+		return scmAsString2;
+	}
+
+	private String getDestDirectory() {
+		
+		ContainerSelectionDialog csd = new ContainerSelectionDialog(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), ResourcesPlugin.getWorkspace().getRoot(), true, "Select the destination directory");
+		String dir=null;
+		if(csd.open()==ContainerSelectionDialog.OK) {
+			Object[] result = csd.getResult();
+			if (result.length == 1) {
+				dir=((Path)result[0]).toOSString();
+				String s = ResourcesPlugin.getWorkspace().getRoot().getLocationURI().toString();
+				if(s.startsWith("file:")) {
+					s=s.substring(5);
+				}
+				return s+dir;
+			}
+		}
+		return dir == null ? null : dir;
+
+	}
+}
+
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/providers/PRCContentProvider.java b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/providers/PRCContentProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..4c3d5b8e32c8c5f44f98bcaf07bcf2f9b0d09745
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/providers/PRCContentProvider.java	
@@ -0,0 +1,60 @@
+package eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.providers;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.edit.ui.provider.AdapterFactoryContentProvider;
+
+import eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.util.PiacereDeployment;
+import eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.util.PiacereRuntimeController;
+
+public class PRCContentProvider extends AdapterFactoryContentProvider
+{
+	public PRCContentProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+		
+	}
+
+	@SuppressWarnings("unchecked")
+	public Object[] getElements(Object object) {
+		if (object instanceof List) {
+			List<PiacereRuntimeController> elements = (List<PiacereRuntimeController>)object;
+			return elements.toArray();
+		}
+		if (object instanceof PiacereRuntimeController) {
+			return ((PiacereRuntimeController)object).getDeployments().values().toArray();
+			
+		}
+
+		return super.getElements(object);
+	}
+
+
+
+	public boolean hasChildren(Object object) {
+		if (object instanceof PiacereRuntimeController) {
+			return ((PiacereRuntimeController)object).getDeployments().size()>0;
+		}
+		else if(object instanceof PiacereDeployment) {
+			return false;
+		}
+		return super.hasChildren(object);
+	}
+
+
+
+	public Object[] getChildren(Object object) {
+		if (object instanceof PiacereRuntimeController) {
+			PiacereRuntimeController prc = (PiacereRuntimeController)object;
+			ArrayList<Object> assets = new ArrayList<Object>();
+			for(PiacereDeployment dep : prc.getDeployments().values()) {
+				assets.add(dep);
+			}
+			return assets.toArray();
+		}
+		return null;
+	}
+	
+}
+
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/providers/PRCLabelProvider.java b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/providers/PRCLabelProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..a447236af07b5ab093b5565b7e46335668854a47
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/providers/PRCLabelProvider.java	
@@ -0,0 +1,94 @@
+package eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.providers;
+
+import java.io.IOException;
+
+import org.eclipse.core.runtime.FileLocator;
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.jface.viewers.LabelProvider;
+import org.eclipse.swt.graphics.Device;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.swt.widgets.Display;
+
+import eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.util.PiacereDeployment;
+import eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.util.PiacereRuntimeController;
+
+public class PRCLabelProvider extends LabelProvider
+{
+	
+	public String getText(Object element) {
+		if (element instanceof PiacereRuntimeController) {
+			return getPiacereRuntimeControllerLabel((PiacereRuntimeController)element);
+		}
+		else if(element instanceof PiacereDeployment) {
+			return "Deployment ID: "+((PiacereDeployment)element).getDeploymentID();
+		}
+		return super.getText(element);
+	}
+
+	public Image getImage(Object element) {
+		try {
+			String imagePath = FileLocator.toFileURL(Platform.getBundle("PiacereIDEIntegration.KR10_KR11_KR12").getResource("icons/")).getPath();
+			/*if (element instanceof PiacereRuntimeController) {
+				Image image = null;
+				if(((PiacereRuntimeController)element).isConnected()) {
+					image = new Image((Device)Display.getCurrent(), String.valueOf(imagePath) + "RepoConnected.png");
+				}
+				else {
+					image = new Image((Device)Display.getCurrent(), String.valueOf(imagePath) + "RepoDisconnected.png");
+				}
+				return image;
+			} 
+			else */
+			if (element instanceof PiacereDeployment) {
+				Image image = new Image((Device)Display.getCurrent(), String.valueOf(imagePath) + "repository.png");
+				return image;
+			} 
+			/*else if (element instanceof AppComponentsModel) {
+				Image image = new Image((Device)Display.getCurrent(), String.valueOf(imagePath) + "ComponentsModel.png");
+				return image;
+			} 
+			else if (element instanceof AppSystemConfigurationModel) {
+				Image image = new Image((Device)Display.getCurrent(), String.valueOf(imagePath) + "SystemConfigurationModel.png");
+				return image;
+			} 
+
+			else if (element instanceof AppComponentsModelVersion) {
+				Image image = new Image((Device)Display.getCurrent(), String.valueOf(imagePath) + "bundle.png");
+				return image;
+			} 
+			else if (element instanceof AppSystemConfigurationModelVersion) {
+				Image image = new Image((Device)Display.getCurrent(), String.valueOf(imagePath) + "bundle.png");
+				return image;
+			} 
+
+			else if (element instanceof AppComponentsModelReference) {
+				Image image = new Image((Device)Display.getCurrent(), String.valueOf(imagePath) + "ref.png");
+				return image;
+			} */
+		} catch (IOException iOException) {
+			return null;
+		} 
+		return super.getImage(element);
+	}
+
+
+	private String getPiacereRuntimeControllerLabel(PiacereRuntimeController prc) {
+		String res=prc.getPiacereRuntimeControllerURL();
+		
+		/*if(location.getName()!=null && location.getName()!="") {
+			res = location.getName()+": ";
+		}
+
+		String host = (location.getHost() == null) ? "" : location.getHost();
+		String repositoryPath = (location.getRepositoryPath() == null) ? "" : location.getRepositoryPath();
+
+		return res+host + "/" + repositoryPath;*/
+		return res;
+	}
+
+}
+
+
+
+
+
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/util/DeploymentClientUtil.java b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/util/DeploymentClientUtil.java
new file mode 100644
index 0000000000000000000000000000000000000000..0c1ce410d7f74995eebe06b29be06db5abdc7e8f
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/util/DeploymentClientUtil.java	
@@ -0,0 +1,171 @@
+package eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.util;
+
+import org.eclipse.ui.IViewPart;
+import org.eclipse.ui.PlatformUI;
+import org.json.JSONObject;
+import org.restlet.Client;
+import org.restlet.Context;
+import org.restlet.data.Protocol;
+import org.restlet.resource.ClientResource;
+
+import eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.PiacereRuntimeControllerViewPart;
+import eu.piacere.piacereTool.utils.ToolCustomizationUtils;
+
+public class DeploymentClientUtil {
+
+	public static String getPerformanceMonitoringURL(PiacereDeployment deployment, String dashboardTitle) {
+
+		String protocol = ToolCustomizationUtils.getPreference(DeploymentClientUtil.class, "KR11_12.protocol");
+		String host = ToolCustomizationUtils.getPreference(DeploymentClientUtil.class, "KR11_12.host");
+		String port = ToolCustomizationUtils.getPreference(DeploymentClientUtil.class, "KR11_12.port");
+		String epURL = protocol+"://"+host+":"+port+"/";
+		Protocol p = null;
+		if(protocol.equals("http")) {
+			p=Protocol.HTTP;
+		}
+		else {
+			p=Protocol.HTTPS;
+		}
+		Client client = new Client(new Context(), p);
+
+		ClientResource service = new ClientResource(epURL);
+		service.setNext(client);
+		try {
+			ClientResource resource = service.getChild("pmc/api/v1/deployments/"+deployment.getDeploymentID()+"/"+dashboardTitle);
+
+			if(resource.getStatus().getCode()==200){
+				JSONObject respuesta= new JSONObject(resource.get().getText());
+				if(respuesta.has("dashboard_url")) {
+					return respuesta.getString("dashboard_url");
+				}
+			}
+		}
+		catch (Exception e) {
+			e.printStackTrace();
+		}
+
+		return null;
+
+		//return "https://grafana.pm.ci.piacere.digital.tecnalia.dev/d/ADRVbdL7z/piacere-monitoring-dashboard-influx-v1?orgId=1";
+	}
+
+
+	/*public static JSONObject doGet(String getURL, RepositoryLocation modelLocation) {
+
+		if(modelLocation.isConnected()) {
+
+			Protocol p = null;
+			if(modelLocation.getHost().split("://")[0].equals("http")) {
+				p=Protocol.HTTP;
+			}
+			else {
+				p=Protocol.HTTPS;
+			}
+			Client client = new Client(new Context(), p);
+
+			ClientResource service = new ClientResource(modelLocation.getRepositoryURL());
+			service.setNext(client);
+			ClientResource resource = service.getChild(getURL);
+			String respuesta="";
+			try {
+				respuesta=resource.get().getText();
+				return new JSONObject(respuesta);
+			}
+			catch (Exception e) {
+				e.printStackTrace();
+			}
+		}
+		return null;
+	}
+
+	public static boolean doDelete(String deleteURL, RepositoryLocation modelLocation) {
+
+		if(modelLocation.isConnected()) {
+
+			Protocol p = null;
+			if(modelLocation.getHost().split("://")[0].equals("http")) {
+				p=Protocol.HTTP;
+			}
+			else {
+				p=Protocol.HTTPS;
+			}
+			Client client = new Client(new Context(), p);
+
+			ClientResource service = new ClientResource(modelLocation.getRepositoryURL());
+			service.setNext(client);
+			ClientResource resource = service.getChild(deleteURL);
+			try {
+				resource.delete();
+				return resource.getResponse().getStatus().getCode()/100==2;
+			}
+			catch (Exception e) {
+				e.printStackTrace();
+			}
+		}
+		return false;
+	}
+
+	public static boolean doPut(String putURL, Object objectToPut, RepositoryLocation modelLocation) {
+
+		if(modelLocation.isConnected()) {
+
+			Protocol p = null;
+			if(modelLocation.getHost().split("://")[0].equals("http")) {
+				p=Protocol.HTTP;
+			}
+			else {
+				p=Protocol.HTTPS;
+			}
+			Client client = new Client(new Context(), p);
+
+			ClientResource service = new ClientResource(modelLocation.getRepositoryURL());
+			service.setNext(client);
+			ClientResource resource = service.getChild(putURL);
+			try {
+				resource.put(resource.toRepresentation(objectToPut.toString(), MediaType.APPLICATION_JSON));
+				return resource.getResponse().getStatus().getCode()/100==2;
+			}
+			catch (Exception e) {
+				e.printStackTrace();
+			}
+		}
+		return false;
+	}*/
+
+	public static boolean testConnection(PiacereRuntimeController prc, boolean showErrors) {
+		return prc.isConnected();
+
+	}
+
+	public static PiacereRuntimeControllerViewPart getRuntimeControllerView() {
+		try {
+			IViewPart viewPart = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().findView("PiacereIDEIntegration.KR10KR11KR12.PiacereRuntimeControllerViewPart");
+			if (viewPart instanceof PiacereRuntimeControllerViewPart)
+				return (PiacereRuntimeControllerViewPart)viewPart; 
+		} catch (Exception exception) {
+			return null;
+		} 
+		return null;
+	}
+
+
+	public static String getSelfHealingURL(PiacereDeployment selectedObject) {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+
+	public static String getSecuritySelfLearningMonitoringURL(PiacereDeployment selectedObject) {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+
+	public static String getSecurityMonitoringURL(PiacereDeployment selectedObject) {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+
+
+}
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/util/PRCClientUtil.java b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/util/PRCClientUtil.java
new file mode 100644
index 0000000000000000000000000000000000000000..3e0d04752b19d39bfc676778c588127e06cc0f56
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/util/PRCClientUtil.java	
@@ -0,0 +1,102 @@
+package eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.util;
+
+import org.json.JSONArray;
+import org.json.JSONObject;
+import org.restlet.Client;
+import org.restlet.Context;
+import org.restlet.Response;
+import org.restlet.data.MediaType;
+import org.restlet.data.Protocol;
+import org.restlet.representation.EmptyRepresentation;
+import org.restlet.resource.ClientResource;
+
+public class PRCClientUtil {
+
+	public static JSONArray retrieveAllDeploymentsGet(String getURL, Protocol proto) {
+
+		Client client = new Client(new Context(), proto);
+
+		ClientResource service = new ClientResource(getURL);
+		service.setNext(client);
+		ClientResource resource = service.getChild("deployments");
+		String respuesta="";
+		try {
+			respuesta=resource.get().getText();
+			if(respuesta.equals("[]")) {
+				//respuesta="[{\"deploymentId\": \"123e4567-e89b-12d3-a456-426614174000\"}]";
+			}
+			return new JSONArray(respuesta);
+		}
+		catch (Exception e) {
+			e.printStackTrace();
+		}
+		return null;
+
+	}
+
+	public static JSONObject retrieveDeploymentGet(String getURL, Protocol proto, PiacereDeployment deployment) {
+
+		Client client = new Client(new Context(), proto);
+
+		ClientResource service = new ClientResource(getURL);
+		service.setNext(client);
+		ClientResource resource = service.getChild("deployments/"+deployment.getDeploymentID());
+		String respuesta="";
+		try {
+			respuesta=resource.get().getText();
+			return new JSONObject(respuesta);
+		}
+		catch (Exception e) {
+			e.printStackTrace();
+		}
+		return null;
+
+	}
+
+
+
+	public static Response createDeploymentPOST(String postURL, Protocol proto, String repositoryURL, String deploymentID, String commitID) {
+
+		Client client = new Client(new Context(), proto);
+
+		ClientResource service = new ClientResource(postURL);
+		service.setNext(client);
+		try {
+			ClientResource resource = service.getChild("deployments");
+			JSONObject objectToPost=new JSONObject();
+			objectToPost.put("repository_url", repositoryURL);
+			objectToPost.put("deployment_id", deploymentID);
+			objectToPost.put("commit_id", commitID);
+
+			resource.post(resource.toRepresentation(objectToPost.toString(), MediaType.APPLICATION_JSON));
+			//return resource.getResponse().getStatus().getCode()/100==2;
+			return resource.getResponse();
+		}
+		catch (Exception e) {
+			e.printStackTrace();
+		}
+
+		return null;
+	}
+
+
+
+	public static Response finishDeploymentPOST(String postURL, Protocol proto, PiacereDeployment deployment) {
+
+		Client client = new Client(new Context(), proto);
+
+		ClientResource service = new ClientResource(postURL);
+		service.setNext(client);
+		try {
+			ClientResource resource = service.getChild("deployments/"+deployment.getDeploymentID()+"/finish");
+			resource.post(new EmptyRepresentation());
+			//return resource.getResponse().getStatus().getCode()/100==2;
+			return resource.getResponse();
+		}
+		catch (Exception e) {
+			e.printStackTrace();
+		}
+
+		return null;
+	}
+}
\ No newline at end of file
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/util/PiacereDeployment.java b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/util/PiacereDeployment.java
new file mode 100644
index 0000000000000000000000000000000000000000..462857fbd9f4367d55c006f27adeb6248a7a6d96
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/util/PiacereDeployment.java	
@@ -0,0 +1,20 @@
+package eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.util;
+
+public class PiacereDeployment {
+	private String deploymentID;
+	
+	
+	public PiacereDeployment(String id) {
+		this.setDeploymentID(id);
+	}
+
+
+	public String getDeploymentID() {
+		return deploymentID;
+	}
+
+
+	public void setDeploymentID(String deploymentID) {
+		this.deploymentID = deploymentID;
+	}
+}
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/util/PiacereRuntimeController.java b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/util/PiacereRuntimeController.java
new file mode 100644
index 0000000000000000000000000000000000000000..87ee56f70b45171eb34e68cbb9e834e8890754d4
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KR10_KR11_KR12/src/eu/piacere/ide/toolIntegration/kr10kr11kr12/viewPart/util/PiacereRuntimeController.java	
@@ -0,0 +1,141 @@
+package eu.piacere.ide.toolIntegration.kr10kr11kr12.viewPart.util;
+
+import java.util.TreeMap;
+
+import org.json.JSONArray;
+import org.json.JSONException;
+import org.json.JSONObject;
+import org.restlet.Client;
+import org.restlet.Context;
+import org.restlet.data.Protocol;
+import org.restlet.data.Status;
+import org.restlet.resource.ClientResource;
+
+import eu.piacere.piacereTool.utils.ToolCustomizationUtils;
+
+public class PiacereRuntimeController {
+	
+	private String protocol;
+	private String host;
+	private String port;
+	
+	
+	public static String DEPLOYMENTS_PATH = "deployments";
+	
+	private TreeMap<String, PiacereDeployment> rpcDeployments;
+	private Boolean isConnected;
+	
+	public PiacereRuntimeController() {
+		this.setProtocol(ToolCustomizationUtils.getPreference(this.getClass(), "KR10.protocol"));
+		this.setHost(ToolCustomizationUtils.getPreference(this.getClass(), "KR10.host"));
+		this.setPort(ToolCustomizationUtils.getPreference(this.getClass(), "KR10.port"));
+		this.setDeployments(new TreeMap<String,PiacereDeployment>());
+		reloadContent();
+
+	}
+
+	public String getProtocol() {
+		return protocol;
+	}
+
+	public void setProtocol(String protocol) {
+		this.protocol = protocol;
+	}
+
+	public String getHost() {
+		return host;
+	}
+
+	public void setHost(String host) {
+		this.host = host;
+	}
+
+	public String getPort() {
+		return port;
+	}
+
+	public void setPort(String port) {
+		this.port = port;
+	}
+
+	public TreeMap<String, PiacereDeployment> getDeployments() {
+		return rpcDeployments;
+	}
+
+	public void setDeployments(TreeMap<String, PiacereDeployment> rpcDeployments) {
+		this.rpcDeployments = rpcDeployments;
+	}
+	
+	@Override
+	public String toString() {
+		return "PIACERE Runtime Controller";
+	}
+	
+	public void reloadContent() {
+		if(this.testConnection()) {
+			this.setDeployments(new TreeMap<String,PiacereDeployment>());
+			
+			Protocol p = null;
+			if(this.getProtocol().equals("http")) {
+				p=Protocol.HTTP;
+			}
+			else if(this.getProtocol().equals("https")) {
+				p=Protocol.HTTPS;
+			}
+			JSONArray res=PRCClientUtil.retrieveAllDeploymentsGet(getPiacereRuntimeControllerURL(), p);
+			for(int i = 0; i < res.length(); i++) {
+				try {
+					JSONObject obj = res.getJSONObject(i);
+					this.getDeployments().put(obj.getString("deploymentId"), new PiacereDeployment(obj.getString("deploymentId")));
+				} catch (JSONException e) {
+					e.printStackTrace();
+				}				
+			}	
+		}
+	}
+
+	
+	
+	
+	public String getPiacereRuntimeControllerURL() {
+		String res = this.getProtocol()+"://"+this.getHost()+":"+this.getPort()+"/";
+		return res;
+	}
+
+
+	public boolean testConnection() {
+		Protocol p = null;
+		if(this.getProtocol().equals("http")) {
+			p=Protocol.HTTP;
+		}
+		else if(this.getProtocol().equals("https")) {
+			p=Protocol.HTTPS;
+		}
+		if(p!=null) {
+			Client client = new Client(new Context(), p);
+			ClientResource service = new ClientResource(getPiacereRuntimeControllerURL());
+			service.setNext(client);
+			ClientResource resource = service.getChild("/"+DEPLOYMENTS_PATH);
+			try {
+				resource.get().getText();
+				Status s=resource.getStatus();
+				if(s.getCode()==200) {
+					return true;
+				}
+			}
+			catch (Exception e) {
+			}
+		}
+		return false;
+	}
+	
+	public boolean isConnected() {
+		if(this.isConnected==null) {
+			isConnected=testConnection();
+		}
+		return isConnected.booleanValue();
+	}
+
+
+
+}
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KRIEC/.classpath b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/.classpath
new file mode 100644
index 0000000000000000000000000000000000000000..1fa3e6803d3b22e055b735220510616c4e35f2fc
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/.classpath	
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KRIEC/.gitignore b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..ae3c1726048cd06b9a143e0376ed46dd9b9a8d53
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/.gitignore	
@@ -0,0 +1 @@
+/bin/
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KRIEC/.project b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/.project
new file mode 100644
index 0000000000000000000000000000000000000000..3f4326f10b37100d2495485a3e38f9cc84a6824d
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/.project	
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>PiacereIDEIntegration.KRIEC</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KRIEC/META-INF/MANIFEST.MF b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/META-INF/MANIFEST.MF
new file mode 100644
index 0000000000000000000000000000000000000000..d87ae05bc6d391f5a433f5c9916e202c087af35b
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/META-INF/MANIFEST.MF	
@@ -0,0 +1,34 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: PiacereIDEIntegration.KRIEC
+Bundle-SymbolicName: PiacereIDEIntegration.KRIEC;singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Automatic-Module-Name: PiacereIDEIntegration.KRIEC
+Require-Bundle: org.eclipse.ui,
+ org.eclipse.core.runtime,
+ org.apache.httpcomponents.httpcore
+Import-Package: eu.piacere.doml.doml.commons,
+ eu.piacere.piacereTool.utils,
+ org.apache.commons.io,
+ org.apache.http.client;version="4.5.13",
+ org.apache.http.client.methods;version="4.5.13",
+ org.apache.http.impl.client;version="4.5.13",
+ org.eclipse.core.resources,
+ org.eclipse.core.runtime.preferences;version="3.4.0",
+ org.eclipse.emf.common.notify,
+ org.eclipse.emf.common.util,
+ org.eclipse.emf.ecore,
+ org.eclipse.emf.ecore.resource,
+ org.eclipse.emf.ecore.resource.impl,
+ org.eclipse.emf.ecore.util,
+ org.eclipse.emf.edit.provider.resource,
+ org.eclipse.emf.edit.ui.provider,
+ org.eclipse.ui.dialogs,
+ org.eclipse.ui.navigator,
+ org.eclipse.ui.views.properties,
+ org.json,
+ org.restlet,
+ org.restlet.data,
+ org.restlet.representation,
+ org.restlet.resource,
+ org.restlet.util
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KRIEC/Piacere/PiacereIcon_16x16.png b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/Piacere/PiacereIcon_16x16.png
new file mode 100644
index 0000000000000000000000000000000000000000..444de54d6cfe2958fac1bbb89dd8619b4c537c47
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/Piacere/PiacereIcon_16x16.png differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KRIEC/build.properties b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/build.properties
new file mode 100644
index 0000000000000000000000000000000000000000..243224fe60916a29037bb69158cadf01892d797f
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/build.properties	
@@ -0,0 +1,7 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+               .,\
+               plugin.xml,\
+               icons/,\
+               Piacere/
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/ComponentsModel.png b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/ComponentsModel.png
new file mode 100644
index 0000000000000000000000000000000000000000..9ee76accc89ff76934fe746a3af1a853843e1209
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/ComponentsModel.png differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/FAdAIcon_24.png b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/FAdAIcon_24.png
new file mode 100644
index 0000000000000000000000000000000000000000..f4259625230e2b11b98a14aa6b75b52edad25dd8
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/FAdAIcon_24.png differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/FadaModelRepositoriesView.png b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/FadaModelRepositoriesView.png
new file mode 100644
index 0000000000000000000000000000000000000000..4db27dd10ecbbcf29062e8cc7b7b3c22bf72c5a3
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/FadaModelRepositoriesView.png differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/FadaModelRepositoriesView_old.png b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/FadaModelRepositoriesView_old.png
new file mode 100644
index 0000000000000000000000000000000000000000..d4f2feef7f465a95b720ec2a24aa4429b5a64aab
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/FadaModelRepositoriesView_old.png differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/RepoConnected.png b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/RepoConnected.png
new file mode 100644
index 0000000000000000000000000000000000000000..bd178d026ebd3aa22573ca74e985f306d64a59c1
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/RepoConnected.png differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/RepoDisconnected.png b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/RepoDisconnected.png
new file mode 100644
index 0000000000000000000000000000000000000000..0c78354020ea586917e7ec598e357c739b031aa0
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/RepoDisconnected.png differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/SystemConfigurationModel.png b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/SystemConfigurationModel.png
new file mode 100644
index 0000000000000000000000000000000000000000..d4561b60458f1b50d06bfd23d7f8308af08688ef
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/SystemConfigurationModel.png differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/Task.gif b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/Task.gif
new file mode 100644
index 0000000000000000000000000000000000000000..5c3b2b89a47caa2cbec35a9e9c3fe2efef4b2895
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/Task.gif differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/addRepository.png b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/addRepository.png
new file mode 100644
index 0000000000000000000000000000000000000000..fe03f37202ca955983c42397173fb12faca9d187
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/addRepository.png differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/bundle.png b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/bundle.png
new file mode 100644
index 0000000000000000000000000000000000000000..1f41d9b1bfcf6db40272453364a446ad457ec50f
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/bundle.png differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/collapseAll.gif b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/collapseAll.gif
new file mode 100644
index 0000000000000000000000000000000000000000..a2d80a9044f38833cb728a69c88294ce3fd007c7
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/collapseAll.gif differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/deleteRepository.png b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/deleteRepository.png
new file mode 100644
index 0000000000000000000000000000000000000000..807f97450c23a784814393f55a16ff75688ec15b
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/deleteRepository.png differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/download.png b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/download.png
new file mode 100644
index 0000000000000000000000000000000000000000..236f4a77ea9131d404b0efb5e7bddd72098181f9
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/download.png differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/expandAll.gif b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/expandAll.gif
new file mode 100644
index 0000000000000000000000000000000000000000..0205b29176d4e60307639b6ac80ebfc40be61c3b
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/expandAll.gif differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/export.png b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/export.png
new file mode 100644
index 0000000000000000000000000000000000000000..670042c62ce6b5cb200fa3807c57d18511275f39
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/export.png differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/full/elcl16/addrepositorylocation.gif b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/full/elcl16/addrepositorylocation.gif
new file mode 100644
index 0000000000000000000000000000000000000000..6237766393fcc7a602d4695d151c3e546abeab6a
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/full/elcl16/addrepositorylocation.gif differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/full/elcl16/copy.gif b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/full/elcl16/copy.gif
new file mode 100644
index 0000000000000000000000000000000000000000..71d7c95aa8caa2e8f139d262a4e5e08aba2b88e5
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/full/elcl16/copy.gif differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/full/elcl16/integrateconceptualfragment.gif b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/full/elcl16/integrateconceptualfragment.gif
new file mode 100644
index 0000000000000000000000000000000000000000..07164754e5ca231666d9daf7fa4a9d12e378a52a
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/full/elcl16/integrateconceptualfragment.gif differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/full/elcl16/integratetechnicalfragment.gif b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/full/elcl16/integratetechnicalfragment.gif
new file mode 100644
index 0000000000000000000000000000000000000000..e7035189cd8dd45b6afba27b8cbccd75df5000e1
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/full/elcl16/integratetechnicalfragment.gif differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/full/elcl16/paste.gif b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/full/elcl16/paste.gif
new file mode 100644
index 0000000000000000000000000000000000000000..39dd4d9d38aa85f9c4c9ff652c453c555b850980
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/full/elcl16/paste.gif differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/full/elcl16/search.gif b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/full/elcl16/search.gif
new file mode 100644
index 0000000000000000000000000000000000000000..d540a01f4d9eeb9d2951f30cee165c7370e9fc6a
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/full/elcl16/search.gif differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/full/obj16/CapabilityPattern.gif b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/full/obj16/CapabilityPattern.gif
new file mode 100644
index 0000000000000000000000000000000000000000..15ffbb0795fbdc2a0add02f0a07bcea02f034ab4
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/full/obj16/CapabilityPattern.gif differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/full/obj16/CapabilityPatterns.gif b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/full/obj16/CapabilityPatterns.gif
new file mode 100644
index 0000000000000000000000000000000000000000..37147654e68f964a947278cb954e47633809c5c4
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/full/obj16/CapabilityPatterns.gif differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/full/obj16/ConceptualFragment.gif b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/full/obj16/ConceptualFragment.gif
new file mode 100644
index 0000000000000000000000000000000000000000..49ab538b6c432e7eb280793484e555df7ba2761d
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/full/obj16/ConceptualFragment.gif differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/full/obj16/Delete.gif b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/full/obj16/Delete.gif
new file mode 100644
index 0000000000000000000000000000000000000000..b6922ac11cf64e16a15cf2976cdaa1e40118abed
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/full/obj16/Delete.gif differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/full/obj16/DeliveryProcess.gif b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/full/obj16/DeliveryProcess.gif
new file mode 100644
index 0000000000000000000000000000000000000000..7b40362c2f54cebce43f5511342df015c4f52feb
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/full/obj16/DeliveryProcess.gif differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/full/obj16/Description.gif b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/full/obj16/Description.gif
new file mode 100644
index 0000000000000000000000000000000000000000..75f33c24fa441d09729e7adcbc78a4e55d84b443
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/full/obj16/Description.gif differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/full/obj16/Descriptor.gif b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/full/obj16/Descriptor.gif
new file mode 100644
index 0000000000000000000000000000000000000000..04032a915a0d9eace79a7aec3c573ca07eb7f4ac
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/full/obj16/Descriptor.gif differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/full/obj16/Input.gif b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/full/obj16/Input.gif
new file mode 100644
index 0000000000000000000000000000000000000000..d8d7d974fa596ee7a8d06b1d8b110ee7336850af
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/full/obj16/Input.gif differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/full/obj16/Interface.gif b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/full/obj16/Interface.gif
new file mode 100644
index 0000000000000000000000000000000000000000..7c7d39ef65b96d71b7b2e1e576c3677bbf7757f1
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/full/obj16/Interface.gif differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/full/obj16/MethodPlugin.gif b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/full/obj16/MethodPlugin.gif
new file mode 100644
index 0000000000000000000000000000000000000000..bb82c391ed462f0f01e988e00b07f8de262278e7
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/full/obj16/MethodPlugin.gif differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/full/obj16/Name.gif b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/full/obj16/Name.gif
new file mode 100644
index 0000000000000000000000000000000000000000..75f33c24fa441d09729e7adcbc78a4e55d84b443
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/full/obj16/Name.gif differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/full/obj16/Objective.gif b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/full/obj16/Objective.gif
new file mode 100644
index 0000000000000000000000000000000000000000..75f33c24fa441d09729e7adcbc78a4e55d84b443
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/full/obj16/Objective.gif differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/full/obj16/Origin.gif b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/full/obj16/Origin.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c79bf78956a277d98343ab949be3efe08411f37f
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/full/obj16/Origin.gif differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/full/obj16/Output.gif b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/full/obj16/Output.gif
new file mode 100644
index 0000000000000000000000000000000000000000..b4fe2c84ecd2cb1ce8a4fb03a091ba76cad78916
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/full/obj16/Output.gif differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/full/obj16/Package.gif b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/full/obj16/Package.gif
new file mode 100644
index 0000000000000000000000000000000000000000..00a311efa25ac538073fb14e59efbb9a968a94e3
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/full/obj16/Package.gif differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/full/obj16/Processes.gif b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/full/obj16/Processes.gif
new file mode 100644
index 0000000000000000000000000000000000000000..08d8c2d5d1a7a70f5af53200633a7ba92aab1788
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/full/obj16/Processes.gif differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/full/obj16/Repositories.gif b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/full/obj16/Repositories.gif
new file mode 100644
index 0000000000000000000000000000000000000000..16eda8a78a63bfe5874e2e92a29f20a644241bba
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/full/obj16/Repositories.gif differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/full/obj16/RoleSetCategory.gif b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/full/obj16/RoleSetCategory.gif
new file mode 100644
index 0000000000000000000000000000000000000000..54a3f677a3efc25358bb4f637de6166d1425a486
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/full/obj16/RoleSetCategory.gif differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/full/obj16/Task.gif b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/full/obj16/Task.gif
new file mode 100644
index 0000000000000000000000000000000000000000..5c3b2b89a47caa2cbec35a9e9c3fe2efef4b2895
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/full/obj16/Task.gif differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/full/obj16/Tasks.gif b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/full/obj16/Tasks.gif
new file mode 100644
index 0000000000000000000000000000000000000000..638bd83009d2d7bf881dab9dbc07c176edd23060
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/full/obj16/Tasks.gif differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/full/obj16/TechnicalFragment.gif b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/full/obj16/TechnicalFragment.gif
new file mode 100644
index 0000000000000000000000000000000000000000..4f1b85a7801922060d6b5a968a76be30eb5326c9
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/full/obj16/TechnicalFragment.gif differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/full/obj16/TechnicalFragmentError.gif b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/full/obj16/TechnicalFragmentError.gif
new file mode 100644
index 0000000000000000000000000000000000000000..50b162dbdfc4a7f0eabd5d7119871e378efe6940
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/full/obj16/TechnicalFragmentError.gif differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/full/obj16/TechnicalFragmentImported.gif b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/full/obj16/TechnicalFragmentImported.gif
new file mode 100644
index 0000000000000000000000000000000000000000..3260ab2872cfcc35cc75b3501dd05bb23bd6f333
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/full/obj16/TechnicalFragmentImported.gif differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/full/obj16/Type.gif b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/full/obj16/Type.gif
new file mode 100644
index 0000000000000000000000000000000000000000..358cbcb83d800352e59d672771057f3156f27491
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/full/obj16/Type.gif differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/full/obj16/WorkProduct.gif b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/full/obj16/WorkProduct.gif
new file mode 100644
index 0000000000000000000000000000000000000000..1540f3d3c95605a8d7f641f8c93b098e356c40c3
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/full/obj16/WorkProduct.gif differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/full/obj16/WorkProducts.gif b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/full/obj16/WorkProducts.gif
new file mode 100644
index 0000000000000000000000000000000000000000..cf289263e15224bfd984e2145ddc6c6eb415f50c
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/full/obj16/WorkProducts.gif differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/full/obj16/activity16.gif b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/full/obj16/activity16.gif
new file mode 100644
index 0000000000000000000000000000000000000000..cf20deb439ab39a63162c93396060706051569b0
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/full/obj16/activity16.gif differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/full/obj16/role.gif b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/full/obj16/role.gif
new file mode 100644
index 0000000000000000000000000000000000000000..69ebdf2959ed859952751f3f377d581671045873
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/full/obj16/role.gif differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/import.png b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/import.png
new file mode 100644
index 0000000000000000000000000000000000000000..bb6ff06b7bcf18590deb1f93a519d5264b6a067f
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/import.png differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/jar.png b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/jar.png
new file mode 100644
index 0000000000000000000000000000000000000000..660f8ea5131c2f9f59a5fa2491993cfa71a1ac57
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/jar.png differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/ref.png b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/ref.png
new file mode 100644
index 0000000000000000000000000000000000000000..2839c60a42f8a79067981fd7b3a26f4b81a69231
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/ref.png differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/refresh.gif b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/refresh.gif
new file mode 100644
index 0000000000000000000000000000000000000000..e3831471a6592da14f53b1e7c5a2f7d6a92d9937
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/refresh.gif differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/repository.png b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/repository.png
new file mode 100644
index 0000000000000000000000000000000000000000..92794f126f846474fafef14aac6fccb82faaf4f8
Binary files /dev/null and b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/icons/repository.png differ
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KRIEC/plugin.xml b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/plugin.xml
new file mode 100644
index 0000000000000000000000000000000000000000..8013924ee5945bc4ddaf313ca5c7c8ff8d95a373
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/plugin.xml	
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+<plugin>
+   <extension
+         point="org.eclipse.ui.preferencePages">
+      <page
+            category="PiacereToolCustomization.preferences.page1"
+            class="eu.piacere.ide.toolIntegration.kriec.preferencePage.KRIECPreferencePage"
+            id="PiacereIDEIntegration.KRIEC.preferences.page1"
+            name="PIACERE Infrastructure Elements Catalog Preferences">
+      </page>
+   </extension>
+   <extension
+         point="org.eclipse.core.runtime.preferences">
+      <initializer
+            class="eu.piacere.ide.toolIntegration.kriec.preferencePage.KRIECPreferenceInitializer">
+      </initializer>
+   </extension>
+   <extension point = "org.eclipse.ui.views">
+      <view
+         id = "PiacereIDEIntegration.KRIEC.PiacereIECViewPart"
+         name = "PIACERE Infrastructure Elements Catalog"
+         category = "org.eclipse.ui"
+         class = "eu.piacere.ide.toolIntegration.kriec.viewPart.InfrastructureElementsCatalogViewPart"
+         icon = "Piacere/PiacereIcon_16x16.png" />
+   </extension>
+   <extension
+         point="org.eclipse.core.runtime.adapters">
+      <factory
+            adaptableType="eu.piacere.ide.toolIntegration.kriec.util.IECServiceAttribute"
+            class="eu.piacere.ide.toolIntegration.kriec.viewPart.properties.IECServiceAttributeAdapterFactory">
+         <adapter
+               type="org.eclipse.ui.views.properties.IPropertySource">
+         </adapter>
+      </factory>
+   </extension>
+
+</plugin>
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/preferencePage/KRIECPreferenceInitializer.java b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/preferencePage/KRIECPreferenceInitializer.java
new file mode 100644
index 0000000000000000000000000000000000000000..07229925ac6ff4c43c4cec7d90e8c6ac5da0aea1
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/preferencePage/KRIECPreferenceInitializer.java	
@@ -0,0 +1,22 @@
+package eu.piacere.ide.toolIntegration.kriec.preferencePage;
+
+import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer;
+import org.eclipse.core.runtime.preferences.ConfigurationScope;
+import org.eclipse.ui.preferences.ScopedPreferenceStore;
+import org.osgi.framework.FrameworkUtil;
+
+public class KRIECPreferenceInitializer extends AbstractPreferenceInitializer {
+
+	@Override
+	public void initializeDefaultPreferences() {
+		
+		ScopedPreferenceStore scopedPreferenceStore = new ScopedPreferenceStore(ConfigurationScope.INSTANCE,(FrameworkUtil.getBundle(KRIECPreferenceInitializer.class)).getSymbolicName());
+        scopedPreferenceStore.setDefault("KRIEC.host", "iec.ci.piacere.digital.tecnalia.dev");
+        scopedPreferenceStore.setDefault("KRIEC.port", 443);
+        scopedPreferenceStore.setDefault("KRIEC.protocol", "https");
+        
+        
+        
+	}
+
+}
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/preferencePage/KRIECPreferencePage.java b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/preferencePage/KRIECPreferencePage.java
new file mode 100644
index 0000000000000000000000000000000000000000..840dbee6500a8016cd0c3d5627b26094c344ef37
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/preferencePage/KRIECPreferencePage.java	
@@ -0,0 +1,37 @@
+package eu.piacere.ide.toolIntegration.kriec.preferencePage;
+
+import org.eclipse.core.runtime.preferences.ConfigurationScope;
+import org.eclipse.jface.preference.FieldEditorPreferencePage;
+import org.eclipse.jface.preference.IntegerFieldEditor;
+import org.eclipse.jface.preference.RadioGroupFieldEditor;
+import org.eclipse.jface.preference.StringFieldEditor;
+import org.eclipse.ui.IWorkbench;
+import org.eclipse.ui.IWorkbenchPreferencePage;
+import org.eclipse.ui.preferences.ScopedPreferenceStore;
+import org.osgi.framework.FrameworkUtil;
+
+public class KRIECPreferencePage extends FieldEditorPreferencePage implements IWorkbenchPreferencePage{
+
+
+	public KRIECPreferencePage() {
+		super(GRID);
+	}
+
+	@Override
+	public void init(IWorkbench workbench) {
+		//WHICH SCOPE SHOULD I SELECT: https://wiki.eclipse.org/FAQ_What_is_a_preference_scope%3F
+		
+		 setPreferenceStore(new ScopedPreferenceStore(ConfigurationScope.INSTANCE, (FrameworkUtil.getBundle(KRIECPreferenceInitializer.class)).getSymbolicName()));
+	     setDescription("These Are The PIACERE Infrastructure Elements Catalog Preferences");
+
+	}
+
+	@Override
+	protected void createFieldEditors() {
+		addField(new StringFieldEditor("KRIEC.host", "Endpoint Host", getFieldEditorParent()));
+		addField(new IntegerFieldEditor("KRIEC.port", "Endpoint Port", getFieldEditorParent()));
+		addField(new RadioGroupFieldEditor("KRIEC.protocol", "Protocol", 1, new String[][] {{"HTTP","http"},{"HTTPS","https"}}, getFieldEditorParent()));
+
+	}
+
+}
\ No newline at end of file
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/util/IECAbstractElement.java b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/util/IECAbstractElement.java
new file mode 100644
index 0000000000000000000000000000000000000000..2c7b2c69bd28cabcc6c7a9b0433726e9f793e07d
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/util/IECAbstractElement.java	
@@ -0,0 +1,67 @@
+package eu.piacere.ide.toolIntegration.kriec.util;
+
+import java.util.TreeMap;
+
+import org.json.JSONException;
+import org.json.JSONObject;
+
+public abstract class IECAbstractElement {
+
+	private String serviceName;
+	private int serviceID;
+	private int serviceClass;
+	
+	private TreeMap<String, IECServiceAttribute> attributes;
+	
+	public IECAbstractElement(String name, int id, int serviceClass) {
+		this.setServiceName(name);
+		this.setServiceID(id);
+		this.setServiceClass(serviceClass);
+		this.setAttributes(new TreeMap<String, IECServiceAttribute>());
+	}
+
+	public String getServiceName() {
+		return serviceName;
+	}
+
+	public void setServiceName(String serviceName) {
+		this.serviceName = serviceName;
+	}
+
+	public int getServiceID() {
+		return serviceID;
+	}
+
+	public void setServiceID(int serviceID) {
+		this.serviceID = serviceID;
+	}
+
+	public int getServiceClass() {
+		return serviceClass;
+	}
+
+	public void setServiceClass(int serviceClass) {
+		this.serviceClass = serviceClass;
+	}
+
+	public TreeMap<String, IECServiceAttribute> getAttributes() {
+		return attributes;
+	}
+
+	public void setAttributes(TreeMap<String, IECServiceAttribute> attributes) {
+		this.attributes = attributes;
+	}
+	
+	public void addAttribute(IECServiceAttribute attribute) {
+		this.attributes.put(attribute.getType().getName(), attribute);
+	}
+
+	public static IECAbstractElement fromJSON(JSONObject representation, IECAbstractElement theElement) throws JSONException {
+		for(int i=0; i<representation.getJSONArray("serviceAttributeValues").length(); i++) {
+			theElement.addAttribute(IECServiceAttribute.fromJSON(representation.getJSONArray("serviceAttributeValues").getJSONObject(i)));
+		}
+		return theElement;
+	}
+	
+	
+}
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/util/IECCatalog.java b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/util/IECCatalog.java
new file mode 100644
index 0000000000000000000000000000000000000000..78ad87c72f42cdc4daf7c8b54d11aa9bd21a774b
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/util/IECCatalog.java	
@@ -0,0 +1,97 @@
+package eu.piacere.ide.toolIntegration.kriec.util;
+
+import java.util.ArrayList;
+
+import org.json.JSONArray;
+
+
+public class IECCatalog {
+
+	private IECDatabasesContainer databasesContainer;
+	private IECStoragesContainer storagesContainer;
+	private IECVirtualMachinesContainer virtualMachinesContainer;
+
+	public IECCatalog() {
+		this.setDatabasesContainer(new IECDatabasesContainer());
+		this.setStoragesContainer(new IECStoragesContainer());
+		this.setVirtualMachinesContainer(new IECVirtualMachinesContainer());
+
+	}
+	
+	@SuppressWarnings({ "rawtypes", "unchecked" })
+	public Object[] getContainers() {
+		ArrayList l = new ArrayList();
+		l.add(this.getDatabasesContainer());
+		l.add(this.getStoragesContainer());
+		l.add(this.getVirtualMachinesContainer());
+		return l.toArray();
+	}
+
+	public IECDatabasesContainer getDatabasesContainer() {
+		return databasesContainer;
+	}
+
+	public void setDatabasesContainer(IECDatabasesContainer databasesContainer) {
+		this.databasesContainer = databasesContainer;
+	}
+
+	public void addDatabase(IECDatabase database) {
+		this.getDatabasesContainer().getCatalogDatabases().put(database.getServiceName(), database);
+	}
+	public IECStoragesContainer getStoragesContainer() {
+		return storagesContainer;
+	}
+
+	public void setStoragesContainer(IECStoragesContainer storagesContainer) {
+		this.storagesContainer = storagesContainer;
+	}
+
+	public void addStorage(IECStorage storage) {
+		this.getStoragesContainer().getCatalogStorages().put(storage.getServiceName(), storage);
+	}
+
+	public IECVirtualMachinesContainer getVirtualMachinesContainer() {
+		return virtualMachinesContainer;
+	}
+
+	public void setVirtualMachinesContainer(IECVirtualMachinesContainer virtualMachinesContainer) {
+		this.virtualMachinesContainer = virtualMachinesContainer;
+	}
+	
+	public void addVirtualMachine(IECVirtualMachine virtualMachine) {
+		this.getVirtualMachinesContainer().getCatalogVirtualMachines().put(virtualMachine.getServiceName(), virtualMachine);
+	}
+
+	public static IECCatalog fromJSON(JSONArray representation) {
+
+		IECCatalog catalog = new IECCatalog();
+		try {
+			for(int i=0; i<representation.length(); i++) {
+				int serviceClassID=representation.getJSONObject(i).getJSONObject("serviceClass").getInt("id");
+				if(serviceClassID==IECDatabase.IEC_SERVICE_CLASS) {
+					catalog.addDatabase(IECDatabase.fromJSON(representation.getJSONObject(i)));
+				}
+				else if(serviceClassID==IECStorage.IEC_SERVICE_CLASS) {
+					catalog.addStorage(IECStorage.fromJSON(representation.getJSONObject(i)));
+				}
+				else if(serviceClassID==IECVirtualMachine.IEC_SERVICE_CLASS) {
+					catalog.addVirtualMachine(IECVirtualMachine.fromJSON(representation.getJSONObject(i)));
+				}
+
+			}
+		}
+		catch (Exception e) {
+			e.printStackTrace();
+		}
+		return catalog;		
+	}
+	
+	public void reloadContent() {
+		IECCatalog temp = IECCatalogUtil.loadCatalogFromServer();
+		this.setDatabasesContainer(temp.getDatabasesContainer());
+		this.setStoragesContainer(temp.getStoragesContainer());
+		this.setVirtualMachinesContainer(temp.getVirtualMachinesContainer());
+		temp=null;
+	}
+
+}
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/util/IECCatalogUtil.java b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/util/IECCatalogUtil.java
new file mode 100644
index 0000000000000000000000000000000000000000..f8ab76e71d275dc6baca50e24ab0e8607df596a3
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/util/IECCatalogUtil.java	
@@ -0,0 +1,79 @@
+package eu.piacere.ide.toolIntegration.kriec.util;
+
+import org.eclipse.ui.IViewPart;
+import org.eclipse.ui.PlatformUI;
+import org.json.JSONArray;
+import org.restlet.Client;
+import org.restlet.Context;
+import org.restlet.data.Header;
+import org.restlet.data.Protocol;
+import org.restlet.resource.ClientResource;
+import org.restlet.util.Series;
+
+import eu.piacere.ide.toolIntegration.kriec.viewPart.InfrastructureElementsCatalogViewPart;
+import eu.piacere.piacereTool.utils.ToolCustomizationUtils;
+
+public class IECCatalogUtil {
+
+	
+	private static String catalogAPIAuth="Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsImF1dGgiOiJST0xFX0FETUlOLFJPTEVfVVNFUiIsImV4cCI6MTY1NDI0MTQ3OH0.HXSkmE4DLyuxqNQCOxZ7SuNMUNSsA_WV9H3BdTx7W7-gbRBpKPRcQN3nGbHHMDfffkqYITWW1YeiXVckBx9RqA";
+	
+	
+
+
+	public static InfrastructureElementsCatalogViewPart getRuntimeControllerView() {
+		try {
+			IViewPart viewPart = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().findView("PiacereIDEIntegration.KRIEC.PiacereIECViewPart");
+			if (viewPart instanceof InfrastructureElementsCatalogViewPart)
+				return (InfrastructureElementsCatalogViewPart)viewPart; 
+		} catch (Exception exception) {
+			return null;
+		} 
+		return null;
+	}
+	
+	public static IECCatalog loadCatalogFromServer() {
+		
+		String protocol = ToolCustomizationUtils.getPreference(IECCatalogUtil.class, "KRIEC.protocol");
+		String host = ToolCustomizationUtils.getPreference(IECCatalogUtil.class, "KRIEC.host");
+		String port = ToolCustomizationUtils.getPreference(IECCatalogUtil.class, "KRIEC.port");
+		String epURL = protocol+"://"+host+":"+port+"/";
+		Protocol p = null;
+		if(protocol.equals("http")) {
+			p=Protocol.HTTP;
+		}
+		else {
+			p=Protocol.HTTPS;
+		}
+		Client client = new Client(new Context(), p);
+
+		ClientResource service = new ClientResource(epURL);
+		
+		/*@SuppressWarnings("unchecked")
+		Series<Header> headers = (Series<Header>) service.getRequestAttributes().get("org.restlet.http.headers");
+		if(headers!=null) {
+			headers.set("Authorization", catalogAPIAuth);
+		}
+		else {
+			headers=new Series<>(Header.class);
+			headers.set("Authorization", catalogAPIAuth);
+		}
+		service.getRequestAttributes().put("org.restlet.http.headers", headers);
+			*/	
+		service.setNext(client);
+		try {
+			ClientResource resource = service.getChild("services/iecbackend/api/root-services/catalogue");
+			if(resource.getStatus().getCode()==200){
+				JSONArray respuesta= new JSONArray(resource.get().getText());
+				return IECCatalog.fromJSON(respuesta);				
+			}
+		}
+		catch (Exception e) {
+			e.printStackTrace();
+		}
+
+		return null;
+	}
+	
+	
+}
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/util/IECDatabase.java b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/util/IECDatabase.java
new file mode 100644
index 0000000000000000000000000000000000000000..2743a446354607d6596a652dc61334a1d34dafba
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/util/IECDatabase.java	
@@ -0,0 +1,17 @@
+package eu.piacere.ide.toolIntegration.kriec.util;
+
+import org.json.JSONException;
+import org.json.JSONObject;
+
+public class IECDatabase extends IECAbstractElement{
+
+	public static int IEC_SERVICE_CLASS = 1;
+	
+	public IECDatabase(String name, int id) {
+		super(name, id, IECDatabase.IEC_SERVICE_CLASS);
+	}
+	
+	public static IECDatabase fromJSON(JSONObject representation) throws JSONException {
+		return (IECDatabase) IECAbstractElement.fromJSON(representation, new IECDatabase(representation.getString("serviceName"), representation.getInt("id")));
+	}
+}
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/util/IECDatabasesContainer.java b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/util/IECDatabasesContainer.java
new file mode 100644
index 0000000000000000000000000000000000000000..b012e4a9556f4072209e72e5357368248333404d
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/util/IECDatabasesContainer.java	
@@ -0,0 +1,21 @@
+package eu.piacere.ide.toolIntegration.kriec.util;
+
+import java.util.TreeMap;
+
+public class IECDatabasesContainer {
+	
+	private TreeMap<String, IECDatabase> catalogDatabases;
+	
+	public IECDatabasesContainer() {
+		this.setCatalogDatabases(new TreeMap<String, IECDatabase>());
+	}
+
+	public TreeMap<String, IECDatabase> getCatalogDatabases() {
+		return catalogDatabases;
+	}
+
+	public void setCatalogDatabases(TreeMap<String, IECDatabase> catalogDatabases) {
+		this.catalogDatabases = catalogDatabases;
+	}
+
+}
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/util/IECServiceAttribute.java b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/util/IECServiceAttribute.java
new file mode 100644
index 0000000000000000000000000000000000000000..01af67720ab83b4de9849ade1d45c6e9fc4bcaca
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/util/IECServiceAttribute.java	
@@ -0,0 +1,56 @@
+package eu.piacere.ide.toolIntegration.kriec.util;
+
+import org.json.JSONException;
+import org.json.JSONObject;
+
+public class IECServiceAttribute {
+	private int id;
+    private String serviceAttributeValue;
+    private String unitValue;
+    
+    private IECServiceAttributeType type;
+    
+    public IECServiceAttribute(int id, String value, String unitValue) {
+		this.setId(id);
+		this.setServiceAttributeValue(value);
+		this.setUnitValue(unitValue);
+	}
+
+	public int getId() {
+		return id;
+	}
+
+	public void setId(int id) {
+		this.id = id;
+	}
+
+	public String getServiceAttributeValue() {
+		return serviceAttributeValue;
+	}
+
+	public void setServiceAttributeValue(String serviceAttributeValue) {
+		this.serviceAttributeValue = serviceAttributeValue;
+	}
+
+	public String getUnitValue() {
+		return unitValue;
+	}
+
+	public void setUnitValue(String unitValue) {
+		this.unitValue = unitValue;
+	}
+
+	public IECServiceAttributeType getType() {
+		return type;
+	}
+
+	public void setType(IECServiceAttributeType type) {
+		this.type = type;
+	}
+	
+	public static IECServiceAttribute fromJSON(JSONObject representation) throws JSONException {
+		IECServiceAttribute res = new IECServiceAttribute(representation.getInt("id"), representation.getString("serviceAttributeValue"), representation.getString("unitValue"));
+		res.setType(IECServiceAttributeType.fromJSON(representation.getJSONObject("serviceAttributeType")));
+		return res;
+	}
+}
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/util/IECServiceAttributeType.java b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/util/IECServiceAttributeType.java
new file mode 100644
index 0000000000000000000000000000000000000000..fd1bbaee89da7e6ba1227fce8a470255fc92f008
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/util/IECServiceAttributeType.java	
@@ -0,0 +1,126 @@
+package eu.piacere.ide.toolIntegration.kriec.util;
+
+import org.json.JSONException;
+import org.json.JSONObject;
+
+public class IECServiceAttributeType {
+
+	private int id;
+	private String name;
+	private String nfrName;
+	private boolean isEnumeration;
+	private boolean isForm;
+	private boolean isCommon;
+	private boolean isFunctionalRequirement;
+	private String units;
+	private String unitFactor;
+	private String unitRule;
+	private String evalRule;
+
+	public IECServiceAttributeType(int id, String name) {
+		this.setId(id);
+		this.setName(name);
+	}
+
+	public int getId() {
+		return id;
+	}
+	
+	public void setId(int id) {
+		this.id = id;
+	}
+	
+	public String getName() {
+		return name;
+	}
+	
+	public void setName(String name) {
+		this.name = name;
+	}
+	
+	public String getNfrName() {
+		return nfrName;
+	}
+	
+	public void setNfrName(String nfrName) {
+		this.nfrName = nfrName;
+	}
+	
+	public boolean isEnumeration() {
+		return isEnumeration;
+	}
+	
+	public void setEnumeration(boolean isEnumeration) {
+		this.isEnumeration = isEnumeration;
+	}
+	
+	public boolean isForm() {
+		return isForm;
+	}
+	
+	public void setForm(boolean isForm) {
+		this.isForm = isForm;
+	}
+	
+	public boolean isCommon() {
+		return isCommon;
+	}
+	
+	public void setCommon(boolean isCommon) {
+		this.isCommon = isCommon;
+	}
+	
+	public boolean isFunctionalRequirement() {
+		return isFunctionalRequirement;
+	}
+	
+	public void setFunctionalRequirement(boolean isFunctionalRequirement) {
+		this.isFunctionalRequirement = isFunctionalRequirement;
+	}
+	
+	public String getUnits() {
+		return units;
+	}
+	
+	public void setUnits(String units) {
+		this.units = units;
+	}
+	
+	public String getUnitFactor() {
+		return unitFactor;
+	}
+	
+	public void setUnitFactor(String unitFactor) {
+		this.unitFactor = unitFactor;
+	}
+	
+	public String getUnitRule() {
+		return unitRule;
+	}
+	
+	public void setUnitRule(String unitRule) {
+		this.unitRule = unitRule;
+	}
+	
+	public String getEvalRule() {
+		return evalRule;
+	}
+	
+	public void setEvalRule(String evalRule) {
+		this.evalRule = evalRule;
+	}
+	
+	public static IECServiceAttributeType fromJSON(JSONObject representation) throws JSONException {
+		IECServiceAttributeType res = new IECServiceAttributeType(representation.getInt("id"), representation.getString("name"));
+		res.setNfrName(representation.getString("nfrName"));
+		res.setEnumeration(representation.getBoolean("isEnumeration"));
+		res.setForm(representation.getBoolean("isForm"));
+		res.setCommon(representation.getBoolean("isCommon"));
+		res.setFunctionalRequirement(representation.getBoolean("isFunctionalRequirement"));
+		res.setUnits(representation.getString("units"));
+		res.setUnitFactor(representation.getString("unitFactor"));
+		res.setUnitRule(representation.getString("unitRule"));
+		res.setEvalRule(representation.getString("evalRule"));
+		return res;
+	}
+}
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/util/IECStorage.java b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/util/IECStorage.java
new file mode 100644
index 0000000000000000000000000000000000000000..ce5ab07e88d24057f8bb375270b3737a90e1f09d
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/util/IECStorage.java	
@@ -0,0 +1,18 @@
+package eu.piacere.ide.toolIntegration.kriec.util;
+
+import org.json.JSONException;
+import org.json.JSONObject;
+
+public class IECStorage extends IECAbstractElement{
+
+	public static int IEC_SERVICE_CLASS = 2;
+	
+	public IECStorage(String name, int id) {
+		super(name, id, IECStorage.IEC_SERVICE_CLASS);
+	}
+	
+	public static IECStorage fromJSON(JSONObject representation) throws JSONException {
+		return (IECStorage) IECAbstractElement.fromJSON(representation, new IECStorage(representation.getString("serviceName"), representation.getInt("id")));
+	}
+
+}
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/util/IECStoragesContainer.java b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/util/IECStoragesContainer.java
new file mode 100644
index 0000000000000000000000000000000000000000..3df20660b15ec99da10b94d2116fde4e8b4c1921
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/util/IECStoragesContainer.java	
@@ -0,0 +1,20 @@
+package eu.piacere.ide.toolIntegration.kriec.util;
+
+import java.util.TreeMap;
+
+public class IECStoragesContainer {
+	
+	private TreeMap<String, IECStorage> catalogStorages;
+
+	public IECStoragesContainer() {
+		this.setCatalogStorages(new TreeMap<String, IECStorage>());
+	}
+
+	public TreeMap<String, IECStorage> getCatalogStorages() {
+		return catalogStorages;
+	}
+
+	public void setCatalogStorages(TreeMap<String, IECStorage> catalogStorages) {
+		this.catalogStorages = catalogStorages;
+	}
+}
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/util/IECVirtualMachine.java b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/util/IECVirtualMachine.java
new file mode 100644
index 0000000000000000000000000000000000000000..82822bb07bcb75f8da106a85019149986023ed8f
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/util/IECVirtualMachine.java	
@@ -0,0 +1,18 @@
+package eu.piacere.ide.toolIntegration.kriec.util;
+
+import org.json.JSONException;
+import org.json.JSONObject;
+
+public class IECVirtualMachine extends IECAbstractElement{
+
+	public static int IEC_SERVICE_CLASS = 3;
+	
+	public IECVirtualMachine(String name, int id) {
+		super(name, id, IECVirtualMachine.IEC_SERVICE_CLASS);
+	}
+	
+	public static IECVirtualMachine fromJSON(JSONObject representation) throws JSONException {
+		return (IECVirtualMachine) IECAbstractElement.fromJSON(representation, new IECVirtualMachine(representation.getString("serviceName"), representation.getInt("id")));
+	}
+	
+}
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/util/IECVirtualMachinesContainer.java b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/util/IECVirtualMachinesContainer.java
new file mode 100644
index 0000000000000000000000000000000000000000..135247e2de1d21d588258f891a13b9e3fe482287
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/util/IECVirtualMachinesContainer.java	
@@ -0,0 +1,20 @@
+package eu.piacere.ide.toolIntegration.kriec.util;
+
+import java.util.TreeMap;
+
+public class IECVirtualMachinesContainer {
+
+	private TreeMap<String, IECVirtualMachine> catalogVirtualMachines;
+
+	public IECVirtualMachinesContainer() {
+		this.setCatalogVirtualMachines(new TreeMap<String, IECVirtualMachine>());
+	}
+
+	public TreeMap<String, IECVirtualMachine> getCatalogVirtualMachines() {
+		return catalogVirtualMachines;
+	}
+
+	public void setCatalogVirtualMachines(TreeMap<String, IECVirtualMachine> catalogVirtualMachines) {
+		this.catalogVirtualMachines = catalogVirtualMachines;
+	}
+}
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/viewPart/InfrastructureElementsCatalogViewPart.java b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/viewPart/InfrastructureElementsCatalogViewPart.java
new file mode 100644
index 0000000000000000000000000000000000000000..da93998dff2200a41af97b8a55adf44047aeea1e
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/viewPart/InfrastructureElementsCatalogViewPart.java	
@@ -0,0 +1,143 @@
+package eu.piacere.ide.toolIntegration.kriec.viewPart;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.edit.provider.resource.ResourceItemProviderAdapterFactory;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.action.IMenuListener;
+import org.eclipse.jface.action.IMenuManager;
+import org.eclipse.jface.action.MenuManager;
+import org.eclipse.jface.action.Separator;
+import org.eclipse.jface.resource.FontDescriptor;
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.jface.resource.JFaceResources;
+import org.eclipse.jface.resource.LocalResourceManager;
+import org.eclipse.jface.resource.ResourceManager;
+import org.eclipse.jface.viewers.IBaseLabelProvider;
+import org.eclipse.jface.viewers.IContentProvider;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.ISelectionChangedListener;
+import org.eclipse.jface.viewers.ISelectionProvider;
+import org.eclipse.jface.viewers.SelectionChangedEvent;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Menu;
+import org.eclipse.ui.IMemento;
+import org.eclipse.ui.IViewSite;
+import org.eclipse.ui.PartInitException;
+import org.eclipse.ui.actions.ActionGroup;
+import org.eclipse.ui.navigator.CommonNavigator;
+import org.eclipse.ui.navigator.CommonViewer;
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+
+import eu.piacere.ide.toolIntegration.kriec.util.IECCatalog;
+import eu.piacere.ide.toolIntegration.kriec.viewPart.actions.CollapseAllAction;
+import eu.piacere.ide.toolIntegration.kriec.viewPart.actions.ExpandAllAction;
+import eu.piacere.ide.toolIntegration.kriec.viewPart.actions.InfrastructureElementsCatalogViewActionGroup;
+import eu.piacere.ide.toolIntegration.kriec.viewPart.actions.RefreshAction;
+import eu.piacere.ide.toolIntegration.kriec.viewPart.providers.IECContentProvider;
+import eu.piacere.ide.toolIntegration.kriec.viewPart.providers.IECLabelProvider;
+
+
+public class InfrastructureElementsCatalogViewPart extends CommonNavigator implements IMenuListener {
+
+	private static IECCatalog catalog = new IECCatalog();
+
+	public IECCatalog getIECCatalog() {
+		return catalog;
+	}
+
+	
+	@Override
+	public void createPartControl(Composite parent) {
+		super.createPartControl(parent);
+
+		if (getCommonViewer() != null) {
+
+			getCommonViewer().setContentProvider((IContentProvider)new IECContentProvider((AdapterFactory)new ResourceItemProviderAdapterFactory()));
+			getCommonViewer().setInput(getIECCatalog());
+			getCommonViewer().setLabelProvider((IBaseLabelProvider)new IECLabelProvider());
+			ResourceManager resourceManager = new LocalResourceManager(JFaceResources.getResources(), parent);
+			getCommonViewer().getTree().setFont(resourceManager.createFont(FontDescriptor.createFrom(getCommonViewer().getTree().getFont()).setHeight(14)));
+			getCommonViewer().setSorter(null);
+			getCommonViewer().addSelectionChangedListener(new SelectionChangedListener());
+			createContextMenuForViewer(getCommonViewer());
+			getIECCatalog().reloadContent();
+			refreshViewer();
+		} 
+	}
+
+	public void init(IViewSite aSite, IMemento aMemento) throws PartInitException {
+		super.init(aSite, aMemento);
+	}
+	
+
+
+	protected CommonViewer createCommonViewerObject(Composite aParent) {
+		return new CommonViewer(getViewSite().getId(), aParent, 768);
+	}
+
+	private class SelectionChangedListener implements ISelectionChangedListener {
+		@SuppressWarnings("unused")
+		public void selectionChanged(SelectionChangedEvent event) {
+			if (event.getSelection() instanceof StructuredSelection) {
+				Object selected = ((StructuredSelection)event.getSelection()).getFirstElement(); 
+			}
+		}
+	}
+
+	protected ActionGroup createCommonActionGroup() {
+		return (ActionGroup)new InfrastructureElementsCatalogViewActionGroup(getCommonViewer());
+	}
+
+	public void refreshViewer() {
+		CommonViewer viewer = getCommonViewer();
+		if (viewer != null && !viewer.getTree().isDisposed())
+			viewer.refresh(); 
+	}
+
+	public void saveState(IMemento aMemento) {
+		super.saveState(aMemento);
+	}
+	
+	private void createContextMenuForViewer(CommonViewer viewer) {
+		MenuManager contextMenu = new MenuManager("Popup", getImageDescriptor("icons/FadaModelRepositoriesView.png"), null);
+		contextMenu.setRemoveAllWhenShown(true);
+		contextMenu.addMenuListener(this);
+
+		Menu menu = contextMenu.createContextMenu(viewer.getControl());
+		viewer.getControl().setMenu(menu);
+		this.getSite().registerContextMenu(contextMenu, (ISelectionProvider)viewer);
+	}
+
+	public void menuAboutToShow(IMenuManager manager) {
+		ISelection selection = getCommonViewer().getSelection();
+		if (selection instanceof StructuredSelection) {
+			StructuredSelection sel = (StructuredSelection)selection;
+			Object selectedObject = sel.getFirstElement();
+			if (selectedObject instanceof IECCatalog) {
+				
+				RefreshAction ra = new RefreshAction();
+				ra.setText("Refresh All");
+				ra.setImageDescriptor(getImageDescriptor("icons/refresh.gif"));
+				
+				ExpandAllAction eaa = new ExpandAllAction(getCommonViewer());
+				eaa.setText("Expand All");
+				eaa.setImageDescriptor(getImageDescriptor("icons/expandAll.gif"));
+				
+				CollapseAllAction caa = new CollapseAllAction(getCommonViewer());
+				caa.setText("Collapse All");
+				caa.setImageDescriptor(getImageDescriptor("icons/collapseAll.gif"));
+				
+				manager.add((IAction)ra);
+				manager.add(new Separator("additions"));
+				manager.add((IAction)eaa);
+				manager.add((IAction)caa);
+			}
+		} 
+	}
+
+	protected final ImageDescriptor getImageDescriptor(String relativePath) {
+		return AbstractUIPlugin.imageDescriptorFromPlugin("PiacereIDEIntegration.KRIEC", relativePath);
+	}
+	
+}
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/viewPart/actions/CollapseAllAction.java b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/viewPart/actions/CollapseAllAction.java
new file mode 100644
index 0000000000000000000000000000000000000000..c75a2aad2b2c93ad6686c288295a1ec154e3773c
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/viewPart/actions/CollapseAllAction.java	
@@ -0,0 +1,24 @@
+package eu.piacere.ide.toolIntegration.kriec.viewPart.actions;
+
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.ui.IWorkbenchCommandConstants;
+import org.eclipse.ui.navigator.CommonViewer;
+
+public class CollapseAllAction extends Action implements IAction
+{
+	private final CommonViewer commonViewer;
+
+	public CollapseAllAction(CommonViewer aViewer) {
+		super("Collapse all");
+		setToolTipText("Collapse all");
+		setActionDefinitionId(IWorkbenchCommandConstants.NAVIGATE_COLLAPSE_ALL);
+		this.commonViewer = aViewer;
+	}
+
+	public void run() {
+		if (this.commonViewer != null)
+			this.commonViewer.collapseAll(); 
+	}
+}
+
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/viewPart/actions/ExpandAllAction.java b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/viewPart/actions/ExpandAllAction.java
new file mode 100644
index 0000000000000000000000000000000000000000..f5c102752b00e3706d176307bb80b3900fde5c8f
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/viewPart/actions/ExpandAllAction.java	
@@ -0,0 +1,25 @@
+package eu.piacere.ide.toolIntegration.kriec.viewPart.actions;
+
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.ui.IWorkbenchCommandConstants;
+import org.eclipse.ui.navigator.CommonViewer;
+
+public class ExpandAllAction extends Action implements IAction
+{
+	private final CommonViewer commonViewer;
+
+	public ExpandAllAction(CommonViewer aViewer) {
+		super("Expand All");
+		setToolTipText("Expand All");
+		setActionDefinitionId(IWorkbenchCommandConstants.NAVIGATE_EXPAND_ALL);
+
+		this.commonViewer = aViewer;
+	}
+
+	public void run() {
+		if (this.commonViewer != null)
+			this.commonViewer.expandAll(); 
+	}
+}
+
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/viewPart/actions/InfrastructureElementsCatalogViewActionGroup.java b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/viewPart/actions/InfrastructureElementsCatalogViewActionGroup.java
new file mode 100644
index 0000000000000000000000000000000000000000..69af78d9a5ce205747ca88def74c52274dcab6ff
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/viewPart/actions/InfrastructureElementsCatalogViewActionGroup.java	
@@ -0,0 +1,53 @@
+package eu.piacere.ide.toolIntegration.kriec.viewPart.actions;
+
+import org.eclipse.jface.action.Separator;
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.ui.IActionBars;
+import org.eclipse.ui.actions.ActionGroup;
+import org.eclipse.ui.navigator.CommonViewer;
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+
+
+public class InfrastructureElementsCatalogViewActionGroup extends ActionGroup
+{
+	private final CommonViewer commonViewer;
+	
+	public InfrastructureElementsCatalogViewActionGroup(CommonViewer viewer) {
+		this.commonViewer = viewer;
+	}
+
+	protected final ImageDescriptor getImageDescriptor(String relativePath) {
+		return AbstractUIPlugin.imageDescriptorFromPlugin("PiacereIDEIntegration.KRIEC", relativePath);
+	}
+
+	public void fillActionBars(IActionBars actionBars) {
+
+		RefreshAction ra = new RefreshAction();
+		ra.setText("Refresh All");
+		ra.setImageDescriptor(getImageDescriptor("icons/refresh.gif"));
+		
+		/*CreateDeploymentAction cda = new CreateDeploymentAction();
+		cda.setText("Create Deployment");
+		cda.setImageDescriptor(getImageDescriptor("icons/addRepository.png"));*/
+
+		CollapseAllAction caa = new CollapseAllAction(this.commonViewer);
+		caa.setText("Collapse All");
+		caa.setImageDescriptor(getImageDescriptor("icons/collapseAll.gif"));
+
+		ExpandAllAction eaa = new ExpandAllAction(this.commonViewer);
+		eaa.setText("Expand All");
+		eaa.setImageDescriptor(getImageDescriptor("icons/expandAll.gif"));
+
+		actionBars.getMenuManager().add(ra);
+		/*actionBars.getMenuManager().add(new Separator("additions"));
+		actionBars.getMenuManager().add(cda);*/
+		actionBars.getMenuManager().add(new Separator("additions"));
+		actionBars.getMenuManager().add(caa);
+		actionBars.getMenuManager().add(eaa);
+	}
+}
+
+
+
+
+
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/viewPart/actions/RefreshAction.java b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/viewPart/actions/RefreshAction.java
new file mode 100644
index 0000000000000000000000000000000000000000..98c73c2b02c29c3b8b4de56102e0bf2d2afa72d0
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/viewPart/actions/RefreshAction.java	
@@ -0,0 +1,19 @@
+package eu.piacere.ide.toolIntegration.kriec.viewPart.actions;
+
+import org.eclipse.jface.action.Action;
+
+import eu.piacere.ide.toolIntegration.kriec.util.IECCatalogUtil;
+import eu.piacere.ide.toolIntegration.kriec.viewPart.InfrastructureElementsCatalogViewPart;
+
+
+public class RefreshAction extends Action
+{
+	public void run() {
+		super.run();
+		InfrastructureElementsCatalogViewPart prcView = IECCatalogUtil.getRuntimeControllerView();
+		if (prcView != null) {
+			prcView.getIECCatalog().reloadContent();
+			prcView.refreshViewer();
+		}
+	}
+}
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/viewPart/properties/IECServiceAttributeAdapterFactory.java b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/viewPart/properties/IECServiceAttributeAdapterFactory.java
new file mode 100644
index 0000000000000000000000000000000000000000..7477547c240fd4a97bec06e43a39d558839256ac
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/viewPart/properties/IECServiceAttributeAdapterFactory.java	
@@ -0,0 +1,25 @@
+package eu.piacere.ide.toolIntegration.kriec.viewPart.properties;
+
+import org.eclipse.core.runtime.IAdapterFactory;
+import org.eclipse.ui.views.properties.IPropertySource;
+
+import eu.piacere.ide.toolIntegration.kriec.util.IECServiceAttribute;
+
+public class IECServiceAttributeAdapterFactory implements IAdapterFactory {
+
+	private static final Class<?>[] adapterList = new Class<?>[] { IPropertySource.class };
+
+    @Override
+    public <T> T getAdapter(Object adaptableObject, Class<T> adapterType) {
+        if (adapterType== IPropertySource.class && adaptableObject instanceof IECServiceAttribute){
+            return adapterType.cast(new IECServiceAttributePropertySource((IECServiceAttribute) adaptableObject));
+        }
+        return null;
+    }
+
+    @Override
+    public Class<?>[] getAdapterList() {
+        return adapterList;
+    }
+
+}
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/viewPart/properties/IECServiceAttributePropertySource.java b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/viewPart/properties/IECServiceAttributePropertySource.java
new file mode 100644
index 0000000000000000000000000000000000000000..32ef319e235352ea9bd066a1fcb3b7bcafe8e203
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/viewPart/properties/IECServiceAttributePropertySource.java	
@@ -0,0 +1,100 @@
+package eu.piacere.ide.toolIntegration.kriec.viewPart.properties;
+
+import org.eclipse.ui.views.properties.IPropertyDescriptor;
+import org.eclipse.ui.views.properties.IPropertySource;
+import org.eclipse.ui.views.properties.PropertyDescriptor;
+
+import eu.piacere.ide.toolIntegration.kriec.util.IECServiceAttribute;
+
+public class IECServiceAttributePropertySource implements IPropertySource {
+
+	private final IECServiceAttribute serviceAttribute;
+
+	public IECServiceAttributePropertySource(IECServiceAttribute serviceAttribute) {
+		this.serviceAttribute = serviceAttribute;
+	}
+
+	@Override
+	public boolean isPropertySet(Object id) {
+		return false;
+	}
+
+	@Override
+	public Object getEditableValue() {
+		return this;
+	}
+
+	@Override
+	public IPropertyDescriptor[] getPropertyDescriptors() {
+
+		return new IPropertyDescriptor[] {
+				new PropertyDescriptor("id", "ID"),
+				new PropertyDescriptor("name", "Name"),
+				new PropertyDescriptor("value", "Value"),
+				new PropertyDescriptor("unitValue", "Unit Value"),
+				new PropertyDescriptor("evalRule", "Eval Rule"),
+				new PropertyDescriptor("nfrName", "NFR Name"),
+				new PropertyDescriptor("unitFactor", "Unit Factor"),
+				new PropertyDescriptor("unitRule", "Unit Rule"),
+				new PropertyDescriptor("units", "Units"),
+				new PropertyDescriptor("isCommon", "Is Common"),
+				new PropertyDescriptor("isEnumeration", "Is Enumeration"),
+				new PropertyDescriptor("isForm", "Is Form"),
+				new PropertyDescriptor("isFunctionalRequirement", "Is Functional Requirement")};
+	}
+
+	@Override
+	public Object getPropertyValue(Object id) {
+		if (id.equals("id")) {
+			return serviceAttribute.getId();
+		}
+		else if (id.equals("name")) {
+			return serviceAttribute.getType().getName();
+		}
+		else if (id.equals("value")) {
+			return serviceAttribute.getServiceAttributeValue();
+		}
+		else if (id.equals("unitValue")) {
+			return serviceAttribute.getUnitValue();
+		}
+		else if (id.equals("evalRule")) {
+			return serviceAttribute.getType().getEvalRule();
+		}
+		else if (id.equals("nfrName")) {
+			return serviceAttribute.getType().getNfrName();
+		}
+		else if (id.equals("unitFactor")) {
+			return serviceAttribute.getType().getUnitFactor();
+		}
+		else if (id.equals("unitRule")) {
+			return serviceAttribute.getType().getUnitRule();
+		}
+		else if (id.equals("units")) {
+			return serviceAttribute.getType().getUnits();
+		}
+		else if (id.equals("isCommon")) {
+			return serviceAttribute.getType().isCommon();
+		}
+		else if (id.equals("isEnumeration")) {
+			return serviceAttribute.getType().isEnumeration();
+		}
+		else if (id.equals("isForm")) {
+			return serviceAttribute.getType().isForm();
+		}
+		else if (id.equals("isFunctionalRequirement")) {
+			return serviceAttribute.getType().isFunctionalRequirement();
+		}
+		return null;
+	}
+
+	@Override
+	public void resetPropertyValue(Object id) {
+
+	}
+
+	@Override
+	public void setPropertyValue(Object id, Object value) {
+
+	}
+
+}
\ No newline at end of file
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/viewPart/providers/IECContentProvider.java b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/viewPart/providers/IECContentProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..d7ce05e85c62a5a33ac79ca1bc01dfe73a20dce5
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/viewPart/providers/IECContentProvider.java	
@@ -0,0 +1,129 @@
+package eu.piacere.ide.toolIntegration.kriec.viewPart.providers;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.edit.ui.provider.AdapterFactoryContentProvider;
+
+import eu.piacere.ide.toolIntegration.kriec.util.IECCatalog;
+import eu.piacere.ide.toolIntegration.kriec.util.IECDatabase;
+import eu.piacere.ide.toolIntegration.kriec.util.IECDatabasesContainer;
+import eu.piacere.ide.toolIntegration.kriec.util.IECServiceAttribute;
+import eu.piacere.ide.toolIntegration.kriec.util.IECStorage;
+import eu.piacere.ide.toolIntegration.kriec.util.IECStoragesContainer;
+import eu.piacere.ide.toolIntegration.kriec.util.IECVirtualMachine;
+import eu.piacere.ide.toolIntegration.kriec.util.IECVirtualMachinesContainer;
+
+
+public class IECContentProvider extends AdapterFactoryContentProvider
+{
+	public IECContentProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+		
+	}
+
+	
+	public Object[] getElements(Object object) {
+		if (object instanceof IECCatalog) {
+			return ((IECCatalog)object).getContainers();	
+		}
+		
+		else if (object instanceof IECDatabasesContainer) {
+			return ((IECDatabasesContainer)object).getCatalogDatabases().values().toArray();
+		}
+		
+		else if (object instanceof IECStoragesContainer) {
+			return ((IECStoragesContainer)object).getCatalogStorages().values().toArray();
+		}
+		
+		else if (object instanceof IECVirtualMachinesContainer) {
+			return ((IECVirtualMachinesContainer)object).getCatalogVirtualMachines().values().toArray();
+		}
+		
+		else if (object instanceof IECDatabase) {
+			return ((IECDatabase)object).getAttributes().values().toArray();
+		}
+		
+		else if (object instanceof IECStorage) {
+			return ((IECStorage)object).getAttributes().values().toArray();
+		}
+		
+		else if (object instanceof IECVirtualMachine) {
+			return ((IECVirtualMachine)object).getAttributes().values().toArray();
+		}
+
+		return super.getElements(object);
+	}
+
+
+
+	public boolean hasChildren(Object object) {
+		if (object instanceof IECCatalog) {
+			return true;	
+		}
+		
+		else if (object instanceof IECDatabasesContainer) {
+			return ((IECDatabasesContainer)object).getCatalogDatabases().values().size()>0;
+		}
+		
+		else if (object instanceof IECStoragesContainer) {
+			return ((IECStoragesContainer)object).getCatalogStorages().values().size()>0;
+		}
+		
+		else if (object instanceof IECVirtualMachinesContainer) {
+			return ((IECVirtualMachinesContainer)object).getCatalogVirtualMachines().values().size()>0;
+		}
+		
+		else if (object instanceof IECDatabase) {
+			return ((IECDatabase)object).getAttributes().size()>0;
+		}
+		
+		else if (object instanceof IECStorage) {
+			return ((IECStorage)object).getAttributes().size()>0;
+		}
+		
+		else if (object instanceof IECVirtualMachine) {
+			return ((IECVirtualMachine)object).getAttributes().size()>0;
+		}
+		
+		else if (object instanceof IECServiceAttribute) {
+			return false;
+		}
+		
+		return super.hasChildren(object);
+	}
+
+
+
+	public Object[] getChildren(Object object) {
+		if (object instanceof IECCatalog) {
+			((IECCatalog)object).getContainers();	
+		}
+		
+		else if (object instanceof IECDatabasesContainer) {
+			return ((IECDatabasesContainer)object).getCatalogDatabases().values().toArray();
+		}
+		
+		else if (object instanceof IECStoragesContainer) {
+			return ((IECStoragesContainer)object).getCatalogStorages().values().toArray();
+		}
+		
+		else if (object instanceof IECVirtualMachinesContainer) {
+			return ((IECVirtualMachinesContainer)object).getCatalogVirtualMachines().values().toArray();
+		}
+		
+		else if (object instanceof IECDatabase) {
+			return ((IECDatabase)object).getAttributes().values().toArray();
+		}
+		
+		else if (object instanceof IECStorage) {
+			return ((IECStorage)object).getAttributes().values().toArray();
+		}
+		
+		else if (object instanceof IECVirtualMachine) {
+			return ((IECVirtualMachine)object).getAttributes().values().toArray();
+		}
+		
+		return null;
+	}
+	
+}
+
diff --git a/Source Code/V2.1/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/viewPart/providers/IECLabelProvider.java b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/viewPart/providers/IECLabelProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..e4ff06ad9bb0f3e5c4f877b1cf2406afc337b0ed
--- /dev/null
+++ b/Source Code/V2.1/PiacereIDEIntegration.KRIEC/src/eu/piacere/ide/toolIntegration/kriec/viewPart/providers/IECLabelProvider.java	
@@ -0,0 +1,92 @@
+package eu.piacere.ide.toolIntegration.kriec.viewPart.providers;
+
+import java.io.IOException;
+
+import org.eclipse.core.runtime.FileLocator;
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.jface.viewers.LabelProvider;
+import org.eclipse.swt.graphics.Device;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.swt.widgets.Display;
+
+import eu.piacere.ide.toolIntegration.kriec.util.IECDatabase;
+import eu.piacere.ide.toolIntegration.kriec.util.IECDatabasesContainer;
+import eu.piacere.ide.toolIntegration.kriec.util.IECServiceAttribute;
+import eu.piacere.ide.toolIntegration.kriec.util.IECStorage;
+import eu.piacere.ide.toolIntegration.kriec.util.IECStoragesContainer;
+import eu.piacere.ide.toolIntegration.kriec.util.IECVirtualMachine;
+import eu.piacere.ide.toolIntegration.kriec.util.IECVirtualMachinesContainer;
+
+public class IECLabelProvider extends LabelProvider
+{
+	
+	public String getText(Object element) {
+		if (element instanceof IECDatabasesContainer) {
+			return "Databases";
+		} 
+		else if (element instanceof IECStoragesContainer) {
+			
+			return "Storages";
+		} 
+		else if (element instanceof IECVirtualMachinesContainer) {
+			return "Virtual Machines";
+		}
+		else if (element instanceof IECDatabase) {
+			return ((IECDatabase)element).getServiceName();
+		} 
+		else if (element instanceof IECStorage) {
+			return ((IECStorage)element).getServiceName();
+		} 
+		else if (element instanceof IECVirtualMachine) {
+			return ((IECVirtualMachine)element).getServiceName();
+		} 
+		else if (element instanceof IECServiceAttribute) {
+			return ((IECServiceAttribute)element).getType().getName()+": "+((IECServiceAttribute)element).getServiceAttributeValue();
+		}
+		return super.getText(element);
+	}
+
+	public Image getImage(Object element) {
+		try {
+			String imagePath = FileLocator.toFileURL(Platform.getBundle("PiacereIDEIntegration.KRIEC").getResource("icons/")).getPath();
+			
+			if (element instanceof IECDatabasesContainer) {
+				Image image = new Image((Device)Display.getCurrent(), String.valueOf(imagePath) + "bundle.png");
+				return image;
+			} 
+			else if (element instanceof IECStoragesContainer) {
+				Image image = new Image((Device)Display.getCurrent(), String.valueOf(imagePath) + "bundle.png");
+				return image;
+			} 
+			else if (element instanceof IECVirtualMachinesContainer) {
+				Image image = new Image((Device)Display.getCurrent(), String.valueOf(imagePath) + "bundle.png");
+				return image;
+			}
+			else if (element instanceof IECDatabase) {
+				Image image = new Image((Device)Display.getCurrent(), String.valueOf(imagePath) + "repository.png");
+				return image;
+			} 
+			else if (element instanceof IECStorage) {
+				Image image = new Image((Device)Display.getCurrent(), String.valueOf(imagePath) + "jar.png");
+				return image;
+			} 
+			else if (element instanceof IECVirtualMachine) {
+				Image image = new Image((Device)Display.getCurrent(), String.valueOf(imagePath) + "ref.png");
+				return image;
+			}
+			else if (element instanceof IECServiceAttribute) {
+				Image image = new Image((Device)Display.getCurrent(), String.valueOf(imagePath) + "Task.gif");
+				return image;
+			}
+		} catch (IOException iOException) {
+			return null;
+		} 
+		return super.getImage(element);
+	}
+
+}
+
+
+
+
+
diff --git a/Source Code/V2.1/PiacereToolCustomization/.classpath b/Source Code/V2.1/PiacereToolCustomization/.classpath
new file mode 100755
index 0000000000000000000000000000000000000000..1fa3e6803d3b22e055b735220510616c4e35f2fc
--- /dev/null
+++ b/Source Code/V2.1/PiacereToolCustomization/.classpath	
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/Source Code/V2.1/PiacereToolCustomization/.project b/Source Code/V2.1/PiacereToolCustomization/.project
new file mode 100755
index 0000000000000000000000000000000000000000..f8c1892e4ab3a4a3df9dcb7c8b2d9657268a676a
--- /dev/null
+++ b/Source Code/V2.1/PiacereToolCustomization/.project	
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>PiacereToolCustomization</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
diff --git a/Source Code/V2.1/PiacereToolCustomization/FAdAIcons/ConvertToFAdAProject.png b/Source Code/V2.1/PiacereToolCustomization/FAdAIcons/ConvertToFAdAProject.png
new file mode 100644
index 0000000000000000000000000000000000000000..ce012c20e3848f2d0c8a2f08c79ed39ce929e206
Binary files /dev/null and b/Source Code/V2.1/PiacereToolCustomization/FAdAIcons/ConvertToFAdAProject.png differ
diff --git a/Source Code/V2.1/PiacereToolCustomization/FAdAIcons/ConvertToFAdAProject_old.png b/Source Code/V2.1/PiacereToolCustomization/FAdAIcons/ConvertToFAdAProject_old.png
new file mode 100644
index 0000000000000000000000000000000000000000..56108deeb219042fc8da6b8e1ec22cbfe1db1d3d
Binary files /dev/null and b/Source Code/V2.1/PiacereToolCustomization/FAdAIcons/ConvertToFAdAProject_old.png differ
diff --git a/Source Code/V2.1/PiacereToolCustomization/FAdAIcons/FAdAIcon_16.png b/Source Code/V2.1/PiacereToolCustomization/FAdAIcons/FAdAIcon_16.png
new file mode 100644
index 0000000000000000000000000000000000000000..b4078db8573c6315207b6362fbc752336dfff5c4
Binary files /dev/null and b/Source Code/V2.1/PiacereToolCustomization/FAdAIcons/FAdAIcon_16.png differ
diff --git a/Source Code/V2.1/PiacereToolCustomization/FAdAIcons/FAdAIcon_24.png b/Source Code/V2.1/PiacereToolCustomization/FAdAIcons/FAdAIcon_24.png
new file mode 100644
index 0000000000000000000000000000000000000000..f4259625230e2b11b98a14aa6b75b52edad25dd8
Binary files /dev/null and b/Source Code/V2.1/PiacereToolCustomization/FAdAIcons/FAdAIcon_24.png differ
diff --git a/Source Code/V2.1/PiacereToolCustomization/FAdAIcons/FAdAIcon_32.png b/Source Code/V2.1/PiacereToolCustomization/FAdAIcons/FAdAIcon_32.png
new file mode 100644
index 0000000000000000000000000000000000000000..2672c3891b01f3ce5be893b404d727263244cd6d
Binary files /dev/null and b/Source Code/V2.1/PiacereToolCustomization/FAdAIcons/FAdAIcon_32.png differ
diff --git a/Source Code/V2.1/PiacereToolCustomization/FAdAIcons/FAdAIcon_8.png b/Source Code/V2.1/PiacereToolCustomization/FAdAIcons/FAdAIcon_8.png
new file mode 100644
index 0000000000000000000000000000000000000000..41fc8b997c629493aec4979e02aa5bfd59a37204
Binary files /dev/null and b/Source Code/V2.1/PiacereToolCustomization/FAdAIcons/FAdAIcon_8.png differ
diff --git a/Source Code/V2.1/PiacereToolCustomization/FAdAIcons/old/FAdAIcon_16.png b/Source Code/V2.1/PiacereToolCustomization/FAdAIcons/old/FAdAIcon_16.png
new file mode 100644
index 0000000000000000000000000000000000000000..08e6b6036ad0e360db3020dde7df28a87d04a84a
Binary files /dev/null and b/Source Code/V2.1/PiacereToolCustomization/FAdAIcons/old/FAdAIcon_16.png differ
diff --git a/Source Code/V2.1/PiacereToolCustomization/FAdAIcons/old/FAdAIcon_24.png b/Source Code/V2.1/PiacereToolCustomization/FAdAIcons/old/FAdAIcon_24.png
new file mode 100644
index 0000000000000000000000000000000000000000..07bd601d63b754c1e89e11c9496a2ee882105fef
Binary files /dev/null and b/Source Code/V2.1/PiacereToolCustomization/FAdAIcons/old/FAdAIcon_24.png differ
diff --git a/Source Code/V2.1/PiacereToolCustomization/FAdAIcons/old/FAdAIcon_32.png b/Source Code/V2.1/PiacereToolCustomization/FAdAIcons/old/FAdAIcon_32.png
new file mode 100644
index 0000000000000000000000000000000000000000..c0813f81135515bc5b9a21770152855ecf1e45b6
Binary files /dev/null and b/Source Code/V2.1/PiacereToolCustomization/FAdAIcons/old/FAdAIcon_32.png differ
diff --git a/Source Code/V2.1/PiacereToolCustomization/FAdAIcons/old/FAdAIcon_8.png b/Source Code/V2.1/PiacereToolCustomization/FAdAIcons/old/FAdAIcon_8.png
new file mode 100644
index 0000000000000000000000000000000000000000..934b971eb6e91c6f3efd8e0b9b441ba741dbeb85
Binary files /dev/null and b/Source Code/V2.1/PiacereToolCustomization/FAdAIcons/old/FAdAIcon_8.png differ
diff --git a/Source Code/V2.1/PiacereToolCustomization/META-INF/MANIFEST.MF b/Source Code/V2.1/PiacereToolCustomization/META-INF/MANIFEST.MF
new file mode 100755
index 0000000000000000000000000000000000000000..81fbc68a202aceaffa32c73d8fd9fab1a9b3d938
--- /dev/null
+++ b/Source Code/V2.1/PiacereToolCustomization/META-INF/MANIFEST.MF	
@@ -0,0 +1,32 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: PiacereToolCustomization
+Bundle-SymbolicName: PiacereToolCustomization;singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Bundle-Vendor: TaTAmI
+Import-Package: eu.piacere.doml,
+ eu.piacere.doml.generator,
+ eu.piacere.doml.grammar.ui.internal,
+ eu.piacere.doml.ide.contentassist.antlr,
+ eu.piacere.doml.ide.contentassist.antlr.internal,
+ eu.piacere.doml.parser.antlr,
+ eu.piacere.doml.parser.antlr.internal,
+ eu.piacere.doml.scoping,
+ eu.piacere.doml.serializer,
+ eu.piacere.doml.services,
+ eu.piacere.doml.ui.contentassist,
+ eu.piacere.doml.ui.quickfix,
+ eu.piacere.doml.validation,
+ org.eclipse.core.commands,
+ org.eclipse.core.resources,
+ org.eclipse.core.runtime,
+ org.eclipse.jface.viewers,
+ org.eclipse.jface.wizard,
+ org.eclipse.swt.graphics,
+ org.eclipse.ui,
+ org.eclipse.ui.dialogs,
+ org.eclipse.ui.handlers
+Export-Package: eu.piacere.piacereTool.piacereProjectNature
+Require-Bundle: eu.piacere.doml.editor,
+ eu.piacere.doml,
+ eu.piacere.doml.edit
diff --git a/Source Code/V2.1/PiacereToolCustomization/PiacereIcons/PiacereIcon_128x128.png b/Source Code/V2.1/PiacereToolCustomization/PiacereIcons/PiacereIcon_128x128.png
new file mode 100644
index 0000000000000000000000000000000000000000..515cef7760b8362f3c33ae438a648256dae149b0
Binary files /dev/null and b/Source Code/V2.1/PiacereToolCustomization/PiacereIcons/PiacereIcon_128x128.png differ
diff --git a/Source Code/V2.1/PiacereToolCustomization/PiacereIcons/PiacereIcon_16x16.png b/Source Code/V2.1/PiacereToolCustomization/PiacereIcons/PiacereIcon_16x16.png
new file mode 100644
index 0000000000000000000000000000000000000000..444de54d6cfe2958fac1bbb89dd8619b4c537c47
Binary files /dev/null and b/Source Code/V2.1/PiacereToolCustomization/PiacereIcons/PiacereIcon_16x16.png differ
diff --git a/Source Code/V2.1/PiacereToolCustomization/PiacereIcons/PiacereIcon_24x24.png b/Source Code/V2.1/PiacereToolCustomization/PiacereIcons/PiacereIcon_24x24.png
new file mode 100644
index 0000000000000000000000000000000000000000..15a6cd0966080e5292e1ab99a96df89bd694e5b9
Binary files /dev/null and b/Source Code/V2.1/PiacereToolCustomization/PiacereIcons/PiacereIcon_24x24.png differ
diff --git a/Source Code/V2.1/PiacereToolCustomization/PiacereIcons/PiacereIcon_256x256.png b/Source Code/V2.1/PiacereToolCustomization/PiacereIcons/PiacereIcon_256x256.png
new file mode 100644
index 0000000000000000000000000000000000000000..6db52fe2c2ed0dd9f75163214b094476416e341a
Binary files /dev/null and b/Source Code/V2.1/PiacereToolCustomization/PiacereIcons/PiacereIcon_256x256.png differ
diff --git a/Source Code/V2.1/PiacereToolCustomization/PiacereIcons/PiacereIcon_32x32.png b/Source Code/V2.1/PiacereToolCustomization/PiacereIcons/PiacereIcon_32x32.png
new file mode 100644
index 0000000000000000000000000000000000000000..bb51b447d7bc3b9b0c866b35cc9c65917508e0f7
Binary files /dev/null and b/Source Code/V2.1/PiacereToolCustomization/PiacereIcons/PiacereIcon_32x32.png differ
diff --git a/Source Code/V2.1/PiacereToolCustomization/PiacereIcons/PiacereIcon_48x48.png b/Source Code/V2.1/PiacereToolCustomization/PiacereIcons/PiacereIcon_48x48.png
new file mode 100644
index 0000000000000000000000000000000000000000..b610e19f8483d4592b5bd75e3f1f31631fe7d74e
Binary files /dev/null and b/Source Code/V2.1/PiacereToolCustomization/PiacereIcons/PiacereIcon_48x48.png differ
diff --git a/Source Code/V2.1/PiacereToolCustomization/PiacereIcons/PiacereIcon_64x64.png b/Source Code/V2.1/PiacereToolCustomization/PiacereIcons/PiacereIcon_64x64.png
new file mode 100644
index 0000000000000000000000000000000000000000..35e591d0b099c68a688d1f1e8524effa1f20e54a
Binary files /dev/null and b/Source Code/V2.1/PiacereToolCustomization/PiacereIcons/PiacereIcon_64x64.png differ
diff --git a/Source Code/V2.1/PiacereToolCustomization/PiacereIcons/PiacereIcon_8x8.png b/Source Code/V2.1/PiacereToolCustomization/PiacereIcons/PiacereIcon_8x8.png
new file mode 100644
index 0000000000000000000000000000000000000000..7ef08d6c3d1f9db2becf7d9be4f4b63f920aa6af
Binary files /dev/null and b/Source Code/V2.1/PiacereToolCustomization/PiacereIcons/PiacereIcon_8x8.png differ
diff --git a/Source Code/V2.1/PiacereToolCustomization/PiacereIcons/icon16.bmp b/Source Code/V2.1/PiacereToolCustomization/PiacereIcons/icon16.bmp
new file mode 100644
index 0000000000000000000000000000000000000000..b7e20845b6a19075baedbeeb6e08187ae431ab07
Binary files /dev/null and b/Source Code/V2.1/PiacereToolCustomization/PiacereIcons/icon16.bmp differ
diff --git a/Source Code/V2.1/PiacereToolCustomization/PiacereIcons/icon24.bmp b/Source Code/V2.1/PiacereToolCustomization/PiacereIcons/icon24.bmp
new file mode 100644
index 0000000000000000000000000000000000000000..154b047c5c3c053248e49297824a7dbc7ff87291
Binary files /dev/null and b/Source Code/V2.1/PiacereToolCustomization/PiacereIcons/icon24.bmp differ
diff --git a/Source Code/V2.1/PiacereToolCustomization/PiacereIcons/icon256.bmp b/Source Code/V2.1/PiacereToolCustomization/PiacereIcons/icon256.bmp
new file mode 100644
index 0000000000000000000000000000000000000000..8de86f74ca5f55d3394e9adad417fb05fe698688
Binary files /dev/null and b/Source Code/V2.1/PiacereToolCustomization/PiacereIcons/icon256.bmp differ
diff --git a/Source Code/V2.1/PiacereToolCustomization/PiacereIcons/icon32.bmp b/Source Code/V2.1/PiacereToolCustomization/PiacereIcons/icon32.bmp
new file mode 100644
index 0000000000000000000000000000000000000000..bbcafe4d4b1147ac7abbfa3a57da08834f1978d5
Binary files /dev/null and b/Source Code/V2.1/PiacereToolCustomization/PiacereIcons/icon32.bmp differ
diff --git a/Source Code/V2.1/PiacereToolCustomization/PiacereIcons/icon48.bmp b/Source Code/V2.1/PiacereToolCustomization/PiacereIcons/icon48.bmp
new file mode 100644
index 0000000000000000000000000000000000000000..b18d23b7018576501facd65545f0b909fa3ab2e9
Binary files /dev/null and b/Source Code/V2.1/PiacereToolCustomization/PiacereIcons/icon48.bmp differ
diff --git a/Source Code/V2.1/PiacereToolCustomization/PiacereIcons/icon8.bmp b/Source Code/V2.1/PiacereToolCustomization/PiacereIcons/icon8.bmp
new file mode 100644
index 0000000000000000000000000000000000000000..55eada3418ba1f8edd55d3a419415cc59fb618f4
Binary files /dev/null and b/Source Code/V2.1/PiacereToolCustomization/PiacereIcons/icon8.bmp differ
diff --git a/Source Code/V2.1/PiacereToolCustomization/bin/eu/piacere/piacereTool/domlSpec/NewDOMLSpecWizard.class b/Source Code/V2.1/PiacereToolCustomization/bin/eu/piacere/piacereTool/domlSpec/NewDOMLSpecWizard.class
new file mode 100644
index 0000000000000000000000000000000000000000..9f85a4ec64a525e4b166676201011794860c5b3e
Binary files /dev/null and b/Source Code/V2.1/PiacereToolCustomization/bin/eu/piacere/piacereTool/domlSpec/NewDOMLSpecWizard.class differ
diff --git a/Source Code/V2.1/PiacereToolCustomization/bin/eu/piacere/piacereTool/piacerePerspective/PiacerePerspectiveFactory.class b/Source Code/V2.1/PiacereToolCustomization/bin/eu/piacere/piacereTool/piacerePerspective/PiacerePerspectiveFactory.class
new file mode 100644
index 0000000000000000000000000000000000000000..220a4d0ec441a204c7981c5845090a503dbb41d2
Binary files /dev/null and b/Source Code/V2.1/PiacereToolCustomization/bin/eu/piacere/piacereTool/piacerePerspective/PiacerePerspectiveFactory.class differ
diff --git a/Source Code/V2.1/PiacereToolCustomization/bin/eu/piacere/piacereTool/piacereProject/NewPiacereProjectWizard.class b/Source Code/V2.1/PiacereToolCustomization/bin/eu/piacere/piacereTool/piacereProject/NewPiacereProjectWizard.class
new file mode 100644
index 0000000000000000000000000000000000000000..35fc1337e185767701711d94e933dd43a51bac6c
Binary files /dev/null and b/Source Code/V2.1/PiacereToolCustomization/bin/eu/piacere/piacereTool/piacereProject/NewPiacereProjectWizard.class differ
diff --git a/Source Code/V2.1/PiacereToolCustomization/bin/eu/piacere/piacereTool/piacereProjectNature/AddRemovePiacereProjectNatureHandler.class b/Source Code/V2.1/PiacereToolCustomization/bin/eu/piacere/piacereTool/piacereProjectNature/AddRemovePiacereProjectNatureHandler.class
new file mode 100644
index 0000000000000000000000000000000000000000..49d6347bb0e592da7a5b5aca6513b55e30d1bc4c
Binary files /dev/null and b/Source Code/V2.1/PiacereToolCustomization/bin/eu/piacere/piacereTool/piacereProjectNature/AddRemovePiacereProjectNatureHandler.class differ
diff --git a/Source Code/V2.1/PiacereToolCustomization/bin/eu/piacere/piacereTool/piacereProjectNature/PiacereNature.class b/Source Code/V2.1/PiacereToolCustomization/bin/eu/piacere/piacereTool/piacereProjectNature/PiacereNature.class
new file mode 100644
index 0000000000000000000000000000000000000000..e4300d1cbd9c301b9dbaa19caff19d3befcd0bf6
Binary files /dev/null and b/Source Code/V2.1/PiacereToolCustomization/bin/eu/piacere/piacereTool/piacereProjectNature/PiacereNature.class differ
diff --git a/Source Code/V2.1/PiacereToolCustomization/bin/eu/piacere/piacereTool/piacereProjectNature/PiacereNatureBuilder$SampleDeltaVisitor.class b/Source Code/V2.1/PiacereToolCustomization/bin/eu/piacere/piacereTool/piacereProjectNature/PiacereNatureBuilder$SampleDeltaVisitor.class
new file mode 100644
index 0000000000000000000000000000000000000000..afb4ce480f1401527c1b177b926ac33282e4cac8
Binary files /dev/null and b/Source Code/V2.1/PiacereToolCustomization/bin/eu/piacere/piacereTool/piacereProjectNature/PiacereNatureBuilder$SampleDeltaVisitor.class differ
diff --git a/Source Code/V2.1/PiacereToolCustomization/bin/eu/piacere/piacereTool/piacereProjectNature/PiacereNatureBuilder$SampleResourceVisitor.class b/Source Code/V2.1/PiacereToolCustomization/bin/eu/piacere/piacereTool/piacereProjectNature/PiacereNatureBuilder$SampleResourceVisitor.class
new file mode 100644
index 0000000000000000000000000000000000000000..42d2928b5bc7ce44ce1cfdba3f4d5158acab8e26
Binary files /dev/null and b/Source Code/V2.1/PiacereToolCustomization/bin/eu/piacere/piacereTool/piacereProjectNature/PiacereNatureBuilder$SampleResourceVisitor.class differ
diff --git a/Source Code/V2.1/PiacereToolCustomization/bin/eu/piacere/piacereTool/piacereProjectNature/PiacereNatureBuilder$XMLErrorHandler.class b/Source Code/V2.1/PiacereToolCustomization/bin/eu/piacere/piacereTool/piacereProjectNature/PiacereNatureBuilder$XMLErrorHandler.class
new file mode 100644
index 0000000000000000000000000000000000000000..2c553ed802a7b56b86cf9ec053449bf73c3ac2cb
Binary files /dev/null and b/Source Code/V2.1/PiacereToolCustomization/bin/eu/piacere/piacereTool/piacereProjectNature/PiacereNatureBuilder$XMLErrorHandler.class differ
diff --git a/Source Code/V2.1/PiacereToolCustomization/bin/eu/piacere/piacereTool/piacereProjectNature/PiacereNatureBuilder.class b/Source Code/V2.1/PiacereToolCustomization/bin/eu/piacere/piacereTool/piacereProjectNature/PiacereNatureBuilder.class
new file mode 100644
index 0000000000000000000000000000000000000000..cf64b38670872a59194e697914bb88e55e3e9fac
Binary files /dev/null and b/Source Code/V2.1/PiacereToolCustomization/bin/eu/piacere/piacereTool/piacereProjectNature/PiacereNatureBuilder.class differ
diff --git a/Source Code/V2.1/PiacereToolCustomization/bin/eu/piacere/piacereTool/prefPage/PreferencePage.class b/Source Code/V2.1/PiacereToolCustomization/bin/eu/piacere/piacereTool/prefPage/PreferencePage.class
new file mode 100644
index 0000000000000000000000000000000000000000..1b60b4d3ee2ea46b1e024943e2382f5d786d0d92
Binary files /dev/null and b/Source Code/V2.1/PiacereToolCustomization/bin/eu/piacere/piacereTool/prefPage/PreferencePage.class differ
diff --git a/Source Code/V2.1/PiacereToolCustomization/build.properties b/Source Code/V2.1/PiacereToolCustomization/build.properties
new file mode 100755
index 0000000000000000000000000000000000000000..3a3619a3a37df30c3f43ec59d12b40c67d1b1b91
--- /dev/null
+++ b/Source Code/V2.1/PiacereToolCustomization/build.properties	
@@ -0,0 +1,7 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+               .,\
+               plugin.xml,\
+               icons/,\
+               PiacereIcons/
diff --git a/Source Code/V2.1/PiacereToolCustomization/plugin.xml b/Source Code/V2.1/PiacereToolCustomization/plugin.xml
new file mode 100755
index 0000000000000000000000000000000000000000..58c7858e1d643721dd809aa64498fba1b1cdd0fe
--- /dev/null
+++ b/Source Code/V2.1/PiacereToolCustomization/plugin.xml	
@@ -0,0 +1,180 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+<plugin>
+
+<extension point="org.eclipse.ui.newWizards">
+	<wizard
+            category="eu.piacere.category.id"
+            class="eu.piacere.piacereTool.piacereProject.NewPiacereProjectWizard"
+            finalPerspective="eu.piacere.piacerePerspective.id"
+            icon="PiacereIcons/PiacereIcon_16x16.png"
+            id="eu.piacere.piacereProject.id"
+            name="New Piacere Project"
+            preferredPerspectives="eu.piacere.piacerePerspective.id"
+            project="true">
+      </wizard>
+	<category
+        id="eu.piacere.category.id"
+        name="Piacere">
+  </category>
+  <category
+        id="eu.piacere.modelsCategory.id"
+        name="Piacere Models"
+        parentCategory="eu.piacere.category.id">
+  </category>
+  <category
+        id="eu.piacere.diagramsCategory.id"
+        name="Piacere Diagrams"
+        parentCategory="eu.piacere.category.id">
+  </category>
+  <category
+        id="eu.piacere.piacereModelsCommands.category.id"
+        name="Piacere Diagrams"
+        parentCategory="eu.piacere.category.id">
+  </category>
+  <wizard
+        category="eu.piacere.category.id"
+        class="eu.piacere.piacereTool.domlSpec.NewDOMLSpecWizard"
+        finalPerspective="eu.piacere.piacerePerspective.id"
+        icon="PiacereIcons/PiacereIcon_16x16.png"
+        id="eu.piacere.domlSpec.id"
+        name="New DOML Spec"
+        preferredPerspectives="eu.piacere.piacerePerspective.id">
+  </wizard>
+</extension>
+<extension
+         point="org.eclipse.ui.perspectives">
+      <perspective
+            class="eu.piacere.piacereTool.piacerePerspective.PiacerePerspectiveFactory"
+            icon="PiacereIcons/PiacereIcon_16x16.png"
+            id="eu.piacere.piacerePerspective.id"
+            name="Piacere">
+      </perspective>
+   </extension>
+<extension
+       point="org.eclipse.ui.perspectiveExtensions">
+    <perspectiveExtension
+          targetID="eu.piacere.piacerePerspective.id">
+       <newWizardShortcut
+             id="eu.piacere.piacereProject.id">
+       </newWizardShortcut>
+       <newWizardShortcut
+             id="eu.piacere.doml.doml.application.presentation.ApplicationModelWizardID">
+       </newWizardShortcut>
+       <newWizardShortcut
+             id="eu.piacere.doml.doml.commons.presentation.CommonsModelWizardID">
+       </newWizardShortcut>
+       <newWizardShortcut
+             id="eu.piacere.doml.doml.concrete.presentation.ConcreteModelWizardID">
+       </newWizardShortcut>
+       <newWizardShortcut
+             id="eu.piacere.doml.doml.infrastructure.presentation.InfrastructureModelWizardID">
+       </newWizardShortcut>
+       <newWizardShortcut
+             id="eu.piacere.doml.doml.optimization.presentation.OptimizationModelWizardID">
+       </newWizardShortcut>
+       <newWizardShortcut
+             id="eu.piacere.domlSpec.id">
+       </newWizardShortcut>
+    </perspectiveExtension>
+ </extension>
+   <extension
+         id="eu.piacere.piacereProjectNatureBuilder.id"
+         name="Piacere Project Builder"
+         point="org.eclipse.core.resources.builders">
+      <builder
+            hasNature="true">
+         <run
+               class="eu.piacere.piacereTool.piacereProjectNature.PiacereNatureBuilder">
+         </run>
+      </builder>
+   </extension>
+   <extension
+         id="eu.piacere.piacereProjectNature.id"
+         name="Piacere Project Nature"
+         point="org.eclipse.core.resources.natures">
+      <runtime>
+         <run
+               class="eu.piacere.piacereTool.piacereProjectNature.PiacereNature">
+         </run>
+      </runtime>
+      <builder
+            id="eu.piacere.piacereProjectNatureBuilder.id">
+      </builder>
+   </extension>
+   <extension
+         id="xmlProblem"
+         name="XML Problem"
+         point="org.eclipse.core.resources.markers">
+      <super
+            type="org.eclipse.core.resources.problemmarker">
+      </super>
+      <persistent
+            value="true">
+      </persistent>
+   </extension>
+   <extension
+         point="org.eclipse.ui.ide.projectNatureImages">
+      <image
+            icon="PiacereIcons/PiacereIcon_16x16.png"
+            id="eu.piacerepiacereProjectNature.piacereProjectNatureImage.id"
+            natureId="eu.piacere.piacereProjectNature.id">
+      </image>
+   </extension>
+   <extension
+		point="org.eclipse.ui.commands">
+		<category
+			id="eu.piacere.piacereModelsCommands.category.id"
+			name="Piacere Models Commands">
+		</category>
+      <category
+            id="eu.piacere.eclipseProjectNature.piacereNature.category.id"
+            name="Piacere Nature commands">
+      </category>
+      <command
+            categoryId="eu.piacere.eclipseProjectNature.piacereNature.category.id"
+            defaultHandler="eu.piacere.piacereTool.piacereProjectNature.AddRemovePiacereProjectNatureHandler"
+            id="eu.piacere.eclipseProjectNature.piacereNature.addRemovePiacereProjectNatureCommand.id"
+            name="Add Piacere Project Nature">
+      </command>
+      </extension>
+   
+   <extension point="org.eclipse.ui.menus">
+      <menuContribution allPopups="false" locationURI="popup:org.eclipse.ui.popup.any?after=additions">
+         <menu icon="PiacereIcons/PiacereIcon_16x16.png" id="eu.piacere.eclipsePopupMenu.id" label="Piacere">
+         </menu>
+      </menuContribution>
+      <menuContribution allPopups="false" locationURI="popup:eu.piacere.eclipsePopupMenu.id">
+      
+       <command
+               commandId="eu.piacere.eclipseProjectNature.piacereNature.addRemovePiacereProjectNatureCommand.id"
+               icon="PiacereIcons/PiacereIcon_24x24.png"
+               label="Convert To Piacere Project"
+               style="push"
+               tooltip="Converts the current project into a Piacere Project">
+            <visibleWhen checkEnabled="false">
+               <with variable="selection">
+                  <count value="1">
+                  </count>
+                  <iterate>
+                     <adapt type="org.eclipse.core.resources.IProject">
+                        <not>
+                           <test property="org.eclipse.core.resources.projectNature" value="eu.piacere.piacereProjectNature.id">
+                           </test>
+                        </not>
+                     </adapt>
+                  </iterate>
+               </with>
+            </visibleWhen>
+         </command>
+         </menuContribution>
+         </extension>
+   <extension
+         point="org.eclipse.ui.preferencePages">
+      <page
+            class="eu.piacere.piacereTool.prefPage.PreferencePage"
+            id="PiacereToolCustomization.preferences.page1"
+            name="Piacere">
+      </page>
+   </extension>
+</plugin>
diff --git a/Source Code/V2.1/PiacereToolCustomization/src/eu/piacere/piacereTool/domlSpec/NewDOMLSpecWizard.java b/Source Code/V2.1/PiacereToolCustomization/src/eu/piacere/piacereTool/domlSpec/NewDOMLSpecWizard.java
new file mode 100644
index 0000000000000000000000000000000000000000..ceb6ba8c95d15bfe0d7aa00060206a42e34a96b8
--- /dev/null
+++ b/Source Code/V2.1/PiacereToolCustomization/src/eu/piacere/piacereTool/domlSpec/NewDOMLSpecWizard.java	
@@ -0,0 +1,58 @@
+package eu.piacere.piacereTool.domlSpec;
+
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.wizard.Wizard;
+import org.eclipse.ui.INewWizard;
+import org.eclipse.ui.IWorkbench;
+import org.eclipse.ui.dialogs.WizardNewFileCreationPage;
+
+public class NewDOMLSpecWizard extends Wizard implements INewWizard {
+	
+	private WizardNewFileCreationPage _pageOne;
+	private IStructuredSelection sel;
+	public NewDOMLSpecWizard() {
+		setWindowTitle("New DOML Specification");
+	}
+
+	@Override
+	public void init(IWorkbench workbench, IStructuredSelection selection) {
+		this.sel=selection;
+
+	}
+
+	@Override
+	public boolean performFinish() {
+		_pageOne.createNewFile();
+		return true;
+	}
+	
+	
+	@Override
+	public void addPages() {
+	    super.addPages();
+	     
+	    _pageOne = new WizardNewFileCreationPage("New DOML Specification", this.sel);
+	    _pageOne.setTitle("New DOML Specification");
+	    _pageOne.setDescription("Create a new DOML Specification.");
+	    _pageOne.setFileExtension("doml");
+	 
+	    addPage(_pageOne);
+	}
+	
+	/**
+	 * @generated
+	 */
+	public String isValid(String newText) {
+		IStatus status = ResourcesPlugin.getWorkspace().validateName(newText, IResource.FILE);
+		if (!status.isOK()) {
+			return status.getMessage();
+		}
+		return null;
+	}
+
+	
+	
+}
diff --git a/Source Code/V2.1/PiacereToolCustomization/src/eu/piacere/piacereTool/piacerePerspective/PiacerePerspectiveFactory.java b/Source Code/V2.1/PiacereToolCustomization/src/eu/piacere/piacereTool/piacerePerspective/PiacerePerspectiveFactory.java
new file mode 100644
index 0000000000000000000000000000000000000000..d1facf44c97df7bd9dd24940013efdfee0b80055
--- /dev/null
+++ b/Source Code/V2.1/PiacereToolCustomization/src/eu/piacere/piacereTool/piacerePerspective/PiacerePerspectiveFactory.java	
@@ -0,0 +1,38 @@
+package eu.piacere.piacereTool.piacerePerspective;
+
+import org.eclipse.ui.IFolderLayout;
+import org.eclipse.ui.IPageLayout;
+import org.eclipse.ui.IPerspectiveFactory;
+
+public class PiacerePerspectiveFactory implements IPerspectiveFactory {
+
+	public static final String PIACERE_PERSPECTIVE_ID="eu.piacere.piacerePerspective.id";
+
+	@Override
+	public void createInitialLayout(IPageLayout layout) {
+
+		String editorArea = layout.getEditorArea();
+
+		IFolderLayout leftTop = layout.createFolder("leftTop", IPageLayout.LEFT, (float) 0.2, editorArea);
+		leftTop.addView(IPageLayout.ID_PROJECT_EXPLORER);
+
+		IFolderLayout leftBottom = layout.createFolder("leftBottom", IPageLayout.BOTTOM, (float) 0.7, "leftTop");
+		leftBottom.addView(IPageLayout.ID_OUTLINE);
+
+		IFolderLayout rightBottom = layout.createFolder("bottom", IPageLayout.BOTTOM, (float)0.7, editorArea);
+		//rightBottom.addView("TaTAmIAdaptationFramework.Tool.DashboardPart");
+		//rightBottom.addView("TaTAmIAdaptationFramework.Tool.FadaModelRepositoriesViewPart");
+		//rightBottom.addView("TaTAmIAdaptationFramework.Tool.FadaRuntimeInstancesRepositoriesViewPart");
+		rightBottom.addView(IPageLayout.ID_PROP_SHEET);
+
+		layout.addActionSet("org.eclipse.debug.ui.launchActionSet");
+
+		layout.addPerspectiveShortcut("org.eclipse.pde.ui.PDEPerspective");
+
+		layout.addShowViewShortcut("org.eclipse.ui.navigator.ProjectExplorer");
+		layout.addShowViewShortcut("org.eclipse.ui.views.ContentOutline");
+		layout.addShowViewShortcut("org.eclipse.ui.views.PropertySheet");
+		
+	}
+
+}
diff --git a/Source Code/V2.1/PiacereToolCustomization/src/eu/piacere/piacereTool/piacereProject/NewPiacereProjectWizard.java b/Source Code/V2.1/PiacereToolCustomization/src/eu/piacere/piacereTool/piacereProject/NewPiacereProjectWizard.java
new file mode 100755
index 0000000000000000000000000000000000000000..5f5d9b2bde6164fb8735cc3e2e898ce0c1e6d1ee
--- /dev/null
+++ b/Source Code/V2.1/PiacereToolCustomization/src/eu/piacere/piacereTool/piacereProject/NewPiacereProjectWizard.java	
@@ -0,0 +1,73 @@
+package eu.piacere.piacereTool.piacereProject;
+
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IProjectDescription;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.wizard.Wizard;
+import org.eclipse.ui.INewWizard;
+import org.eclipse.ui.IWorkbench;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.ui.WorkbenchException;
+import org.eclipse.ui.dialogs.WizardNewProjectCreationPage;
+
+import eu.piacere.piacereTool.piacerePerspective.PiacerePerspectiveFactory;
+import eu.piacere.piacereTool.piacereProjectNature.PiacereNature;
+
+public class NewPiacereProjectWizard extends Wizard implements INewWizard {
+
+	private WizardNewProjectCreationPage _pageOne;
+	
+
+	public NewPiacereProjectWizard() {
+		setWindowTitle("New Piacere Project");
+	}
+
+	@Override
+	public void init(IWorkbench workbench, IStructuredSelection selection) {
+
+	}
+
+	@Override
+	public boolean performFinish() {
+		IProject p =ResourcesPlugin.getWorkspace().getRoot().getProject(_pageOne.getProjectName());
+		try {
+			IProgressMonitor pm=new NullProgressMonitor();
+			p.create(pm);
+			p.open(pm);
+			IProjectDescription description = p.getDescription();
+			String[] natures = description.getNatureIds();
+			String[] newNatures = new String[natures.length + 1];
+			System.arraycopy(natures, 0, newNatures, 0, natures.length);
+			newNatures[natures.length] = PiacereNature.NATURE_ID;
+			description.setNatureIds(newNatures);
+			p.setDescription(description, null);
+			try 
+			{
+			   PlatformUI.getWorkbench().showPerspective(PiacerePerspectiveFactory.PIACERE_PERSPECTIVE_ID,PlatformUI.getWorkbench().getActiveWorkbenchWindow());
+			} 
+			catch (WorkbenchException e) 
+			{
+			   e.printStackTrace();
+			}
+		} catch (CoreException e) {
+			e.printStackTrace();
+		}
+		return true;
+	}
+	
+	@Override
+	public void addPages() {
+	    super.addPages();
+	 
+	    _pageOne = new WizardNewProjectCreationPage("New Piacere Project");
+	    _pageOne.setTitle("New Piacere Project");
+	    _pageOne.setDescription("Create a new Piacere Project.");
+	 
+	    addPage(_pageOne);
+	}
+
+}
diff --git a/Source Code/V2.1/PiacereToolCustomization/src/eu/piacere/piacereTool/piacereProjectNature/AddRemovePiacereProjectNatureHandler.java b/Source Code/V2.1/PiacereToolCustomization/src/eu/piacere/piacereTool/piacereProjectNature/AddRemovePiacereProjectNatureHandler.java
new file mode 100755
index 0000000000000000000000000000000000000000..eb223d797f43aef0c8dd77cb89e373e3220483aa
--- /dev/null
+++ b/Source Code/V2.1/PiacereToolCustomization/src/eu/piacere/piacereTool/piacereProjectNature/AddRemovePiacereProjectNatureHandler.java	
@@ -0,0 +1,76 @@
+package eu.piacere.piacereTool.piacereProjectNature;
+
+import java.util.Iterator;
+
+import org.eclipse.core.commands.AbstractHandler;
+import org.eclipse.core.commands.ExecutionEvent;
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IProjectDescription;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.ui.handlers.HandlerUtil;
+
+public class AddRemovePiacereProjectNatureHandler extends AbstractHandler {
+
+
+	public Object execute(ExecutionEvent event) throws ExecutionException {
+		ISelection selection = HandlerUtil.getCurrentSelection(event);
+		if (selection instanceof IStructuredSelection) {
+			for (Iterator<?> it = ((IStructuredSelection) selection).iterator(); it
+					.hasNext();) {
+				Object element = it.next();
+				IProject project = null;
+				if (element instanceof IProject) {
+					project = (IProject) element;
+				} else if (element instanceof IAdaptable) {
+					project = (IProject) ((IAdaptable) element)
+							.getAdapter(IProject.class);
+				}
+				if (project != null) {
+					try {
+						toggleNature(project);
+					} catch (CoreException e) {
+						throw new ExecutionException("Failed to toggle nature",
+								e);
+					}
+				}
+			}
+		}
+
+		return null;
+	}
+
+	/**
+	 * Toggles sample nature on a project
+	 *
+	 * @param project
+	 *            to have sample nature added or removed
+	 */
+	private void toggleNature(IProject project) throws CoreException {
+		IProjectDescription description = project.getDescription();
+		String[] natures = description.getNatureIds();
+
+		for (int i = 0; i < natures.length; ++i) {
+			if (PiacereNature.NATURE_ID.equals(natures[i])) {
+				// Remove the nature
+				String[] newNatures = new String[natures.length - 1];
+				System.arraycopy(natures, 0, newNatures, 0, i);
+				System.arraycopy(natures, i + 1, newNatures, i, natures.length - i - 1);
+				description.setNatureIds(newNatures);
+				project.setDescription(description, null);
+				return;
+			}
+		}
+
+		// Add the nature
+		String[] newNatures = new String[natures.length + 1];
+		System.arraycopy(natures, 0, newNatures, 0, natures.length);
+		newNatures[natures.length] = PiacereNature.NATURE_ID;
+		description.setNatureIds(newNatures);
+		project.setDescription(description, null);
+	}
+
+}
\ No newline at end of file
diff --git a/Source Code/V2.1/PiacereToolCustomization/src/eu/piacere/piacereTool/piacereProjectNature/PiacereNature.java b/Source Code/V2.1/PiacereToolCustomization/src/eu/piacere/piacereTool/piacereProjectNature/PiacereNature.java
new file mode 100755
index 0000000000000000000000000000000000000000..b87c114202d5e5265f23ff28464a10ece1a33728
--- /dev/null
+++ b/Source Code/V2.1/PiacereToolCustomization/src/eu/piacere/piacereTool/piacereProjectNature/PiacereNature.java	
@@ -0,0 +1,65 @@
+package eu.piacere.piacereTool.piacereProjectNature;
+
+import org.eclipse.core.resources.ICommand;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IProjectDescription;
+import org.eclipse.core.resources.IProjectNature;
+import org.eclipse.core.runtime.CoreException;
+
+public class PiacereNature implements IProjectNature {
+
+	/**
+	 * ID of this project nature
+	 */
+	public static final String NATURE_ID = "eu.piacere.piacereProjectNature.id";
+
+	private IProject project;
+
+	@Override
+	public void configure() throws CoreException {
+		IProjectDescription desc = project.getDescription();
+		ICommand[] commands = desc.getBuildSpec();
+
+		for (int i = 0; i < commands.length; ++i) {
+			if (commands[i].getBuilderName().equals(PiacereNatureBuilder.BUILDER_ID)) {
+				return;
+			}
+		}
+
+		ICommand[] newCommands = new ICommand[commands.length + 1];
+		System.arraycopy(commands, 0, newCommands, 0, commands.length);
+		ICommand command = desc.newCommand();
+		command.setBuilderName(PiacereNatureBuilder.BUILDER_ID);
+		newCommands[newCommands.length - 1] = command;
+		desc.setBuildSpec(newCommands);
+		project.setDescription(desc, null);
+	}
+
+	@Override
+	public void deconfigure() throws CoreException {
+		IProjectDescription description = getProject().getDescription();
+		ICommand[] commands = description.getBuildSpec();
+		for (int i = 0; i < commands.length; ++i) {
+			if (commands[i].getBuilderName().equals(PiacereNatureBuilder.BUILDER_ID)) {
+				ICommand[] newCommands = new ICommand[commands.length - 1];
+				System.arraycopy(commands, 0, newCommands, 0, i);
+				System.arraycopy(commands, i + 1, newCommands, i,
+						commands.length - i - 1);
+				description.setBuildSpec(newCommands);
+				project.setDescription(description, null);
+				return;
+			}
+		}
+	}
+
+	@Override
+	public IProject getProject() {
+		return project;
+	}
+
+	@Override
+	public void setProject(IProject project) {
+		this.project = project;
+	}
+
+}
diff --git a/Source Code/V2.1/PiacereToolCustomization/src/eu/piacere/piacereTool/piacereProjectNature/PiacereNatureBuilder.java b/Source Code/V2.1/PiacereToolCustomization/src/eu/piacere/piacereTool/piacereProjectNature/PiacereNatureBuilder.java
new file mode 100755
index 0000000000000000000000000000000000000000..8f93065f24ead0c3cb24e9b25cfd8fcbf8969af8
--- /dev/null
+++ b/Source Code/V2.1/PiacereToolCustomization/src/eu/piacere/piacereTool/piacereProjectNature/PiacereNatureBuilder.java	
@@ -0,0 +1,158 @@
+package eu.piacere.piacereTool.piacereProjectNature;
+
+import java.util.Map;
+
+import javax.xml.parsers.ParserConfigurationException;
+import javax.xml.parsers.SAXParser;
+import javax.xml.parsers.SAXParserFactory;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IMarker;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.IResourceDelta;
+import org.eclipse.core.resources.IResourceDeltaVisitor;
+import org.eclipse.core.resources.IResourceVisitor;
+import org.eclipse.core.resources.IncrementalProjectBuilder;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.xml.sax.SAXException;
+import org.xml.sax.SAXParseException;
+import org.xml.sax.helpers.DefaultHandler;
+
+public class PiacereNatureBuilder extends IncrementalProjectBuilder {
+
+	class SampleDeltaVisitor implements IResourceDeltaVisitor {
+		@Override
+		public boolean visit(IResourceDelta delta) throws CoreException {
+			IResource resource = delta.getResource();
+			switch (delta.getKind()) {
+			case IResourceDelta.ADDED:
+				checkXML(resource);
+				break;
+			case IResourceDelta.REMOVED:
+				break;
+			case IResourceDelta.CHANGED:
+				checkXML(resource);
+				break;
+			}
+			return true;
+		}
+	}
+
+	class SampleResourceVisitor implements IResourceVisitor {
+		public boolean visit(IResource resource) {
+			checkXML(resource);
+			return true;
+		}
+	}
+
+	class XMLErrorHandler extends DefaultHandler {
+		
+		private IFile file;
+
+		public XMLErrorHandler(IFile file) {
+			this.file = file;
+		}
+
+		private void addMarker(SAXParseException e, int severity) {
+			PiacereNatureBuilder.this.addMarker(file, e.getMessage(), e
+					.getLineNumber(), severity);
+		}
+
+		public void error(SAXParseException exception) throws SAXException {
+			addMarker(exception, IMarker.SEVERITY_ERROR);
+		}
+
+		public void fatalError(SAXParseException exception) throws SAXException {
+			addMarker(exception, IMarker.SEVERITY_ERROR);
+		}
+
+		public void warning(SAXParseException exception) throws SAXException {
+			addMarker(exception, IMarker.SEVERITY_WARNING);
+		}
+	}
+
+	public static final String BUILDER_ID = "es.upv.pros.tatami.autonomic.adaptation.tatamiProjectNatureBuilder.id";
+
+	private static final String MARKER_TYPE = "test.xmlProblem";
+
+	private SAXParserFactory parserFactory;
+
+	private void addMarker(IFile file, String message, int lineNumber,
+			int severity) {
+		try {
+			IMarker marker = file.createMarker(MARKER_TYPE);
+			marker.setAttribute(IMarker.MESSAGE, message);
+			marker.setAttribute(IMarker.SEVERITY, severity);
+			if (lineNumber == -1) {
+				lineNumber = 1;
+			}
+			marker.setAttribute(IMarker.LINE_NUMBER, lineNumber);
+		} catch (CoreException e) {
+		}
+	}
+
+	@Override
+	@SuppressWarnings("rawtypes") 
+	protected IProject[] build(int kind, Map args, IProgressMonitor monitor)
+			throws CoreException {
+		if (kind == FULL_BUILD) {
+			fullBuild(monitor);
+		} else {
+			IResourceDelta delta = getDelta(getProject());
+			if (delta == null) {
+				fullBuild(monitor);
+			} else {
+				incrementalBuild(delta, monitor);
+			}
+		}
+		return null;
+	}
+
+	protected void clean(IProgressMonitor monitor) throws CoreException {
+		// delete markers set and files created
+		getProject().deleteMarkers(MARKER_TYPE, true, IResource.DEPTH_INFINITE);
+	}
+
+	void checkXML(IResource resource) {
+		if (resource instanceof IFile && resource.getName().endsWith(".xml")) {
+			IFile file = (IFile) resource;
+			deleteMarkers(file);
+			XMLErrorHandler reporter = new XMLErrorHandler(file);
+			try {
+				getParser().parse(file.getContents(), reporter);
+			} catch (Exception e1) {
+			}
+		}
+	}
+
+	private void deleteMarkers(IFile file) {
+		try {
+			file.deleteMarkers(MARKER_TYPE, false, IResource.DEPTH_ZERO);
+		} catch (CoreException ce) {
+		}
+	}
+
+	protected void fullBuild(final IProgressMonitor monitor)
+			throws CoreException {
+		try {
+			getProject().accept(new SampleResourceVisitor());
+		} catch (CoreException e) {
+		}
+	}
+
+	private SAXParser getParser() throws ParserConfigurationException,
+			SAXException {
+		if (parserFactory == null) {
+			parserFactory = SAXParserFactory.newInstance();
+		}
+		return parserFactory.newSAXParser();
+	}
+
+	protected void incrementalBuild(IResourceDelta delta,
+			IProgressMonitor monitor) throws CoreException {
+		// the visitor does the work.
+		delta.accept(new SampleDeltaVisitor());
+	}
+}
diff --git a/Source Code/V2.1/PiacereToolCustomization/src/eu/piacere/piacereTool/prefPage/PreferencePage.java b/Source Code/V2.1/PiacereToolCustomization/src/eu/piacere/piacereTool/prefPage/PreferencePage.java
new file mode 100644
index 0000000000000000000000000000000000000000..80fe2e42437a08f0af9c39861124dd72b873ec99
--- /dev/null
+++ b/Source Code/V2.1/PiacereToolCustomization/src/eu/piacere/piacereTool/prefPage/PreferencePage.java	
@@ -0,0 +1,41 @@
+package eu.piacere.piacereTool.prefPage;
+
+import org.eclipse.jface.preference.FieldEditorPreferencePage;
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.ui.IWorkbench;
+import org.eclipse.ui.IWorkbenchPreferencePage;
+
+public class PreferencePage extends FieldEditorPreferencePage implements IWorkbenchPreferencePage {
+
+	public PreferencePage() {
+		// TODO Auto-generated constructor stub
+	}
+
+	public PreferencePage(int style) {
+		super(style);
+		// TODO Auto-generated constructor stub
+	}
+
+	public PreferencePage(String title, int style) {
+		super(title, style);
+		// TODO Auto-generated constructor stub
+	}
+
+	public PreferencePage(String title, ImageDescriptor image, int style) {
+		super(title, image, style);
+		// TODO Auto-generated constructor stub
+	}
+
+	@Override
+	public void init(IWorkbench workbench) {
+		// TODO Auto-generated method stub
+
+	}
+
+	@Override
+	protected void createFieldEditors() {
+		// TODO Auto-generated method stub
+
+	}
+
+}
diff --git a/Source Code/V2.1/PiacereToolExtensions/.classpath b/Source Code/V2.1/PiacereToolExtensions/.classpath
new file mode 100644
index 0000000000000000000000000000000000000000..e801ebfb4680123285c15553dc70584276fe0057
--- /dev/null
+++ b/Source Code/V2.1/PiacereToolExtensions/.classpath	
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-11"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/Source Code/V2.1/PiacereToolExtensions/.project b/Source Code/V2.1/PiacereToolExtensions/.project
new file mode 100644
index 0000000000000000000000000000000000000000..b32ede71e198c52fec6408d5ae56f73e66df600d
--- /dev/null
+++ b/Source Code/V2.1/PiacereToolExtensions/.project	
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>PiacereToolExtensions</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
diff --git a/Source Code/V2.1/PiacereToolExtensions/.settings/org.eclipse.jdt.core.prefs b/Source Code/V2.1/PiacereToolExtensions/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000000000000000000000000000000000000..c9545f06a4120d5b4a1228fb19f67a1171bc0f5b
--- /dev/null
+++ b/Source Code/V2.1/PiacereToolExtensions/.settings/org.eclipse.jdt.core.prefs	
@@ -0,0 +1,9 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=11
+org.eclipse.jdt.core.compiler.compliance=11
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
+org.eclipse.jdt.core.compiler.release=enabled
+org.eclipse.jdt.core.compiler.source=11
diff --git a/Source Code/V2.1/PiacereToolExtensions/META-INF/MANIFEST.MF b/Source Code/V2.1/PiacereToolExtensions/META-INF/MANIFEST.MF
new file mode 100644
index 0000000000000000000000000000000000000000..7a28d1010fee04b7da2e2a3dcdedbb5519c0eb42
--- /dev/null
+++ b/Source Code/V2.1/PiacereToolExtensions/META-INF/MANIFEST.MF	
@@ -0,0 +1,57 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: PiacereToolExtensions
+Bundle-SymbolicName: PiacereToolExtensions;singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Bundle-Vendor: TaTAmI
+Automatic-Module-Name: PiacereToolExtensions
+Import-Package: eu.piacere.doml.doml.commons,
+ org.apache.commons.io;version="2.8.0",
+ org.apache.logging.log4j,
+ org.eclipse.core.internal.resources,
+ org.eclipse.core.resources,
+ org.eclipse.core.runtime,
+ org.eclipse.core.runtime.preferences,
+ org.eclipse.emf.common.command,
+ org.eclipse.emf.common.util,
+ org.eclipse.emf.compare,
+ org.eclipse.emf.ecore,
+ org.eclipse.emf.ecore.resource,
+ org.eclipse.emf.ecore.resource.impl,
+ org.eclipse.emf.ecore.util,
+ org.eclipse.emf.ecore.xmi,
+ org.eclipse.emf.ecore.xmi.impl,
+ org.eclipse.emf.edit.command,
+ org.eclipse.emf.edit.domain,
+ org.eclipse.emf.transaction,
+ org.eclipse.emf.transaction.util,
+ org.eclipse.gef,
+ org.eclipse.gef.editparts,
+ org.eclipse.gmf.runtime.diagram.ui.editparts,
+ org.eclipse.gmf.runtime.diagram.ui.editpolicies,
+ org.eclipse.gmf.runtime.emf.core,
+ org.eclipse.gmf.runtime.notation,
+ org.eclipse.gmf.runtime.notation.impl,
+ org.eclipse.jdt.core,
+ org.eclipse.jdt.launching,
+ org.eclipse.jface.action,
+ org.eclipse.jface.dialogs,
+ org.eclipse.jface.viewers,
+ org.eclipse.jface.window,
+ org.eclipse.jface.wizard,
+ org.eclipse.osgi.util,
+ org.eclipse.swt.widgets,
+ org.eclipse.ui,
+ org.eclipse.ui.dialogs,
+ org.eclipse.ui.internal.navigator.actions,
+ org.eclipse.ui.internal.navigator.resources.actions,
+ org.eclipse.ui.internal.navigator.workingsets,
+ org.eclipse.ui.navigator,
+ org.eclipse.ui.navigator.resources,
+ org.json,
+ org.osgi.framework;version="1.8.0"
+Require-Bundle: org.eclipse.ui,
+ org.eclipse.ui.workbench,
+ org.eclipse.equinox.app,
+ org.eclipse.core.expressions
+Export-Package: eu.piacere.piacereTool.utils
diff --git a/Source Code/V2.1/PiacereToolExtensions/Piacere/PiacereIcon_16x16.png b/Source Code/V2.1/PiacereToolExtensions/Piacere/PiacereIcon_16x16.png
new file mode 100644
index 0000000000000000000000000000000000000000..444de54d6cfe2958fac1bbb89dd8619b4c537c47
Binary files /dev/null and b/Source Code/V2.1/PiacereToolExtensions/Piacere/PiacereIcon_16x16.png differ
diff --git a/Source Code/V2.1/PiacereToolExtensions/bin/eu/piacere/piacereTool/commandHandlers/GenerateDOMLXfromDOMLCommandHandler.class b/Source Code/V2.1/PiacereToolExtensions/bin/eu/piacere/piacereTool/commandHandlers/GenerateDOMLXfromDOMLCommandHandler.class
new file mode 100644
index 0000000000000000000000000000000000000000..eb1c760556b78fad4d9e6e358beb235b0c5c2215
Binary files /dev/null and b/Source Code/V2.1/PiacereToolExtensions/bin/eu/piacere/piacereTool/commandHandlers/GenerateDOMLXfromDOMLCommandHandler.class differ
diff --git a/Source Code/V2.1/PiacereToolExtensions/bin/eu/piacere/piacereTool/commandHandlers/GenerateDOMLfromDOMLXCommandHandler.class b/Source Code/V2.1/PiacereToolExtensions/bin/eu/piacere/piacereTool/commandHandlers/GenerateDOMLfromDOMLXCommandHandler.class
new file mode 100644
index 0000000000000000000000000000000000000000..ec4bbbc0d9d78cb5cf31f1a3a5fa05d983bfbbbd
Binary files /dev/null and b/Source Code/V2.1/PiacereToolExtensions/bin/eu/piacere/piacereTool/commandHandlers/GenerateDOMLfromDOMLXCommandHandler.class differ
diff --git a/Source Code/V2.1/PiacereToolExtensions/bin/eu/piacere/piacereTool/dialogs/GetAppDialog$1.class b/Source Code/V2.1/PiacereToolExtensions/bin/eu/piacere/piacereTool/dialogs/GetAppDialog$1.class
new file mode 100644
index 0000000000000000000000000000000000000000..c333d34ab25085abf9d204a4a2276956a7e53cd4
Binary files /dev/null and b/Source Code/V2.1/PiacereToolExtensions/bin/eu/piacere/piacereTool/dialogs/GetAppDialog$1.class differ
diff --git a/Source Code/V2.1/PiacereToolExtensions/bin/eu/piacere/piacereTool/dialogs/GetAppDialog$2.class b/Source Code/V2.1/PiacereToolExtensions/bin/eu/piacere/piacereTool/dialogs/GetAppDialog$2.class
new file mode 100644
index 0000000000000000000000000000000000000000..e2cf587d8706212268473d0e3b4abb7c699e8811
Binary files /dev/null and b/Source Code/V2.1/PiacereToolExtensions/bin/eu/piacere/piacereTool/dialogs/GetAppDialog$2.class differ
diff --git a/Source Code/V2.1/PiacereToolExtensions/bin/eu/piacere/piacereTool/dialogs/GetAppDialog.class b/Source Code/V2.1/PiacereToolExtensions/bin/eu/piacere/piacereTool/dialogs/GetAppDialog.class
new file mode 100644
index 0000000000000000000000000000000000000000..e8e96efcf5457e319b4fe92899338e0522fb2f4c
Binary files /dev/null and b/Source Code/V2.1/PiacereToolExtensions/bin/eu/piacere/piacereTool/dialogs/GetAppDialog.class differ
diff --git a/Source Code/V2.1/PiacereToolExtensions/bin/eu/piacere/piacereTool/dialogs/GetNameVersionDialog$1.class b/Source Code/V2.1/PiacereToolExtensions/bin/eu/piacere/piacereTool/dialogs/GetNameVersionDialog$1.class
new file mode 100644
index 0000000000000000000000000000000000000000..b78d762ac82766e99bdae52c4e307d8213ff16bc
Binary files /dev/null and b/Source Code/V2.1/PiacereToolExtensions/bin/eu/piacere/piacereTool/dialogs/GetNameVersionDialog$1.class differ
diff --git a/Source Code/V2.1/PiacereToolExtensions/bin/eu/piacere/piacereTool/dialogs/GetNameVersionDialog.class b/Source Code/V2.1/PiacereToolExtensions/bin/eu/piacere/piacereTool/dialogs/GetNameVersionDialog.class
new file mode 100644
index 0000000000000000000000000000000000000000..18ca9a8c247a4a38ba345facdbffcaf19a577e57
Binary files /dev/null and b/Source Code/V2.1/PiacereToolExtensions/bin/eu/piacere/piacereTool/dialogs/GetNameVersionDialog.class differ
diff --git a/Source Code/V2.1/PiacereToolExtensions/bin/eu/piacere/piacereTool/propertyTesters/ExtensionPropertyTester.class b/Source Code/V2.1/PiacereToolExtensions/bin/eu/piacere/piacereTool/propertyTesters/ExtensionPropertyTester.class
new file mode 100644
index 0000000000000000000000000000000000000000..a1b420407fda8a93a8e5e174efecfaba757334c0
Binary files /dev/null and b/Source Code/V2.1/PiacereToolExtensions/bin/eu/piacere/piacereTool/propertyTesters/ExtensionPropertyTester.class differ
diff --git a/Source Code/V2.1/PiacereToolExtensions/bin/eu/piacere/piacereTool/utils/FileUtils.class b/Source Code/V2.1/PiacereToolExtensions/bin/eu/piacere/piacereTool/utils/FileUtils.class
new file mode 100644
index 0000000000000000000000000000000000000000..6507777d314837051fa55104c27d8d69eed22826
Binary files /dev/null and b/Source Code/V2.1/PiacereToolExtensions/bin/eu/piacere/piacereTool/utils/FileUtils.class differ
diff --git a/Source Code/V2.1/PiacereToolExtensions/bin/eu/piacere/piacereTool/utils/ModelUtils.class b/Source Code/V2.1/PiacereToolExtensions/bin/eu/piacere/piacereTool/utils/ModelUtils.class
new file mode 100644
index 0000000000000000000000000000000000000000..63d0265ba8d679a375a4dc98a22dbcbdca2de5f7
Binary files /dev/null and b/Source Code/V2.1/PiacereToolExtensions/bin/eu/piacere/piacereTool/utils/ModelUtils.class differ
diff --git a/Source Code/V2.1/PiacereToolExtensions/bin/eu/piacere/piacereTool/utils/PluginUtils.class b/Source Code/V2.1/PiacereToolExtensions/bin/eu/piacere/piacereTool/utils/PluginUtils.class
new file mode 100644
index 0000000000000000000000000000000000000000..5b767fc5781de398f161b911b8d5bc17117ad54f
Binary files /dev/null and b/Source Code/V2.1/PiacereToolExtensions/bin/eu/piacere/piacereTool/utils/PluginUtils.class differ
diff --git a/Source Code/V2.1/PiacereToolExtensions/bin/eu/piacere/piacereTool/utils/ResourceUtils.class b/Source Code/V2.1/PiacereToolExtensions/bin/eu/piacere/piacereTool/utils/ResourceUtils.class
new file mode 100644
index 0000000000000000000000000000000000000000..02ad75718d0c11fb86eeb49b523284e0b4c3ef4f
Binary files /dev/null and b/Source Code/V2.1/PiacereToolExtensions/bin/eu/piacere/piacereTool/utils/ResourceUtils.class differ
diff --git a/Source Code/V2.1/PiacereToolExtensions/bin/eu/piacere/piacereTool/utils/ToolCustomizationUtils.class b/Source Code/V2.1/PiacereToolExtensions/bin/eu/piacere/piacereTool/utils/ToolCustomizationUtils.class
new file mode 100644
index 0000000000000000000000000000000000000000..49ba8f421fa8da56b970ce3e40cd7ef4ece9989a
Binary files /dev/null and b/Source Code/V2.1/PiacereToolExtensions/bin/eu/piacere/piacereTool/utils/ToolCustomizationUtils.class differ
diff --git a/Source Code/V2.1/PiacereToolExtensions/build.properties b/Source Code/V2.1/PiacereToolExtensions/build.properties
new file mode 100644
index 0000000000000000000000000000000000000000..52086a7c305694aa678bde0640768488a5cf8e4f
--- /dev/null
+++ b/Source Code/V2.1/PiacereToolExtensions/build.properties	
@@ -0,0 +1,6 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+               .,\
+               plugin.xml,\
+               Piacere/
diff --git a/Source Code/V2.1/PiacereToolExtensions/plugin.xml b/Source Code/V2.1/PiacereToolExtensions/plugin.xml
new file mode 100644
index 0000000000000000000000000000000000000000..3a52c6e51b984214292a65ffe155c765878a422f
--- /dev/null
+++ b/Source Code/V2.1/PiacereToolExtensions/plugin.xml	
@@ -0,0 +1,162 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+<plugin>
+	<extension
+		point="org.eclipse.ui.commands">
+		<command
+			categoryId="eu.piacere.piacereModelsCommands.category.id"
+			defaultHandler="eu.piacere.piacereTool.commandHandlers.GenerateDOMLXfromDOMLCommandHandler"
+			id="eu.piacere.piacereModelsCommands.generateDOMLXCommand.id"
+			name="Generate DOMLX Model">
+		</command>
+		<command
+			categoryId="eu.piacere.piacereModelsCommands.category.id"
+			defaultHandler="eu.piacere.piacereTool.commandHandlers.GenerateDOMLfromDOMLXCommandHandler"
+			id="eu.piacere.piacereModelsCommands.generateDOMLCommand.id"
+			name="Generate DOML Model">
+		</command>
+	</extension>
+
+	<extension point="org.eclipse.ui.menus">
+		<menuContribution allPopups="false" locationURI="popup:eu.piacere.eclipsePopupMenu.id">
+			<command
+				commandId="eu.piacere.piacereModelsCommands.generateDOMLXCommand.id"
+				icon="Piacere/PiacereIcon_16x16.png"
+				label="Generate DOMLX Model"
+				style="push"
+				tooltip="Generates a DOMLX Model From a DOML specification">
+				<visibleWhen checkEnabled="false">
+					<reference
+						definitionId="eu.piacere.piacereTool.propertyTesters.extensionPropertyTester.isDOMLModel.id">
+					</reference>
+				</visibleWhen>
+			</command>
+		</menuContribution>
+		<menuContribution allPopups="false" locationURI="popup:eu.piacere.eclipsePopupMenu.id">
+			<command
+				commandId="eu.piacere.piacereModelsCommands.generateDOMLCommand.id"
+				icon="Piacere/PiacereIcon_16x16.png"
+				label="Generate DOML Model"
+				style="push"
+				tooltip="Generates a DOML Specification From a DOMLX model">
+				<visibleWhen checkEnabled="false">
+					<reference
+						definitionId="eu.piacere.piacereTool.propertyTesters.extensionPropertyTester.isDOMLXModel.id">
+					</reference>
+				</visibleWhen>
+			</command>
+		</menuContribution>
+	</extension>
+
+	<extension point="org.eclipse.core.expressions.propertyTesters">
+		<propertyTester
+			class="eu.piacere.piacereTool.propertyTesters.ExtensionPropertyTester"
+			id="eu.piacere.piacereTool.propertyTesters.ExtensionPropertyTester.id"
+			namespace="eu.piacere.piacereTool.propertyTesters.extensionPropertyTester"
+			properties="isDOMLModel, isDOMLXModel, isDOMLJModel, isTarGz"
+			type="java.lang.Object">
+		</propertyTester>
+	</extension>
+
+	<extension point="org.eclipse.core.expressions.definitions">
+		<definition id="eu.piacere.piacereTool.propertyTesters.extensionPropertyTester.isDOMLModel.id">
+				<with variable="activeMenuSelection">
+					<iterate ifEmpty="false">
+						<adapt type="org.eclipse.core.resources.IResource">
+							<test property="org.eclipse.core.resources.extension" value="doml" />
+						</adapt>
+					</iterate>
+				</with>
+		</definition>
+		<definition id="eu.piacere.piacereTool.propertyTesters.extensionPropertyTester.isDOMLXModel.id">
+				<with variable="activeMenuSelection">
+					<iterate ifEmpty="false">
+						<adapt type="org.eclipse.core.resources.IResource">
+							<test property="org.eclipse.core.resources.extension" value="domlx" />
+						</adapt>
+					</iterate>
+				</with>
+		</definition>
+  <definition
+        id="eu.piacere.piacereTool.propertyTesters.extensionPropertyTester.isDOMLJModel.id">
+     <with
+           variable="activeMenuSelection">
+        <iterate
+              ifEmpty="false">
+           <adapt
+                 type="org.eclipse.core.resources.IResource">
+              <test
+                    property="org.eclipse.core.resources.extension"
+                    value="domlj">
+              </test>
+           </adapt>
+        </iterate>
+     </with>
+  </definition>
+  <definition
+        id="eu.piacere.piacereTool.propertyTesters.extensionPropertyTester.isTarGz.id">
+     <with
+           variable="activeMenuSelection">
+        <iterate
+              ifEmpty="false">
+           <adapt
+                 type="org.eclipse.core.resources.IResource">
+              <test
+                    property="org.eclipse.core.resources.extension"
+                    value="gz">
+              </test>
+           </adapt>
+        </iterate>
+     </with>
+  </definition>
+  <definition
+        id="eu.piacere.piacereTool.propertyTesters.extensionPropertyTester.isZip.id">
+     <with
+           variable="activeMenuSelection">
+        <iterate
+              ifEmpty="false">
+           <adapt
+                 type="org.eclipse.core.resources.IResource">
+              <test
+                    property="org.eclipse.core.resources.extension"
+                    value="zip">
+              </test>
+           </adapt>
+        </iterate>
+     </with>
+  </definition>
+  <definition
+        id="eu.piacere.piacereTool.propertyTesters.extensionPropertyTester.isCSAR.id">
+     <with
+           variable="activeMenuSelection">
+        <iterate
+              ifEmpty="false">
+           <adapt
+                 type="org.eclipse.core.resources.IResource">
+              <test
+                    property="org.eclipse.core.resources.extension"
+                    value="casr">
+              </test>
+           </adapt>
+        </iterate>
+     </with>
+  </definition>
+  
+  <definition
+        id="eu.piacere.piacereTool.propertyTesters.extensionPropertyTester.isJSON.id">
+     <with
+           variable="activeMenuSelection">
+        <iterate
+              ifEmpty="false">
+           <adapt
+                 type="org.eclipse.core.resources.IResource">
+              <test
+                    property="org.eclipse.core.resources.extension"
+                    value="json">
+              </test>
+           </adapt>
+        </iterate>
+     </with>
+  </definition>
+	</extension>
+</plugin>
diff --git a/Source Code/V2.1/PiacereToolExtensions/src/eu/piacere/piacereTool/commandHandlers/GenerateDOMLXfromDOMLCommandHandler.java b/Source Code/V2.1/PiacereToolExtensions/src/eu/piacere/piacereTool/commandHandlers/GenerateDOMLXfromDOMLCommandHandler.java
new file mode 100644
index 0000000000000000000000000000000000000000..a7c66773216a617003daab2400355b9ee6fc3ee4
--- /dev/null
+++ b/Source Code/V2.1/PiacereToolExtensions/src/eu/piacere/piacereTool/commandHandlers/GenerateDOMLXfromDOMLCommandHandler.java	
@@ -0,0 +1,85 @@
+package eu.piacere.piacereTool.commandHandlers;
+
+import java.io.IOException;
+
+import org.eclipse.core.commands.AbstractHandler;
+import org.eclipse.core.commands.ExecutionEvent;
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.resources.IContainer;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.jface.dialogs.ProgressMonitorDialog;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.ui.handlers.HandlerUtil;
+
+import eu.piacere.doml.doml.commons.DOMLModel;
+import eu.piacere.piacereTool.utils.ToolCustomizationUtils;
+
+public class GenerateDOMLXfromDOMLCommandHandler extends AbstractHandler{
+
+	
+	@Override
+	public Object execute(ExecutionEvent event) throws ExecutionException {
+		ToolCustomizationUtils.saveWorkbench();
+		ISelection selection = HandlerUtil.getCurrentSelection(event);
+		if (selection instanceof StructuredSelection) {
+			if(((StructuredSelection)selection).getFirstElement() instanceof IFile){
+				IFile res = (IFile)((StructuredSelection) selection).getFirstElement();
+				ResourceSet rs = new ResourceSetImpl();
+				Resource r = rs.getResource(URI.createURI(res.getLocationURI().toString()), true);
+				try {
+					r.load(null);
+				} catch (IOException e) {
+					e.printStackTrace();
+				}
+				DOMLModel theDOMLModel = (DOMLModel) r.getContents().get(0);
+				
+				String domlModelName=ToolCustomizationUtils.getDOMLModelName();
+				try {
+					save(theDOMLModel, domlModelName, rs, res);
+				} catch (IOException | CoreException e) {
+					e.printStackTrace();
+				}
+			}
+		}
+		return null;
+	}
+	
+	private void save(DOMLModel theDOMLModel, String domlModelName, ResourceSet rs, IFile modelFile) throws IOException, CoreException {
+		IContainer project = modelFile.getParent();
+		if(project.findMember(domlModelName+".domlx")!=null){
+			if(ToolCustomizationUtils.showQuestionDialog("Overwrite", "\""+domlModelName+"\" DOML Model already exists.\nDou you want to overwrite it?")){
+				
+					project.getFile(new Path(domlModelName+".domlx")).delete(true, null);
+				
+			}
+			else{
+				return;
+			}
+		}
+		ProgressMonitorDialog pd=new ProgressMonitorDialog(ToolCustomizationUtils.getActiveShell());
+		try {
+		pd.open();
+		IFile target = project.getFile(new Path(domlModelName+".domlx"));
+		Resource targetRes = rs.createResource(URI.createURI(target.getLocationURI().toString()));
+		targetRes.getContents().add(EcoreUtil.copy(theDOMLModel));
+		targetRes.save(null);
+		pd.close();
+		ToolCustomizationUtils.showInformationDialog("Generator Result", "Your \""+domlModelName+"\" DOML Model has been generated succesfully.");
+		
+			project.refreshLocal(IResource.DEPTH_INFINITE, null);
+		} catch (Exception e) {
+			pd.close();
+			ToolCustomizationUtils.showErrorDialog("Error Generating DOMLX Model", "There was an error generating the DOMLX model:\n\n"+e.getMessage());
+			e.printStackTrace();
+		}
+	}
+}
diff --git a/Source Code/V2.1/PiacereToolExtensions/src/eu/piacere/piacereTool/commandHandlers/GenerateDOMLfromDOMLXCommandHandler.java b/Source Code/V2.1/PiacereToolExtensions/src/eu/piacere/piacereTool/commandHandlers/GenerateDOMLfromDOMLXCommandHandler.java
new file mode 100644
index 0000000000000000000000000000000000000000..ed2119dcf8969b0d657b040699a4ece54b49b670
--- /dev/null
+++ b/Source Code/V2.1/PiacereToolExtensions/src/eu/piacere/piacereTool/commandHandlers/GenerateDOMLfromDOMLXCommandHandler.java	
@@ -0,0 +1,84 @@
+package eu.piacere.piacereTool.commandHandlers;
+
+import java.io.IOException;
+
+import org.eclipse.core.commands.AbstractHandler;
+import org.eclipse.core.commands.ExecutionEvent;
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.resources.IContainer;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.jface.dialogs.ProgressMonitorDialog;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.ui.handlers.HandlerUtil;
+
+import eu.piacere.doml.doml.commons.DOMLModel;
+import eu.piacere.piacereTool.utils.ToolCustomizationUtils;
+
+public class GenerateDOMLfromDOMLXCommandHandler extends AbstractHandler{
+
+	@Override
+	public Object execute(ExecutionEvent event) throws ExecutionException {
+		ToolCustomizationUtils.saveWorkbench();
+		ISelection selection = HandlerUtil.getCurrentSelection(event);
+		if (selection instanceof StructuredSelection) {
+			if(((StructuredSelection)selection).getFirstElement() instanceof IFile){
+				IFile res = (IFile)((StructuredSelection) selection).getFirstElement();
+				ResourceSet rs = new ResourceSetImpl();
+				Resource r = rs.getResource(URI.createURI(res.getLocationURI().toString()), true);
+				try {
+					r.load(null);
+				} catch (IOException e) {
+					e.printStackTrace();
+				}
+				DOMLModel theDOMLModel = (DOMLModel) r.getContents().get(0);
+				String domlModelName=ToolCustomizationUtils.getDOMLModelName();
+				try {
+					save(theDOMLModel, domlModelName, rs, res);
+				} catch (IOException | CoreException e) {
+					e.printStackTrace();
+				}
+			}
+		}
+		return null;
+	}
+
+	private void save(DOMLModel theDOMLModel, String domlModelName, ResourceSet rs, IFile modelFile) throws IOException, CoreException {
+		IContainer modelFileContainer=modelFile.getParent();
+		if(modelFile.getParent().findMember(domlModelName+".doml")!=null){
+			if(ToolCustomizationUtils.showQuestionDialog("Overwrite", "\""+domlModelName+"\" DOML Specification already exists.\nDou you want to overwrite it?")){
+				modelFile.delete(true, null);
+			}
+			else{
+				return;
+			}
+		}
+		ProgressMonitorDialog pd=new ProgressMonitorDialog(ToolCustomizationUtils.getActiveShell());
+		try {
+			
+			pd.open();
+			IFile target = modelFileContainer.getFile(new Path(domlModelName+".doml"));
+			Resource targetRes = rs.createResource(URI.createURI(target.getLocationURI().toString()));
+			targetRes.getContents().add(EcoreUtil.copy(theDOMLModel));
+			targetRes.save(null);
+			pd.close();
+			ToolCustomizationUtils.showInformationDialog("Generator Result", "Your \""+domlModelName+"\" DOML Specification has been generated succesfully.");
+
+			modelFileContainer.refreshLocal(IResource.DEPTH_INFINITE, null);
+		} catch (Exception e) {
+			pd.close();
+			ToolCustomizationUtils.showErrorDialog("Error Generating DOML", "There was ana error generating the .doml file:\n\n"+e.getMessage());
+			e.printStackTrace();
+		}
+	}
+}
diff --git a/Source Code/V2.1/PiacereToolExtensions/src/eu/piacere/piacereTool/dialogs/GetAppDialog.java b/Source Code/V2.1/PiacereToolExtensions/src/eu/piacere/piacereTool/dialogs/GetAppDialog.java
new file mode 100644
index 0000000000000000000000000000000000000000..48bb543ef2ae92d8b2c52106ee2eb5451ff0d428
--- /dev/null
+++ b/Source Code/V2.1/PiacereToolExtensions/src/eu/piacere/piacereTool/dialogs/GetAppDialog.java	
@@ -0,0 +1,157 @@
+package eu.piacere.piacereTool.dialogs;
+
+import java.util.ArrayList;
+
+import org.eclipse.jface.dialogs.IDialogConstants;
+import org.eclipse.jface.dialogs.IMessageProvider;
+import org.eclipse.jface.dialogs.TitleAreaDialog;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.ModifyEvent;
+import org.eclipse.swt.events.ModifyListener;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Combo;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.swt.widgets.Text;
+
+
+public class GetAppDialog extends TitleAreaDialog {
+
+	private Combo comboSelectExistant;
+	private Text textProvideNew;
+
+	private String selection;
+	private String newProvided;
+	private ArrayList<String>elementsToSelect;
+	private String newItemMessage;
+	private String title;
+	private String message;
+	private Label lblText;
+
+	public GetAppDialog(Shell parentShell, String title, String message, ArrayList<String> elementsToSelect, String newItemMessage) {
+		super(parentShell);
+		this.newItemMessage = newItemMessage;
+		this.title = title;
+		this.message = message;
+		this.elementsToSelect = elementsToSelect;
+		this.elementsToSelect.add("- " + newItemMessage+" -");
+
+	}
+
+	@Override
+	public void create() {
+		super.create();
+		setTitle(title);
+		setMessage(message, IMessageProvider.INFORMATION);
+		getButton(IDialogConstants.OK_ID).setEnabled(false);
+	}
+
+	@Override
+	protected Control createDialogArea(Composite parent) {
+		Composite area = (Composite) super.createDialogArea(parent);
+		Composite container = new Composite(area, SWT.NONE);
+		container.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
+		GridLayout layout = new GridLayout(2, false);
+		container.setLayout(layout);
+
+
+		createCombo(container);
+		CreateNewText(container);
+		
+		return area;
+	}
+
+	private void createCombo(Composite container) {
+		Label lblCombo = new Label(container, SWT.NONE);
+		lblCombo.setText("Select: ");
+
+		GridData dataFirstName = new GridData();
+		dataFirstName.grabExcessHorizontalSpace = true;
+		dataFirstName.horizontalAlignment = GridData.FILL;
+
+		comboSelectExistant = new Combo(container, SWT.BORDER| SWT.DROP_DOWN | SWT.READ_ONLY);
+
+		String items[] = new String[this.elementsToSelect.size()];
+		for(int i=0; i<this.elementsToSelect.size(); i++) {
+			items[i]=this.elementsToSelect.get(i);
+		}
+		comboSelectExistant.setItems(items);
+		comboSelectExistant.setLayoutData(dataFirstName);
+		comboSelectExistant.addModifyListener(new ModifyListener() {
+
+			@Override
+			public void modifyText(ModifyEvent e) {
+
+				if(e.getSource() instanceof Combo) {
+					Combo o = (Combo) e.getSource();
+					if(elementsToSelect.get(o.getSelectionIndex()).equals("- " + newItemMessage+" -")) {
+						lblText.setVisible(true);
+						textProvideNew.setVisible(true);
+						getButton(IDialogConstants.OK_ID).setEnabled(false);
+					}
+					else {
+						lblText.setVisible(false);
+						textProvideNew.setVisible(false);
+						getButton(IDialogConstants.OK_ID).setEnabled(true);
+					}
+				}
+			}
+		});
+	}
+
+	private void CreateNewText(Composite container) {
+		lblText = new Label(container, SWT.NONE);
+		lblText.setText(newItemMessage+": ");
+		lblText.setVisible(false);
+
+		GridData dataLastName = new GridData();
+		dataLastName.grabExcessHorizontalSpace = true;
+		dataLastName.horizontalAlignment = GridData.FILL;
+		textProvideNew = new Text(container, SWT.BORDER);
+		textProvideNew.setLayoutData(dataLastName);
+		textProvideNew.setVisible(false);
+		textProvideNew.addModifyListener(new ModifyListener() {
+
+			@Override
+			public void modifyText(ModifyEvent e) {
+				Text t = (Text)e.getSource();
+				if(elementsToSelect.get(comboSelectExistant.getSelectionIndex()).equals("- " + newItemMessage+" -")){
+					if(t.getText().trim().length()>0) {
+						getButton(IDialogConstants.OK_ID).setEnabled(true);
+					}		
+					else {
+						getButton(IDialogConstants.OK_ID).setEnabled(false);
+					}
+				}
+			}
+		});
+	}
+
+	@Override
+	protected boolean isResizable() {
+		return false;
+	}
+
+	private void saveInput() {
+		selection = comboSelectExistant.getText();
+		newProvided = textProvideNew.getText();
+
+	}
+
+	@Override
+	protected void okPressed() {
+		saveInput();
+		super.okPressed();
+	}
+
+	public String getSelection() {
+		return selection;
+	}
+
+	public String getNewProvided() {
+		return newProvided;
+	}
+}
diff --git a/Source Code/V2.1/PiacereToolExtensions/src/eu/piacere/piacereTool/dialogs/GetNameVersionDialog.java b/Source Code/V2.1/PiacereToolExtensions/src/eu/piacere/piacereTool/dialogs/GetNameVersionDialog.java
new file mode 100644
index 0000000000000000000000000000000000000000..315cd84d4729c7bcc9c9cc5244e3ddbfece706f6
--- /dev/null
+++ b/Source Code/V2.1/PiacereToolExtensions/src/eu/piacere/piacereTool/dialogs/GetNameVersionDialog.java	
@@ -0,0 +1,120 @@
+package eu.piacere.piacereTool.dialogs;
+
+import org.eclipse.jface.dialogs.IDialogConstants;
+import org.eclipse.jface.dialogs.IMessageProvider;
+import org.eclipse.jface.dialogs.TitleAreaDialog;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.ModifyEvent;
+import org.eclipse.swt.events.ModifyListener;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.swt.widgets.Text;
+
+
+public class GetNameVersionDialog extends TitleAreaDialog {
+
+	private Text textProvideNew;
+
+	private String newProvided;
+	private String title;
+	private String message;
+
+	private String initialValue;
+
+	private String newItemMessage;
+
+	public GetNameVersionDialog(Shell parentShell, String title, String message, String initialValue, String newItemMessage) {
+		super(parentShell);
+
+		this.title = title;
+		this.message = message;
+		this.newProvided=initialValue;
+		this.initialValue=initialValue;
+
+		this.newItemMessage = newItemMessage;
+
+	}
+
+	@Override
+	public void create() {
+		super.create();
+		setTitle(title);
+		setMessage(message, IMessageProvider.INFORMATION);
+		if(this.initialValue.trim().length()>0) {
+			getButton(IDialogConstants.OK_ID).setEnabled(true);
+		}
+		else {
+			getButton(IDialogConstants.OK_ID).setEnabled(false);
+		}
+	}
+
+	@Override
+	protected Control createDialogArea(Composite parent) {
+		Composite area = (Composite) super.createDialogArea(parent);
+		Composite container = new Composite(area, SWT.NONE);
+		container.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
+		GridLayout layout = new GridLayout(2, false);
+		container.setLayout(layout);
+
+
+		createText(container);
+
+		return area;
+	}
+
+
+
+	private void createText(Composite container) {
+		Label lblText = new Label(container, SWT.NONE);
+		lblText.setText(newItemMessage+": ");
+		lblText.setVisible(true);
+
+		GridData dataLastName = new GridData();
+		dataLastName.grabExcessHorizontalSpace = true;
+		dataLastName.horizontalAlignment = GridData.FILL;
+		textProvideNew = new Text(container, SWT.BORDER);
+		textProvideNew.setLayoutData(dataLastName);
+		textProvideNew.setVisible(true);
+		textProvideNew.setText(initialValue);
+		textProvideNew.addModifyListener(new ModifyListener() {
+		
+
+			@Override
+			public void modifyText(ModifyEvent e) {
+				Text t = (Text)e.getSource();
+
+				if(t.getText().trim().length()>0) {
+					getButton(IDialogConstants.OK_ID).setEnabled(true);
+				}		
+				else {
+					getButton(IDialogConstants.OK_ID).setEnabled(false);
+				}
+
+			}
+		});
+	}
+
+	@Override
+	protected boolean isResizable() {
+		return false;
+	}
+
+	private void saveInput() {
+		newProvided = textProvideNew.getText();
+
+	}
+
+	@Override
+	protected void okPressed() {
+		saveInput();
+		super.okPressed();
+	}
+
+	public String getNewProvided() {
+		return newProvided;
+	}
+}
diff --git a/Source Code/V2.1/PiacereToolExtensions/src/eu/piacere/piacereTool/propertyTesters/ExtensionPropertyTester.java b/Source Code/V2.1/PiacereToolExtensions/src/eu/piacere/piacereTool/propertyTesters/ExtensionPropertyTester.java
new file mode 100755
index 0000000000000000000000000000000000000000..22d4492e9b1d6ed6fb110e45786c96f896278836
--- /dev/null
+++ b/Source Code/V2.1/PiacereToolExtensions/src/eu/piacere/piacereTool/propertyTesters/ExtensionPropertyTester.java	
@@ -0,0 +1,18 @@
+package eu.piacere.piacereTool.propertyTesters;
+
+import org.eclipse.core.expressions.PropertyTester;
+import org.eclipse.emf.ecore.xmi.impl.XMIResourceImpl;
+import org.eclipse.jface.viewers.StructuredSelection;
+
+public class ExtensionPropertyTester extends PropertyTester {
+
+	@Override
+	public boolean test(Object receiver, String property, Object[] args, Object expectedValue) {
+		if(receiver instanceof StructuredSelection)
+			if(((StructuredSelection)receiver).getFirstElement() instanceof XMIResourceImpl){
+				return ((XMIResourceImpl)((StructuredSelection)receiver).getFirstElement()).getURI().fileExtension().equals(expectedValue.toString());
+			}
+		return false;
+	}
+
+}
diff --git a/Source Code/V2.1/PiacereToolExtensions/src/eu/piacere/piacereTool/utils/FileUtils.java b/Source Code/V2.1/PiacereToolExtensions/src/eu/piacere/piacereTool/utils/FileUtils.java
new file mode 100644
index 0000000000000000000000000000000000000000..5f1e9dca05db5ef0d010aa7768db7928a8a4dc04
--- /dev/null
+++ b/Source Code/V2.1/PiacereToolExtensions/src/eu/piacere/piacereTool/utils/FileUtils.java	
@@ -0,0 +1,109 @@
+package eu.piacere.piacereTool.utils;
+
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.text.DateFormat;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+
+import org.apache.commons.io.IOUtils;
+import org.eclipse.core.resources.IContainer;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IFolder;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.jface.dialogs.ProgressMonitorDialog;
+
+public final class FileUtils {
+	
+
+	
+	public static String getTimestamp() {
+		SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd_HHmmss");
+		return sdf.format(new Date());
+	}
+	
+	public static String getIFileContents(IFile theFileToRead) {
+		String content=null;
+		try {
+			content = IOUtils.toString(theFileToRead.getContents(), theFileToRead.getCharset());
+		} catch (IOException | CoreException e2) {
+			e2.printStackTrace();
+		}
+		return content;
+	}
+
+	public static String autoIndentFileContent(String codeString){
+		String[] lines=codeString.split("\n");
+		StringBuilder res=new StringBuilder();
+		int identation=0;
+		for(int i=0; i<lines.length;i++){
+			if(lines[i].contains("}"))
+				identation--;
+			for(int j=0; j<identation; j++){
+				res.append("\t");
+			}
+			res.append(lines[i]);
+			res.append("\n");
+			if(lines[i].contains("{"))
+				identation++;
+		}
+		return res.toString();
+	}
+
+	public static IFile createFile(String name, IContainer container) {
+		return FileUtils.createFile(name, container, new NullProgressMonitor());
+	}
+
+	public static IFile createFile(String name, IContainer container, IProgressMonitor progressMonitor) {
+		return FileUtils.createFile(name, container, "", progressMonitor);
+	}
+
+	public static IFile createFile(String name, IContainer container, ProgressMonitorDialog progressMonitorDialog) {
+		return FileUtils.createFile(name, container, "", progressMonitorDialog.getProgressMonitor());
+	}
+	
+	public static IFile createFile(String name, IContainer container, String content, ProgressMonitorDialog progressMonitorDialog) {
+		return FileUtils.createFile(name, container, content, progressMonitorDialog.getProgressMonitor());
+	}
+	
+	public static IFile createFile(String name, IContainer container, String content, IProgressMonitor progressMonitor) {
+		IFile file = container.getFile(new Path(name));
+		FileUtils.assertExist(file.getParent(), progressMonitor);
+		try {
+			InputStream stream = new ByteArrayInputStream(content.getBytes(file.getCharset()));
+			if (file.exists()) {
+				file.setContents(stream, true, true, progressMonitor);
+			}
+			else {
+				file.create(stream, true, progressMonitor);
+			}
+			stream.close();
+		}
+		catch (Exception e) {
+			e.printStackTrace();
+		}
+		progressMonitor.worked(1);
+		return file;
+	}
+	
+
+	public static void assertExist(IContainer c, IProgressMonitor progressMonitor) {
+		if (!c.exists()) {
+			if (!c.getParent().exists()) {
+				assertExist(c.getParent(),progressMonitor);
+			}
+			if (c instanceof IFolder) {
+				try {
+					((IFolder) c).create(false, true, progressMonitor);
+				}
+				catch (final CoreException e) {
+					e.printStackTrace();
+				}
+			}
+		}
+	}
+}
diff --git a/Source Code/V2.1/PiacereToolExtensions/src/eu/piacere/piacereTool/utils/ModelUtils.java b/Source Code/V2.1/PiacereToolExtensions/src/eu/piacere/piacereTool/utils/ModelUtils.java
new file mode 100644
index 0000000000000000000000000000000000000000..df6dc402a1adacf70c143cf06cf0050812555eec
--- /dev/null
+++ b/Source Code/V2.1/PiacereToolExtensions/src/eu/piacere/piacereTool/utils/ModelUtils.java	
@@ -0,0 +1,104 @@
+package eu.piacere.piacereTool.utils;
+
+import java.io.IOException;
+import java.util.UUID;
+
+import org.eclipse.core.resources.IContainer;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl;
+import org.eclipse.jface.dialogs.ProgressMonitorDialog;
+
+import eu.piacere.doml.doml.commons.DOMLModel;
+
+public class ModelUtils {
+
+	public static EObject loadEMFModelRoot(IFile modelFile){
+		String str = ResourcesPlugin.getWorkspace().getRoot().getLocation().toString();
+		String inputModelPath = str + ((IFile)modelFile).getFullPath().toString();
+		return loadEMFModelRoot(inputModelPath);
+	}
+	
+	public static EObject loadEMFModelRoot(String modelPath){
+		XMIResourceFactoryImpl _xmiFac = new XMIResourceFactoryImpl();
+		ResourceSet rSet = new ResourceSetImpl();
+		rSet.getResourceFactoryRegistry().getExtensionToFactoryMap().put("*", _xmiFac);
+		URI uri = null;
+		if(modelPath.startsWith("platform:/plugin"))
+			uri=URI.createPlatformPluginURI(modelPath.replace("platform:/plugin", ""), false);
+		else{
+			uri=URI.createFileURI(modelPath);
+		}
+		Resource res = rSet.getResource(uri, true);
+		return res.getContents().get(0);
+	}
+	
+
+	public static void setupAndSaveEMFInstanceResource(String newModelFileName, IContainer newModelFileContainer, EObject modelRoot, String extension) {
+		IFile f=FileUtils.createFile(newModelFileName+"."+extension, newModelFileContainer);
+		ResourceSet rs = new ResourceSetImpl();
+		Resource resource = ResourceUtils.createResource(f.getLocation().toString(), new String[] {extension, "xml"}, rs);
+		resource.getContents().add(modelRoot);
+		ResourceUtils.saveResource(resource);
+	}
+	
+	
+	public static String getModelTextAsDOMLXFromDOML(IFile thefile) {
+		ResourceSet rs = new ResourceSetImpl();
+		Resource r = rs.getResource(URI.createURI(thefile.getLocationURI().toString()), true);
+		try {
+			r.load(null);
+		} catch (IOException e) {
+			e.printStackTrace();
+		}
+		DOMLModel theDOMLModel = (DOMLModel) r.getContents().get(0);
+		
+		ProgressMonitorDialog pd=new ProgressMonitorDialog(ToolCustomizationUtils.getActiveShell());
+		
+		pd.open();
+		String domlModelName = UUID.randomUUID().toString();
+		IFile target = thefile.getProject().getFile(new Path(domlModelName+".domlx"));
+		Resource targetRes = rs.createResource(URI.createURI(target.getLocationURI().toString()));
+		targetRes.getContents().add(EcoreUtil.copy(theDOMLModel));
+		
+		pd.close();
+		try {
+			targetRes.save(null);
+			thefile.getProject().refreshLocal(IResource.DEPTH_INFINITE, null);
+			String fileContent=FileUtils.getIFileContents(target);
+			if(fileContent==null) {
+				return null;
+			}
+			
+			pd.close();
+			
+			try {
+				target.getProject().getFile(new Path(domlModelName+".domlx")).delete(true, null);
+				thefile.getProject().refreshLocal(IResource.DEPTH_INFINITE, null);
+				
+			} catch (CoreException e) {
+				e.printStackTrace();
+			}
+			return fileContent;
+			
+		} catch (IOException e) {
+			e.printStackTrace();
+		} catch (CoreException e1) {
+			// TODO Auto-generated catch block
+			e1.printStackTrace();
+		}
+		
+		return null;
+		
+		
+	}
+}
diff --git a/Source Code/V2.1/PiacereToolExtensions/src/eu/piacere/piacereTool/utils/PluginUtils.java b/Source Code/V2.1/PiacereToolExtensions/src/eu/piacere/piacereTool/utils/PluginUtils.java
new file mode 100644
index 0000000000000000000000000000000000000000..d0ebcc01742f22de17b1371487a1a9dd56940f81
--- /dev/null
+++ b/Source Code/V2.1/PiacereToolExtensions/src/eu/piacere/piacereTool/utils/PluginUtils.java	
@@ -0,0 +1,114 @@
+package eu.piacere.piacereTool.utils;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import org.eclipse.core.resources.IFolder;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IProjectDescription;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.jdt.core.IClasspathEntry;
+import org.eclipse.jdt.core.IJavaProject;
+import org.eclipse.jdt.core.JavaCore;
+import org.eclipse.jdt.launching.JavaRuntime;
+
+public final class PluginUtils {
+
+	public static IProject createPluginProject(IProject baseProject, List<String> sourceFoldersNames, List<String> extraFolders, IProgressMonitor progressMonitor) throws CoreException{
+		
+		if(!baseProject.exists())
+			baseProject.create(progressMonitor);
+		if(!baseProject.isOpen())
+			baseProject.open(progressMonitor);
+
+		IProjectDescription projectDescription=ResourcesPlugin.getWorkspace().newProjectDescription(baseProject.getName());
+		//projectDescription.setLocation(null);
+		projectDescription.setNatureIds(new String[]{"org.eclipse.pde.PluginNature", JavaCore.NATURE_ID});
+		baseProject.setDescription(projectDescription, null);
+
+
+		IJavaProject javaProject = JavaCore.create(baseProject);
+		IFolder binFolder = baseProject.getFolder("bin");
+		if(!binFolder.exists())
+			binFolder.create(true, true, null);
+		javaProject.setOutputLocation(binFolder.getFullPath(), null);
+
+
+		for(String extraFolderName : extraFolders){
+			IFolder temp = baseProject.getFolder(extraFolderName);
+			temp.create(false, true, progressMonitor);
+		}
+
+		List<IClasspathEntry> classpathEntries = new ArrayList<IClasspathEntry>();
+
+		classpathEntries.add(JavaCore.newContainerEntry(JavaRuntime.newDefaultJREContainerPath()));
+		classpathEntries.add(JavaCore.newContainerEntry(new Path("org.eclipse.pde.core.requiredPlugins")));
+
+		for(String sourceFolderName: sourceFoldersNames){
+			IFolder sourceFolder = baseProject.getFolder(sourceFolderName);
+			sourceFolder.create(false, true, null);
+			classpathEntries.add(JavaCore.newSourceEntry(sourceFolder.getFullPath()));
+		}
+		
+		javaProject.setRawClasspath(classpathEntries.toArray(new IClasspathEntry[classpathEntries.size()]), null);
+		FileUtils.createFile("plugin.xml", baseProject, "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<?eclipse version=\"3.4\"?>\n<plugin/>", progressMonitor);
+		PluginUtils.createBuildProps(baseProject, sourceFoldersNames, extraFolders, progressMonitor);
+		
+		return baseProject;
+	}
+
+	public static void createBuildProps(IProject project, List<String> srcFolders, List<String> extraFolders, IProgressMonitor progressMonitor) {
+		StringBuilder bpContent = new StringBuilder("source.. = ");
+		for (Iterator<String> iterator = srcFolders.iterator(); iterator.hasNext();) {
+			bpContent.append(iterator.next()).append('/');
+			if (iterator.hasNext()) {
+				bpContent.append(",");
+			}
+		}
+		bpContent.append("\n");
+		bpContent.append("bin.includes = META-INF/,\\\n");
+		//bpContent.append("plugin.xml,\\\n");
+		for(String extraFolderName:extraFolders)
+			bpContent.append(extraFolderName+"/,\\\n");
+		bpContent.append(".\n");
+		FileUtils.createFile("build.properties", project, bpContent.toString(), progressMonitor);
+	}
+
+
+	//public static void createManifest(IProject project,String rootPackageName ,List<String> importedPackages, List<String> exportedPackages, IProgressMonitor progressMonitor)throws CoreException {
+	public static void createManifest(IProject project, String rootPackageName ,List<String> importedPackages, List<String> exportedPackages, String version, IProgressMonitor progressMonitor)throws CoreException {
+		StringBuilder maniContent = new StringBuilder("Manifest-Version: 1.0\n");
+		maniContent.append("Bundle-ManifestVersion: 2\n");
+		//maniContent.append("Bundle-RequiredExecutionEnvironment: JavaSE-1.8\n");
+		maniContent.append("Bundle-Name: " + project.getName() + "\n");
+		maniContent.append("Bundle-SymbolicName: " + project.getName() + "; singleton:=true\n");
+		maniContent.append("Bundle-Version: "+version+"\n");
+		maniContent.append("Bundle-Vendor: TaTAmI-ProS\n");
+		maniContent.append("Bundle-Activator: "+rootPackageName+".activator.Activator\n");
+		maniContent.append("Import-Package: ");
+
+		if(importedPackages!=null){
+		for (String entry : importedPackages) {
+			maniContent.append(" " + entry + ",\n");
+		}
+		}
+
+		maniContent.append(" org.osgi.framework\n");
+
+		if (exportedPackages != null && !exportedPackages.isEmpty()) {
+			maniContent.append("Export-Package: " + exportedPackages.get(0));
+			for (int i = 1, x = exportedPackages.size(); i < x; i++) {
+				maniContent.append(",\n " + exportedPackages.get(i));
+			}
+			maniContent.append("\n");
+		}
+
+		IFolder metaInf = project.getFolder("META-INF");
+		metaInf.create(false, true, progressMonitor);
+		FileUtils.createFile("MANIFEST.MF", metaInf, maniContent.toString(), progressMonitor);
+	}
+}
diff --git a/Source Code/V2.1/PiacereToolExtensions/src/eu/piacere/piacereTool/utils/ResourceUtils.java b/Source Code/V2.1/PiacereToolExtensions/src/eu/piacere/piacereTool/utils/ResourceUtils.java
new file mode 100644
index 0000000000000000000000000000000000000000..0d820a62c8c1c9e80d492792199cc57bf3e0ce8a
--- /dev/null
+++ b/Source Code/V2.1/PiacereToolExtensions/src/eu/piacere/piacereTool/utils/ResourceUtils.java	
@@ -0,0 +1,46 @@
+package eu.piacere.piacereTool.utils;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Hashtable;
+import java.util.Map;
+
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.emf.ecore.resource.impl.ResourceImpl;
+import org.eclipse.emf.ecore.xmi.XMLResource;
+import org.eclipse.emf.ecore.xmi.impl.XMLResourceFactoryImpl;
+
+
+public class ResourceUtils {
+	
+	public static Resource createResource(String outputFileURI, String[] fileExtensions, ResourceSet rs) {
+		for (String fileExt : fileExtensions) {
+			rs.getResourceFactoryRegistry().getExtensionToFactoryMap().put(fileExt, new XMLResourceFactoryImpl());
+		}		
+		URI uri = URI.createFileURI(outputFileURI);
+		
+		Resource resource = rs.createResource(uri);
+		((ResourceImpl)resource).setIntrinsicIDToEObjectMap(new Hashtable<String, EObject>());
+		return resource;
+	}
+	
+	public static void saveResource(Resource resource) {
+		Map<Object, Object> saveOptions = ((XMLResource)resource).getDefaultSaveOptions();
+		saveOptions.put(XMLResource.OPTION_CONFIGURATION_CACHE, Boolean.TRUE);
+		saveOptions.put(XMLResource.OPTION_USE_CACHED_LOOKUP_TABLE, new ArrayList<Object>());
+		try {
+			resource.save(saveOptions);
+		} catch (IOException e) {
+			e.printStackTrace();
+			throw new RuntimeException(e);
+		}
+	}
+	
+	
+
+	
+	
+}
\ No newline at end of file
diff --git a/Source Code/V2.1/PiacereToolExtensions/src/eu/piacere/piacereTool/utils/ToolCustomizationUtils.java b/Source Code/V2.1/PiacereToolExtensions/src/eu/piacere/piacereTool/utils/ToolCustomizationUtils.java
new file mode 100755
index 0000000000000000000000000000000000000000..2b628896bfa06c735eea5fa02a599ac343e88a48
--- /dev/null
+++ b/Source Code/V2.1/PiacereToolExtensions/src/eu/piacere/piacereTool/utils/ToolCustomizationUtils.java	
@@ -0,0 +1,157 @@
+package eu.piacere.piacereTool.utils;
+
+import java.util.ArrayList;
+
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.core.runtime.preferences.ConfigurationScope;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.xmi.XMIResource;
+import org.eclipse.gef.EditPart;
+import org.eclipse.gmf.runtime.diagram.ui.editparts.DiagramEditPart;
+import org.eclipse.gmf.runtime.notation.impl.DiagramImpl;
+import org.eclipse.gmf.runtime.notation.impl.ViewImpl;
+import org.eclipse.jface.dialogs.InputDialog;
+import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.jface.viewers.TreePath;
+import org.eclipse.jface.window.Window;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.IWorkbenchPage;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.ui.preferences.ScopedPreferenceStore;
+import org.osgi.framework.FrameworkUtil;
+
+
+
+
+public class ToolCustomizationUtils {
+	
+	public static String getPreference(Class<?> theClass, String preferenceID) {
+		ScopedPreferenceStore scopedPreferenceStore = new ScopedPreferenceStore(ConfigurationScope.INSTANCE,(FrameworkUtil.getBundle(theClass)).getSymbolicName());
+		return scopedPreferenceStore.getString(preferenceID);
+	}
+
+	protected static Logger logger = LogManager.getLogger(ToolCustomizationUtils.class);
+
+	public static Path getFullPath(URI uri){
+		if(uri.toString().startsWith("platform:/resource")){
+			return new Path(ResourcesPlugin.getWorkspace().getRoot().getLocation().toString() + uri.toString().replace("platform:/resource", ""));
+		}
+		else if(uri.toString().startsWith("file:")){
+			return new Path(uri.toString().replace("file:", ""));
+		}
+		return null;
+	}
+
+	public static void saveWorkbench(){
+		IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
+		if(page!=null){
+			IEditorPart editor = page.getActiveEditor();
+			if(editor!=null){
+				page.saveEditor(editor, true);
+			}
+		}
+	}
+
+	public static EObject getRootEObjectFromResource(ISelection selection){
+		return getRootEObjectFromResource((XMIResource)((StructuredSelection)selection).getFirstElement());
+	}
+
+	public static EObject getRootEObjectFromResource(XMIResource resource){
+		return resource.getContents().get(0);
+	}
+
+	public static EObject getEObjectFromDiagramSelection(ISelection selection){
+		EditPart ep = (EditPart) ((StructuredSelection)selection).getFirstElement();
+		if(ep instanceof DiagramEditPart){
+			return ((DiagramImpl) ep.getModel()).getElement();
+		}
+		return ((ViewImpl)ep.getModel()).getElement();
+	}
+
+	public static String getInputModelPathFromSelection(ISelection selection){
+		return  ResourcesPlugin.getWorkspace().getRoot().getLocation().toString() + ((IFile)((StructuredSelection) selection).getFirstElement()).getFullPath().toString();
+	}
+
+	public static String getInputModelPathFromTreePath(TreePath path){
+		return  ResourcesPlugin.getWorkspace().getRoot().getLocation().toString() + ((IFile) path.getSegment(path.getSegmentCount()-1)).getFullPath().toString();
+	}
+
+	public static void showErrors(String modelType, ArrayList<String> validationResults){
+		String errors="There are ERRORS in your "+modelType+":\n\n";
+		for(String error:validationResults){
+			errors+="\t- "+error+"\n";
+			logger.error("\t- "+error);
+		}
+		showErrorDialog("Validation Result",errors);
+	}
+
+	public static String doDialogAsk(String title, String questionText, String providedExample){
+		String s=doDialogAskWithoutPostProcess(title, questionText,providedExample);
+		if ((s != null) && (s.length() > 0)) {
+			if(s.endsWith(".")){
+				s=s.substring(0, s.length()-1);
+			}
+			return s.replace(" ", "_");
+		}
+		return null;
+	}
+
+
+
+	public static String doDialogAskWithoutPostProcess(String title, String questionText, String providedExample){
+		InputDialog dialogAsk=new InputDialog(getActiveShell(), title, questionText+":", providedExample, null);
+		if(dialogAsk.open()==Window.OK){
+			return dialogAsk.getValue();
+		}
+		return null;
+	}
+
+
+	public static Shell getActiveShell() {
+		Display display = Display.getDefault();
+		Shell result = display.getActiveShell();
+
+		if (result == null) {
+			Shell[] shells = display.getShells();
+			for (Shell shell : shells) {
+				if (shell.getShells().length == 0) {
+					if (result != null)
+						try {
+							//throw new Exception();
+						} catch (Exception e) {
+							e.printStackTrace();
+						}
+					result = shell;
+				}
+			}
+		}
+
+		return result;
+	}
+
+	public static void showErrorDialog(String title, String message){
+		MessageDialog.openError(getActiveShell(), title, message);
+	}
+
+	public static boolean showQuestionDialog(String title, String message){
+		return MessageDialog.openQuestion(getActiveShell(), title, message);
+	}
+
+	public static void showInformationDialog(String title, String message){
+		MessageDialog.openInformation(getActiveShell(), title, message);
+	}
+
+	public static String getDOMLModelName() {
+		return ToolCustomizationUtils.doDialogAsk("DOML Model Name", "Enter the DOML Model Name", "GeneratedDOML");
+	}
+
+}
diff --git a/Source Code/V2.1/PiacereToolProduct/.classpath b/Source Code/V2.1/PiacereToolProduct/.classpath
new file mode 100755
index 0000000000000000000000000000000000000000..791f73318fb4e40a3caac6d9bd1eabd9d6b1c626
--- /dev/null
+++ b/Source Code/V2.1/PiacereToolProduct/.classpath	
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER">
+		<attributes>
+			<attribute name="module" value="true"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/Source Code/V2.1/PiacereToolProduct/.gitignore b/Source Code/V2.1/PiacereToolProduct/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..ae3c1726048cd06b9a143e0376ed46dd9b9a8d53
--- /dev/null
+++ b/Source Code/V2.1/PiacereToolProduct/.gitignore	
@@ -0,0 +1 @@
+/bin/
diff --git a/Source Code/V2.1/PiacereToolProduct/.project b/Source Code/V2.1/PiacereToolProduct/.project
new file mode 100644
index 0000000000000000000000000000000000000000..bc48142ea60cb987ff9ac3d90cf88d574fc742f7
--- /dev/null
+++ b/Source Code/V2.1/PiacereToolProduct/.project	
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>PiacereToolProduct</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
diff --git a/Source Code/V2.1/PiacereToolProduct/META-INF/MANIFEST.MF b/Source Code/V2.1/PiacereToolProduct/META-INF/MANIFEST.MF
new file mode 100755
index 0000000000000000000000000000000000000000..23c4dc35d10f9768ae1271d89323f5bed65476c2
--- /dev/null
+++ b/Source Code/V2.1/PiacereToolProduct/META-INF/MANIFEST.MF	
@@ -0,0 +1,6 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: PiacereToolProduct
+Bundle-SymbolicName: PiacereToolProduct;singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Bundle-Vendor: TaTAmI
diff --git a/Source Code/V2.1/PiacereToolProduct/Piacere/PiacereIcon.icns b/Source Code/V2.1/PiacereToolProduct/Piacere/PiacereIcon.icns
new file mode 100644
index 0000000000000000000000000000000000000000..dc85bd35fdb471de2d3e2bb6385b0e2ea53ffa9d
Binary files /dev/null and b/Source Code/V2.1/PiacereToolProduct/Piacere/PiacereIcon.icns differ
diff --git a/Source Code/V2.1/PiacereToolProduct/Piacere/PiacereIcon.ico b/Source Code/V2.1/PiacereToolProduct/Piacere/PiacereIcon.ico
new file mode 100644
index 0000000000000000000000000000000000000000..955b5c0d349d28067df94598efa145a65192806b
Binary files /dev/null and b/Source Code/V2.1/PiacereToolProduct/Piacere/PiacereIcon.ico differ
diff --git a/Source Code/V2.1/PiacereToolProduct/Piacere/PiacereIcon.xpm b/Source Code/V2.1/PiacereToolProduct/Piacere/PiacereIcon.xpm
new file mode 100644
index 0000000000000000000000000000000000000000..7000c4a32e578bfea5036948d7979f19bfe1d1a5
--- /dev/null
+++ b/Source Code/V2.1/PiacereToolProduct/Piacere/PiacereIcon.xpm	
@@ -0,0 +1,478 @@
+/* XPM */
+static char *e536e75a96154664d52eafc12d0b7d5bUyTTPc7n3PFFgmmI[] = {
+/* columns rows colors chars-per-pixel */
+"277 320 152 2 ",
+"   c None",
+".  c #07AE78",
+"X  c #07AF7A",
+"o  c #09AE78",
+"O  c #08AF78",
+"+  c #09AF78",
+"@  c #08AF79",
+"#  c #09AF79",
+"$  c #08AF7A",
+"%  c #07B078",
+"&  c #08B079",
+"*  c #09B079",
+"=  c #08B07A",
+"-  c #09B07A",
+";  c #0EB079",
+":  c #08B57B",
+">  c #0FB57B",
+",  c #12B475",
+"<  c #12B476",
+"1  c #1AB373",
+"2  c #19B779",
+"3  c #10BB7E",
+"4  c #19BC7C",
+"5  c #32B66D",
+"6  c #3CB96E",
+"7  c #21B573",
+"8  c #21B574",
+"9  c #22B574",
+"0  c #21B674",
+"q  c #21B675",
+"w  c #29B573",
+"e  c #24B679",
+"r  c #21BE7B",
+"t  c #29BC79",
+"y  c #31B473",
+"u  c #3BB672",
+"i  c #30BC74",
+"p  c #3ABC73",
+"a  c #37BC79",
+"s  c #41B66D",
+"d  c #4ABA6E",
+"f  c #4ABB6E",
+"g  c #4ABC6E",
+"h  c #52BD6A",
+"j  c #5ABC6C",
+"k  c #5ABD6C",
+"l  c #5ABD6D",
+"z  c #5ABE6C",
+"x  c #42BD73",
+"c  c #4BBE72",
+"v  c #50BB72",
+"b  c #59BF72",
+"n  c #6DBF64",
+"m  c #63BE6B",
+"M  c #63BE6C",
+"N  c #6BBB6B",
+"B  c #73BF68",
+"V  c #2FC079",
+"C  c #3CC377",
+"Z  c #54C16C",
+"A  c #42C477",
+"S  c #4AC575",
+"D  c #52C574",
+"F  c #5AC673",
+"G  c #6EC565",
+"H  c #63C36D",
+"J  c #6BC56C",
+"K  c #73C564",
+"L  c #7BC562",
+"P  c #7BC463",
+"I  c #7AC563",
+"U  c #7BC563",
+"Y  c #7BC663",
+"T  c #7CC563",
+"R  c #7BC664",
+"E  c #74C66A",
+"W  c #7CC769",
+"Q  c #75CC6D",
+"!  c #7BCE6C",
+"~  c #62C872",
+"^  c #6DCC71",
+"/  c #8BC55A",
+"(  c #8BC65A",
+")  c #9DCE54",
+"_  c #92C65A",
+"`  c #96CD5A",
+"'  c #9BCE59",
+"]  c #9DCF58",
+"[  c #9CCE59",
+"{  c #9CCF59",
+"}  c #9DD35D",
+"|  c #B5D54B",
+" . c #BCD549",
+".. c #BCD54A",
+"X. c #BCD64A",
+"o. c #BCD74B",
+"O. c #BEDB4A",
+"+. c #BFDB4A",
+"@. c #A5CE53",
+"#. c #A5CF53",
+"$. c #ACCE52",
+"%. c #ADCE53",
+"&. c #A5CC59",
+"*. c #A5CD59",
+"=. c #A5D053",
+"-. c #ADD651",
+";. c #ADD751",
+":. c #ADD552",
+">. c #A6D65B",
+",. c #ABD759",
+"<. c #A8DB5F",
+"1. c #B2D151",
+"2. c #B5D753",
+"3. c #BBD650",
+"4. c #B6DD55",
+"5. c #BDDF52",
+"6. c #B0DD5A",
+"7. c #83C562",
+"8. c #83C662",
+"9. c #84C562",
+"0. c #8DC663",
+"q. c #85CC65",
+"w. c #8CCE63",
+"e. c #83CF6A",
+"r. c #93CD62",
+"t. c #8ED366",
+"y. c #95D564",
+"u. c #9DD662",
+"i. c #A3D961",
+"p. c #C4D744",
+"a. c #C7DD42",
+"s. c #C8DD42",
+"d. c #CDDD41",
+"f. c #CCDE41",
+"g. c #CDDE41",
+"h. c #CEDF41",
+"j. c #CCDD42",
+"k. c #CDDD42",
+"l. c #CCDE42",
+"z. c #CDDE42",
+"x. c #CDDF42",
+"c. c #CDDE43",
+"v. c #CEDE42",
+"b. c #CEDF42",
+"n. c #CEDE43",
+"m. c #C6DE4A",
+"M. c #C4E04F",
+"N. c #CCE149",
+"B. c #CEE64B",
+"V. c #C8E34D",
+"C. c #D7E743",
+"Z. c #D2E749",
+/* pixels */
+"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          ",
+"                                                                                                                                                                                                                                                                                T P q.8.T                                                                                                                                                                                                                                                                                 ",
+"                                                                                                                                                                                                                                                                              8.7.q.7.7.q.9.                                                                                                                                                                                                                                                                              ",
+"                                                                                                                                                                                                                                                                          R 8.q.7.7.7.7.8.q.q.P                                                                                                                                                                                                                                                                           ",
+"                                                                                                                                                                                                                                                                      P 8.w.8.7.7.7.7.7.8.Y P e.P P                                                                                                                                                                                                                                                                       ",
+"                                                                                                                                                                                                                                                                    9.w.q.8.7.7.7.7.7.7.8.P Y Y P e.P T                                                                                                                                                                                                                                                                   ",
+"                                                                                                                                                                                                                                                                8.q.q.7.7.7.7.7.7.7.8.8.8.P Y P P Y W e.Y                                                                                                                                                                                                                                                                 ",
+"                                                                                                                                                                                                                                                            _ ( t.8.7.7.7.7.7.7.7.8.8.8.8.P P Y Y P P Y W Y R                                                                                                                                                                                                                                                             ",
+"                                                                                                                                                                                                                                                        9.9.t.q.8.7.7.7.7.7.7.7.7.7.7.7.8.P P P P Y P Y P Y e.P P                                                                                                                                                                                                                                                         ",
+"                                                                                                                                                                                                                                                      8.t.w.7.7.8.7.7.7.7.7.7.7.7.7.7.7.8.P P Y Y P Y P Y P Y W ! Y Y                                                                                                                                                                                                                                                     ",
+"                                                                                                                                                                                                                                                  ( w.t.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.8.P Y P P Y P Y P Y P Y Y ! E Y                                                                                                                                                                                                                                                   ",
+"                                                                                                                                                                                                                                              _ w.y.w.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.8.Y P Y Y P Y P Y P Y P P K E ! E R                                                                                                                                                                                                                                               ",
+"                                                                                                                                                                                                                                          9.` r.w.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.P Y P P Y P Y P Y P Y R K K K E ! E T                                                                                                                                                                                                                                           ",
+"                                                                                                                                                                                                                                        8.w.r.0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.8.P P P Y P Y P Y P Y P R K K K K K Q E m                                                                                                                                                                                                                                         ",
+"                                                                                                                                                                                                                                    ` r.r.w.( 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.8.P P P P Y P Y P P P P P K K K K K K E Q E P                                                                                                                                                                                                                                     ",
+"                                                                                                                                                                                                                                _ _ r.r.0.( ( 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.P P P Y P Y P P P P P R K K K K K B B E E E E z                                                                                                                                                                                                                                 ",
+"                                                                                                                                                                                                                              _ r.r.r.0.0.( ( 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.8.8.Y P Y P Y P Y P Y P Y P K K K K K E B B B n E J K T                                                                                                                                                                                                                             ",
+"                                                                                                                                                                                                                          ` r.r.r._ 0.0.0.( ( 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.8.8.P Y P Y P Y P Y P Y P Y K K K K K B B B B n n G E G m                                                                                                                                                                                                                           ",
+"                                                                                                                                                                                                                      ` r.r.r._ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.8.8.8.P P Y P Y P Y P Y P Y P K K K K K B B B B n n n n J J J m                                                                                                                                                                                                                       ",
+"                                                                                                                                                                                                                  [ ` } r._ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.8.8.8.P Y P Y P Y P Y P Y P Y K K K K K B B B B n n n n n n J J m P                                                                                                                                                                                                                   ",
+"                                                                                                                                                                                                                ` u.` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.8.P P Y P Y P Y P Y P Y P K K K K K B B B B n n n n n n G N J J m j                                                                                                                                                                                                               ",
+"                                                                                                                                                                                                            ` } } ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.8.P Y P Y P Y P Y P Y P P K K K K K B B B B n n n n n n n N N N J J M                                                                                                                                                                                                             ",
+"                                                                                                                                                                                                        _ ` u.` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.8.P P Y P Y P Y P Y P Y P K K K K K B B B B n n n n n n n N N N N m ^ m z                                                                                                                                                                                                         ",
+"                                                                                                                                                                                                    } ` i.[ ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.8.P Y P Y P Y P Y P Y P P K K K K K B B B B n n n n n n n N N N N m m J ^ m z                                                                                                                                                                                                     ",
+"                                                                                                                                                                                                  ` u.} ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.P P Y Y P Y P Y P Y P P K K K K K K B B B n n n n n n n N N N N m m m m H ^ m z                                                                                                                                                                                                 ",
+"                                                                                                                                                                                              ' ` i.` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.8.P P P P Y P Y P Y P Y P K K K K K B B B B n n n n n n n N N N N m m m m m m J M M                                                                                                                                                                                               ",
+"                                                                                                                                                                                          ' [ i.[ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.8.P P P Y P Y P Y P Y P P K K K K K B B B B n n n n n n n N N N N m m m m m m m H ~ m z                                                                                                                                                                                           ",
+"                                                                                                                                                                                      } [ >.} [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.P P P P Y P Y P Y P Y P K K K K K B B B B n n n n n n n N N N N m m m m m m m m m H H m z                                                                                                                                                                                       ",
+"                                                                                                                                                                                    [ [ >.[ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.9.7.7.7.7.7.7.7.7.7.7.7.7.7.7.8.P Y P Y P Y P Y P Y P R K K K K K B B B B n n n n n n n N N N N m m m m m m m m m m m H H j                                                                                                                                                                                     ",
+"                                                                                                                                                                                ' [ >.[ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.8.Y P Y P Y P Y P Y P Y R K K K K K B B B B n n n n n n n N N N N m m m m m m m m m m m m m H H z                                                                                                                                                                                 ",
+"                                                                                                                                                                            =.&.>.} [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.8.7.8.8.8.P Y P Y P Y P Y P P P P K K K K K B B B B n n n n n n n N N N N m m m m m m m m m m m m z j H H z z                                                                                                                                                                             ",
+"                                                                                                                                                                          [ >.>.[ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.8.8.8.8.8.P P Y P Y P Y P P P P P K K K K K B B B B n n n n n n n N N N N m m m m m m m m m m m m j z z j z b j z                                                                                                                                                                         ",
+"                                                                                                                                                                      =.>.&.&.[ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.P P P Y P Y P Y P Y P Y K K K K K B B B B n n n n n n n N N N N m m m m m m m m m m m m j z j z j z b b z                                                                                                                                                                       ",
+"                                                                                                                                                                  =.&.>.[ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.8.8.7.P P P P Y P Y P Y P Y P K K K K K B B B B n n n n n n n N N N N m m m m m m m m m m m m z j z j z j z z b z z                                                                                                                                                                   ",
+"                                                                                                                                                              :.) ,.&.[ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.8.8.7.q.q.q.8.P P P Y P Y P Y P Y P Y K K K K K B B B B n n n n n n n N N N N m m m m m m m m m m m m j z j z j z j j z j b z j                                                                                                                                                               ",
+"                                                                                                                                                            =.,.@.&.) ' [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.8.e.P 8.P e.Y P Y P Y P Y P Y P Y P K K K K K B B B B n n n n n n n N N N N m m m m m m m m m m m m z j z j z j z z j z z Z D z                                                                                                                                                             ",
+"                                                                                                                                                        @.,.,.@.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.q.q.R       R q.e.P Y P Y P P Y P Y Y K K K K K B B B B n n n n n n n N N N N m m m m m m m m m m m m z z j z j z j j z j z h h Z D g                                                                                                                                                         ",
+"                                                                                                                                                    =.=.,.=.=.@.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.q.t.9.T             Y e.W P P Y Y P Y P P K K K K K B B B B n n n n n n n N N N N m m m m m m m m m m m m j j z j z j z z j z j h h h v D v z                                                                                                                                                     ",
+"                                                                                                                                                =.=.6.,.@.=.@.=.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.8.7.7.7.t.7.9.                  Y Y e.Y P P Y P Y Y K K K K K E B B B n n n n n n n N N N N m m m m m m m m m m m m j z j z j z j j z j z h h h v v v D f j                                                                                                                                                 ",
+"                                                                                                                                              ;.,.,.=.=.=.@.=.@.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.8.7.w.w.(                           P W ! Y P Y P P K K K K K B B B B n n n n n n n N N N N m m m m m m m m m m m m z j z j z j z z j z j h h h v v v f c D c z                                                                                                                                             ",
+"                                                                                                                                          =.$.,.=.@.=.@.=.@.=.@.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.9.0.w.q.8.                                  P e.W P Y P K K K K K B B B B n n n n n n n N N N N m m m m m m m m m m m m j z j z j z j j z j z h h h v v v f f f D c f                                                                                                                                           ",
+"                                                                                                                                      @.:.6.:.=.@.=.@.=.@.=.@.=.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.w.w.8.                                          P W Y P K K K K K B B B B n n n n n n n N N N N m m m m m m m m m m m m z j z j z j z z j z j h h h v v v f f f f c S f z                                                                                                                                       ",
+"                                                                                                                                  @.;.:.,.$.$.@.=.@.=.@.=.@.=.@.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.w.0.9.                                              9.P W E K K K K B B B B n n n n n n n N N N N m m m m m m m m m m m m z z j z j z j j z j z h h h v v v f f f f f f c c f j                                                                                                                                   ",
+"                                                                                                                                ;.:.2.$.%.$.$.=.@.=.@.=.@.=.@.=.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.w.w.( (                                                       P K E E K K B B B B n n n n n n n N N N N m m m m m m m m m m m m j j z j z j z z j z j h h h v v v f f f f f f f f c s f                                                                                                                                 ",
+"                                                                                                                            =.:.2.:.$.$.$.$.$.@.=.@.=.@.=.@.=.@.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.w.0.`                                                               m K E E E B B B n n n n n n n N N N N m m m m m m m m m m m m j z j z j z j j z j z h h h v v v f f f f f f f f f x x x f                                                                                                                             ",
+"                                                                                                                        :.%.2.:.$.$.$.$.$.$.$.=.@.=.@.=.@.=.@.=.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0.0.r.w.w.9.                                                                  T K E E E B B n n n n n n n N N N N m m m m m m m m m m m m z j z j z j z z j z j h h h v v v f f f f f f f f f s s x x f z                                                                                                                         ",
+"                                                                                                                    @.%.2.2.:.;.$.$.$.$.$.$.$.@.=.@.=.@.=.@.=.@.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.r.r.w.(                                                                           T E E E B n n n n n n n N N N N m m m m m m m m m m m m j z j z j z j j z j z h h h v v v f f f f f f f f f s s s x x x f z                                                                                                                     ",
+"                                                                                                                  :.2.2.;.;.;.;.$.$.$.$.$.$.$.=.@.=.@.=.@.=.@.=.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ r.y.0.(                                                                                   R E E E n n n n n n N N N N m m m m m m m m m m m m z j z j z j z z j z j h h h v v v f f f f f f f f f s s s s s x x p g                                                                                                                   ",
+"                                                                                                              #.2.2.;.;.;.;.;.;.$.$.$.$.$.$.$.@.=.@.=.@.=.@.=.@.=.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ y.r.`                                                                                           M G Q G n n n n N N N N m m m m m m m m m m m m j z j z j z j j z j z h h h v v v f f f f f f f f f s s s s s s 6 6 p p 8                                                                                                               ",
+"                                                                                                          :.1.4.:.1.:.;.;.;.;.:.$.$.$.$.$.$.$.=.@.=.@.=.@.=.@.=.@.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ r.y.` 9.                                                                                              T m Q E n n n N N N N m m m m m m m m m m m m z j z j z j z z j z j h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 p u 8                                                                                                           ",
+"                                                                                                        :.5.2.1.1.1.:.:.:.;.:.;.$.$.$.$.$.$.$.@.=.@.=.@.=.@.=.@.=.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ r.u.r._                                                                                                       P E Q J G N N N N m m m m m m m m m m m m j z j z j z j j z j z h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u p C w                                                                                                         ",
+"                                                                                                    o.5.2.1.1.1.1.1.:.;.;.:.;.:.$.$.$.$.$.$.$.=.@.=.@.=.@.=.@.=.@.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` y.r.`                                                                                                               R E Q N N N N m m m m m m m m m m m m z j z j z j z z j z j h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u p a 8                                                                                                     ",
+"                                                                                                o.| 5.1.1.1.1.1.1.1.-.-.:.;.:.-.$.$.$.$.$.$.$.@.=.@.=.@.=.@.=.@.=.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` u.`                                                                                                                       R Q J N N m m m m m m m m m m m m j z j z j z j j z j z h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 a i 0                                                                                                 ",
+"                                                                                            o.1.5.o.1.1.1.1.1.1.1.1.-.-.;.:.-.-.$.$.$.$.$.$.$.=.@.=.@.=.@.=.@.=.@.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` u._ 9.                                                                                                                          z m ^ J m m m m m m m m m m m m z j z j z j z z j z j h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y i a w 8                                                                                             ",
+"                                                                                          O.5.5.| | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.$.@.=.@.=.@.=.@.=.@.=.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` } ` _                                                                                                                                   P J J m m m m m m m m m m m j z j z j z j j z j z h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y i V 0                                                                                           ",
+"                                                                                      o.3.5.| | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.$.=.@.=.@.=.@.=.@.=.@.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` [ } `                                                                                                                                           M J J m m m m m m m m m z j z j z j z z j z j h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y V i 8                                                                                       ",
+"                                                                                  s.O.M.o.| | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.$.@.=.@.=.@.=.@.=.@.=.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` } `                                                                                                                                                   m J m m m m m m m m z z j z j z j j z j z h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y i V w 8                                                                                   ",
+"                                                                              o.O.O.5.o.| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.$.=.@.=.@.=.@.=.@.=.@.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ } [ [                                                                                                                                                       j m J m m m m m m z j z j z j z z j z j h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w i t 8 8                                                                               ",
+"                                                                            O.o.5.3. .o.| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.$.@.=.@.=.@.=.@.=.@.=.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ } } `                                                                                                                                                               j m H m m m m j z j z j z j j z j z h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w t w 8                                                                             ",
+"                                                                        o.O.m.O.o. .o. .| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.$.=.@.=.@.=.@.=.@.=.@.&.) [ [ [ [ [ [ [ [ [ [ [ [ } `                                                                                                                                                                       m m H m m z j z j z j z z j z j h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w t w 8                                                                         ",
+"                                                                    a.O.O.m..... . . .o.| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.$.@.=.@.=.@.=.@.=.@.=.&.) [ [ [ [ [ [ [ [ [ } } ) }                                                                                                                                                                           z M m H m z j z j z j j z j z h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w t t 8 8                                                                     ",
+"                                                                  o.O.O.o.o. . . . .o. .| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.$.=.@.=.@.=.@.=.@.=.@.&.) [ [ [ [ [ [ [ } >.[ '                                                                                                                                                                                   z m H H z j z j z z j z j h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w e e 8 8                                                                 ",
+"                                                              O.O.O.O. . .o. .o. .O. . .| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.$.@.=.@.=.@.=.@.=.@.=.&.) [ [ [ [ [ [ >.[ =.                                                                                                                                                                                          z z ~ z j z j j z j z h h h v v v f f f f f f f f g s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 e e e 8                                                               ",
+"                                                           .O.O.m.o.o. .o. .o. . . . . .| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.%.=.@.=.@.=.@.=.@.=.@.&.) [ [ [ [ >.>.[                                                                                                                                                                                                   z m H j z z j z j h h h v v v f f f f f f f g g s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 e 8 8                                                           ",
+"                                                       .O.V.m... .o. .o. .o. .o. .o. .o.| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.$.@.@.=.@.=.@.=.@.=.@.&.) [ [ >.<.=.}                                                                                                                                                                                                       j z F b j z j z h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 r 8 8                                                       ",
+"                                                    O.B.O.O.O. .o. .o. .o. .o. .o. .o. .| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.$.@.=.@.=.@.=.@.=.@.=.&.) [ <.&.@.                                                                                                                                                                                                              z z ~ b z j h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 r 8                                                     ",
+"                                                o.m.m.O.O.O.O. . .o. .o. .o. .o. .o. .o.| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.$.@.@.=.@.=.@.=.@.=.@.&.<.>.=.                                                                                                                                                                                                                      z b F j h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 2 r 8                                                 ",
+"                                            s.p.B.O.m.O.O.O.O. .o. .o. .o. .o. .o. .o. .| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.$.@.=.@.=.@.=.@.=.@.>.,.=.@.                                                                                                                                                                                                                            z F b h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 r 8 8                                             ",
+"                                        o.O.N.m.m.O.O.O.m.O.O. . .o. .o. .o. .o. .o. .o.| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.:.;.$.$.$.$.$.$.$.@.@.=.@.=.@.=.=.,.=.[                                                                                                                                                                                                                                   z z F v v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 2 r 8 8                                         ",
+"                                      O.N.N.p.O.o.O.O.O.O.O.O.o.o. .o. .o. .o. .o. .o. .| | | | | | 1.1.1.1.1.1.1.1.-.-.-.:.;.:.$.$.$.$.$.$.$.=.=.@.=.@.=.,.@.@.                                                                                                                                                                                                                                          z v D v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 2 r 8                                       ",
+"                                  o.m.B.a.p.p.m.O.O.m.O.O.o.O.o. .o. .o. .o. .o. .o. .o.| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.:.;.$.$.$.$.$.$.$.@.@.=.=.,.,.=.                                                                                                                                                                                                                                                  g D Z f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 4 2 8                                   ",
+"                              s.a.Z.m.p.p.p.p.O.O.O.O.O.O.m.O...o. .o. .o. .o. .o. .o. .| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.;.:.$.$.$.$.$.$.$.=.=.@.,.@.@.                                                                                                                        8.8.Y                                                                                                                           f D f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 2 4 8 <                               ",
+"                          o.a.N.c.a.p.p.p.p.p.o.m.o.O.O.O.O.m... .o. .o. .o. .o. .o. .o.| | | | | | 1.1.1.1.1.1.1.1.:.:.:.;.:.;.$.$.$.$.$.$.$.$.,.@.=.                                                                                                                        ( w.t.q.q.P P                                                                                                                         z f c f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < 2 2 8 8                           ",
+"                        O.a.N.a.a.a.p.p.p.p.p.m.O.O.O.m.O.O.o...o. .o. .o. .o. .o. .o. .| | | | | | 1.1.1.1.1.1.1.1.:.:.;.;.;.:.$.$.$.$.%.:.;.,.=.                                                                                                                        _ w.t.w.7.7.7.W ! E P                                                                                                                         z f c f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < 2 < 8                         ",
+"                    c.c.N.c.a.a.a.a.p.p.p.p.p.O.O.o.O.O.m.O.O. . .o. .o. .o. .o. .o. .o.| | | | | | 1.1.1.1.1.1.1.1.:.;.;.;.;.:.$.$.$.$.,.:.=.                                                                                                                          ` r.r.0.7.7.7.7.P P E E K T                                                                                                                         f c c f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < > > <                     ",
+"                s.c.N.c.a.a.a.a.a.a.p.p.p.p.p.O.O.m.O.O.O.O.O. .o. .o. .o. .o. .o. . ...| | | | | | 1.1.1.1.1.1.1.| ;.;.;.;.;.;.$.$.;.-.%.:.                                                                                                                        ` ` r.r.0.0.7.7.7.7.P P K E E J M                                                                                                                         z f c c s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < > > > <                 ",
+"              a.c.c.a.a.a.a.a.a.a.a.p.p.p.p.p.O.O.o.O.O.O.O.O.o. .o. .o. .o. .o. .o. .o.| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.:.:.;.2.:.=.                                                                                                                        ` } ` ` _ _ 0.0.7.7.7.7.P P K B n J J J z                                                                                                                         z f x x s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < > > ; e             ",
+"          c.g.c.c.a.a.a.a.a.a.a.a.a.p.p.p.p.p.O.O.m.O.O.O.O.O...o. .o. .o. .o. .o. .o. .| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.:.2.;.=.                                                                                                                        [ [ } ' ` ` _ _ 0.0.7.7.7.7.P P K B n n N J m z z                                                                                                                         g f x x s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; > < 8           ",
+"      s.c.c.c.g.c.a.a.a.a.a.a.a.a.a.p.p.p.p.p.O.O.O.m.o.O.O.m... .o. .o. .o. .o. .o. .o.| | | | | | 1.1.1.1.1.1.1.1.:.-.-.2.2.:.@.                                                                                                                        =.>.&.' ) ` ` _ _ 0.0.8.8.8.8.P P K B n n N m m m b z                                                                                                                           f x x 6 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; > : <       ",
+"    c.C.c.c.g.c.g.a.a.a.a.a.a.a.a.a.p.p.p.p.p.O.O.m.O.O.O.O.O...o. .o. .o. .o. .o. .o. .| | | | | | 1.1.1.1.1.1.1.1.-.2.4.-.:.                                                                                                                        @.,.,.=.[ [ ' ` ` _ _ 0.0.8.8.8.8.P P K B n n N m m z j b Z g                                                                                                                         z f A x 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; : ;     ",
+"  c.g.c.g.c.g.c.g.a.a.a.a.a.a.a.a.a.p.p.p.p.p.O.O.O.O.O.O.O.O...o. .o. .o. .o. .o. .o. .| | | | | | 1.1.1.1.1.1.1.2.4.:.=.                                                                                                                        :.;.,.@.=.&.[ [ [ ` ` _ _ 0.0.8.8.7.7.P R K B n n N m m z z j h c c z                                                                                                                         8 g A 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; ; :     ",
+"  g.c.g.c.g.c.g.c.a.a.a.a.a.a.a.a.a.p.p.p.p.p.O.O.O.O.o.m.O.O... .o. .o. .o. .o. .o. .o.| | | | | | 1.1.1.1.1.1.4.2.=.                                                                                                                        @.:.4.;.$.=.@.&.[ [ [ ` ` _ _ 0.0.7.7.7.7.R P K B n n N m m j j z v f f x f 8                                                                                                                         g p C u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; ; : $   ",
+"  c.g.c.g.c.g.c.g.a.a.a.a.a.a.a.a.a.p.p.p.p.p.m.O.O.O.m.o.m.O.o.o. .o. .o. .o. .o. .o. .| | | | | | 1.1.1.1.2.4.;.                                                                                                                          -.5.2.:.$.$.@.=.&.[ [ [ ` ` _ _ 0.0.7.7.7.7.P P K B n n N m m j z j v f f s x C f                                                                                                                           8 C p u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; ; : O   ",
+"  c.c.g.c.g.c.g.c.a.a.a.a.a.a.a.a.a.p.p.p.p.p.O.m.o.O.O.O.O.O... .o. .o. .o. .o. .o. .o.| | | | | | 1.1.2.5.:.:.                                                                                                                        o.O.5.| | ;.$.%.=.@.&.[ [ [ ` ` _ _ 0.0.7.7.7.7.P P K B n n N m m z j z v f f s 6 u a i 8                                                                                                                         8 u C p 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; ; : O   ",
+"  c.c.c.g.c.g.c.g.a.a.a.a.a.a.a.a.a.p.p.p.p.p.O.O.O.O.O.O.m.O...o. .o. .o. .o. .o. .o. .| | | | | | 1.5.2.=.                                                                                                                        s.o.M.3.| 1.1.-.$.$.@.=.&.[ [ [ ` ` _ _ 0.0.7.7.7.7.P P K E n n N m m j z j v f f s 6 u 5 i V 8 8                                                                                                                         8 p a y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; ; : -   ",
+"  c.c.c.c.g.c.g.c.a.a.a.a.a.a.a.a.a.p.p.p.p.p.O.O.o.m.O.O.O.O... .o. .o. .o. .o. .o. .o.| | | | | o.5.O.                                                                                                                        o.O.B.m.o. .| 1.1.-.$.$.=.@.&.[ [ [ ` ` _ _ 0.0.7.7.7.8.P P K B n n N m m z j z v f f s 6 u 5 y w t r 0 8                                                                                                                         c p i y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; ; : O   ",
+"  c.c.g.g.c.g.c.g.a.a.a.a.a.a.a.a.a.p.p.p.p.p.O.O.m.O.O.O.O.O. .o. .o. .o. .o. .o. .o. .| | | | 5.o.                                                                                                                          c.m.N.m. . .o.| 1.1.-.$.$.@.=.&.[ [ [ ` ` _ _ 0.0.7.7.8.8.P P K B n n N m m z z j v f f s 6 u 5 y w w 8 r 2 8                                                                                                                           w a y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; ; : $   ",
+"  c.g.c.c.g.c.g.c.a.a.a.a.a.a.a.a.a.p.p.p.p.p.O.O.o.O.O.m.O.O. . .o. .o. .o. .o. .o. .o.| | o.| :.                                                                                                                        c.c.Z.m.O.O. .o. .| 1.1.-.$.$.=.@.&.[ [ [ ` ` _ _ 0.0.7.7.8.8.P P K B n n N m m j j z v f f s 6 u 5 y w w 8 8 2 4 < <                                                                                                                         8 w i y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; ; : O   ",
+"  N.c.g.c.g.c.g.c.a.a.a.a.a.a.a.a.a.p.p.p.p.p.m.O.O.O.O.O.O.O. .o. .o. .o. .o. .o. .o. .| | 3.|                                                                                                                           c.C.N.p.O.O. . .o.| 1.1.:.:.$.@.@.&.[ [ [ ` ` _ _ 0.0.7.7.7.7.P P K B n n N m m z z j v f f s 6 u 5 y w w 9 0 1 2 4 <                                                                                                                           w i y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; ; : O   ",
+"  g.g.c.g.c.g.c.g.a.a.a.a.a.a.a.a.p.p.p.p.p.p.O.m.O.O.o.m.o.O.o. .o. .o. .o. .o. .o. .o.| | | | o.o.                                                                                                                        s.a.m.m.m.o.o. .| 1.1.:.$.$.@.@.&.' [ ' ` ` _ _ 0.0.7.7.7.7.P P K B n n N m m j j z v f f s 6 u 5 y w w 9 2 2 2 <                                                                                                                         8 w y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; ; : $   ",
+"  c.c.c.c.g.c.g.c.a.a.a.a.a.a.a.a.a.p.p.p.p.p.O.O.O.O.m.O.O.O. .o. .o. .o. .o. .o. .o.o.| | | | 3.3.1.o.                                                                                                                        O.m.m.O. .o.| 1.1.:.$.$.@.=.&.' [ [ ` ` _ _ 0.0.7.7.7.7.P P K B n n N m m j z j v f f s 6 u 5 y w w e 0 0                                                                                                                         8 w i i y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; ; : O   ",
+"  c.c.c.g.c.g.c.g.a.a.a.a.a.a.a.a.a.p.p.p.p.p.O.O.O.O.O.O.O.p.o. .o. .o. .o. .o. .o.o.o.| | | | | 2.2.2.1.                                                                                                                          O.O.M. .| 1.1.:.$.$.=.@.&.' [ [ ` ` _ _ 0.0.7.7.7.7.P P K B n n N m m z j z v f f s 6 u 5 i t w 0                                                                                                                           w p i y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; ; : $   ",
+"  c.c.g.c.g.c.g.c.a.a.a.a.a.a.a.a.a.p.p.p.p.p.O.O.O.o.m.O.O.O. .o. .o. .o. .o. .o. .o. .| | | | | | 1.2.2.2.=.                                                                                                                        o.o.O.5.1.| :.$.$.@.=.&.[ [ [ ` ` _ _ 0.0.7.7.7.7.Y P K K n n N m M j z j v f f s 6 u i i w 8                                                                                                                         g p p p y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; ; : O   ",
+"  c.g.c.g.c.g.c.g.s.a.a.a.a.a.a.a.a.p.p.p.p.p.o.m.O.O.O.m.O.O. . .o. .o. .o. .o. .o. .o.| | | | | | 1.1.1.2.2.1.o.                                                                                                                         .O.5.2.:.$.$.=.@.&.[ [ [ ` ` _ _ 0.0.7.7.7.7.P Y K B n n N m m z j z v f f s p p p 8                                                                                                                         8 5 p p u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; ; : $   ",
+"  c.c.g.c.g.c.g.c.s.a.a.a.a.a.a.a.a.p.p.p.p.p.m.o.O.O.O.O.m.O.o.o. .o. .o. .o. .o. .o. .| | | | | | 1.1.1.1.1.2.2.1.:.                                                                                                                        o.1.4.:.%.@.=.&.[ [ [ ` ` _ _ 0.0.7.7.7.7.P R K B n n N m m z z j v f f x 6 g                                                                                                                           f p p u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; ; : O   ",
+"  c.g.c.g.c.g.c.s.a.a.a.a.a.a.a.a.a.p.p.p.p.p.O.O.O.O.O.O.O.O.o. .o. .o. .o. .o. .o. .o.| | | | | | 1.1.1.1.1.1.1.2.4.:.                                                                                                                        @.;.2.,.=.@.&.[ [ [ ` ` _ _ 0.0.7.7.8.8.P R K B n n N m m j z z v c S g z                                                                                                                         g A p 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; ; : $   ",
+"  c.C.c.g.c.g.c.g.s.a.a.a.a.a.a.a.a.p.p.p.p.p.O.O.O.O.m.O.O.O..... .o. .o. .o. .o. .o. .| | | | | | 1.1.1.1.1.1.1.1.-.2.2.@.                                                                                                                        :.%.6.,.&.[ [ [ ` ` _ _ 0.0.7.7.7.7.P P K B n n N m m z j b F f z                                                                                                                         8 x x 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; ; : O   ",
+"    c.C.c.c.c.g.c.a.a.a.a.a.a.a.a.a.p.p.p.p.p.O.O.O.O.O.O.O.m...o... .o. .o. .o. .o. .o.| | | | | | 1.1.1.1.1.1.1.1.-.-.-.4.:.:.                                                                                                                        =.@.,.[ [ [ ` ` _ _ 0.0.7.7.7.7.P P K B n n N m m z F z z                                                                                                                         j s A x 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; 3 > 9   ",
+"      O.C.c.c.c.g.a.a.a.a.a.a.a.a.a.p.p.p.p.p.m.O.m.O.O.O.O.O. .o. .o. .o. .o. .o. .o. .| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.4.:.@.                                                                                                                        =.>.} [ ` ` _ _ 0.0.7.7.7.7.P P K B n n N m H ~ z                                                                                                                         j g A x s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; > > 3 8       ",
+"          c.C.c.c.a.a.a.a.a.a.a.a.a.p.p.p.p.p.O.O.O.O.O.m.O.O.o. .o. .o. .o. .o. .o. .o.| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.4.6.=.                                                                                                                          [ <.` ` _ _ 0.0.7.7.7.7.P P K E n n J ^ M z                                                                                                                         g x S s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; # 3 8 8         ",
+"            s.c.C.c.a.a.a.a.a.a.a.a.p.p.p.p.p.O.O.O.O.O.O.p.O. .o. .o. .o. .o. .o. .o. .| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.%.:.2.=.=.                                                                                                                        [ _ u.r._ 0.0.7.7.7.7.R P K K G E m z                                                                                                                         j f S x s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < > < 8             ",
+"                g.c.N.a.a.a.a.a.a.a.p.p.p.p.p.O.O.O.O.o.O.O.O.o. .o. .o. .o. .o. .o. .o.| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.:.$.,.4.:.=.                                                                                                                        ` ` r.0.0.7.7.7.7.P R K E E P                                                                                                                         j f S S f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < 3 8                 ",
+"                    O.c.c.a.a.a.s.s.p.p.p.p.p.O.O.O.O.m.O.m.O. .o. .o. .o. .o. .o. .o. .| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.%.,.,.;.=.                                                                                                                        ` r.w.7.7.7.7.R W E K                                                                                                                         j f c c f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < 3 0                     ",
+"                       .a.N.g.a.s.p.p.p.p.p.p.O.m.o.O.O.O.O.O. . .o. .o. .o. .o. .o. .o.| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.$.,.=.=.                                                                                                                        P 8.w.q.7.8.W P P                                                                                                                         g f c f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < 2 < 8                       ",
+"                          s.a.N.c.a.p.p.p.p.p.O.m.O.O.o.O.O.p.o.o. .o. .o. .o. .o. .o. .| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.$.@.,.,.=.[                                                                                                                         _ 9.q.T P                                                                                                                         j f c c f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < <                           ",
+"                              O.a.N.m.p.p.p.p.O.O.O.O.m.O.O.O. . .o. .o. .o. .o. .o. .o.| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.$.=.=.=.,.,.@.:.                                                                                                                        P                                                                                                                         j f v c f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 2 2 < 8                               ",
+"                                  a.a.N.p.p.p.m.O.O.O.O.m.O.O.o.o. .o. .o. .o. .o. .o. .| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.$.@.=.@.=.@.,.=.=.                                                                                                                                                                                                                                              j v z c f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 2 2 8                                   ",
+"                                    o.a.m.m.p.O.O.O.O.O.O.O.O. . .o. .o. .o. .o. .o. .o.| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.$.=.@.=.@.=.@.@.,.=.=.                                                                                                                                                                                                                                      z z F v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 2 4 8 8                                     ",
+"                                        o.m.B.m.O.O.O.O.m.o.O.o.o. .o. .o. .o. .o. .o. .| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.$.@.=.@.=.@.=.@.=.@.>.) @.                                                                                                                                                                                                                              j z b v h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 0 0 1 1 1 8 r 1 <                                         ",
+"                                            O.m.N.m.O.O.O.O.O... .o. .o. .o. .o. .o. .o.| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.$.=.@.=.@.=.@.=.@.=.=.&.>.&.@.                                                                                                                                                                                                                      z z F j h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 9 1 1 3 r 2 8                                             ",
+"                                              o.O.m.m.O.O.O.m.o.o. .o. .o. .o. .o. .o. .| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.%.@.=.@.=.@.=.@.=.@.@.&.) &.>.=.                                                                                                                                                                                                                  z F b j z h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 1 9 9 9 4 V 8 8                                               ",
+"                                                  ..m.B.O.O.O.o. .o. .o. .o. .o. .o. .o.| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.%.%.%.=.@.=.@.=.@.=.@.=.=.&.) [ [ >.>.'                                                                                                                                                                                                           z z b z z z z h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 9 e r 8 8                                                   ",
+"                                                      c.m.V.O.o.o. .o. .o. .o. . .o. .o.| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.$.=.=.@.=.@.=.@.=.@.=.#.) [ [ [ &.>.@.'                                                                                                                                                                                                   j m ~ j z j z j z h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 r 8 8                                                       ",
+"                                                          o.V.m. .o. .o. .o. .o.o. .o. .| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.$.@.@.=.@.=.@.=.@.=.#.&.) [ [ [ [ [ [ i.[ @.                                                                                                                                                                                          z z ~ H j z j z j z j h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 e r 8                                                           ",
+"                                                              O.M.O.o.o.o. .o. . .o...o.| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.$.=.=.@.=.@.=.@.=.@.#.&.) [ [ [ [ [ [ [ >.>.=.                                                                                                                                                                                      z ~ H z z j j z j z j z h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 e r 8 8                                                             ",
+"                                                                a.O.m.o. .o. .o.o. .o...| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.$.@.@.=.@.=.@.=.@.=.#.&.) ' [ [ [ [ [ [ [ [ i.[ '                                                                                                                                                                               z m ~ M j z j z z j z j z j h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 t e 8                                                                 ",
+"                                                                    o.O.O.o.o.o...o...o.| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.$.=.=.@.=.@.=.@.=.@.#.&.) [ [ [ [ [ [ [ [ [ [ } i.[ _                                                                                                                                                                       j m ~ H m z j z j z j z j z j z h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w t 8                                                                     ",
+"                                                                        O.M.O.o.o...o...| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.$.@.@.=.@.=.@.=.@.=.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ } } ) }                                                                                                                                                                 m H H m m m z z j z j z j z j z j h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w t 8                                                                         ",
+"                                                                           ...m.o.o.o. .| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.$.=.=.@.=.@.=.@.=.@.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ } [ =.                                                                                                                                                          M H J m m m m m z j z j z j z j z j z h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w t 8 8                                                                           ",
+"                                                                              ..o.O. . .| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.$.@.@.=.@.=.@.=.@.=.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` [ } [ `                                                                                                                                                   z m J H m m m m m m j z j z j z j z j z j h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w i t w 8                                                                               ",
+"                                                                                  o.5.m.o.| | | | | 1.1.1.1.1.1.1.1.:.:.-.-.-.-.$.$.$.$.$.$.$.@.=.@.=.@.=.@.=.@.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` } [ ` [                                                                                                                                           z m J J m m m m m m m m z j z j z j z j z j z h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y i i i 0                                                                                   ",
+"                                                                                      -.5.5.| | | | 1.1.1.1.1.1.1.1.:.;.-.-.-.-.$.$.$.$.$.$.$.=.@.=.@.=.@.=.@.=.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` } ` `                                                                                                                                       m m J m m m m m m m m m m j z j z j z j z j z j h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y i i i w q                                                                                     ",
+"                                                                                        o.o.5.3.| | 1.1.1.1.1.1.1.1.;.;.-.-.-.-.$.$.$.$.$.$.$.@.=.@.=.@.=.@.=.@.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` 8.                                                                                                                              M N J J m m m m m m m m m m m z j z j z j z j z j z h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y i i w 8                                                                                         ",
+"                                                                                            o.1.5...1.1.1.1.1.1.1.| ;.;.-.-.-.-.$.$.$.$.$.$.$.=.@.=.@.=.@.=.@.=.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _                                                                                                                         P E ^ J m m m m m m m m m m m m j z j z j z j z j z j h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y i a i 8                                                                                             ",
+"                                                                                                :.2.5.| 1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.$.@.=.@.=.@.=.@.=.@.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` r._ [                                                                                                                         M m J m m m m m m m m m m m z j z j z j z j z j z h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 a y 8                                                                                                 ",
+"                                                                                                  @.:.5.2.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.$.=.@.=.@.=.@.=.@.=.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` ` r.y.`                                                                                                                           m J J m m m m m m m m m j z j z j z j z j z j h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u p a w q                                                                                                   ",
+"                                                                                                      :.1.5.2.1.1.1.:.-.-.-.-.-.$.$.$.$.$.$.$.@.=.@.=.@.=.@.=.@.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ r.y.`                                                                                                                         z m ^ H m m m m m m m z j z j z j z j z j z h h h v v v f f f f f f f f g s s s s s s 6 6 6 6 u p C u q                                                                                                       ",
+"                                                                                                          =.1.5.1.1.-.-.-.-.-.-.$.$.$.$.$.$.$.=.@.=.@.=.@.=.@.=.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ r.y.( 9.                                                                                                                        z m ^ m m m m m m j z j z j z j z j z j h h h v v v f f f f f f f g g s s s s s s 6 6 6 6 C p g                                                                                                           ",
+"                                                                                                              :.4.4.:.:.;.;.;.:.$.$.$.$.$.$.$.@.=.@.=.@.=.@.=.@.@.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ r.y.w.                                                                                                                          M J J m m m m j z j z j z j z j z j h h h v v v f f f f f f f f f s s s s s s 6 6 p A g                                                                                                               ",
+"                                                                                                                  | 4.2.;.;.;.;.$.$.$.$.$.$.$.=.@.=.@.=.@.=.@.=.@.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.r.w.(                                                                                                                           m ~ H m m z j z j z j z j z j z h h h v v v f f f f f f f f f s s s s s s 6 A w 8                                                                                                                 ",
+"                                                                                                                    :.:.2.;.;.:.$.$.$.$.$.$.$.@.=.@.=.@.=.@.=.@.@.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0.0.y./ (                                                                                                                         z m H M j j z z j z j z j z j h h h v v v f f f f f f f f f s s s s 6 A 6 8                                                                                                                     ",
+"                                                                                                                        @.2.2.:.$.$.$.$.$.$.$.=.@.=.@.=.@.=.@.=.=.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0.( / w.y.w._                                                                                                                         z H H z j j z j z j z j z h h h v v v f f f f f f f f f s s x x x g                                                                                                                         ",
+"                                                                                                                            :.2.;.$.$.$.$.$.$.@.=.@.=.@.=.@.=.@.@.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.r.t.9.                                                                                                                          m H z z j z j z j j z h h h v v v f f f f f f f f f s x x f                                                                                                                             ",
+"    c.                                                                                                                        @.;.;.;.$.$.$.$.=.@.=.@.=.@.=.@.=.=.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.w.w.8.                                                                                                                        z z H z j z j z z j h h h v v v f f f f f f f f f x s 8                                                                                                                         1     ",
+"    C.c.c.                                                                                                                        @.;.;.;.$.%.@.=.@.=.@.=.@.=.@.@.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ ( 0.0.0.0.0.w.w.w.(                                                                                                                         j z z b z z j z h h h v v v f f f f f f f c f c                                                                                                                         q > 3     ",
+"  c.c.C.c.c.s.                                                                                                                        ;.:.,.$.=.@.=.@.=.@.=.@.=.=.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0.( ( 0.0.0.0.0.0.0.w.w.8.9.                                                                                                                        z b b j z j h h h v v v f f f f f c f g                                                                                                                           8 > : :     ",
+"  c.g.c.g.C.c.p.                                                                                                                          %.,.,.=.=.@.=.@.=.=.@.@.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0.( / 0.0.0.0.0.0.7.7.7.w.q.9.                                                                                                                          z b b z h h h v v v f f f c c f z                                                                                                                         8 > > : ; :     ",
+"  c.c.g.c.g.g.N.g.g.                                                                                                                        =.:.,.,.=.@.=.@.@.=.=.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0.( / 0.0.0.0.0.0.7.7.7.8.q.q.q.8.                                                                                                                        j z b b h h v v v f c c f z                                                                                                                         1 ; > > ; # ; : =   ",
+"  N.g.g.g.c.g.c.g.c.a.s.                                                                                                                        @.:.,.=.@.@.=.@.@.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.8.8.q.8.P                                                                                                                         z z D v v v v D f g                                                                                                                         e < > > ; ; ; ; ; : =   ",
+"  c.g.g.c.g.c.g.c.g.c.N.c.                                                                                                                          =.@.,.=.@.=.=.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.8.8.q.7.T                                                                                                                         f Z D D D f                                                                                                                           1 3 > < ; ; ; ; ; ; : =   ",
+"  g.g.c.g.c.g.c.g.a.a.a.c.B.O.                                                                                                                        @.=.,.,.=.=.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.q.q.9.                                                                                                                        z z z z                                                                                                                         1 4 1 < < < ; ; ; ; ; ; : O   ",
+"  g.c.g.c.g.c.g.c.a.a.a.a.a.N.c.c.                                                                                                                        =.@.6.>.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.8.q.q.R                                                                                                                                                                                                                                                 8 > 4 < < < < < ; ; ; ; ; ; : =   ",
+"  c.g.c.g.c.g.c.c.a.a.a.a.a.a.a.Z.a.o.                                                                                                                        @.&.,.@.[ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.8.7.7.e.8.P                                                                                                                                                                                                                                         8 8 4 < < < < < < < ; ; ; ; ; ; : O   ",
+"  c.c.g.c.g.c.g.c.a.a.a.a.a.a.a.a.N.B.O.                                                                                                                          =.>.>.[ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.8.7.7.7.8.e.P T                                                                                                                                                                                                                                   8 4 2 < < < < < < < < ; ; ; ; ; ; : O   ",
+"  c.c.c.c.g.c.g.c.s.a.a.a.a.a.a.a.a.p.N.N. .                                                                                                                        #.&.i.} [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.8.8.Y e.e.P                                                                                                                                                                                                                             8 2 4 1 < < < < < < < < < ; ; ; ; ; ; : O   ",
+"  c.g.c.g.c.g.c.g.a.a.a.a.a.a.a.a.a.p.p.a.B.p. .                                                                                                                        $.&.>.&.[ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.8.8.P Y P e.P R                                                                                                                                                                                                                     q 8 4 2 1 1 < < < < < < < < < ; ; ; ; ; ; : O   ",
+"  c.c.g.c.g.c.g.c.a.a.a.a.a.a.a.a.a.p.p.p.p.m.B.a.o.                                                                                                                        ' >.>.[ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.8.8.8.P P Y P W e.P P                                                                                                                                                                                                             q 1 V 2 1 1 1 1 < < < < < < < < < ; ; ; ; ; ; : =   ",
+"  c.g.c.g.c.g.c.g.a.a.a.a.a.a.a.a.a.p.p.p.p.p.O.V.m.O.                                                                                                                          [ >.[ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.8.8.8.P Y P Y Y P W W 9.T                                                                                                                                                                                                       8 2 r 2 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; ; : =   ",
+"  c.c.g.c.g.c.g.c.a.a.a.a.a.a.a.a.a.p.p.p.p.p.m.O.m.M.O.O.                                                                                                                        @.[ >.[ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.8.P P Y P Y P Y P ! Y Y                                                                                                                                                                                                 8 8 V 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; ; : O   ",
+"  c.g.c.g.c.g.c.g.a.a.a.a.a.a.a.a.a.p.p.p.p.p.O.O.m.O.m.M.m. .                                                                                                                        ' [ } [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.8.P Y P Y P Y P P Y W W K R                                                                                                                                                                                         8 8 V 1 < 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; ; : O   ",
+"  c.c.g.c.g.c.g.c.a.a.a.a.a.a.a.a.a.p.p.p.p.p.O.O.O.O.O.O.m.m. .o.                                                                                                                        } ' } [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.8.P P Y P Y P Y Y P Y P W E K Y                                                                                                                                                                                 8 8 e e 1 1 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; ; : O   ",
+"  c.g.c.g.c.g.c.g.a.a.a.a.a.a.a.a.a.p.p.p.p.p.O.O.O.O.m.O.O.m.m.O.O.                                                                                                                          ` [ } ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.8.P Y P Y P Y P P Y P Y P E E E K                                                                                                                                                                             8 8 e 8 8 q e 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; ; : O   ",
+"  g.c.g.c.g.c.g.c.a.a.a.a.a.a.a.a.a.p.p.p.p.p.O.m.O.O.O.O.O.m.o.O.m.o.o.                                                                                                                        _ [ } } ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.P P Y P Y P Y P Y P Y Y K K E E E H                                                                                                                                                                     8 e e e 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; ; : O   ",
+"  g.g.c.g.c.g.c.g.a.a.a.a.a.a.a.a.a.p.p.p.p.p.O.o.O.O.O.O.O.o.....o.O.O.o.o.                                                                                                                        [ ` } [ ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.8.P P P Y P Y P Y P Y P P K K K K E E B P                                                                                                                                                             q w t e 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; ; : $   ",
+"  c.c.g.c.g.c.g.c.a.a.a.a.a.a.a.a.a.p.p.p.p.p.p.O.O.m.O.m.o.O.o. . .o. .O.m.o.                                                                                                                          ` ` u.` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.8.P P P P Y P Y P Y P Y Y K K K K K K E E K T                                                                                                                                                       w t w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; ; : O   ",
+"  c.g.c.g.c.g.c.g.a.a.a.a.a.a.a.a.a.p.p.p.p.p.O.O.O.O.O.O.O.O.o.o. . .o. .o.O.m.O.                                                                                                                        [ ` } } ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.P P P Y P Y P Y P Y P P K K K K K B B K B Q P                                                                                                                                                 8 t t w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; ; : O   ",
+"  N.g.g.c.g.c.g.c.a.a.a.a.a.a.a.a.a.p.p.p.p.p.O.m.O.O.O.O.O.O. . .o. .o.o. .o. .O.O.o.                                                                                                                        _ ` u.` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.8.Y P Y P Y P Y P Y P Y P K K K K K B B B B n E Q R                                                                                                                                         q 8 t w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; ; : $   ",
+"  c.g.g.g.c.g.c.g.a.a.a.a.a.a.a.a.s.p.p.p.p.p.O.o.O.o.m.O.m.O...o. .o. . .o. .o.o. .m.o.o.                                                                                                                        ` ` u._ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.8.P Y P Y P Y P Y P Y P P K K K K K B B B B n n G Q J P                                                                                                                                 q w V w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; ; : O   ",
+"  g.c.g.c.g.c.g.c.a.a.a.a.a.a.a.s.s.p.p.p.p.p.O.O.O.O.O.O.O.O.o. .o. .o.o. .o...o.o.o. .M.:.                                                                                                                          ` u.r._ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.8.8.8.P P Y P Y P Y P Y P Y P K K K K K B B B B n n n n J Q m                                                                                                                             8 V i w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; ; : $   ",
+"  c.g.c.g.c.g.c.g.a.a.a.a.a.a.a.p.s.p.p.p.p.p.O.O.m.O.O.O.O.O. .o. .o. . .o...o.o.o.o.o.| 5.5.o.                                                                                                                        [ ` u.r._ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.8.8.8.8.8.P Y P Y P Y P Y P Y P P K K K K K B B B B n n n G Q m P                                                                                                                         8 i V y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; ; : O   ",
+"  c.c.g.c.g.c.g.g.a.a.a.a.a.a.a.a.a.p.p.p.p.p.O.O.m.O.O.O.O.O.o.o. .o. .o. .o. .o. .o. .| | | 5.| o.                                                                                                                        _ _ y.r.0.0.0./ / 0.0.0.0.0.0.8.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.P P P P Y P Y P Y P Y P K K K K K B B B B n G E G z                                                                                                                         q w V i y y w w w w w w w w 0 0 0 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; ; : %   ",
+"  c.g.c.g.c.g.c.c.a.a.a.a.a.a.a.a.a.p.p.p.p.p.O.O.o.m.O.O.O.m.o. .o. .o. .o. .o. .o. .o.| | | | 3.O.:.:.                                                                                                                        ( y.` 0.0./ / 0.0.0.0.0.0.8.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.P P P Y P Y P Y P Y P Y K K K K K B B B B E E P                                                                                                                         q 0 a a y y y y w w w w w w w w 0 0 0 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; ; : +   ",
+"  c.c.g.c.g.c.g.g.a.a.a.a.a.a.a.a.a.p.p.p.p.p.O.O.p.O.O.O.O.o. .o. .o. .o. .o. .o. .o. .| | | | | | 5.2.:.#.                                                                                                                        9.y.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.8.Y P P P Y P Y P Y P Y P K K K K K B E E Q M                                                                                                                           g p a y y y y y y w w w w w w w w 8 0 9 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; ; : =   ",
+"  c.c.c.g.c.g.c.c.a.a.a.a.a.a.a.a.a.p.p.p.p.p.O.O.O.O.O.m.O.O. . .o. .o. .o. .o. .o. .o.| | | | | | 1.2.5.2.o.                                                                                                                        } / r.0.0.0.0.0.0.0.8.7.7.7.7.7.7.7.7.7.7.7.7.7.7.8.P Y P Y P Y P Y P Y P Y K K K K K E E K P                                                                                                                         g p C p y y y y y y y w w w w w w w w 1 9 9 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; ; : =   ",
+"    c.g.c.g.c.g.g.a.a.a.a.a.a.a.a.a.p.p.p.p.p.O.O.O.O.O.O.O.O...o. .o. .o. .o. .o. .o. .| | | | | | 1.1.1.2.2.1.@.                                                                                                                        ( 0.w.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.8.8.P P P P Y P Y P Y P Y P K K K E E K T                                                                                                                         8 f p p u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; ; : O   ",
+"    g.c.g.c.g.c.c.a.a.a.a.a.a.a.a.a.p.p.p.p.p.O.O.O.m.O.O.O.O.o. .o. .o. .o. .o. .o. .o.| | | | | | 1.1.1.1.1.2.2.;.:.                                                                                                                        8.w.w.w.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.8.8.P Y P Y P Y P Y P Y P Y K E E K Y                                                                                                                         8 f 6 p p u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; ; : O   ",
+"    c.g.c.g.c.g.c.a.a.a.a.a.a.a.a.a.p.p.p.p.p.m.O.O.o.O.O.O.O...o. .o. .o. .o. .o. .o. .| | | | | | 1.1.1.1.1.1.;.2.:.:.                                                                                                                          _ w.w.0.7.7.7.7.7.7.7.7.7.7.7.7.7.8.8.8.Y P Y P Y P Y P Y P Y P E W K Z                                                                                                                         g u x 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; ; : O   ",
+"    C.C.g.c.g.c.c.a.a.a.a.a.a.a.a.a.p.p.p.p.p.O.m.O.m.O.O.o.m.o. .o. .o. .o. .o. .o. .o.| | | | | | 1.1.1.1.1.1.1.1.;.4.:.#.                                                                                                                        _ 7.w.w.7.8.7.7.7.7.7.7.7.7.7.7.8.8.8.P Y P Y P Y P Y P Y W W K R                                                                                                                         g x x 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; : : O   ",
+"    c.c.C.c.c.c.g.a.a.a.a.a.a.a.a.s.p.p.p.p.p.O.o.O.O.O.O.m.o. .o. .o. .o. .o. .o. .o. .| | | | | | 1.1.1.1.1.1.1.1.:.:.-.2.$.@.                                                                                                                        ( 8.w.q.7.7.7.7.7.7.7.7.7.7.7.7.7.P P P Y P Y P Y P ! P P                                                                                                                         9 s x x 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; > 3 8 8     ",
+"        c.c.C.g.c.s.a.a.a.a.a.a.a.p.p.p.p.p.p.o.O.O.O.O.O.O.O. . .o. .o. .o. .o. .o. .o.| | | | | | 1.1.1.1.1.1.1.1.:.;.-.-.-.2.:.@.                                                                                                                        8.( w.7.7.7.7.7.7.7.7.7.7.7.7.P P P P Y P Y W W Y                                                                                                                           f x x 6 s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; > 3 < <         ",
+"            O.Z.C.a.a.a.a.a.a.a.a.a.p.p.p.p.p.m.O.O.O.m.O.m.O.o.o. .o. .o. .o. .o. .o. .| | | | | | 1.1.1.1.1.1.1.1.;.;.-.-.-.-.:.2.=.                                                                                                                        9.9.w.w.7.7.7.7.7.7.7.7.7.8.Y P P Y P W e.8.T                                                                                                                         g x x x s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < 3 > <             ",
+"              s.c.C.g.a.a.a.a.a.a.a.p.p.p.p.p.O.p.O.O.O.O.O.O.o. .o. .o. .o. .o. .o. .o.| | | | | | 1.1.1.1.1.1.1.| ;.;.-.-.-.-.:.%.2.:.o.                                                                                                                        9.7.t.q.7.7.7.7.7.7.7.8.P Y P P e.P P                                                                                                                         j g S s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < 3 3 8                 ",
+"                  s.a.C.a.a.a.a.a.a.p.p.p.p.p.O.O.O.O.O.O.O.O...o. .o. .o. .o. .o. .o. .| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.,.%.;.                                                                                                                        ( 8.t.8.8.7.8.8.8.8.P P e.W R                                                                                                                         j f S f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < 3 8 8                   ",
+"                      c.N.Z.a.a.a.a.p.p.p.p.p.O.O.o.m.O.O.O.m... .o. .o. .o. .o. .o. .o.| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.:.:.6.@.                                                                                                                          8.w.q.7.8.8.8.8.q.e.P                                                                                                                           g c c f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < 3 < <                       ",
+"                          O.Z.N.a.a.p.p.p.p.p.O.O.m.O.O.O.O.o. .o. .o. .o. .o. .o. .o. .| | | | | | 1.1.1.1.1.1.1.1.:.-.-.-.-.-.$.$.$.$.%.$.$.,.,.=.                                                                                                                        T 8.e.7.8.8.q.Y P                                                                                                                         j f D f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < 2 3 <                           ",
+"                            o.a.Z.a.p.p.p.p.p.O.O.O.O.O.m.O.O. . .o. .o. .o. .o. .o. .o.| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.%.$.$.@.@.6.@.=.                                                                                                                        P 7.e.Y P                                                                                                                         j f D f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 2 3 8                               ",
+"                                s.a.N.a.p.p.p.O.O.O.O.O.O.O.O.o.o. .o. .o. .o. .o. .o. .| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.$.@.=.@.,.6.@.}                                                                                                                         9.                                                                                                                        j F D c f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 2 < 8                                 ",
+"                                    o.N.m.m.p.O.O.m.O.o.m.o.O.o. .o. .o. .o. .o. .o. .o.| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.$.=.@.=.@.=.,.>.=.                                                                                                                                                                                                                                              j Z D v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 2 2 4 <                                     ",
+"                                        O.m.m.O.O.O.O.m.O.O.O. .o. .o. .o. .o. .o. .o. .| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.$.@.=.@.=.@.@.@.,.@.=.                                                                                                                                                                                                                                      j j D v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 2 2 2 0                                         ",
+"                                          ..m.m.m.O.O.O.O.O.p.o. .o. .o. .o. .o. .o. .o.| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.$.=.@.=.@.=.@.=.=.>.,.&.@.                                                                                                                                                                                                                              j j F h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 8 2 2 8                                             ",
+"                                              o.m.m.m.O.O.O.O. .o. .o. .o. .o. .o. .o. .| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.$.@.=.@.=.@.=.@.=.@.=.>.>.&.}                                                                                                                                                                                                                       j F F z z g h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 2 2 8 8                                               ",
+"                                                  O.m.m.m.O.O. . .o. .o. .o. .o. .o. .o.| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.$.=.@.=.@.=.@.=.@.=.=.&.&.>.&.[                                                                                                                                                                                                                   j b b j j h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 e 2 8                                                   ",
+"                                                    o.O.m.m.O.o.o. .o. .o. .o. .o. .o. .| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.$.@.=.@.=.@.=.@.=.@.@.&.) [ &.>.>.=.                                                                                                                                                                                                          z b b b j j j h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 e 8 0                                                       ",
+"                                                        s.O.V.m. .o. .o. .o. .o. .o. .o.| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.$.=.@.=.@.=.@.=.@.=.=.&.) [ [ [ &.>.[ @.                                                                                                                                                                                                  j z z z j j j j j h h h h v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 e r 8 8                                                         ",
+"                                                            o.O.V.O.o... . .o.o.o. .o. .| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.$.=.=.@.=.@.=.@.=.@.=.&.) [ [ [ [ [ [ } [                                                                                                                                                                                               M H j z j z j Z j j h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 e r 8 8                                                             ",
+"                                                                o.O.M.m. .o.o.o. .o. . .| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.$.@.@.=.@.=.@.=.@.=.@.&.) [ [ [ [ [ [ [ } >.}                                                                                                                                                                                       M H H z z j z j j j j j h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w e t 8 8                                                                 ",
+"                                                                    O.m.M. . .o.o. . . .| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.$.=.=.@.=.@.=.@.=.@.=.&.) [ [ [ [ [ [ [ [ [ } >.@.                                                                                                                                                                              z z H z z z j z j z j j j j h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w t t 0                                                                     ",
+"                                                                      o.o.M.O.o. .o. . .| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.$.@.@.=.@.=.@.=.@.=.@.&.) [ [ [ [ [ [ [ [ [ [ [ i.[ [                                                                                                                                                                       j z ~ m m j z j z j z j m Z j j h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w t V 8 8                                                                       ",
+"                                                                          o.o.M.3.O. .o.| | | | | | 1.1.1.1.1.1.1.1.-.-.:.;.:.;.$.$.$.$.$.$.$.=.=.@.=.@.=.@.=.@.=.&.) [ [ [ [ [ [ [ [ [ [ [ [ } i.}                                                                                                                                                                   M J H m m m j j z j z j z j j j Z h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w V w 8                                                                           ",
+"                                                                              o.O.5.o. .| | | | | | 1.1.1.1.1.1.1.1.-.-.;.:.;.;.$.$.$.$.$.$.$.@.@.=.@.=.@.=.@.=.@.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ } } `                                                                                                                                                           z H J m m m m m z z j z j z j j j j m h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w t t 8                                                                               ",
+"                                                                                  O.M.O.| | | | | | 1.1.1.1.1.1.1.1.-.-.:.;.;.;.$.$.$.$.$.$.$.=.=.@.=.@.=.@.=.@.=.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` [ u.` _                                                                                                                                                   z m ^ m m m m m m m z j z j z j z j j j j h h h v v v f f f f f f f f g s s s s s s 6 6 6 6 u u u u 5 y y y y y y y i V w                                                                                   ",
+"                                                                                     . .5. .| | | | 1.1.1.1.1.1.1.1.-.:.;.:.;.;.$.$.$.$.$.$.$.@.@.=.@.=.@.=.@.=.@.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` } u.` [                                                                                                                                           z M ^ J m m m m m m m m j z j z j z j j F j j h h h v v v f f f f f f f g g s s s s s s 6 6 6 6 u u u u 5 y y y y y i V y 8                                                                                     ",
+"                                                                                        s.3.5.| | | 1.1.1.1.1.1.1.1.;.:.;.:.;.:.$.$.$.$.$.$.$.=.@.=.@.=.@.=.@.=.@.#.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` } ` `                                                                                                                                       M J J m m m m m m m m m m j z j z j z j j j j j h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y i i 8                                                                                         ",
+"                                                                                            =.3.3.2.1.1.1.1.1.1.1.1.:.;.:.;.:.;.$.$.$.$.$.$.$.@.=.@.=.@.=.@.=.@.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` u.` `                                                                                                                               M m ^ J m m m m m m m m m m m z j z j z j z j j j Z h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y i i w                                                                                             ",
+"                                                                                                o.o.2.| 1.1.1.1.1.1.:.;.-.-.;.:.$.$.$.$.$.$.$.=.@.=.@.=.@.=.@.=.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` } ` _                                                                                                                       P E J J N m m m m m m m m m m m m z z j z j z j j j j j h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 i i w q                                                                                               ",
+"                                                                                                  o.2.2.2.1.1.1.1.1.:.;.-.-.:.;.$.$.$.$.$.$.$.@.=.@.=.@.=.@.=.@.#.&.) ' [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` r._ 9.                                                                                                              z m E J J N N m m m m m m m m m m m m j j z j z j z j m Z j h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u p p i q                                                                                                   ",
+"                                                                                                      #.2.2.2.1.1.1.;.:.-.-.-.-.$.$.$.$.$.$.$.=.@.=.@.=.@.=.@.=.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` r.r.r.`                                                                                                           m J J J N N N N m m m m m m m m m m m m j z j z j z j j j Z m z h h c v v f f f f f f f f f s s s s s s 6 6 6 6 u p p p g                                                                                                       ",
+"                                                                                                          :.1.4.;.1.:.;.-.-.-.-.$.$.$.$.$.$.$.@.=.@.=.@.=.@.=.@.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ r.r.r.(                                                                                                   R n E J n G N N N N m m m m m m m m m m m m z j z j z j z m Z j j h h z v v v f f f f f f f f f s s s s s s 6 6 6 6 u p w                                                                                                           ",
+"                                                                                                            :.;.2.2.;.;.-.-.-.-.$.$.$.$.$.$.$.=.@.=.@.=.@.=.@.=.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ r.r.0._                                                                                           P K E E G n n n N N N N m m m m m m m m m m m m j z j z j z j j j j j h h h v v v f f f f f f f f f s s s s s s 6 6 x p w 8                                                                                                             ",
+"                                                                                                                @.;.4.| -.-.-.-.$.$.$.$.$.$.$.@.=.@.=.@.=.@.=.@.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ r.r.r._                                                                                       K E G G n n n n n N N N N m m m m m m m m m m m m z j z j z j z j j Z j h h h f v v f f f f f f f f f s s s s s s x x f 8                                                                                                                 ",
+"                                                                                                                    =.:.4.:.;.:.$.$.$.$.$.$.$.=.=.@.=.@.=.@.=.@.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.r.r.y.8.                                                                              P E E E n n n n n n n N N N N m m m m m m m m m m m m j z j z j z j j j j j h h h v v v f f f f f f f f f s s s s x A 6 g                                                                                                                     ",
+"                                                                                                                        ;.4.2.;.$.$.$.$.$.$.$.@.@.=.@.=.@.=.@.=.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ r.w.R                                                                       P B E K B B n n n n n n n N N N N m m m m m m m m m m m m z j z j z j z j j Z j h h h v v v f f f f f f f f f s s s x x f z                                                                                                                       ",
+"                                                                                                                          :.;.4.;.%.%.%.$.$.$.@.=.@.=.@.=.@.=.@.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / w.r.w.9.                                                              P K ! E E B B B n n n n n n n N N N N m m m m m m m m m m m m j z j z j z j Z m j j h h h v v v f f f f f f f f f s x A f z                                                                                                                           ",
+"    o.                                                                                                                        =.;.4.%.%.$.$.$.@.@.=.@.=.@.=.@.=.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.w.y.`                                                           P ! E K K B B B B n n n n n n n N N N N m m m m m m m m m m m m z j z j z j z j j j j h h h v v v f f f f f f f f f S x f                                                                                                                         8     ",
+"    C.O.                                                                                                                          =.2.,.$.$.%.=.=.@.=.@.=.@.=.@.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.w.w.(                                                   R W ! K K K K B B B B n n n n n n n N N N N m m m m m m m m m m m m j z j z j z j j F j j h h h v v v f f f f f f f c S c                                                                                                                           8 3     ",
+"    c.C.g.g.                                                                                                                          =.,.:.%.@.@.=.@.=.@.=.@.=.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.t.w._                                           P P e.R K K K K K B B B B n n n n n n n N N N N m m m m m m m m m m m m z j z j z j z j j j j h h h v v v f f f f f f S f z                                                                                                                         < 3 3 : =   ",
+"    c.c.c.C.c.s.                                                                                                                        ;.:.6.=.=.@.=.@.=.@.=.@.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ ( 0.0.0.0.0.0.7.w.t.9.9.                                  T 9.e.W P P K K K K K B B B B n n n n n n n N N N N m m m m m m m m m m m m j z j z j z j j Z j j h h h v v v f f f f S f z                                                                                                                         < > 3 ; ; : +   ",
+"    c.c.g.c.C.C.c.o.                                                                                                                        @.,.,.=.@.=.@.=.@.=.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ ( 0.0.0.0.0.0.7.7.7.w.t.8.                              Y W e.Y P P R K K K K K B B B B n n n n n n n N N N N m m m m m m m m m m m m z j z j z j z j j j j h h h v v v f f c c f                                                                                                                         8 8 3 > ; ; ; : =   ",
+"    c.g.c.g.c.g.C.g.O.                                                                                                                          =.,.,.=.=.@.=.@.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0.( ( 0.0.0.0.0.0.7.7.7.8.8.t.0.8.                      Y P e.Y P Y P Y P K K K K K B B B B n n n n n n n N N N N m m m m m m m m m m m m z z j z j z j j j j j Z h h h v h v c j                                                                                                                           8 3 3 ; ; ; ; ; : =   ",
+"  c.g.c.g.c.g.c.c.g.Z.a.c.                                                                                                                          @.,.@.=.@.=.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0.( / 0.0.0.0.0.0.7.7.7.8.7.8.8.q.7.P               P P e.W Y P Y P Y P Y K K K K K B B B B n n n n n n n N N N N m m m m m m m m m m m m z j z j z j z m Z j j h h h v v D f z                                                                                                                         8 < 3 < ; ; ; ; ; ; : =   ",
+"  s.c.g.c.g.c.g.c.a.a.c.N.a.s.                                                                                                                        :.@.,.@.=.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.8.8.8.7.q.q.7.T       T 9.W W P Y P Y P Y P Y P K K K K K B B B B n n n n n n n N N N N m m m m m m m m m m m m j z j z j z j j j j j h h v Z f z                                                                                                                         = < > > < < ; ; ; ; ; ; : O   ",
+"  c.c.c.g.c.g.c.g.a.a.a.a.N.a.a.                                                                                                                          =.=.,.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.8.8.8.7.7.7.q.8.9.9.P P q.Y P Y P Y P Y P Y P Y K K K K K B B B B n n n n n n n N N N N m m m m m m m m m m m m z j z j z j z j j Z m Z b h z                                                                                                                         8 8 < < < < < < ; ; ; ; ; ; : O   ",
+"  c.c.g.c.g.c.g.g.a.a.a.a.a.a.N.a.O.                                                                                                                          =.#.>.&.[ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.q.7.8.8.P Y P P Y P Y P Y P Y P K K K K K B B B B n n n n n n n N N N N m m m m m m m m m m m m z z j z j z j j z z b z z                                                                                                                           8 < < < < < < < < ; ; ; ; ; ; : X   ",
+"  h.g.c.g.c.g.c.c.a.a.a.a.a.a.a.a.N.p.o.                                                                                                                        #.#.>.>.[ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.8.8.P P Y Y P Y P Y P Y P Y K K K K K B B B B n n n n n n n N N N N m m m m m m m m m m m m j j z j z j z z b b z j                                                                                                                         8 2 2 < < < < < < < < ; ; ; ; ; ; : =   ",
+"  c.c.g.c.g.c.g.g.a.a.a.a.a.a.a.a.a.m.N.a.o.                                                                                                                        #.#.>.>.[ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.8.8.8.P Y P P Y P Y P Y P Y P K K K K K K B B B n n n n n n n N N N N m m m m m m m m m m m m j z j z j z b F j z                                                                                                                         q 1 2 2 < < < < < < < < < ; ; ; ; ; ; : O   ",
+"  c.g.c.g.c.g.c.c.a.a.a.a.a.a.a.a.a.p.a.m.N.O.                                                                                                                          #.&.>.[ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.8.8.8.Y P Y Y P Y P Y P Y P Y K K K K K B B B B n n n n n n n N N N N m m m m m m m m m m m m z j z j z F j z                                                                                                                           8 4 2 1 1 < < < < < < < < < ; ; ; ; ; ; : O   ",
+"  c.c.c.c.g.c.g.c.a.a.a.a.a.a.a.a.a.p.p.p.m.m.m. .                                                                                                                        #.#.>.>.' ) [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.P P P P Y P Y P Y P Y P K K K K K B B B B n n n n n n n N N N N m m m m m m m m m m m M j j z H H M z                                                                                                                         8 V 3 1 1 1 1 < < < < < < < < < ; ; ; ; ; ; : O   ",
+"  c.c.c.g.c.g.c.g.s.a.a.a.a.a.a.a.a.p.p.p.p.p.O.N.O.s.                                                                                                                        [ } >.} ' [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.P P P Y P Y P Y P Y P P K K K K K B B B B n n n n n n n N N N N m m m m m m m m m m m m z H ~ z z                                                                                                                         8 4 2 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; ; : O   ",
+"  c.c.g.c.g.c.g.c.a.a.a.a.a.a.a.a.a.p.p.p.p.p.O.O.m.B.O.o.                                                                                                                        @.[ >.[ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.8.P P P P Y P Y P Y P Y P K K K K K B B B B n n n n n n n N N N N m m m m m m m m m m m m ~ z z                                                                                                                         q 1 V 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; ; : O   ",
+"  g.g.c.g.c.g.c.g.a.a.a.a.a.a.a.a.a.p.p.p.p.p.O.O.O.m.m.V.O.                                                                                                                          ' } >.[ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.8.Y P Y Y P Y P Y P Y P P K K K K K B B B B n n n n n n n N N N N m m m m m m m m m m H ~ M                                                                                                                         8 0 V 1 < 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; ; : O   ",
+"  c.c.g.c.g.c.g.c.a.a.a.a.a.a.a.a.a.p.p.p.p.p.O.O.O.O.O.O.m.m. .                                                                                                                          ` i.[ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.8.8.P P P P Y P Y P Y P Y P K K K K K B B B B n n n n n n n N N N N m m m m m m m m m ~ M z                                                                                                                         8 r r 0 0 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; ; : $   ",
+"  c.g.c.g.c.g.c.g.a.a.a.a.a.a.a.a.a.p.p.p.p.p.O.O.O.o.m.m.O.O.M.m.o.                                                                                                                        } [ } [ ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.8.8.P P Y Y P Y P Y P Y P P K K K K K B B B B n n n n n n n N N N N m m m m m m m H z z                                                                                                                         8 8 r 8 8 0 1 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; ; : O   ",
+"  c.c.g.c.g.c.g.c.a.a.a.a.a.a.a.a.a.p.p.p.p.p.m.m.O.O.O.o.O.O...m.M.O.o.                                                                                                                        ' } } ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.8.8.8.P Y P P Y P Y P Y P Y P K K K K K B B B B n n n n n n n N N N N m m m m m H J M                                                                                                                         8 0 t e 8 9 9 0 9 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; ; : $   ",
+"  c.g.c.g.c.g.c.g.a.a.a.a.a.a.a.a.a.p.p.p.p.p.O.O.O.O.O.O.O.m... .O.M.O.O.                                                                                                                          ` } [ ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.8.8.8.Y P Y Y P Y P Y P P P P K K K K K B B B B n n n n n n n N N N N m m m H J m                                                                                                                           0 t t e 8 1 9 9 9 9 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; ; : O   ",
+"  g.g.c.g.c.g.c.g.a.a.a.a.a.a.a.a.a.p.p.p.p.p.O.m.O.O.o.O.O.O. . . . .O.M.O.o.                                                                                                                        @.[ } ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.P Y P Y P Y P Y P Y P Y K K K K K E B B B n n n n n n n N N N N m J J m z                                                                                                                         8 w t e 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; ; : O   ",
+"  g.c.g.c.g.c.g.c.a.a.a.a.a.a.a.a.a.p.p.p.p.p.O.o.O.O.m.O.O.O...o. .o. .O.O.m.O.o.                                                                                                                        _ _ } ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.8.P P P P Y P Y P Y P Y P K K K K K B B B B n n n n n n n N N N J J N z                                                                                                                         8 w t t w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; ; : =   ",
+"  c.g.c.g.c.g.c.g.a.a.a.a.a.a.a.a.a.p.p.p.p.p.O.O.O.O.O.m.O.O... .o. .o.o.o.o.O...o.o.                                                                                                                        ` ` } ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.8.P P P Y P Y P Y P Y P Y K K K K K B B B B n n n n n n n N J J J M                                                                                                                         8 w t t w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; ; : =   ",
+"  c.c.g.c.g.c.g.c.a.a.a.a.a.a.a.a.a.p.p.p.p.p.p.O.O.O.O.O.O.m.o.o. .o. ...o.o.o.o.O.o.O.                                                                                                                          ` ` } r._ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.P P P P Y P Y P Y P Y P K K K K K B B B B n n n n n n J J J m                                                                                                                           w i t w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; ; : =   ",
+"  c.c.g.g.c.g.c.g.a.a.a.a.a.a.a.a.a.p.p.p.p.p.O.m.O.O.O.O.O.O.o.o. .o. .o...o...o. .o.O.3.@.                                                                                                                        9._ r.r._ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.8.P Y P Y P Y P Y P Y P P K K K K K B B B B n n n n n J E m z                                                                                                                         8 i i w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; ; : O   ",
+"  c.g.c.c.g.c.g.c.a.a.a.a.a.a.a.a.a.p.p.p.p.p.O.o.O.O.m.O.p.O.o. .o. .o...o...o. .o... .3.3.| ..                                                                                                                        _ _ y.r._ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.8.Y P Y P Y P Y P Y P Y P K K K K K B B B B n n n E Q K R                                                                                                                         8 y i i w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; ; : O   ",
+"  g.c.g.g.c.g.c.g.a.a.a.a.a.a.a.a.a.p.p.p.p.p.O.m.O.O.O.O.O.m.o.o. .o. .o. .o. .o. .o.o.| | o.5.o.                                                                                                                          ` _ y.r.0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.8.8.8.P Y P Y P Y P Y P Y P P K K K K K B B B B n G Q n M                                                                                                                         8 w i i y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; ; : O   ",
+"  g.g.c.c.g.c.g.c.a.a.a.a.a.a.a.a.a.p.p.p.p.p.O.o.O.O.O.O.O.o... .o. .o. .o. .o. .o.o.o.| | | | 3.3.=.                                                                                                                          ` r.r.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.8.8.8.8.8.P P Y P Y P Y P Y P Y P K K K K K B B B B E Q M z                                                                                                                         g a i y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; ; : O   ",
+"  c.c.g.c.g.c.g.c.a.a.a.a.a.a.a.a.a.p.p.p.p.p.O.O.O.O.O.m.o.O.o.o. .o. .o. .o. .o. .o. .| | | | | | 5.2.#.                                                                                                                        9.` y.r.( ( 0.0.0.0.0.0.8.7.7.7.7.7.7.7.7.7.7.7.7.7.7.8.P P P Y P Y P Y P Y P P K K K K K K B E ! K z                                                                                                                         g p a y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; ; : O   ",
+"  c.g.c.g.c.g.c.g.a.a.a.a.a.a.a.a.a.p.p.p.p.p.O.O.m.O.O.O.O.O.o. .o. .o. .o. .o. .o. .o.| | | | | | 1.2.5.1.:.                                                                                                                        _ 0.y.0.0.0.0.0.0.0.8.7.7.7.7.7.7.7.7.7.7.7.7.7.7.8.P P Y P Y P Y P Y P Y P K K K K K K ! G R                                                                                                                         8 u C 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; ; : $   ",
+"  c.c.g.c.g.c.g.c.a.a.a.a.a.a.a.a.a.p.p.p.p.p.m.O.O.m.O.O.O.O.o.o. .o. .o. .o. .o. .o. .| | | | | | 1.1.1.2.5.-.                                                                                                                          ` r.r.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.8.P Y P Y P Y P Y P Y P P K K K K E ! R                                                                                                                           w C p u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; ; : O   ",
+"  c.g.c.g.c.g.c.g.a.a.a.a.a.a.a.a.a.p.p.p.p.p.O.O.O.o.O.O.p.O.o. .o. .o. .o. .o. .o. .o.| | | | | | 1.1.1.1.1.4.2.o.                                                                                                                          ` r.w.0.0.0.8.7.7.7.7.7.7.7.7.7.7.7.7.7.7.8.Y P Y P Y P Y P Y P Y Y K K E ! E T                                                                                                                         g p p u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; ; : $   ",
+"  g.c.c.c.g.c.g.c.a.a.a.a.a.a.a.s.s.p.p.p.p.p.O.O.O.m.O.O.o.O...o. .o. .o. .o. .o. .o. .| | | | | | 1.1.1.1.1.1.2.5.;.@.                                                                                                                        9.0.r.0.0.7.7.8.7.7.7.7.7.7.7.7.7.7.7.7.7.P Y P Y P Y P Y P Y P P K Q K R                                                                                                                         g s C u u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; ; : =   ",
+"  s.C.c.g.c.g.c.c.a.a.a.a.a.a.a.a.p.p.p.p.p.p.O.O.O.o.O.O.m.O.o. .o. .o. .o. .o. .o. .o.| | | | | | 1.1.1.1.1.1.1.| 2.4.:.:.                                                                                                                        ( w.w.0.7.8.7.7.7.7.7.7.7.7.7.7.7.7.8.P P P P Y P Y P Y P Y W W R                                                                                                                         z g A p 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; ; : : <   ",
+"    s.c.c.g.c.g.c.a.a.a.a.a.a.a.a.a.p.p.p.p.p.O.m.o.O.O.O.O.O.o.o. .o. .o. .o. .o. .o. .| | | | | | 1.1.1.1.1.1.1.1.;.;.2.2.;.                                                                                                                          9.w.w.8.7.7.7.7.7.7.7.7.7.7.7.7.8.P P P Y P Y P Y P P W 9.                                                                                                                          g x x 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; ; ; : ; 8     ",
+"        g.c.g.c.c.a.a.a.a.a.a.a.a.a.p.p.p.p.p.O.O.O.O.O.O.m.O.o. .o. .o. .o. .o. .o. .o.| | | | | | 1.1.1.1.1.1.1.1.;.:.;.:.4.:.=.                                                                                                                          _ w.q.7.7.7.7.7.7.7.7.7.7.7.7.P P P P Y P Y P W P P                                                                                                                         g x A x s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < ; ; > > <         ",
+"            O.c.c.c.a.a.a.a.a.a.a.a.p.p.p.p.p.O.O.O.O.O.m.O.O. . .o. .o. .o. .o. .o. .o.| | | | | | 1.1.1.1.1.1.1.1.;.:.;.;.;.2.4.;.@.                                                                                                                        _ 8.q.q.8.7.7.7.7.7.7.7.7.8.Y P Y Y Y W W Y P                                                                                                                         z f x x s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < < < > > 8             ",
+"              o.a.g.c.a.a.a.a.a.a.a.p.p.p.p.p.m.O.O.O.m.O.O.O. .o. .o. .o. .o. .o. .o. .| | | | | | 1.1.1.1.1.1.1.1.:.;.;.;.;.;.;.;.;.@.@.                                                                                                                        8.w.q.q.7.7.8.7.7.7.7.8.P Y P P W W Y                                                                                                                         j f c x s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < < > > > 8               ",
+"                  s.c.N.c.a.a.a.a.a.p.p.p.p.p.O.m.O.O.O.O.O.O.o. .o. .o. .o. .o. .o. .o.| | | | | | 1.1.1.1.1.1.1.1.:.:.:.;.;.;.$.$.;.,.:.;.                                                                                                                          9.q.q.8.8.7.7.8.8.8.P Y W Y P T                                                                                                                         f f c f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < < < > > <                   ",
+"                      O.c.N.a.a.a.a.p.p.p.p.p.O.o.O.O.O.O.p.O.o.o. .o. .o. .o. .o. .o. .| | | | | | 1.1.1.1.1.1.1.1.:.:.;.:.;.:.$.$.$.$.:.,.,.=.                                                                                                                        9.7.q.q.7.7.8.8.8.q.W P P                                                                                                                         g c c f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < < < 3 < 0                       ",
+"                          O.N.N.a.a.p.p.p.p.p.O.O.O.O.O.m.O.O.o. .o. .o. .o. .o. .o. .o.| | | | | | 1.1.1.1.1.1.1.1.-.-.:.;.:.;.$.$.$.$.$.$.:.:.=.@.                                                                                                                        P 8.q.q.7.7.q.8.R                                                                                                                         z f c f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 < < 2 2 8 8                         ",
+"                            s.c.Z.N.p.p.p.p.p.O.O.O.O.O.O.O.O. .o. .o. .o. .o. .o. .o. .| | | | | | 1.1.1.1.1.1.1.1.-.-.;.:.;.:.$.$.$.$.$.$.$.=.%.,.=.@.                                                                                                                        8.7.e.7.8.                                                                                                                        z z c f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 2 4 0 q                             ",
+"                                c.a.Z.s.p.p.p.O.m.O.O.o.O.O.m. . .o. .o. .o. .o. .o. .o.| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.:.-.$.$.$.$.$.$.$.@.=.@.,.,.=.                                                                                                                          8.                                                                                                                          c D c f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 2 4 < <                                 ",
+"                                    c.N.m.p.p.m.o.O.O.m.O.O.o. .o. .o. .o. .o. .o. .o. .| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.$.=.@.=.=.@.,.=.@.                                                                                                                                                                                                                                              z D D c f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 2 2 8                                     ",
+"                                      o.O.B.m.p.O.O.O.O.O.m.O. . .o. .o. .o. .o. .o. .o.| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.$.@.=.@.=.@.=.@.,.&.}                                                                                                                                                                                                                                       j j D v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 1 1 2 r 8 8                                       ",
+"                                          o.O.B.m.O.O.O.O.O.O. .o. .o. .o. .o. .o. .o. .| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.$.=.@.=.@.=.@.=.=.>.,.@.@.                                                                                                                                                                                                                              z j F z h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 1 2 r 1 2                                           ",
+"                                              s.m.m.O.m.O.O.O. . .o. .o. .o. .o. .o. .o.| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.$.@.=.@.=.@.=.@.=.@.@.,.>.@.                                                                                                                                                                                                                          z b F h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 1 4 8 9                                               ",
+"                                                  O.V.m.O.O.O. .o. .o. .o. .o. .o. .o. .| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.$.=.@.=.@.=.@.=.@.=.=.&.&.<.@.=.                                                                                                                                                                                                                  z z F Z j h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 8 8 V 1                                                   ",
+"                                                      O.V.m.O. .o. .o. . .o. .o. .o. .o.| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.$.@.=.@.=.@.=.@.=.@.@.&.) [ >.<.[ }                                                                                                                                                                                                           j z F b z j z h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 8 8 V 8 8                                                     ",
+"                                                        o.O.m.O. .o. .o.o. .o. .o. .o. .| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.$.=.@.=.@.=.@.=.@.=.@.&.) [ [ [ >.>.[                                                                                                                                                                                                       m H F j z j z j h h h v v v f f f f f f f g f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 8 8 8 e 8 1                                                         ",
+"                                                             .O.O.m.o. . .o. .o. .o. . .| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.$.@.=.@.=.@.=.@.=.@.@.&.) [ [ [ ) ' >.[ =.                                                                                                                                                                                              j z ~ z j z j z j z h h h v v v f f f f f f g g g s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w w 8 8 e e e 8                                                             ",
+"                                                                O.O.O. .o. .o. . . . . .| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.%.=.@.=.@.=.@.=.@.=.@.&.) [ [ [ [ [ [ } >.[ '                                                                                                                                                                                       z m H H j z z j z j z j h h h v v v f f f f f f g g g s s s s s s 6 6 6 u u u u u 5 y y y y y y y w w w w w w w w e e e 8                                                                 ",
+"                                                                  o.o.O.m...o.o.o.o. .o.| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.$.@.=.@.=.@.=.@.=.@.#.&.) [ [ [ [ [ [ [ [ } } [ [                                                                                                                                                                               z m H H j z j z j z j z j z h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w w w t e 8 8                                                                   ",
+"                                                                      o.O.O.O.o.o. .o. .| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.$.=.@.=.@.=.@.=.@.=.#.&.) [ [ [ [ [ [ [ [ [ [ } [ `                                                                                                                                                                           m H H m z z j z j z j z j z j h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w w t t w 0                                                                       ",
+"                                                                          O.O.M.o.o. .o.| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.$.@.=.@.=.@.=.@.=.@.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ } [ =.                                                                                                                                                                  M H H m m m z j z j z j z j z j z h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w w w t w 8                                                                           ",
+"                                                                              O...m.o. .| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.$.@.@.=.@.=.@.=.@.=.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ } [ _                                                                                                                                                           z m J H m m m m j z j z j z j z j z j h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y w w t t 0 q                                                                             ",
+"                                                                                ..O.m.O.| | | | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.$.@.=.@.=.@.=.@.=.@.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` [ } `                                                                                                                                                     z m J m m m m m m m j j z j z j z j z j z h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y y y i V w q                                                                                 ",
+"                                                                                    o.o.M.3.| | | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.$.@.@.=.@.=.@.=.@.=.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` [ } `                                                                                                                                               M J J m m m m m m m m z z j z j z j z j z j h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y y i V i 8                                                                                     ",
+"                                                                                        o.5.5.| | | 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.$.@.=.@.=.@.=.@.=.@.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` } r.`                                                                                                                                       z J J M m m m m m m m m m z j z j z j z j z j z h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y y y i i 8                                                                                         ",
+"                                                                                            :.5.3.| 1.1.1.1.1.1.1.1.-.-.-.-.-.-.$.$.$.$.$.$.$.@.@.=.@.=.@.=.@.=.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` u._ _                                                                                                                               P m J m m m m m m m m m m m m j z j z j z j z j z j h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y y i V 8 8                                                                                           ",
+"                                                                                              :.1.5.2.1.1.1.1.1.1.1.:.:.-.-.-.-.$.$.$.$.$.$.$.@.=.@.=.@.=.@.=.@.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` u.`                                                                                                                           m Q J N m m m m m m m m m m m m j z j z j z j j z j z h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u 5 y a p 8                                                                                               ",
+"                                                                                                  o.3.5.1.1.1.1.1.1.;.:.:.;.-.-.$.$.$.$.$.$.$.=.@.=.@.=.@.=.@.=.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` } r.`                                                                                                                   P E E N N N m m m m m m m m m m m m z j z j z j z z j z j h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u u p a 8                                                                                                   ",
+"                                                                                                      :.5.2.1.1.1.1.;.;.;.:.;.:.$.$.$.$.$.$.$.@.=.@.=.@.=.@.=.@.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` r.u.r._                                                                                                           P J Q J N N N N m m m m m m m m m m m m z z j z j z j j z j z h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 u u u C g                                                                                                       ",
+"                                                                                                        @.1.5.4.1.1.;.;.:.;.:.;.$.$.$.$.$.$.$.=.@.=.@.=.@.=.@.=.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ r.u.w._                                                                                                   z E Q J n G N N N N m m m m m m m m m m m m j j z j z j z z j z j h h h v v v f f f f f f f f f s s s s s s 6 6 6 6 p C 6 8                                                                                                         ",
+"                                                                                                            :.1.2.:.:.;.:.;.;.:.$.$.$.$.$.$.$.@.=.@.=.@.=.@.=.@.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ y.y.`                                                                                             z M E Q n n n n N N N N m m m m m m m m m m m m j z j z j z j j z j z h h h v v v f f f f f f f f f s s s s s s 6 6 6 p x q                                                                                                             ",
+"                                                                                                                ..;.2.:.;.;.:.;.$.$.$.$.$.$.$.=.@.=.@.=.@.=.@.=.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ r.y.0.9.                                                                                      M G Q G n n n n n N N N N m m m m m m m m m m m m z j z j z j z z j z j h h h v v v f f f f f f f f f s s s s s s 6 x p g                                                                                                                 ",
+"                                                                                                                    :.2.;.;.;.;.$.$.$.$.$.$.$.@.=.@.=.@.=.@.=.@.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.r.y.w.(                                                                               P E Q E n n n n n n n N N N N m m m m m m m m m m m m j z j z j z j j z j z h h h v v v f f f f f f f f f s s s s x x x g                                                                                                                     ",
+"                                                                                                                      :.%.2.2.;.$.$.$.$.$.$.$.=.@.=.@.=.@.=.@.=.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0.r.w.w.9.                                                                      T E E E B B n n n n n n n N N N N m m m m m m m m m m m m z j z j z j z z j z j h h h v v v f f f f f f f f f s s s x x 6 z                                                                                                                       ",
+"                                                                                                                          O.:.2.-.$.$.$.$.$.$.@.#.#.#.#.#.#.#.#.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ 0.w.0.9.                                                                  K K E E B B B n n n n n n n N N N N m m m m m m m m m m m m j z j z j z j j z j z h h h v v v f f f f f f f f f s x x x g                                                                                                                           ",
+"                                                                                                                              :.;.| :.:.$.$.$.@.#.#.#.#.#.#.#.#.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.w.w./ (                                                           P K E E K B B B B n n n n n n n N N N N m m m m m m m m m m m m z j z j z j z z j z j h h h v v v f f f f f f f f f x s g                                                                                                                               ",
+"                                                                                                                                @.;.:.,.$.$.$.@.#.#.#.#.#.#.#.#.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.w.( _                                                   Y K W E K K K B B B B n n n n n n n N N N N m m m m m m m m m m m m j z j z j z j j z j z h h h v v v f f f f f f f c x f z                                                                                                                                 ",
+"                                                                                                                                    =.:.,.,.$.@.#.#.#.#.#.#.#.#.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.w.8.                                            T K W P K K K K K B B B B n n n n n n n N N N N m m m m m m m m m m m m z j z j z j z z j z z h h h v v v f f f f f c c f z                                                                                                                                     ",
+"                                                                                                                                        =.=.6.:.=.=.=.=.#.#.#.#.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0.( / 0.0.0.0.0.0.0.w.t.9.                                      Y W W P P K K K K K B B B B n n n n n n n N N N N m m m m m m m m m m m m j z j z j z j j z j z h h h v v v f f f f S f f                                                                                                                                         ",
+"                                                                                                                                            @.,.6.=.=.=.#.#.#.#.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0.( / 0.0.0.0.0.0.8.7.7.w.w.(                               Y P W Y P Y P K K K K K B B B B n n n n n n n N N N N m m m m m m m m m m m m z j z j z j z z j z j h h h v v v f f D c f                                                                                                                                             ",
+"                                                                                                                                              @.:.,.,.#.#.#.#.#.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0.( / 0.0.0.0.0.0.7.7.7.7.7.t.8.P                       Y P e.P Y P Y P P K K K K K B B B B n n n n n n n N N N N m m m m m m m m m m m m j z j z j z j j z j z h h h v v v c D z j                                                                                                                                               ",
+"                                                                                                                                                  :.#.,.#.#.#.#.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0.( / 0.0.0.0.0.0.7.7.7.8.8.8.q.t.9.T               T 9.e.Y P Y P Y P Y P K K K K K B B B B n n n n n n n N N N N m m m m m m m m m m m m z j z j z j z z j z j h h h v v D v z                                                                                                                                                   ",
+"                                                                                                                                                      @.=.,.=.#.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.q.q.8.          Y q.W P Y P Y P Y P Y P K K K K K B B B B n n n n n n n N N N N m m m m m m m m m m m m z j z z j z j j z z j h h h D D z                                                                                                                                                       ",
+"                                                                                                                                                          =.,.,.#.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.w.Y P   P P e.Y P Y P Y P Y P Y P P K K K K K B B B B n n n n n n n N N N N m m m m m m m m m m m m z z j j z j z z j j z h v D f                                                                                                                                                           ",
+"                                                                                                                                                            @.&.,.&.) [ [ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.q.q.P e.q.Y P Y P Y P Y P Y P Y P K K K K K E B B B n n n n n n n N N N N m m m m m m m m m m m m z j z z j z j j z j j b z z                                                                                                                                                             ",
+"                                                                                                                                                                #.>.>.&.[ [ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.8.8.8.8.8.P Y P Y P Y P Y P Y P P K K K K K B B B B n n n n n n n N N N N m m m m m m m m m m m m j z j j z j z z j b z z                                                                                                                                                                 ",
+"                                                                                                                                                                    =.>.&.[ [ [ [ [ [ [ [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.8.8.8.8.8.P P Y P Y P Y P Y P Y P K K K K K B B B B n n n n n n n N N N N m m m m m m m m m m m m j z j z j z j b F z                                                                                                                                                                     ",
+"                                                                                                                                                                        =.>.&.&.[ [ ' ' [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.8.8.7.7.8.P Y P Y P Y P Y P Y P P K K K K K B B B B n n n n n n n N N N N m m m m m m m m m m m m z j z j z z b z                                                                                                                                                                         ",
+"                                                                                                                                                                          [ [ >.&.[ [ ' [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.8.P P Y P Y P Y P Y P Y R K K K K K B B B B n n n n n n n N N N N m m m m m m m m m m m m z j j z z j z                                                                                                                                                                           ",
+"                                                                                                                                                                              =.&.>.>.' [ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.8.P Y P Y P Y P Y P Y P R K K K K K B B B B n n n n n n n N N N N m m m m m m m m m m m m j z H j z                                                                                                                                                                               ",
+"                                                                                                                                                                                  =.} >.[ [ [ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.8.P P Y P Y P Y P Y P Y P K K K K K B B B B n n n n n n n N N N N m m m m m m m m m m m M H m M                                                                                                                                                                                   ",
+"                                                                                                                                                                                    #.[ } >.[ [ [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.9.7.7.7.7.7.7.7.7.7.7.7.7.7.7.8.P Y P Y P Y P Y P Y P P K K K K K B B B B n n n n n n n N N N N m m m m m m m m m m H H z z                                                                                                                                                                                     ",
+"                                                                                                                                                                                        #.[ >.} [ ` ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.8.P P Y P Y P Y P Y P Y P K K K K K K B B B n n n n n n n N N N N m m m m m m m m H H m z                                                                                                                                                                                         ",
+"                                                                                                                                                                                            ' ` i.[ ` ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.8.P Y P Y P Y P Y P Y P P K K K K K B B B B n n n n n n n N N N N m m m m m m m J m z                                                                                                                                                                                             ",
+"                                                                                                                                                                                                #.[ } ` ` ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0.( / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.P P Y P Y P Y P Y P Y P K K K K K B B B B n n n n n n n N N N N m m m m m J H M                                                                                                                                                                                                 ",
+"                                                                                                                                                                                                  #.` } } ` ` ` ` ` ` ` _ _ _ _ _ _ 0.0.0.( / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.8.P P P Y P Y P Y P Y P P K K K K K B B B B n n n n n n n N N N N m m m J ^ M z                                                                                                                                                                                                   ",
+"                                                                                                                                                                                                      _ ` u.` ` ` ` ` ` _ _ _ _ _ _ 0.0.0.( / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.8.P P P P Y P Y P Y P Y P K K K K K B B B B n n n n n n n N N N N m m ^ m z                                                                                                                                                                                                       ",
+"                                                                                                                                                                                                          ` ` u.` ` ` ` _ _ _ _ _ _ 0.0.0.( / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.P P P Y P Y P Y P Y P P K K K K K B B B B n n n n n n n N N N N J J M                                                                                                                                                                                                           ",
+"                                                                                                                                                                                                              [ u.` ` ` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.8.8.Y P Y P Y P Y P Y P Y P K K K K K B B B B n n n n n n n N N J ^ m                                                                                                                                                                                                               ",
+"                                                                                                                                                                                                                #.` u.` _ _ _ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.8.8.P Y P Y P Y P Y P Y P Y K K K K K B B B B n n n n n n n J ^ m z                                                                                                                                                                                                                 ",
+"                                                                                                                                                                                                                    [ ` y.r._ _ _ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.8.8.8.P P Y P Y P Y P Y P Y P K K K K K B B B B n n n n n J E J z                                                                                                                                                                                                                     ",
+"                                                                                                                                                                                                                        ` ` r.r._ _ 0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.8.8.8.P Y P Y P Y P Y P Y P Y K K K K K B B B B n n n G G J M                                                                                                                                                                                                                         ",
+"                                                                                                                                                                                                                            _ r.r.r.0.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.8.P P Y P Y P Y P Y P Y P K K K K K B B B B G G E E K                                                                                                                                                                                                                             ",
+"                                                                                                                                                                                                                              9._ r.r.0.0./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.8.P Y P Y P Y P Y P Y P Y K K K K K B B B B E E K P                                                                                                                                                                                                                               ",
+"                                                                                                                                                                                                                                  ( r.r.r./ / 0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.8.P P Y P Y P Y P Y P Y P K K K K K E B E E E M                                                                                                                                                                                                                                   ",
+"                                                                                                                                                                                                                                      ` r.r.0.0.0.0.0.0.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.8.P Y P Y P Y P Y P Y P Y K K K K K E E E P                                                                                                                                                                                                                                       ",
+"                                                                                                                                                                                                                                          ` r.r.0.0.0.0.0.8.8.7.7.7.7.7.7.7.7.7.7.7.7.7.8.P P Y P Y P Y P Y P Y P K K K K Q E K P                                                                                                                                                                                                                                         ",
+"                                                                                                                                                                                                                                            _ w.r.w.0.0.0.8.7.7.7.7.7.7.7.7.7.7.7.7.7.7.8.P Y P Y P Y P Y P Y P P K K E Q E P                                                                                                                                                                                                                                             ",
+"                                                                                                                                                                                                                                                ( w.r.w.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.8.P P Y P Y P Y P Y P Y Y E ! E R                                                                                                                                                                                                                                                 ",
+"                                                                                                                                                                                                                                                    8.w.w.0.7.7.7.7.7.7.7.7.7.7.7.7.7.7.8.P Y P Y P Y P Y P Y P W ! P T                                                                                                                                                                                                                                                   ",
+"                                                                                                                                                                                                                                                      9.9.w.w.8.8.7.7.7.7.7.7.7.7.7.7.7.7.P P Y P Y P Y P Y W e.9.P                                                                                                                                                                                                                                                       ",
+"                                                                                                                                                                                                                                                          9.w.t.q.8.7.7.7.7.7.7.7.7.7.7.8.P P P Y P Y P Y e.P Y                                                                                                                                                                                                                                                           ",
+"                                                                                                                                                                                                                                                              ( 0.w.7.7.7.7.7.7.7.7.7.7.8.P P P P T P W e.R                                                                                                                                                                                                                                                               ",
+"                                                                                                                                                                                                                                                                  9.t.q.7.7.7.8.7.7.7.7.7.P P P Y W e.8.                                                                                                                                                                                                                                                                  ",
+"                                                                                                                                                                                                                                                                    T 8.t.8.8.8.7.7.8.8.8.Y Y P e.P P                                                                                                                                                                                                                                                                     ",
+"                                                                                                                                                                                                                                                                        P 8.q.8.7.7.7.8.8.P W Y Y                                                                                                                                                                                                                                                                         ",
+"                                                                                                                                                                                                                                                                            8.q.q.7.8.8.8.q.Y                                                                                                                                                                                                                                                                             ",
+"                                                                                                                                                                                                                                                                                9.q.q.q.P T                                                                                                                                                                                                                                                                               ",
+"                                                                                                                                                                                                                                                                                  P P P                                                                                                                                                                                                                                                                                   ",
+"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          ",
+"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          ",
+"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          "
+};
diff --git a/Source Code/V2.1/PiacereToolProduct/Piacere/PiacereIcons/PiacereIcon_128x128.png b/Source Code/V2.1/PiacereToolProduct/Piacere/PiacereIcons/PiacereIcon_128x128.png
new file mode 100644
index 0000000000000000000000000000000000000000..515cef7760b8362f3c33ae438a648256dae149b0
Binary files /dev/null and b/Source Code/V2.1/PiacereToolProduct/Piacere/PiacereIcons/PiacereIcon_128x128.png differ
diff --git a/Source Code/V2.1/PiacereToolProduct/Piacere/PiacereIcons/PiacereIcon_16x16.png b/Source Code/V2.1/PiacereToolProduct/Piacere/PiacereIcons/PiacereIcon_16x16.png
new file mode 100644
index 0000000000000000000000000000000000000000..444de54d6cfe2958fac1bbb89dd8619b4c537c47
Binary files /dev/null and b/Source Code/V2.1/PiacereToolProduct/Piacere/PiacereIcons/PiacereIcon_16x16.png differ
diff --git a/Source Code/V2.1/PiacereToolProduct/Piacere/PiacereIcons/PiacereIcon_256x256.png b/Source Code/V2.1/PiacereToolProduct/Piacere/PiacereIcons/PiacereIcon_256x256.png
new file mode 100644
index 0000000000000000000000000000000000000000..6db52fe2c2ed0dd9f75163214b094476416e341a
Binary files /dev/null and b/Source Code/V2.1/PiacereToolProduct/Piacere/PiacereIcons/PiacereIcon_256x256.png differ
diff --git a/Source Code/V2.1/PiacereToolProduct/Piacere/PiacereIcons/PiacereIcon_32x32.png b/Source Code/V2.1/PiacereToolProduct/Piacere/PiacereIcons/PiacereIcon_32x32.png
new file mode 100644
index 0000000000000000000000000000000000000000..bb51b447d7bc3b9b0c866b35cc9c65917508e0f7
Binary files /dev/null and b/Source Code/V2.1/PiacereToolProduct/Piacere/PiacereIcons/PiacereIcon_32x32.png differ
diff --git a/Source Code/V2.1/PiacereToolProduct/Piacere/PiacereIcons/PiacereIcon_48x48.png b/Source Code/V2.1/PiacereToolProduct/Piacere/PiacereIcons/PiacereIcon_48x48.png
new file mode 100644
index 0000000000000000000000000000000000000000..b610e19f8483d4592b5bd75e3f1f31631fe7d74e
Binary files /dev/null and b/Source Code/V2.1/PiacereToolProduct/Piacere/PiacereIcons/PiacereIcon_48x48.png differ
diff --git a/Source Code/V2.1/PiacereToolProduct/Piacere/PiacereIcons/PiacereIcon_64x64.png b/Source Code/V2.1/PiacereToolProduct/Piacere/PiacereIcons/PiacereIcon_64x64.png
new file mode 100644
index 0000000000000000000000000000000000000000..35e591d0b099c68a688d1f1e8524effa1f20e54a
Binary files /dev/null and b/Source Code/V2.1/PiacereToolProduct/Piacere/PiacereIcons/PiacereIcon_64x64.png differ
diff --git a/Source Code/V2.1/PiacereToolProduct/Piacere/PiacereIcons/icon16.bmp b/Source Code/V2.1/PiacereToolProduct/Piacere/PiacereIcons/icon16.bmp
new file mode 100644
index 0000000000000000000000000000000000000000..b7e20845b6a19075baedbeeb6e08187ae431ab07
Binary files /dev/null and b/Source Code/V2.1/PiacereToolProduct/Piacere/PiacereIcons/icon16.bmp differ
diff --git a/Source Code/V2.1/PiacereToolProduct/Piacere/PiacereIcons/icon256.bmp b/Source Code/V2.1/PiacereToolProduct/Piacere/PiacereIcons/icon256.bmp
new file mode 100644
index 0000000000000000000000000000000000000000..8de86f74ca5f55d3394e9adad417fb05fe698688
Binary files /dev/null and b/Source Code/V2.1/PiacereToolProduct/Piacere/PiacereIcons/icon256.bmp differ
diff --git a/Source Code/V2.1/PiacereToolProduct/Piacere/PiacereIcons/icon32.bmp b/Source Code/V2.1/PiacereToolProduct/Piacere/PiacereIcons/icon32.bmp
new file mode 100644
index 0000000000000000000000000000000000000000..bbcafe4d4b1147ac7abbfa3a57da08834f1978d5
Binary files /dev/null and b/Source Code/V2.1/PiacereToolProduct/Piacere/PiacereIcons/icon32.bmp differ
diff --git a/Source Code/V2.1/PiacereToolProduct/Piacere/PiacereIcons/icon48.bmp b/Source Code/V2.1/PiacereToolProduct/Piacere/PiacereIcons/icon48.bmp
new file mode 100644
index 0000000000000000000000000000000000000000..b18d23b7018576501facd65545f0b909fa3ab2e9
Binary files /dev/null and b/Source Code/V2.1/PiacereToolProduct/Piacere/PiacereIcons/icon48.bmp differ
diff --git a/Source Code/V2.1/PiacereToolProduct/Piacere/sample.png b/Source Code/V2.1/PiacereToolProduct/Piacere/sample.png
new file mode 100755
index 0000000000000000000000000000000000000000..932e4518cdae42e5eaa2b38f655b31e155873367
Binary files /dev/null and b/Source Code/V2.1/PiacereToolProduct/Piacere/sample.png differ
diff --git a/Source Code/V2.1/PiacereToolProduct/Piacere/save_edit.png b/Source Code/V2.1/PiacereToolProduct/Piacere/save_edit.png
new file mode 100755
index 0000000000000000000000000000000000000000..2c598e5aef10055fd508a52964ecac7ad00ef2a2
Binary files /dev/null and b/Source Code/V2.1/PiacereToolProduct/Piacere/save_edit.png differ
diff --git a/Source Code/V2.1/PiacereToolProduct/PiacereToolProduct.product b/Source Code/V2.1/PiacereToolProduct/PiacereToolProduct.product
new file mode 100755
index 0000000000000000000000000000000000000000..a71c054f7e0e9df6ae54aa06c8f4edbdfd6c0522
--- /dev/null
+++ b/Source Code/V2.1/PiacereToolProduct/PiacereToolProduct.product	
@@ -0,0 +1,1845 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?pde version="3.5"?>
+
+<product name="Piacere" uid="PiacereProductID" id="PiacereToolProduct.PiacereProductID" application="org.eclipse.ui.ide.workbench" version="2.1.0.qualifier" useFeatures="false" includeLaunchers="true" autoIncludeRequirements="true">
+
+   <aboutInfo>
+      <image path="/PiacereToolProduct/about.gif"/>
+   </aboutInfo>
+
+   <configIni use="default">
+   </configIni>
+
+   <launcherArgs>
+      <programArgs>-consoleLog
+      </programArgs>
+      <vmArgs>-Dosgi.requiredJavaVersion=1.6 -XstartOnFirstThread -Dorg.eclipse.swt.internal.carbon.smallFonts -XX:MaxPermSize=256m -Xms40m -Xmx512m -Xdock:icon=../Resources/Eclipse.icns -XstartOnFirstThread -Dorg.eclipse.swt.internal.carbon.smallFonts
+      </vmArgs>
+      <vmArgsMac>-XstartOnFirstThread -Dorg.eclipse.swt.internal.carbon.smallFonts
+      </vmArgsMac>
+   </launcherArgs>
+
+   <windowImages i16="/PiacereToolProduct/Piacere/PiacereIcons/PiacereIcon_16x16.png" i32="/PiacereToolProduct/Piacere/PiacereIcons/PiacereIcon_32x32.png" i48="/PiacereToolProduct/Piacere/PiacereIcons/PiacereIcon_48x48.png" i64="/PiacereToolProduct/Piacere/PiacereIcons/PiacereIcon_64x64.png" i128="/PiacereToolProduct/Piacere/PiacereIcons/PiacereIcon_128x128.png" i256="/PiacereToolProduct/Piacere/PiacereIcons/PiacereIcon_256x256.png"/>
+
+   <splash
+      location="PiacereToolProduct"
+      startupProgressRect="2,310,448,10"
+      startupMessageRect="7,290,320,20"
+      startupForegroundColor="3A484E" />
+   <launcher>
+      <linux icon="/PiacereToolProduct/Piacere/PiacereIcon.xpm"/>
+      <macosx icon="/PiacereToolProduct/Piacere/PiacereIcon.icns"/>
+      <win useIco="false">
+         <ico path="/PiacereToolProduct/Piacere/PiacereIcon.ico"/>
+         <bmp
+            winSmallHigh="/PiacereToolProduct/Piacere/PiacereIcons/icon16.bmp"
+            winSmallLow="/PiacereToolProduct/Piacere/PiacereIcons/icon16.bmp"
+            winMediumHigh="/PiacereToolProduct/Piacere/PiacereIcons/icon32.bmp"
+            winMediumLow="/PiacereToolProduct/Piacere/PiacereIcons/icon32.bmp"
+            winLargeHigh="/PiacereToolProduct/Piacere/PiacereIcons/icon48.bmp"
+            winLargeLow="/PiacereToolProduct/Piacere/PiacereIcons/icon48.bmp"
+            winExtraLargeHigh="/PiacereToolProduct/Piacere/PiacereIcons/icon256.bmp"/>
+      </win>
+   </launcher>
+
+   <vm>
+      <linux include="false">org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8</linux>
+      <macos include="false">org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-11</macos>
+      <solaris include="false">org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8</solaris>
+      <windows include="false">org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8</windows>
+   </vm>
+
+   <plugins>
+      <plugin id="Java-json"/>
+      <plugin id="PiacereToolProduct"/>
+      <plugin id="com.google.gson"/>
+      <plugin id="com.google.gson.source"/>
+      <plugin id="com.google.guava"/>
+      <plugin id="com.google.guava.source"/>
+      <plugin id="com.google.inject"/>
+      <plugin id="com.ibm.icu"/>
+      <plugin id="com.ibm.icu.source"/>
+      <plugin id="com.jcraft.jsch"/>
+      <plugin id="com.jcraft.jsch.source"/>
+      <plugin id="com.sun.el"/>
+      <plugin id="com.sun.el.source"/>
+      <plugin id="com.sun.jna"/>
+      <plugin id="com.sun.jna.platform"/>
+      <plugin id="com.sun.xml.bind"/>
+      <plugin id="eu.piacere.doml"/>
+      <plugin id="eu.piacere.doml.edit"/>
+      <plugin id="eu.piacere.doml.editor"/>
+      <plugin id="eu.piacere.doml.grammar"/>
+      <plugin id="eu.piacere.doml.grammar.ide"/>
+      <plugin id="eu.piacere.doml.grammar.ui"/>
+      <plugin id="io.github.classgraph"/>
+      <plugin id="io.github.classgraph.source"/>
+      <plugin id="jakarta.servlet-api"/>
+      <plugin id="jakarta.servlet-api.source"/>
+      <plugin id="jakarta.xml.bind"/>
+      <plugin id="javaewah"/>
+      <plugin id="javax.activation"/>
+      <plugin id="javax.annotation"/>
+      <plugin id="javax.annotation.source"/>
+      <plugin id="javax.el"/>
+      <plugin id="javax.el.source"/>
+      <plugin id="javax.inject"/>
+      <plugin id="javax.inject.source"/>
+      <plugin id="javax.servlet.jsp"/>
+      <plugin id="javax.servlet.jsp.source"/>
+      <plugin id="javax.xml"/>
+      <plugin id="javax.xml.bind"/>
+      <plugin id="log4j2"/>
+      <plugin id="lpg.runtime.java"/>
+      <plugin id="net.i2p.crypto.eddsa"/>
+      <plugin id="org.antlr.runtime"/>
+      <plugin id="org.antlr.runtime.source"/>
+      <plugin id="org.apache.ant"/>
+      <plugin id="org.apache.ant.source"/>
+      <plugin id="org.apache.batik.bridge"/>
+      <plugin id="org.apache.batik.bridge.source"/>
+      <plugin id="org.apache.batik.constants"/>
+      <plugin id="org.apache.batik.constants.source"/>
+      <plugin id="org.apache.batik.css"/>
+      <plugin id="org.apache.batik.css.source"/>
+      <plugin id="org.apache.batik.dom"/>
+      <plugin id="org.apache.batik.dom.source"/>
+      <plugin id="org.apache.batik.dom.svg"/>
+      <plugin id="org.apache.batik.dom.svg.source"/>
+      <plugin id="org.apache.batik.ext.awt"/>
+      <plugin id="org.apache.batik.ext.awt.source"/>
+      <plugin id="org.apache.batik.i18n"/>
+      <plugin id="org.apache.batik.i18n.source"/>
+      <plugin id="org.apache.batik.parser"/>
+      <plugin id="org.apache.batik.parser.source"/>
+      <plugin id="org.apache.batik.pdf"/>
+      <plugin id="org.apache.batik.svggen"/>
+      <plugin id="org.apache.batik.svggen.source"/>
+      <plugin id="org.apache.batik.transcoder"/>
+      <plugin id="org.apache.batik.transcoder.source"/>
+      <plugin id="org.apache.batik.util"/>
+      <plugin id="org.apache.batik.util.gui"/>
+      <plugin id="org.apache.batik.util.gui.source"/>
+      <plugin id="org.apache.batik.util.source"/>
+      <plugin id="org.apache.batik.xml"/>
+      <plugin id="org.apache.batik.xml.source"/>
+      <plugin id="org.apache.commons.cli"/>
+      <plugin id="org.apache.commons.codec"/>
+      <plugin id="org.apache.commons.codec.source"/>
+      <plugin id="org.apache.commons.commons-codec"/>
+      <plugin id="org.apache.commons.compress"/>
+      <plugin id="org.apache.commons.io"/>
+      <plugin id="org.apache.commons.io.source"/>
+      <plugin id="org.apache.commons.jxpath"/>
+      <plugin id="org.apache.commons.jxpath.source"/>
+      <plugin id="org.apache.commons.lang"/>
+      <plugin id="org.apache.commons.lang3"/>
+      <plugin id="org.apache.commons.logging"/>
+      <plugin id="org.apache.commons.logging.source"/>
+      <plugin id="org.apache.commons.math3"/>
+      <plugin id="org.apache.commons.net"/>
+      <plugin id="org.apache.felix.gogo.command"/>
+      <plugin id="org.apache.felix.gogo.command.source"/>
+      <plugin id="org.apache.felix.gogo.runtime"/>
+      <plugin id="org.apache.felix.gogo.runtime.source"/>
+      <plugin id="org.apache.felix.gogo.shell"/>
+      <plugin id="org.apache.felix.gogo.shell.source"/>
+      <plugin id="org.apache.felix.scr"/>
+      <plugin id="org.apache.felix.scr.source"/>
+      <plugin id="org.apache.httpcomponents.client5.httpclient5"/>
+      <plugin id="org.apache.httpcomponents.core5.httpcore5"/>
+      <plugin id="org.apache.httpcomponents.core5.httpcore5-h2"/>
+      <plugin id="org.apache.httpcomponents.httpclient"/>
+      <plugin id="org.apache.httpcomponents.httpclient.source"/>
+      <plugin id="org.apache.httpcomponents.httpcore"/>
+      <plugin id="org.apache.httpcomponents.httpcore.source"/>
+      <plugin id="org.apache.jasper.glassfish"/>
+      <plugin id="org.apache.jasper.glassfish.source"/>
+      <plugin id="org.apache.log4j"/>
+      <plugin id="org.apache.lucene.analyzers-common"/>
+      <plugin id="org.apache.lucene.analyzers-common.source"/>
+      <plugin id="org.apache.lucene.analyzers-smartcn"/>
+      <plugin id="org.apache.lucene.analyzers-smartcn.source"/>
+      <plugin id="org.apache.lucene.core"/>
+      <plugin id="org.apache.lucene.core.source"/>
+      <plugin id="org.apache.sshd.osgi"/>
+      <plugin id="org.apache.sshd.sftp"/>
+      <plugin id="org.apache.xerces"/>
+      <plugin id="org.apache.xml.resolver"/>
+      <plugin id="org.apache.xml.serializer"/>
+      <plugin id="org.apache.xmlgraphics"/>
+      <plugin id="org.apache.xmlgraphics.source"/>
+      <plugin id="org.apiguardian"/>
+      <plugin id="org.apiguardian.source"/>
+      <plugin id="org.bouncycastle.bcpg"/>
+      <plugin id="org.bouncycastle.bcprov"/>
+      <plugin id="org.eclipse.acceleo.annotations"/>
+      <plugin id="org.eclipse.acceleo.common"/>
+      <plugin id="org.eclipse.acceleo.common.ide"/>
+      <plugin id="org.eclipse.acceleo.common.ui"/>
+      <plugin id="org.eclipse.acceleo.engine"/>
+      <plugin id="org.eclipse.acceleo.ide.ui"/>
+      <plugin id="org.eclipse.acceleo.model"/>
+      <plugin id="org.eclipse.acceleo.parser"/>
+      <plugin id="org.eclipse.acceleo.profiler"/>
+      <plugin id="org.eclipse.acceleo.query"/>
+      <plugin id="org.eclipse.acceleo.traceability"/>
+      <plugin id="org.eclipse.acceleo.traceability.model"/>
+      <plugin id="org.eclipse.acceleo.ui.interpreter"/>
+      <plugin id="org.eclipse.ant.core"/>
+      <plugin id="org.eclipse.ant.core.source"/>
+      <plugin id="org.eclipse.ant.launching"/>
+      <plugin id="org.eclipse.ant.launching.source"/>
+      <plugin id="org.eclipse.ant.ui"/>
+      <plugin id="org.eclipse.ant.ui.source"/>
+      <plugin id="org.eclipse.compare"/>
+      <plugin id="org.eclipse.compare.core"/>
+      <plugin id="org.eclipse.compare.core.source"/>
+      <plugin id="org.eclipse.compare.source"/>
+      <plugin id="org.eclipse.core.commands"/>
+      <plugin id="org.eclipse.core.commands.source"/>
+      <plugin id="org.eclipse.core.contenttype"/>
+      <plugin id="org.eclipse.core.contenttype.source"/>
+      <plugin id="org.eclipse.core.databinding"/>
+      <plugin id="org.eclipse.core.databinding.beans"/>
+      <plugin id="org.eclipse.core.databinding.beans.source"/>
+      <plugin id="org.eclipse.core.databinding.observable"/>
+      <plugin id="org.eclipse.core.databinding.observable.source"/>
+      <plugin id="org.eclipse.core.databinding.property"/>
+      <plugin id="org.eclipse.core.databinding.property.source"/>
+      <plugin id="org.eclipse.core.databinding.source"/>
+      <plugin id="org.eclipse.core.expressions"/>
+      <plugin id="org.eclipse.core.expressions.source"/>
+      <plugin id="org.eclipse.core.externaltools"/>
+      <plugin id="org.eclipse.core.externaltools.source"/>
+      <plugin id="org.eclipse.core.filebuffers"/>
+      <plugin id="org.eclipse.core.filebuffers.source"/>
+      <plugin id="org.eclipse.core.filesystem"/>
+      <plugin id="org.eclipse.core.filesystem.macosx" fragment="true"/>
+      <plugin id="org.eclipse.core.filesystem.source"/>
+      <plugin id="org.eclipse.core.jobs"/>
+      <plugin id="org.eclipse.core.jobs.source"/>
+      <plugin id="org.eclipse.core.net"/>
+      <plugin id="org.eclipse.core.net.source"/>
+      <plugin id="org.eclipse.core.resources"/>
+      <plugin id="org.eclipse.core.resources.source"/>
+      <plugin id="org.eclipse.core.runtime"/>
+      <plugin id="org.eclipse.core.runtime.source"/>
+      <plugin id="org.eclipse.core.variables"/>
+      <plugin id="org.eclipse.core.variables.source"/>
+      <plugin id="org.eclipse.datatools.connectivity"/>
+      <plugin id="org.eclipse.datatools.connectivity.oda"/>
+      <plugin id="org.eclipse.datatools.connectivity.oda.consumer"/>
+      <plugin id="org.eclipse.datatools.connectivity.oda.design"/>
+      <plugin id="org.eclipse.datatools.connectivity.oda.design.ui"/>
+      <plugin id="org.eclipse.datatools.connectivity.oda.profile"/>
+      <plugin id="org.eclipse.datatools.connectivity.sqm.core"/>
+      <plugin id="org.eclipse.datatools.connectivity.ui"/>
+      <plugin id="org.eclipse.datatools.help"/>
+      <plugin id="org.eclipse.datatools.modelbase.dbdefinition"/>
+      <plugin id="org.eclipse.datatools.modelbase.sql"/>
+      <plugin id="org.eclipse.debug.core"/>
+      <plugin id="org.eclipse.debug.core.source"/>
+      <plugin id="org.eclipse.debug.ui"/>
+      <plugin id="org.eclipse.debug.ui.launchview"/>
+      <plugin id="org.eclipse.debug.ui.launchview.source"/>
+      <plugin id="org.eclipse.debug.ui.source"/>
+      <plugin id="org.eclipse.draw2d"/>
+      <plugin id="org.eclipse.draw2d.doc.isv"/>
+      <plugin id="org.eclipse.draw2d.source"/>
+      <plugin id="org.eclipse.e4.core.commands"/>
+      <plugin id="org.eclipse.e4.core.commands.source"/>
+      <plugin id="org.eclipse.e4.core.contexts"/>
+      <plugin id="org.eclipse.e4.core.contexts.source"/>
+      <plugin id="org.eclipse.e4.core.di"/>
+      <plugin id="org.eclipse.e4.core.di.annotations"/>
+      <plugin id="org.eclipse.e4.core.di.annotations.source"/>
+      <plugin id="org.eclipse.e4.core.di.extensions"/>
+      <plugin id="org.eclipse.e4.core.di.extensions.source"/>
+      <plugin id="org.eclipse.e4.core.di.extensions.supplier"/>
+      <plugin id="org.eclipse.e4.core.di.extensions.supplier.source"/>
+      <plugin id="org.eclipse.e4.core.di.source"/>
+      <plugin id="org.eclipse.e4.core.services"/>
+      <plugin id="org.eclipse.e4.core.services.source"/>
+      <plugin id="org.eclipse.e4.emf.xpath"/>
+      <plugin id="org.eclipse.e4.emf.xpath.source"/>
+      <plugin id="org.eclipse.e4.tools"/>
+      <plugin id="org.eclipse.e4.tools.compat"/>
+      <plugin id="org.eclipse.e4.tools.emf.editor3x"/>
+      <plugin id="org.eclipse.e4.tools.emf.ui"/>
+      <plugin id="org.eclipse.e4.tools.jdt.templates"/>
+      <plugin id="org.eclipse.e4.tools.services"/>
+      <plugin id="org.eclipse.e4.ui.bindings"/>
+      <plugin id="org.eclipse.e4.ui.bindings.source"/>
+      <plugin id="org.eclipse.e4.ui.css.core"/>
+      <plugin id="org.eclipse.e4.ui.css.core.source"/>
+      <plugin id="org.eclipse.e4.ui.css.swt"/>
+      <plugin id="org.eclipse.e4.ui.css.swt.source"/>
+      <plugin id="org.eclipse.e4.ui.css.swt.theme"/>
+      <plugin id="org.eclipse.e4.ui.css.swt.theme.source"/>
+      <plugin id="org.eclipse.e4.ui.di"/>
+      <plugin id="org.eclipse.e4.ui.di.source"/>
+      <plugin id="org.eclipse.e4.ui.dialogs"/>
+      <plugin id="org.eclipse.e4.ui.dialogs.source"/>
+      <plugin id="org.eclipse.e4.ui.ide"/>
+      <plugin id="org.eclipse.e4.ui.ide.source"/>
+      <plugin id="org.eclipse.e4.ui.model.workbench"/>
+      <plugin id="org.eclipse.e4.ui.model.workbench.source"/>
+      <plugin id="org.eclipse.e4.ui.services"/>
+      <plugin id="org.eclipse.e4.ui.services.source"/>
+      <plugin id="org.eclipse.e4.ui.widgets"/>
+      <plugin id="org.eclipse.e4.ui.widgets.source"/>
+      <plugin id="org.eclipse.e4.ui.workbench"/>
+      <plugin id="org.eclipse.e4.ui.workbench.addons.swt"/>
+      <plugin id="org.eclipse.e4.ui.workbench.addons.swt.source"/>
+      <plugin id="org.eclipse.e4.ui.workbench.renderers.swt"/>
+      <plugin id="org.eclipse.e4.ui.workbench.renderers.swt.cocoa" fragment="true"/>
+      <plugin id="org.eclipse.e4.ui.workbench.renderers.swt.cocoa.source"/>
+      <plugin id="org.eclipse.e4.ui.workbench.renderers.swt.source"/>
+      <plugin id="org.eclipse.e4.ui.workbench.source"/>
+      <plugin id="org.eclipse.e4.ui.workbench.swt"/>
+      <plugin id="org.eclipse.e4.ui.workbench.swt.source"/>
+      <plugin id="org.eclipse.e4.ui.workbench3"/>
+      <plugin id="org.eclipse.e4.ui.workbench3.source"/>
+      <plugin id="org.eclipse.ecf"/>
+      <plugin id="org.eclipse.ecf.filetransfer"/>
+      <plugin id="org.eclipse.ecf.filetransfer.source"/>
+      <plugin id="org.eclipse.ecf.identity"/>
+      <plugin id="org.eclipse.ecf.identity.source"/>
+      <plugin id="org.eclipse.ecf.provider.filetransfer"/>
+      <plugin id="org.eclipse.ecf.provider.filetransfer.httpclient45"/>
+      <plugin id="org.eclipse.ecf.provider.filetransfer.httpclient45.source"/>
+      <plugin id="org.eclipse.ecf.provider.filetransfer.source"/>
+      <plugin id="org.eclipse.ecf.provider.filetransfer.ssl" fragment="true"/>
+      <plugin id="org.eclipse.ecf.provider.filetransfer.ssl.source"/>
+      <plugin id="org.eclipse.ecf.source"/>
+      <plugin id="org.eclipse.ecf.ssl" fragment="true"/>
+      <plugin id="org.eclipse.ecf.ssl.source"/>
+      <plugin id="org.eclipse.eef"/>
+      <plugin id="org.eclipse.eef.common"/>
+      <plugin id="org.eclipse.eef.common.ui"/>
+      <plugin id="org.eclipse.eef.core"/>
+      <plugin id="org.eclipse.eef.core.ext.widgets.reference"/>
+      <plugin id="org.eclipse.eef.ext.widgets.reference"/>
+      <plugin id="org.eclipse.eef.ide.ui"/>
+      <plugin id="org.eclipse.eef.ide.ui.ext.widgets.reference"/>
+      <plugin id="org.eclipse.eef.ide.ui.properties"/>
+      <plugin id="org.eclipse.eef.properties.ui"/>
+      <plugin id="org.eclipse.eef.properties.ui.legacy"/>
+      <plugin id="org.eclipse.egit"/>
+      <plugin id="org.eclipse.egit.core"/>
+      <plugin id="org.eclipse.egit.doc"/>
+      <plugin id="org.eclipse.egit.ui"/>
+      <plugin id="org.eclipse.emf"/>
+      <plugin id="org.eclipse.emf.activities"/>
+      <plugin id="org.eclipse.emf.ant"/>
+      <plugin id="org.eclipse.emf.ant.source"/>
+      <plugin id="org.eclipse.emf.cdo"/>
+      <plugin id="org.eclipse.emf.cdo.admin"/>
+      <plugin id="org.eclipse.emf.cdo.common"/>
+      <plugin id="org.eclipse.emf.cdo.compare"/>
+      <plugin id="org.eclipse.emf.cdo.doc"/>
+      <plugin id="org.eclipse.emf.cdo.edit"/>
+      <plugin id="org.eclipse.emf.cdo.examples.installer"/>
+      <plugin id="org.eclipse.emf.cdo.explorer"/>
+      <plugin id="org.eclipse.emf.cdo.explorer.ui"/>
+      <plugin id="org.eclipse.emf.cdo.expressions"/>
+      <plugin id="org.eclipse.emf.cdo.expressions.edit"/>
+      <plugin id="org.eclipse.emf.cdo.expressions.editor"/>
+      <plugin id="org.eclipse.emf.cdo.migrator"/>
+      <plugin id="org.eclipse.emf.cdo.net4j"/>
+      <plugin id="org.eclipse.emf.cdo.security"/>
+      <plugin id="org.eclipse.emf.cdo.security.edit"/>
+      <plugin id="org.eclipse.emf.cdo.security.editor"/>
+      <plugin id="org.eclipse.emf.cdo.security.ui"/>
+      <plugin id="org.eclipse.emf.cdo.server"/>
+      <plugin id="org.eclipse.emf.cdo.server.admin"/>
+      <plugin id="org.eclipse.emf.cdo.server.db"/>
+      <plugin id="org.eclipse.emf.cdo.server.net4j"/>
+      <plugin id="org.eclipse.emf.cdo.server.ocl"/>
+      <plugin id="org.eclipse.emf.cdo.server.product"/>
+      <plugin id="org.eclipse.emf.cdo.server.security"/>
+      <plugin id="org.eclipse.emf.cdo.transfer"/>
+      <plugin id="org.eclipse.emf.cdo.transfer.repository"/>
+      <plugin id="org.eclipse.emf.cdo.transfer.ui"/>
+      <plugin id="org.eclipse.emf.cdo.transfer.workspace"/>
+      <plugin id="org.eclipse.emf.cdo.transfer.workspace.ui"/>
+      <plugin id="org.eclipse.emf.cdo.ui"/>
+      <plugin id="org.eclipse.emf.cdo.ui.admin"/>
+      <plugin id="org.eclipse.emf.cdo.ui.compare"/>
+      <plugin id="org.eclipse.emf.cdo.ui.jdt"/>
+      <plugin id="org.eclipse.emf.cdo.ui.shared"/>
+      <plugin id="org.eclipse.emf.cdo.ui.team"/>
+      <plugin id="org.eclipse.emf.cdo.workspace"/>
+      <plugin id="org.eclipse.emf.cheatsheets"/>
+      <plugin id="org.eclipse.emf.codegen"/>
+      <plugin id="org.eclipse.emf.codegen.ecore"/>
+      <plugin id="org.eclipse.emf.codegen.ecore.source"/>
+      <plugin id="org.eclipse.emf.codegen.ecore.ui"/>
+      <plugin id="org.eclipse.emf.codegen.ecore.ui.source"/>
+      <plugin id="org.eclipse.emf.codegen.ecore.xtext"/>
+      <plugin id="org.eclipse.emf.codegen.ecore.xtext.source"/>
+      <plugin id="org.eclipse.emf.codegen.ecore.xtext.ui"/>
+      <plugin id="org.eclipse.emf.codegen.ecore.xtext.ui.source"/>
+      <plugin id="org.eclipse.emf.codegen.source"/>
+      <plugin id="org.eclipse.emf.codegen.ui"/>
+      <plugin id="org.eclipse.emf.codegen.ui.source"/>
+      <plugin id="org.eclipse.emf.common"/>
+      <plugin id="org.eclipse.emf.common.source"/>
+      <plugin id="org.eclipse.emf.common.ui"/>
+      <plugin id="org.eclipse.emf.common.ui.source"/>
+      <plugin id="org.eclipse.emf.compare"/>
+      <plugin id="org.eclipse.emf.compare.diagram"/>
+      <plugin id="org.eclipse.emf.compare.diagram.edit"/>
+      <plugin id="org.eclipse.emf.compare.diagram.ide.ui"/>
+      <plugin id="org.eclipse.emf.compare.diagram.ide.ui.sirius"/>
+      <plugin id="org.eclipse.emf.compare.diagram.ide.ui.sirius.source"/>
+      <plugin id="org.eclipse.emf.compare.diagram.sirius"/>
+      <plugin id="org.eclipse.emf.compare.diagram.sirius.source"/>
+      <plugin id="org.eclipse.emf.compare.doc"/>
+      <plugin id="org.eclipse.emf.compare.edit"/>
+      <plugin id="org.eclipse.emf.compare.edit.source"/>
+      <plugin id="org.eclipse.emf.compare.egit"/>
+      <plugin id="org.eclipse.emf.compare.egit.ui"/>
+      <plugin id="org.eclipse.emf.compare.ide"/>
+      <plugin id="org.eclipse.emf.compare.ide.source"/>
+      <plugin id="org.eclipse.emf.compare.ide.ui"/>
+      <plugin id="org.eclipse.emf.compare.ide.ui.source"/>
+      <plugin id="org.eclipse.emf.compare.rcp"/>
+      <plugin id="org.eclipse.emf.compare.rcp.ui"/>
+      <plugin id="org.eclipse.emf.compare.source"/>
+      <plugin id="org.eclipse.emf.converter"/>
+      <plugin id="org.eclipse.emf.converter.source"/>
+      <plugin id="org.eclipse.emf.databinding"/>
+      <plugin id="org.eclipse.emf.databinding.edit"/>
+      <plugin id="org.eclipse.emf.databinding.edit.source"/>
+      <plugin id="org.eclipse.emf.databinding.source"/>
+      <plugin id="org.eclipse.emf.doc"/>
+      <plugin id="org.eclipse.emf.ecore"/>
+      <plugin id="org.eclipse.emf.ecore.change"/>
+      <plugin id="org.eclipse.emf.ecore.change.edit"/>
+      <plugin id="org.eclipse.emf.ecore.change.edit.source"/>
+      <plugin id="org.eclipse.emf.ecore.change.source"/>
+      <plugin id="org.eclipse.emf.ecore.edit"/>
+      <plugin id="org.eclipse.emf.ecore.edit.source"/>
+      <plugin id="org.eclipse.emf.ecore.editor"/>
+      <plugin id="org.eclipse.emf.ecore.editor.source"/>
+      <plugin id="org.eclipse.emf.ecore.source"/>
+      <plugin id="org.eclipse.emf.ecore.xcore"/>
+      <plugin id="org.eclipse.emf.ecore.xcore.edit"/>
+      <plugin id="org.eclipse.emf.ecore.xcore.edit.source"/>
+      <plugin id="org.eclipse.emf.ecore.xcore.exporter"/>
+      <plugin id="org.eclipse.emf.ecore.xcore.exporter.source"/>
+      <plugin id="org.eclipse.emf.ecore.xcore.importer"/>
+      <plugin id="org.eclipse.emf.ecore.xcore.importer.source"/>
+      <plugin id="org.eclipse.emf.ecore.xcore.lib"/>
+      <plugin id="org.eclipse.emf.ecore.xcore.lib.source"/>
+      <plugin id="org.eclipse.emf.ecore.xcore.source"/>
+      <plugin id="org.eclipse.emf.ecore.xcore.ui"/>
+      <plugin id="org.eclipse.emf.ecore.xcore.ui.source"/>
+      <plugin id="org.eclipse.emf.ecore.xmi"/>
+      <plugin id="org.eclipse.emf.ecore.xmi.source"/>
+      <plugin id="org.eclipse.emf.ecoretools"/>
+      <plugin id="org.eclipse.emf.ecoretools.design"/>
+      <plugin id="org.eclipse.emf.ecoretools.design.ui"/>
+      <plugin id="org.eclipse.emf.ecoretools.doc"/>
+      <plugin id="org.eclipse.emf.ecoretools.ui"/>
+      <plugin id="org.eclipse.emf.ecp.common"/>
+      <plugin id="org.eclipse.emf.ecp.common.source"/>
+      <plugin id="org.eclipse.emf.ecp.common.ui"/>
+      <plugin id="org.eclipse.emf.ecp.common.ui.source"/>
+      <plugin id="org.eclipse.emf.ecp.edit"/>
+      <plugin id="org.eclipse.emf.ecp.edit.source"/>
+      <plugin id="org.eclipse.emf.ecp.edit.swt"/>
+      <plugin id="org.eclipse.emf.ecp.edit.swt.source"/>
+      <plugin id="org.eclipse.emf.ecp.emf2web"/>
+      <plugin id="org.eclipse.emf.ecp.emf2web.json"/>
+      <plugin id="org.eclipse.emf.ecp.emf2web.json.source"/>
+      <plugin id="org.eclipse.emf.ecp.emf2web.source"/>
+      <plugin id="org.eclipse.emf.ecp.emf2web.ui"/>
+      <plugin id="org.eclipse.emf.ecp.emf2web.ui.json"/>
+      <plugin id="org.eclipse.emf.ecp.emf2web.ui.json.source"/>
+      <plugin id="org.eclipse.emf.ecp.emf2web.ui.source"/>
+      <plugin id="org.eclipse.emf.ecp.ide.editor.view"/>
+      <plugin id="org.eclipse.emf.ecp.ide.editor.view.source"/>
+      <plugin id="org.eclipse.emf.ecp.ide.editor.view.templatebridge"/>
+      <plugin id="org.eclipse.emf.ecp.ide.editor.view.templatebridge.source"/>
+      <plugin id="org.eclipse.emf.ecp.ide.editor.viewmodel"/>
+      <plugin id="org.eclipse.emf.ecp.ide.editor.viewmodel.source"/>
+      <plugin id="org.eclipse.emf.ecp.ide.util"/>
+      <plugin id="org.eclipse.emf.ecp.ide.util.source"/>
+      <plugin id="org.eclipse.emf.ecp.ide.view.service"/>
+      <plugin id="org.eclipse.emf.ecp.ide.view.service.source"/>
+      <plugin id="org.eclipse.emf.ecp.makeithappen.wizards"/>
+      <plugin id="org.eclipse.emf.ecp.makeithappen.wizards.source"/>
+      <plugin id="org.eclipse.emf.ecp.ui.view"/>
+      <plugin id="org.eclipse.emf.ecp.ui.view.editor.controls"/>
+      <plugin id="org.eclipse.emf.ecp.ui.view.editor.controls.source"/>
+      <plugin id="org.eclipse.emf.ecp.ui.view.linewrapper"/>
+      <plugin id="org.eclipse.emf.ecp.ui.view.linewrapper.source"/>
+      <plugin id="org.eclipse.emf.ecp.ui.view.source"/>
+      <plugin id="org.eclipse.emf.ecp.ui.view.swt"/>
+      <plugin id="org.eclipse.emf.ecp.ui.view.swt.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.categorization.model"/>
+      <plugin id="org.eclipse.emf.ecp.view.categorization.model.edit"/>
+      <plugin id="org.eclipse.emf.ecp.view.categorization.model.edit.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.categorization.model.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.categorization.swt"/>
+      <plugin id="org.eclipse.emf.ecp.view.categorization.swt.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.compoundcontrol.model"/>
+      <plugin id="org.eclipse.emf.ecp.view.compoundcontrol.model.edit"/>
+      <plugin id="org.eclipse.emf.ecp.view.compoundcontrol.model.edit.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.compoundcontrol.model.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.compoundcontrol.swt"/>
+      <plugin id="org.eclipse.emf.ecp.view.compoundcontrol.swt.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.compoundcontrol.tooling"/>
+      <plugin id="org.eclipse.emf.ecp.view.compoundcontrol.tooling.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.context"/>
+      <plugin id="org.eclipse.emf.ecp.view.context.locale"/>
+      <plugin id="org.eclipse.emf.ecp.view.context.locale.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.context.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.control.multireference"/>
+      <plugin id="org.eclipse.emf.ecp.view.control.multireference.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.core.swt"/>
+      <plugin id="org.eclipse.emf.ecp.view.core.swt.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.custom.model"/>
+      <plugin id="org.eclipse.emf.ecp.view.custom.model.edit"/>
+      <plugin id="org.eclipse.emf.ecp.view.custom.model.edit.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.custom.model.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.custom.ui.swt"/>
+      <plugin id="org.eclipse.emf.ecp.view.custom.ui.swt.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.edapt"/>
+      <plugin id="org.eclipse.emf.ecp.view.edapt.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.group.model"/>
+      <plugin id="org.eclipse.emf.ecp.view.group.model.edit"/>
+      <plugin id="org.eclipse.emf.ecp.view.group.model.edit.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.group.model.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.group.swt.collapsable"/>
+      <plugin id="org.eclipse.emf.ecp.view.group.swt.collapsable.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.group.swt.embedded"/>
+      <plugin id="org.eclipse.emf.ecp.view.group.swt.embedded.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.group.ui.swt"/>
+      <plugin id="org.eclipse.emf.ecp.view.group.ui.swt.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.horizontal.model"/>
+      <plugin id="org.eclipse.emf.ecp.view.horizontal.model.edit"/>
+      <plugin id="org.eclipse.emf.ecp.view.horizontal.model.edit.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.horizontal.model.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.horizontal.ui.swt"/>
+      <plugin id="org.eclipse.emf.ecp.view.horizontal.ui.swt.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.indexdmr.model"/>
+      <plugin id="org.eclipse.emf.ecp.view.label.model"/>
+      <plugin id="org.eclipse.emf.ecp.view.label.model.edit"/>
+      <plugin id="org.eclipse.emf.ecp.view.label.model.edit.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.label.model.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.label.ui.swt"/>
+      <plugin id="org.eclipse.emf.ecp.view.label.ui.swt.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.mappingdmr.model"/>
+      <plugin id="org.eclipse.emf.ecp.view.migrator"/>
+      <plugin id="org.eclipse.emf.ecp.view.migrator.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.model"/>
+      <plugin id="org.eclipse.emf.ecp.view.model.common"/>
+      <plugin id="org.eclipse.emf.ecp.view.model.common.di"/>
+      <plugin id="org.eclipse.emf.ecp.view.model.common.di.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.model.common.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.model.edapt"/>
+      <plugin id="org.eclipse.emf.ecp.view.model.edapt.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.model.edit"/>
+      <plugin id="org.eclipse.emf.ecp.view.model.edit.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.model.editor"/>
+      <plugin id="org.eclipse.emf.ecp.view.model.editor.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.model.preview.common"/>
+      <plugin id="org.eclipse.emf.ecp.view.model.preview.common.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.model.preview.e3"/>
+      <plugin id="org.eclipse.emf.ecp.view.model.preview.e3.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.model.project.installer"/>
+      <plugin id="org.eclipse.emf.ecp.view.model.project.installer.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.model.provider.generator"/>
+      <plugin id="org.eclipse.emf.ecp.view.model.provider.generator.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.model.provider.xmi"/>
+      <plugin id="org.eclipse.emf.ecp.view.model.provider.xmi.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.model.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.rule"/>
+      <plugin id="org.eclipse.emf.ecp.view.rule.model"/>
+      <plugin id="org.eclipse.emf.ecp.view.rule.model.edit"/>
+      <plugin id="org.eclipse.emf.ecp.view.rule.model.edit.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.rule.model.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.rule.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.stack.model"/>
+      <plugin id="org.eclipse.emf.ecp.view.stack.model.edit"/>
+      <plugin id="org.eclipse.emf.ecp.view.stack.model.edit.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.stack.model.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.stack.ui.swt"/>
+      <plugin id="org.eclipse.emf.ecp.view.stack.ui.swt.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.stack.viewmodel"/>
+      <plugin id="org.eclipse.emf.ecp.view.swt.layout"/>
+      <plugin id="org.eclipse.emf.ecp.view.swt.layout.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.table.columnservice"/>
+      <plugin id="org.eclipse.emf.ecp.view.table.columnservice.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.table.edapt"/>
+      <plugin id="org.eclipse.emf.ecp.view.table.edapt.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.table.model"/>
+      <plugin id="org.eclipse.emf.ecp.view.table.model.edit"/>
+      <plugin id="org.eclipse.emf.ecp.view.table.model.edit.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.table.model.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.table.ui.swt"/>
+      <plugin id="org.eclipse.emf.ecp.view.table.ui.swt.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.template.annotation.model"/>
+      <plugin id="org.eclipse.emf.ecp.view.template.annotation.model.edit"/>
+      <plugin id="org.eclipse.emf.ecp.view.template.annotation.model.edit.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.template.annotation.model.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.template.model"/>
+      <plugin id="org.eclipse.emf.ecp.view.template.model.edit"/>
+      <plugin id="org.eclipse.emf.ecp.view.template.model.edit.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.template.model.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.template.service"/>
+      <plugin id="org.eclipse.emf.ecp.view.template.service.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.template.tooling"/>
+      <plugin id="org.eclipse.emf.ecp.view.template.tooling.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.treemasterdetail.model"/>
+      <plugin id="org.eclipse.emf.ecp.view.treemasterdetail.model.edit"/>
+      <plugin id="org.eclipse.emf.ecp.view.treemasterdetail.model.edit.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.treemasterdetail.model.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.treemasterdetail.ui.swt"/>
+      <plugin id="org.eclipse.emf.ecp.view.treemasterdetail.ui.swt.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.treemasterdetail.validation"/>
+      <plugin id="org.eclipse.emf.ecp.view.treemasterdetail.validation.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.unset"/>
+      <plugin id="org.eclipse.emf.ecp.view.unset.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.util.swt"/>
+      <plugin id="org.eclipse.emf.ecp.view.util.swt.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.validation"/>
+      <plugin id="org.eclipse.emf.ecp.view.validation.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.vertical.model"/>
+      <plugin id="org.eclipse.emf.ecp.view.vertical.model.edit"/>
+      <plugin id="org.eclipse.emf.ecp.view.vertical.model.edit.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.vertical.model.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.vertical.ui.swt"/>
+      <plugin id="org.eclipse.emf.ecp.view.vertical.ui.swt.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.viewproxy.model"/>
+      <plugin id="org.eclipse.emf.ecp.view.viewproxy.model.edit"/>
+      <plugin id="org.eclipse.emf.ecp.view.viewproxy.model.edit.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.viewproxy.model.source"/>
+      <plugin id="org.eclipse.emf.ecp.view.workspace.migrator"/>
+      <plugin id="org.eclipse.emf.ecp.view.workspace.migrator.source"/>
+      <plugin id="org.eclipse.emf.edapt.common"/>
+      <plugin id="org.eclipse.emf.edapt.common.source"/>
+      <plugin id="org.eclipse.emf.edapt.declaration"/>
+      <plugin id="org.eclipse.emf.edapt.declaration.source"/>
+      <plugin id="org.eclipse.emf.edapt.history"/>
+      <plugin id="org.eclipse.emf.edapt.history.source"/>
+      <plugin id="org.eclipse.emf.edapt.migration"/>
+      <plugin id="org.eclipse.emf.edapt.migration.source"/>
+      <plugin id="org.eclipse.emf.edit"/>
+      <plugin id="org.eclipse.emf.edit.source"/>
+      <plugin id="org.eclipse.emf.edit.ui"/>
+      <plugin id="org.eclipse.emf.edit.ui.source"/>
+      <plugin id="org.eclipse.emf.emfatic.core"/>
+      <plugin id="org.eclipse.emf.emfatic.doc.user"/>
+      <plugin id="org.eclipse.emf.emfatic.ui"/>
+      <plugin id="org.eclipse.emf.example.installer"/>
+      <plugin id="org.eclipse.emf.examples"/>
+      <plugin id="org.eclipse.emf.examples.databinding.project.core"/>
+      <plugin id="org.eclipse.emf.examples.databinding.project.core.model"/>
+      <plugin id="org.eclipse.emf.examples.databinding.project.ui.rcp"/>
+      <plugin id="org.eclipse.emf.examples.generator.validator"/>
+      <plugin id="org.eclipse.emf.examples.jet.article2"/>
+      <plugin id="org.eclipse.emf.examples.library"/>
+      <plugin id="org.eclipse.emf.examples.library.edit"/>
+      <plugin id="org.eclipse.emf.examples.library.editor"/>
+      <plugin id="org.eclipse.emf.exporter"/>
+      <plugin id="org.eclipse.emf.exporter.html"/>
+      <plugin id="org.eclipse.emf.exporter.source"/>
+      <plugin id="org.eclipse.emf.generic.editor"/>
+      <plugin id="org.eclipse.emf.generic.editor.source"/>
+      <plugin id="org.eclipse.emf.importer"/>
+      <plugin id="org.eclipse.emf.importer.ecore"/>
+      <plugin id="org.eclipse.emf.importer.ecore.source"/>
+      <plugin id="org.eclipse.emf.importer.java"/>
+      <plugin id="org.eclipse.emf.importer.java.source"/>
+      <plugin id="org.eclipse.emf.importer.rose"/>
+      <plugin id="org.eclipse.emf.importer.rose.source"/>
+      <plugin id="org.eclipse.emf.importer.source"/>
+      <plugin id="org.eclipse.emf.java"/>
+      <plugin id="org.eclipse.emf.java.edit"/>
+      <plugin id="org.eclipse.emf.java.editor"/>
+      <plugin id="org.eclipse.emf.mapping"/>
+      <plugin id="org.eclipse.emf.mapping.ecore"/>
+      <plugin id="org.eclipse.emf.mapping.ecore.editor"/>
+      <plugin id="org.eclipse.emf.mapping.ecore.editor.source"/>
+      <plugin id="org.eclipse.emf.mapping.ecore.source"/>
+      <plugin id="org.eclipse.emf.mapping.ecore2ecore"/>
+      <plugin id="org.eclipse.emf.mapping.ecore2ecore.editor"/>
+      <plugin id="org.eclipse.emf.mapping.ecore2ecore.editor.source"/>
+      <plugin id="org.eclipse.emf.mapping.ecore2ecore.source"/>
+      <plugin id="org.eclipse.emf.mapping.ecore2xml"/>
+      <plugin id="org.eclipse.emf.mapping.ecore2xml.source"/>
+      <plugin id="org.eclipse.emf.mapping.ecore2xml.ui"/>
+      <plugin id="org.eclipse.emf.mapping.ecore2xml.ui.source"/>
+      <plugin id="org.eclipse.emf.mapping.source"/>
+      <plugin id="org.eclipse.emf.mapping.ui"/>
+      <plugin id="org.eclipse.emf.mapping.ui.source"/>
+      <plugin id="org.eclipse.emf.mapping.xsd2ecore"/>
+      <plugin id="org.eclipse.emf.mapping.xsd2ecore.editor"/>
+      <plugin id="org.eclipse.emf.mapping.xsd2ecore.editor.source"/>
+      <plugin id="org.eclipse.emf.mapping.xsd2ecore.source"/>
+      <plugin id="org.eclipse.emf.mwe.core"/>
+      <plugin id="org.eclipse.emf.mwe.ui"/>
+      <plugin id="org.eclipse.emf.mwe.utils"/>
+      <plugin id="org.eclipse.emf.mwe2.language"/>
+      <plugin id="org.eclipse.emf.mwe2.language.ide"/>
+      <plugin id="org.eclipse.emf.mwe2.language.ide.source"/>
+      <plugin id="org.eclipse.emf.mwe2.language.source"/>
+      <plugin id="org.eclipse.emf.mwe2.language.ui"/>
+      <plugin id="org.eclipse.emf.mwe2.language.ui.source"/>
+      <plugin id="org.eclipse.emf.mwe2.launch"/>
+      <plugin id="org.eclipse.emf.mwe2.launch.source"/>
+      <plugin id="org.eclipse.emf.mwe2.launch.ui"/>
+      <plugin id="org.eclipse.emf.mwe2.launch.ui.source"/>
+      <plugin id="org.eclipse.emf.mwe2.lib"/>
+      <plugin id="org.eclipse.emf.mwe2.lib.source"/>
+      <plugin id="org.eclipse.emf.mwe2.runtime"/>
+      <plugin id="org.eclipse.emf.mwe2.runtime.source"/>
+      <plugin id="org.eclipse.emf.oda"/>
+      <plugin id="org.eclipse.emf.oda.ecore"/>
+      <plugin id="org.eclipse.emf.oda.ecore.source"/>
+      <plugin id="org.eclipse.emf.oda.ecore.ui"/>
+      <plugin id="org.eclipse.emf.oda.ecore.ui.source"/>
+      <plugin id="org.eclipse.emf.oda.source"/>
+      <plugin id="org.eclipse.emf.parsley"/>
+      <plugin id="org.eclipse.emf.parsley.cdo"/>
+      <plugin id="org.eclipse.emf.parsley.cdo.common"/>
+      <plugin id="org.eclipse.emf.parsley.cdo.common.source"/>
+      <plugin id="org.eclipse.emf.parsley.common"/>
+      <plugin id="org.eclipse.emf.parsley.common.source"/>
+      <plugin id="org.eclipse.emf.parsley.doc"/>
+      <plugin id="org.eclipse.emf.parsley.doc.source"/>
+      <plugin id="org.eclipse.emf.parsley.dsl"/>
+      <plugin id="org.eclipse.emf.parsley.dsl.additional.builder"/>
+      <plugin id="org.eclipse.emf.parsley.dsl.additional.builder.source"/>
+      <plugin id="org.eclipse.emf.parsley.dsl.ide"/>
+      <plugin id="org.eclipse.emf.parsley.dsl.ide.source"/>
+      <plugin id="org.eclipse.emf.parsley.dsl.source"/>
+      <plugin id="org.eclipse.emf.parsley.dsl.ui"/>
+      <plugin id="org.eclipse.emf.parsley.dsl.ui.source"/>
+      <plugin id="org.eclipse.emf.parsley.editors"/>
+      <plugin id="org.eclipse.emf.parsley.editors.common"/>
+      <plugin id="org.eclipse.emf.parsley.editors.common.source"/>
+      <plugin id="org.eclipse.emf.parsley.generator.common"/>
+      <plugin id="org.eclipse.emf.parsley.generator.common.source"/>
+      <plugin id="org.eclipse.emf.parsley.junit4"/>
+      <plugin id="org.eclipse.emf.parsley.junit4.source"/>
+      <plugin id="org.eclipse.emf.parsley.runtime"/>
+      <plugin id="org.eclipse.emf.parsley.runtime.common"/>
+      <plugin id="org.eclipse.emf.parsley.runtime.common.source"/>
+      <plugin id="org.eclipse.emf.parsley.ui.examples"/>
+      <plugin id="org.eclipse.emf.parsley.ui.examples.source"/>
+      <plugin id="org.eclipse.emf.parsley.views"/>
+      <plugin id="org.eclipse.emf.parsley.views.common"/>
+      <plugin id="org.eclipse.emf.parsley.views.common.source"/>
+      <plugin id="org.eclipse.emf.parsley.views.source"/>
+      <plugin id="org.eclipse.emf.parsley.wizards"/>
+      <plugin id="org.eclipse.emf.parsley.wizards.source"/>
+      <plugin id="org.eclipse.emf.query"/>
+      <plugin id="org.eclipse.emf.query.doc"/>
+      <plugin id="org.eclipse.emf.query.examples"/>
+      <plugin id="org.eclipse.emf.query.ocl"/>
+      <plugin id="org.eclipse.emf.query.ocl.source"/>
+      <plugin id="org.eclipse.emf.query.source"/>
+      <plugin id="org.eclipse.emf.source"/>
+      <plugin id="org.eclipse.emf.transaction"/>
+      <plugin id="org.eclipse.emf.transaction.doc"/>
+      <plugin id="org.eclipse.emf.transaction.examples"/>
+      <plugin id="org.eclipse.emf.transaction.source"/>
+      <plugin id="org.eclipse.emf.transaction.ui"/>
+      <plugin id="org.eclipse.emf.transaction.ui.source"/>
+      <plugin id="org.eclipse.emf.validation"/>
+      <plugin id="org.eclipse.emf.validation.doc"/>
+      <plugin id="org.eclipse.emf.validation.examples"/>
+      <plugin id="org.eclipse.emf.validation.ocl"/>
+      <plugin id="org.eclipse.emf.validation.ocl.source"/>
+      <plugin id="org.eclipse.emf.validation.source"/>
+      <plugin id="org.eclipse.emf.validation.ui"/>
+      <plugin id="org.eclipse.emf.validation.ui.ide"/>
+      <plugin id="org.eclipse.emf.validation.ui.ide.source"/>
+      <plugin id="org.eclipse.emf.validation.ui.source"/>
+      <plugin id="org.eclipse.emf.workspace"/>
+      <plugin id="org.eclipse.emf.workspace.doc"/>
+      <plugin id="org.eclipse.emf.workspace.source"/>
+      <plugin id="org.eclipse.emf.workspace.ui"/>
+      <plugin id="org.eclipse.emf.workspace.ui.source"/>
+      <plugin id="org.eclipse.emfforms.coffee.wizards"/>
+      <plugin id="org.eclipse.emfforms.coffee.wizards.source"/>
+      <plugin id="org.eclipse.emfforms.common"/>
+      <plugin id="org.eclipse.emfforms.common.source"/>
+      <plugin id="org.eclipse.emfforms.common.validation"/>
+      <plugin id="org.eclipse.emfforms.common.validation.source"/>
+      <plugin id="org.eclipse.emfforms.core.bazaar"/>
+      <plugin id="org.eclipse.emfforms.core.bazaar.source"/>
+      <plugin id="org.eclipse.emfforms.core.services"/>
+      <plugin id="org.eclipse.emfforms.core.services.databinding.featurepath"/>
+      <plugin id="org.eclipse.emfforms.core.services.databinding.featurepath.source"/>
+      <plugin id="org.eclipse.emfforms.core.services.databinding.index"/>
+      <plugin id="org.eclipse.emfforms.core.services.databinding.mapping"/>
+      <plugin id="org.eclipse.emfforms.core.services.domainexpander.default"/>
+      <plugin id="org.eclipse.emfforms.core.services.domainexpander.default.source"/>
+      <plugin id="org.eclipse.emfforms.core.services.domainexpander.index"/>
+      <plugin id="org.eclipse.emfforms.core.services.domainexpander.mapping"/>
+      <plugin id="org.eclipse.emfforms.core.services.domainexpander.table"/>
+      <plugin id="org.eclipse.emfforms.core.services.domainexpander.table.source"/>
+      <plugin id="org.eclipse.emfforms.core.services.editsupport"/>
+      <plugin id="org.eclipse.emfforms.core.services.editsupport.source"/>
+      <plugin id="org.eclipse.emfforms.core.services.emf"/>
+      <plugin id="org.eclipse.emfforms.core.services.emf.source"/>
+      <plugin id="org.eclipse.emfforms.core.services.emfspecificservice"/>
+      <plugin id="org.eclipse.emfforms.core.services.emfspecificservice.source"/>
+      <plugin id="org.eclipse.emfforms.core.services.legacy"/>
+      <plugin id="org.eclipse.emfforms.core.services.legacy.source"/>
+      <plugin id="org.eclipse.emfforms.core.services.locale.default"/>
+      <plugin id="org.eclipse.emfforms.core.services.locale.default.source"/>
+      <plugin id="org.eclipse.emfforms.core.services.mappingprovider.default"/>
+      <plugin id="org.eclipse.emfforms.core.services.mappingprovider.default.source"/>
+      <plugin id="org.eclipse.emfforms.core.services.mappingprovider.table"/>
+      <plugin id="org.eclipse.emfforms.core.services.mappingprovider.table.panel"/>
+      <plugin id="org.eclipse.emfforms.core.services.mappingprovider.table.panel.source"/>
+      <plugin id="org.eclipse.emfforms.core.services.mappingprovider.table.source"/>
+      <plugin id="org.eclipse.emfforms.core.services.segments"/>
+      <plugin id="org.eclipse.emfforms.core.services.segments.featurepath"/>
+      <plugin id="org.eclipse.emfforms.core.services.segments.featurepath.source"/>
+      <plugin id="org.eclipse.emfforms.core.services.segments.index"/>
+      <plugin id="org.eclipse.emfforms.core.services.segments.mapping"/>
+      <plugin id="org.eclipse.emfforms.core.services.segments.multi"/>
+      <plugin id="org.eclipse.emfforms.core.services.segments.multi.source"/>
+      <plugin id="org.eclipse.emfforms.core.services.segments.source"/>
+      <plugin id="org.eclipse.emfforms.core.services.source"/>
+      <plugin id="org.eclipse.emfforms.core.services.structuralchange"/>
+      <plugin id="org.eclipse.emfforms.core.services.structuralchange.default"/>
+      <plugin id="org.eclipse.emfforms.core.services.structuralchange.default.source"/>
+      <plugin id="org.eclipse.emfforms.core.services.structuralchange.index"/>
+      <plugin id="org.eclipse.emfforms.core.services.structuralchange.mapping"/>
+      <plugin id="org.eclipse.emfforms.core.services.structuralchange.source"/>
+      <plugin id="org.eclipse.emfforms.core.services.structuralchange.table"/>
+      <plugin id="org.eclipse.emfforms.core.services.structuralchange.table.source"/>
+      <plugin id="org.eclipse.emfforms.editor"/>
+      <plugin id="org.eclipse.emfforms.editor.ecore"/>
+      <plugin id="org.eclipse.emfforms.editor.ecore.source"/>
+      <plugin id="org.eclipse.emfforms.editor.genmodel"/>
+      <plugin id="org.eclipse.emfforms.editor.genmodel.source"/>
+      <plugin id="org.eclipse.emfforms.editor.source"/>
+      <plugin id="org.eclipse.emfforms.example.common.wizards"/>
+      <plugin id="org.eclipse.emfforms.example.common.wizards.source"/>
+      <plugin id="org.eclipse.emfforms.ide.builder"/>
+      <plugin id="org.eclipse.emfforms.ide.builder.source"/>
+      <plugin id="org.eclipse.emfforms.ide.preferences"/>
+      <plugin id="org.eclipse.emfforms.ide.preferences.source"/>
+      <plugin id="org.eclipse.emfforms.ide.view.indexsegment"/>
+      <plugin id="org.eclipse.emfforms.ide.view.indexsegment.source"/>
+      <plugin id="org.eclipse.emfforms.ide.view.mappingsegment"/>
+      <plugin id="org.eclipse.emfforms.ide.view.mappingsegment.source"/>
+      <plugin id="org.eclipse.emfforms.ide.view.multisegment"/>
+      <plugin id="org.eclipse.emfforms.ide.view.multisegment.source"/>
+      <plugin id="org.eclipse.emfforms.ide.view.segments"/>
+      <plugin id="org.eclipse.emfforms.ide.view.segments.source"/>
+      <plugin id="org.eclipse.emfforms.ide.viewtemplate.builder"/>
+      <plugin id="org.eclipse.emfforms.ide.viewtemplate.builder.source"/>
+      <plugin id="org.eclipse.emfforms.localization"/>
+      <plugin id="org.eclipse.emfforms.localization.source"/>
+      <plugin id="org.eclipse.emfforms.setup.base"/>
+      <plugin id="org.eclipse.emfforms.swt.control.multiattribute"/>
+      <plugin id="org.eclipse.emfforms.swt.control.multiattribute.source"/>
+      <plugin id="org.eclipse.emfforms.swt.core"/>
+      <plugin id="org.eclipse.emfforms.swt.core.di"/>
+      <plugin id="org.eclipse.emfforms.swt.core.di.extension"/>
+      <plugin id="org.eclipse.emfforms.swt.core.di.extension.source"/>
+      <plugin id="org.eclipse.emfforms.swt.core.di.source"/>
+      <plugin id="org.eclipse.emfforms.swt.core.plugin"/>
+      <plugin id="org.eclipse.emfforms.swt.core.plugin.source"/>
+      <plugin id="org.eclipse.emfforms.swt.core.source"/>
+      <plugin id="org.eclipse.emfforms.swt.reference.table"/>
+      <plugin id="org.eclipse.emfforms.swt.reference.table.source"/>
+      <plugin id="org.eclipse.emfforms.swt.table"/>
+      <plugin id="org.eclipse.emfforms.swt.table.source"/>
+      <plugin id="org.eclipse.emfforms.swt.treemasterdetail"/>
+      <plugin id="org.eclipse.emfforms.swt.treemasterdetail.decorator.validation.default"/>
+      <plugin id="org.eclipse.emfforms.swt.treemasterdetail.decorator.validation.default.source"/>
+      <plugin id="org.eclipse.emfforms.swt.treemasterdetail.source"/>
+      <plugin id="org.eclipse.emfforms.view.annotation.model"/>
+      <plugin id="org.eclipse.emfforms.view.annotation.model.edit"/>
+      <plugin id="org.eclipse.emfforms.view.annotation.model.edit.source"/>
+      <plugin id="org.eclipse.emfforms.view.annotation.model.source"/>
+      <plugin id="org.eclipse.emfforms.view.indexsegment.model"/>
+      <plugin id="org.eclipse.emfforms.view.mappingsegment.model"/>
+      <plugin id="org.eclipse.emfforms.view.model.localization"/>
+      <plugin id="org.eclipse.emfforms.view.model.localization.source"/>
+      <plugin id="org.eclipse.emfforms.view.multisegment.model"/>
+      <plugin id="org.eclipse.emfforms.view.multisegment.model.edit"/>
+      <plugin id="org.eclipse.emfforms.view.multisegment.model.edit.source"/>
+      <plugin id="org.eclipse.emfforms.view.multisegment.model.source"/>
+      <plugin id="org.eclipse.epp.mpc.core"/>
+      <plugin id="org.eclipse.epp.mpc.help.ui"/>
+      <plugin id="org.eclipse.epp.mpc.ui"/>
+      <plugin id="org.eclipse.epp.mpc.ui.css"/>
+      <plugin id="org.eclipse.epp.package.common"/>
+      <plugin id="org.eclipse.epp.package.modeling"/>
+      <plugin id="org.eclipse.epsilon.common"/>
+      <plugin id="org.eclipse.epsilon.common.dt"/>
+      <plugin id="org.eclipse.epsilon.common.dt.examples"/>
+      <plugin id="org.eclipse.epsilon.dt.epackageregistryexplorer"/>
+      <plugin id="org.eclipse.epsilon.dt.exeed"/>
+      <plugin id="org.eclipse.epsilon.ecl.dt"/>
+      <plugin id="org.eclipse.epsilon.ecl.engine"/>
+      <plugin id="org.eclipse.epsilon.egl.dt"/>
+      <plugin id="org.eclipse.epsilon.egl.dt.traceability.editor"/>
+      <plugin id="org.eclipse.epsilon.egl.dt.traceability.fine.emf"/>
+      <plugin id="org.eclipse.epsilon.egl.engine"/>
+      <plugin id="org.eclipse.epsilon.egl.traceability.fine"/>
+      <plugin id="org.eclipse.epsilon.emc.bibtex"/>
+      <plugin id="org.eclipse.epsilon.emc.bibtex.dt"/>
+      <plugin id="org.eclipse.epsilon.emc.composite"/>
+      <plugin id="org.eclipse.epsilon.emc.emf"/>
+      <plugin id="org.eclipse.epsilon.emc.emf.decorator"/>
+      <plugin id="org.eclipse.epsilon.emc.emf.decorator.dt"/>
+      <plugin id="org.eclipse.epsilon.emc.emf.dt"/>
+      <plugin id="org.eclipse.epsilon.emc.emf.virtual"/>
+      <plugin id="org.eclipse.epsilon.emc.graphml"/>
+      <plugin id="org.eclipse.epsilon.emc.graphml.dt"/>
+      <plugin id="org.eclipse.epsilon.emc.html"/>
+      <plugin id="org.eclipse.epsilon.emc.html.dt"/>
+      <plugin id="org.eclipse.epsilon.emc.muddle"/>
+      <plugin id="org.eclipse.epsilon.emc.plainxml"/>
+      <plugin id="org.eclipse.epsilon.emc.plainxml.dt"/>
+      <plugin id="org.eclipse.epsilon.emc.uml"/>
+      <plugin id="org.eclipse.epsilon.emc.uml.dt"/>
+      <plugin id="org.eclipse.epsilon.emf.dt"/>
+      <plugin id="org.eclipse.epsilon.emg.dt"/>
+      <plugin id="org.eclipse.epsilon.emg.engine"/>
+      <plugin id="org.eclipse.epsilon.eml.dt"/>
+      <plugin id="org.eclipse.epsilon.eml.engine"/>
+      <plugin id="org.eclipse.epsilon.eol.dt"/>
+      <plugin id="org.eclipse.epsilon.eol.dt.interpreter"/>
+      <plugin id="org.eclipse.epsilon.eol.engine"/>
+      <plugin id="org.eclipse.epsilon.eol.tools"/>
+      <plugin id="org.eclipse.epsilon.epl.dt"/>
+      <plugin id="org.eclipse.epsilon.epl.engine"/>
+      <plugin id="org.eclipse.epsilon.erl.dt"/>
+      <plugin id="org.eclipse.epsilon.erl.engine"/>
+      <plugin id="org.eclipse.epsilon.etl.dt"/>
+      <plugin id="org.eclipse.epsilon.etl.engine"/>
+      <plugin id="org.eclipse.epsilon.eugenia"/>
+      <plugin id="org.eclipse.epsilon.eugenia.runtime.dependencies"/>
+      <plugin id="org.eclipse.epsilon.eunit.cmp.emf"/>
+      <plugin id="org.eclipse.epsilon.eunit.dt"/>
+      <plugin id="org.eclipse.epsilon.eunit.dt.diff.emf"/>
+      <plugin id="org.eclipse.epsilon.eunit.dt.diff.files"/>
+      <plugin id="org.eclipse.epsilon.eunit.engine"/>
+      <plugin id="org.eclipse.epsilon.eunit.junit"/>
+      <plugin id="org.eclipse.epsilon.eunit.junit.dt"/>
+      <plugin id="org.eclipse.epsilon.evl.dt"/>
+      <plugin id="org.eclipse.epsilon.evl.emf.validation"/>
+      <plugin id="org.eclipse.epsilon.evl.engine"/>
+      <plugin id="org.eclipse.epsilon.ewl.dt"/>
+      <plugin id="org.eclipse.epsilon.ewl.emf"/>
+      <plugin id="org.eclipse.epsilon.ewl.engine"/>
+      <plugin id="org.eclipse.epsilon.ewl.gmf"/>
+      <plugin id="org.eclipse.epsilon.flexmi"/>
+      <plugin id="org.eclipse.epsilon.flexmi.dt"/>
+      <plugin id="org.eclipse.epsilon.flock.dt"/>
+      <plugin id="org.eclipse.epsilon.flock.dt.emf"/>
+      <plugin id="org.eclipse.epsilon.flock.engine"/>
+      <plugin id="org.eclipse.epsilon.help"/>
+      <plugin id="org.eclipse.epsilon.perspective"/>
+      <plugin id="org.eclipse.epsilon.pinset.dt"/>
+      <plugin id="org.eclipse.epsilon.pinset.engine"/>
+      <plugin id="org.eclipse.epsilon.profiling"/>
+      <plugin id="org.eclipse.epsilon.profiling.dt"/>
+      <plugin id="org.eclipse.epsilon.workflow"/>
+      <plugin id="org.eclipse.epsilon.workflow.emf"/>
+      <plugin id="org.eclipse.epsilon.workflow.eugenia"/>
+      <plugin id="org.eclipse.equinox.app"/>
+      <plugin id="org.eclipse.equinox.app.source"/>
+      <plugin id="org.eclipse.equinox.bidi"/>
+      <plugin id="org.eclipse.equinox.bidi.source"/>
+      <plugin id="org.eclipse.equinox.common"/>
+      <plugin id="org.eclipse.equinox.common.source"/>
+      <plugin id="org.eclipse.equinox.concurrent"/>
+      <plugin id="org.eclipse.equinox.concurrent.source"/>
+      <plugin id="org.eclipse.equinox.console"/>
+      <plugin id="org.eclipse.equinox.console.source"/>
+      <plugin id="org.eclipse.equinox.event"/>
+      <plugin id="org.eclipse.equinox.event.source"/>
+      <plugin id="org.eclipse.equinox.frameworkadmin"/>
+      <plugin id="org.eclipse.equinox.frameworkadmin.equinox"/>
+      <plugin id="org.eclipse.equinox.frameworkadmin.equinox.source"/>
+      <plugin id="org.eclipse.equinox.frameworkadmin.source"/>
+      <plugin id="org.eclipse.equinox.http.jetty"/>
+      <plugin id="org.eclipse.equinox.http.jetty.source"/>
+      <plugin id="org.eclipse.equinox.http.registry"/>
+      <plugin id="org.eclipse.equinox.http.registry.source"/>
+      <plugin id="org.eclipse.equinox.http.servlet"/>
+      <plugin id="org.eclipse.equinox.http.servlet.source"/>
+      <plugin id="org.eclipse.equinox.jsp.jasper"/>
+      <plugin id="org.eclipse.equinox.jsp.jasper.registry"/>
+      <plugin id="org.eclipse.equinox.jsp.jasper.registry.source"/>
+      <plugin id="org.eclipse.equinox.jsp.jasper.source"/>
+      <plugin id="org.eclipse.equinox.launcher"/>
+      <plugin id="org.eclipse.equinox.launcher.cocoa.macosx.x86_64" fragment="true"/>
+      <plugin id="org.eclipse.equinox.launcher.source"/>
+      <plugin id="org.eclipse.equinox.p2.artifact.repository"/>
+      <plugin id="org.eclipse.equinox.p2.artifact.repository.source"/>
+      <plugin id="org.eclipse.equinox.p2.console"/>
+      <plugin id="org.eclipse.equinox.p2.console.source"/>
+      <plugin id="org.eclipse.equinox.p2.core"/>
+      <plugin id="org.eclipse.equinox.p2.core.source"/>
+      <plugin id="org.eclipse.equinox.p2.director"/>
+      <plugin id="org.eclipse.equinox.p2.director.app"/>
+      <plugin id="org.eclipse.equinox.p2.director.app.source"/>
+      <plugin id="org.eclipse.equinox.p2.director.source"/>
+      <plugin id="org.eclipse.equinox.p2.directorywatcher"/>
+      <plugin id="org.eclipse.equinox.p2.directorywatcher.source"/>
+      <plugin id="org.eclipse.equinox.p2.discovery"/>
+      <plugin id="org.eclipse.equinox.p2.discovery.compatibility"/>
+      <plugin id="org.eclipse.equinox.p2.engine"/>
+      <plugin id="org.eclipse.equinox.p2.engine.source"/>
+      <plugin id="org.eclipse.equinox.p2.extensionlocation"/>
+      <plugin id="org.eclipse.equinox.p2.extensionlocation.source"/>
+      <plugin id="org.eclipse.equinox.p2.garbagecollector"/>
+      <plugin id="org.eclipse.equinox.p2.garbagecollector.source"/>
+      <plugin id="org.eclipse.equinox.p2.jarprocessor"/>
+      <plugin id="org.eclipse.equinox.p2.jarprocessor.source"/>
+      <plugin id="org.eclipse.equinox.p2.metadata"/>
+      <plugin id="org.eclipse.equinox.p2.metadata.repository"/>
+      <plugin id="org.eclipse.equinox.p2.metadata.repository.source"/>
+      <plugin id="org.eclipse.equinox.p2.metadata.source"/>
+      <plugin id="org.eclipse.equinox.p2.operations"/>
+      <plugin id="org.eclipse.equinox.p2.operations.source"/>
+      <plugin id="org.eclipse.equinox.p2.publisher"/>
+      <plugin id="org.eclipse.equinox.p2.publisher.eclipse"/>
+      <plugin id="org.eclipse.equinox.p2.publisher.eclipse.source"/>
+      <plugin id="org.eclipse.equinox.p2.publisher.source"/>
+      <plugin id="org.eclipse.equinox.p2.reconciler.dropins"/>
+      <plugin id="org.eclipse.equinox.p2.reconciler.dropins.source"/>
+      <plugin id="org.eclipse.equinox.p2.repository"/>
+      <plugin id="org.eclipse.equinox.p2.repository.source"/>
+      <plugin id="org.eclipse.equinox.p2.repository.tools"/>
+      <plugin id="org.eclipse.equinox.p2.repository.tools.source"/>
+      <plugin id="org.eclipse.equinox.p2.touchpoint.eclipse"/>
+      <plugin id="org.eclipse.equinox.p2.touchpoint.eclipse.source"/>
+      <plugin id="org.eclipse.equinox.p2.touchpoint.natives"/>
+      <plugin id="org.eclipse.equinox.p2.touchpoint.natives.source"/>
+      <plugin id="org.eclipse.equinox.p2.transport.ecf"/>
+      <plugin id="org.eclipse.equinox.p2.transport.ecf.source"/>
+      <plugin id="org.eclipse.equinox.p2.ui"/>
+      <plugin id="org.eclipse.equinox.p2.ui.discovery"/>
+      <plugin id="org.eclipse.equinox.p2.ui.importexport"/>
+      <plugin id="org.eclipse.equinox.p2.ui.importexport.source"/>
+      <plugin id="org.eclipse.equinox.p2.ui.sdk"/>
+      <plugin id="org.eclipse.equinox.p2.ui.sdk.scheduler"/>
+      <plugin id="org.eclipse.equinox.p2.ui.sdk.scheduler.source"/>
+      <plugin id="org.eclipse.equinox.p2.ui.sdk.source"/>
+      <plugin id="org.eclipse.equinox.p2.ui.source"/>
+      <plugin id="org.eclipse.equinox.p2.updatechecker"/>
+      <plugin id="org.eclipse.equinox.p2.updatechecker.source"/>
+      <plugin id="org.eclipse.equinox.p2.updatesite"/>
+      <plugin id="org.eclipse.equinox.p2.updatesite.source"/>
+      <plugin id="org.eclipse.equinox.preferences"/>
+      <plugin id="org.eclipse.equinox.preferences.source"/>
+      <plugin id="org.eclipse.equinox.registry"/>
+      <plugin id="org.eclipse.equinox.registry.source"/>
+      <plugin id="org.eclipse.equinox.security"/>
+      <plugin id="org.eclipse.equinox.security.macosx" fragment="true"/>
+      <plugin id="org.eclipse.equinox.security.macosx.source"/>
+      <plugin id="org.eclipse.equinox.security.source"/>
+      <plugin id="org.eclipse.equinox.security.ui"/>
+      <plugin id="org.eclipse.equinox.security.ui.source"/>
+      <plugin id="org.eclipse.equinox.simpleconfigurator"/>
+      <plugin id="org.eclipse.equinox.simpleconfigurator.manipulator"/>
+      <plugin id="org.eclipse.equinox.simpleconfigurator.manipulator.source"/>
+      <plugin id="org.eclipse.equinox.simpleconfigurator.source"/>
+      <plugin id="org.eclipse.gef"/>
+      <plugin id="org.eclipse.gef.doc.isv"/>
+      <plugin id="org.eclipse.gef.examples.ui.pde"/>
+      <plugin id="org.eclipse.gef.source"/>
+      <plugin id="org.eclipse.gmf"/>
+      <plugin id="org.eclipse.gmf.bridge"/>
+      <plugin id="org.eclipse.gmf.bridge.ui"/>
+      <plugin id="org.eclipse.gmf.codegen"/>
+      <plugin id="org.eclipse.gmf.codegen.xtend"/>
+      <plugin id="org.eclipse.gmf.common"/>
+      <plugin id="org.eclipse.gmf.examples.runtime"/>
+      <plugin id="org.eclipse.gmf.examples.runtime.diagram.geoshapes"/>
+      <plugin id="org.eclipse.gmf.examples.runtime.diagram.logic"/>
+      <plugin id="org.eclipse.gmf.examples.runtime.diagram.logic.model"/>
+      <plugin id="org.eclipse.gmf.examples.runtime.diagram.logic.model.edit"/>
+      <plugin id="org.eclipse.gmf.examples.runtime.diagram.logic.model.editor"/>
+      <plugin id="org.eclipse.gmf.examples.runtime.ui.pde"/>
+      <plugin id="org.eclipse.gmf.graphdef"/>
+      <plugin id="org.eclipse.gmf.graphdef.codegen"/>
+      <plugin id="org.eclipse.gmf.graphdef.edit"/>
+      <plugin id="org.eclipse.gmf.map"/>
+      <plugin id="org.eclipse.gmf.map.edit"/>
+      <plugin id="org.eclipse.gmf.runtime.common.core"/>
+      <plugin id="org.eclipse.gmf.runtime.common.core.source"/>
+      <plugin id="org.eclipse.gmf.runtime.common.ui"/>
+      <plugin id="org.eclipse.gmf.runtime.common.ui.action"/>
+      <plugin id="org.eclipse.gmf.runtime.common.ui.action.ide"/>
+      <plugin id="org.eclipse.gmf.runtime.common.ui.action.ide.source"/>
+      <plugin id="org.eclipse.gmf.runtime.common.ui.action.source"/>
+      <plugin id="org.eclipse.gmf.runtime.common.ui.printing"/>
+      <plugin id="org.eclipse.gmf.runtime.common.ui.printing.source"/>
+      <plugin id="org.eclipse.gmf.runtime.common.ui.printing.win32" fragment="true"/>
+      <plugin id="org.eclipse.gmf.runtime.common.ui.printing.win32.source"/>
+      <plugin id="org.eclipse.gmf.runtime.common.ui.services"/>
+      <plugin id="org.eclipse.gmf.runtime.common.ui.services.action"/>
+      <plugin id="org.eclipse.gmf.runtime.common.ui.services.action.source"/>
+      <plugin id="org.eclipse.gmf.runtime.common.ui.services.dnd"/>
+      <plugin id="org.eclipse.gmf.runtime.common.ui.services.dnd.ide"/>
+      <plugin id="org.eclipse.gmf.runtime.common.ui.services.dnd.ide.source"/>
+      <plugin id="org.eclipse.gmf.runtime.common.ui.services.dnd.source"/>
+      <plugin id="org.eclipse.gmf.runtime.common.ui.services.properties"/>
+      <plugin id="org.eclipse.gmf.runtime.common.ui.services.properties.source"/>
+      <plugin id="org.eclipse.gmf.runtime.common.ui.services.source"/>
+      <plugin id="org.eclipse.gmf.runtime.common.ui.source"/>
+      <plugin id="org.eclipse.gmf.runtime.diagram.core"/>
+      <plugin id="org.eclipse.gmf.runtime.diagram.core.source"/>
+      <plugin id="org.eclipse.gmf.runtime.diagram.ui"/>
+      <plugin id="org.eclipse.gmf.runtime.diagram.ui.actions"/>
+      <plugin id="org.eclipse.gmf.runtime.diagram.ui.actions.source"/>
+      <plugin id="org.eclipse.gmf.runtime.diagram.ui.dnd"/>
+      <plugin id="org.eclipse.gmf.runtime.diagram.ui.dnd.source"/>
+      <plugin id="org.eclipse.gmf.runtime.diagram.ui.geoshapes"/>
+      <plugin id="org.eclipse.gmf.runtime.diagram.ui.geoshapes.source"/>
+      <plugin id="org.eclipse.gmf.runtime.diagram.ui.printing"/>
+      <plugin id="org.eclipse.gmf.runtime.diagram.ui.printing.render"/>
+      <plugin id="org.eclipse.gmf.runtime.diagram.ui.printing.render.source"/>
+      <plugin id="org.eclipse.gmf.runtime.diagram.ui.printing.source"/>
+      <plugin id="org.eclipse.gmf.runtime.diagram.ui.properties"/>
+      <plugin id="org.eclipse.gmf.runtime.diagram.ui.properties.source"/>
+      <plugin id="org.eclipse.gmf.runtime.diagram.ui.providers"/>
+      <plugin id="org.eclipse.gmf.runtime.diagram.ui.providers.ide"/>
+      <plugin id="org.eclipse.gmf.runtime.diagram.ui.providers.ide.source"/>
+      <plugin id="org.eclipse.gmf.runtime.diagram.ui.providers.source"/>
+      <plugin id="org.eclipse.gmf.runtime.diagram.ui.render"/>
+      <plugin id="org.eclipse.gmf.runtime.diagram.ui.render.source"/>
+      <plugin id="org.eclipse.gmf.runtime.diagram.ui.resources.editor"/>
+      <plugin id="org.eclipse.gmf.runtime.diagram.ui.resources.editor.ide"/>
+      <plugin id="org.eclipse.gmf.runtime.diagram.ui.resources.editor.ide.source"/>
+      <plugin id="org.eclipse.gmf.runtime.diagram.ui.resources.editor.source"/>
+      <plugin id="org.eclipse.gmf.runtime.diagram.ui.source"/>
+      <plugin id="org.eclipse.gmf.runtime.draw2d.ui"/>
+      <plugin id="org.eclipse.gmf.runtime.draw2d.ui.render"/>
+      <plugin id="org.eclipse.gmf.runtime.draw2d.ui.render.awt"/>
+      <plugin id="org.eclipse.gmf.runtime.draw2d.ui.render.awt.source"/>
+      <plugin id="org.eclipse.gmf.runtime.draw2d.ui.render.source"/>
+      <plugin id="org.eclipse.gmf.runtime.draw2d.ui.source"/>
+      <plugin id="org.eclipse.gmf.runtime.emf.clipboard.core"/>
+      <plugin id="org.eclipse.gmf.runtime.emf.clipboard.core.source"/>
+      <plugin id="org.eclipse.gmf.runtime.emf.commands.core"/>
+      <plugin id="org.eclipse.gmf.runtime.emf.commands.core.source"/>
+      <plugin id="org.eclipse.gmf.runtime.emf.core"/>
+      <plugin id="org.eclipse.gmf.runtime.emf.core.source"/>
+      <plugin id="org.eclipse.gmf.runtime.emf.type.core"/>
+      <plugin id="org.eclipse.gmf.runtime.emf.type.core.source"/>
+      <plugin id="org.eclipse.gmf.runtime.emf.type.ui"/>
+      <plugin id="org.eclipse.gmf.runtime.emf.type.ui.source"/>
+      <plugin id="org.eclipse.gmf.runtime.emf.ui"/>
+      <plugin id="org.eclipse.gmf.runtime.emf.ui.properties"/>
+      <plugin id="org.eclipse.gmf.runtime.emf.ui.properties.source"/>
+      <plugin id="org.eclipse.gmf.runtime.emf.ui.source"/>
+      <plugin id="org.eclipse.gmf.runtime.gef.ui"/>
+      <plugin id="org.eclipse.gmf.runtime.gef.ui.source"/>
+      <plugin id="org.eclipse.gmf.runtime.notation"/>
+      <plugin id="org.eclipse.gmf.runtime.notation.edit"/>
+      <plugin id="org.eclipse.gmf.runtime.notation.edit.source"/>
+      <plugin id="org.eclipse.gmf.runtime.notation.providers"/>
+      <plugin id="org.eclipse.gmf.runtime.notation.providers.source"/>
+      <plugin id="org.eclipse.gmf.runtime.notation.sdk"/>
+      <plugin id="org.eclipse.gmf.runtime.notation.source"/>
+      <plugin id="org.eclipse.gmf.runtime.sdk"/>
+      <plugin id="org.eclipse.gmf.sdk"/>
+      <plugin id="org.eclipse.gmf.tooldef"/>
+      <plugin id="org.eclipse.gmf.tooldef.edit"/>
+      <plugin id="org.eclipse.gmf.tooling"/>
+      <plugin id="org.eclipse.gmf.tooling.runtime"/>
+      <plugin id="org.eclipse.gmf.validate"/>
+      <plugin id="org.eclipse.gmf.xpand"/>
+      <plugin id="org.eclipse.gmf.xpand.qvtlibrary"/>
+      <plugin id="org.eclipse.gymnast.runtime.core"/>
+      <plugin id="org.eclipse.gymnast.runtime.ui"/>
+      <plugin id="org.eclipse.help"/>
+      <plugin id="org.eclipse.help.base"/>
+      <plugin id="org.eclipse.help.base.source"/>
+      <plugin id="org.eclipse.help.source"/>
+      <plugin id="org.eclipse.help.ui"/>
+      <plugin id="org.eclipse.help.ui.source"/>
+      <plugin id="org.eclipse.help.webapp"/>
+      <plugin id="org.eclipse.help.webapp.source"/>
+      <plugin id="org.eclipse.jdt"/>
+      <plugin id="org.eclipse.jdt.annotation"/>
+      <plugin id="org.eclipse.jdt.annotation.source"/>
+      <plugin id="org.eclipse.jdt.apt.core"/>
+      <plugin id="org.eclipse.jdt.apt.core.source"/>
+      <plugin id="org.eclipse.jdt.apt.pluggable.core"/>
+      <plugin id="org.eclipse.jdt.apt.pluggable.core.source"/>
+      <plugin id="org.eclipse.jdt.apt.ui"/>
+      <plugin id="org.eclipse.jdt.apt.ui.source"/>
+      <plugin id="org.eclipse.jdt.compiler.apt" fragment="true"/>
+      <plugin id="org.eclipse.jdt.compiler.apt.source"/>
+      <plugin id="org.eclipse.jdt.compiler.tool" fragment="true"/>
+      <plugin id="org.eclipse.jdt.compiler.tool.source"/>
+      <plugin id="org.eclipse.jdt.core"/>
+      <plugin id="org.eclipse.jdt.core.formatterapp"/>
+      <plugin id="org.eclipse.jdt.core.formatterapp.source"/>
+      <plugin id="org.eclipse.jdt.core.manipulation"/>
+      <plugin id="org.eclipse.jdt.core.manipulation.source"/>
+      <plugin id="org.eclipse.jdt.core.source"/>
+      <plugin id="org.eclipse.jdt.debug"/>
+      <plugin id="org.eclipse.jdt.debug.source"/>
+      <plugin id="org.eclipse.jdt.debug.ui"/>
+      <plugin id="org.eclipse.jdt.debug.ui.source"/>
+      <plugin id="org.eclipse.jdt.doc.isv"/>
+      <plugin id="org.eclipse.jdt.doc.user"/>
+      <plugin id="org.eclipse.jdt.junit"/>
+      <plugin id="org.eclipse.jdt.junit.core"/>
+      <plugin id="org.eclipse.jdt.junit.core.source"/>
+      <plugin id="org.eclipse.jdt.junit.runtime"/>
+      <plugin id="org.eclipse.jdt.junit.runtime.source"/>
+      <plugin id="org.eclipse.jdt.junit.source"/>
+      <plugin id="org.eclipse.jdt.junit4.runtime"/>
+      <plugin id="org.eclipse.jdt.junit4.runtime.source"/>
+      <plugin id="org.eclipse.jdt.junit5.runtime"/>
+      <plugin id="org.eclipse.jdt.junit5.runtime.source"/>
+      <plugin id="org.eclipse.jdt.launching"/>
+      <plugin id="org.eclipse.jdt.launching.macosx"/>
+      <plugin id="org.eclipse.jdt.launching.macosx.source"/>
+      <plugin id="org.eclipse.jdt.launching.source"/>
+      <plugin id="org.eclipse.jdt.launching.ui.macosx"/>
+      <plugin id="org.eclipse.jdt.launching.ui.macosx.source"/>
+      <plugin id="org.eclipse.jdt.ui"/>
+      <plugin id="org.eclipse.jdt.ui.source"/>
+      <plugin id="org.eclipse.jetty.http"/>
+      <plugin id="org.eclipse.jetty.http.source"/>
+      <plugin id="org.eclipse.jetty.io"/>
+      <plugin id="org.eclipse.jetty.io.source"/>
+      <plugin id="org.eclipse.jetty.security"/>
+      <plugin id="org.eclipse.jetty.security.source"/>
+      <plugin id="org.eclipse.jetty.server"/>
+      <plugin id="org.eclipse.jetty.server.source"/>
+      <plugin id="org.eclipse.jetty.servlet"/>
+      <plugin id="org.eclipse.jetty.servlet.source"/>
+      <plugin id="org.eclipse.jetty.util"/>
+      <plugin id="org.eclipse.jetty.util.ajax"/>
+      <plugin id="org.eclipse.jetty.util.ajax.source"/>
+      <plugin id="org.eclipse.jetty.util.source"/>
+      <plugin id="org.eclipse.jface"/>
+      <plugin id="org.eclipse.jface.databinding"/>
+      <plugin id="org.eclipse.jface.databinding.source"/>
+      <plugin id="org.eclipse.jface.notifications"/>
+      <plugin id="org.eclipse.jface.notifications.source"/>
+      <plugin id="org.eclipse.jface.source"/>
+      <plugin id="org.eclipse.jface.text"/>
+      <plugin id="org.eclipse.jface.text.source"/>
+      <plugin id="org.eclipse.jgit"/>
+      <plugin id="org.eclipse.jgit.archive"/>
+      <plugin id="org.eclipse.jgit.gpg.bc" fragment="true"/>
+      <plugin id="org.eclipse.jgit.http.apache"/>
+      <plugin id="org.eclipse.jgit.ssh.apache"/>
+      <plugin id="org.eclipse.jgit.ssh.apache.agent" fragment="true"/>
+      <plugin id="org.eclipse.jsch.core"/>
+      <plugin id="org.eclipse.jsch.core.source"/>
+      <plugin id="org.eclipse.jsch.ui"/>
+      <plugin id="org.eclipse.jsch.ui.source"/>
+      <plugin id="org.eclipse.lsp4j"/>
+      <plugin id="org.eclipse.lsp4j.generator"/>
+      <plugin id="org.eclipse.lsp4j.generator.source"/>
+      <plugin id="org.eclipse.lsp4j.jsonrpc"/>
+      <plugin id="org.eclipse.lsp4j.jsonrpc.source"/>
+      <plugin id="org.eclipse.lsp4j.source"/>
+      <plugin id="org.eclipse.ltk.core.refactoring"/>
+      <plugin id="org.eclipse.ltk.core.refactoring.source"/>
+      <plugin id="org.eclipse.ltk.ui.refactoring"/>
+      <plugin id="org.eclipse.ltk.ui.refactoring.source"/>
+      <plugin id="org.eclipse.m2m.qvt.oml"/>
+      <plugin id="org.eclipse.m2m.qvt.oml.common"/>
+      <plugin id="org.eclipse.m2m.qvt.oml.cst.parser"/>
+      <plugin id="org.eclipse.m2m.qvt.oml.ecore.imperativeocl"/>
+      <plugin id="org.eclipse.m2m.qvt.oml.emf.util"/>
+      <plugin id="org.eclipse.m2m.qvt.oml.project"/>
+      <plugin id="org.eclipse.m2m.qvt.oml.runtime"/>
+      <plugin id="org.eclipse.mylyn.wikitext"/>
+      <plugin id="org.eclipse.mylyn.wikitext.ant"/>
+      <plugin id="org.eclipse.mylyn.wikitext.asciidoc"/>
+      <plugin id="org.eclipse.mylyn.wikitext.asciidoc.ui"/>
+      <plugin id="org.eclipse.mylyn.wikitext.confluence"/>
+      <plugin id="org.eclipse.mylyn.wikitext.confluence.ui"/>
+      <plugin id="org.eclipse.mylyn.wikitext.help.ui"/>
+      <plugin id="org.eclipse.mylyn.wikitext.html"/>
+      <plugin id="org.eclipse.mylyn.wikitext.markdown"/>
+      <plugin id="org.eclipse.mylyn.wikitext.markdown.ui"/>
+      <plugin id="org.eclipse.mylyn.wikitext.mediawiki"/>
+      <plugin id="org.eclipse.mylyn.wikitext.mediawiki.ui"/>
+      <plugin id="org.eclipse.mylyn.wikitext.osgi"/>
+      <plugin id="org.eclipse.mylyn.wikitext.textile"/>
+      <plugin id="org.eclipse.mylyn.wikitext.textile.ui"/>
+      <plugin id="org.eclipse.mylyn.wikitext.tracwiki"/>
+      <plugin id="org.eclipse.mylyn.wikitext.tracwiki.ui"/>
+      <plugin id="org.eclipse.mylyn.wikitext.twiki"/>
+      <plugin id="org.eclipse.mylyn.wikitext.twiki.ui"/>
+      <plugin id="org.eclipse.mylyn.wikitext.ui"/>
+      <plugin id="org.eclipse.nebula.widgets.tablecombo"/>
+      <plugin id="org.eclipse.net4j"/>
+      <plugin id="org.eclipse.net4j.db"/>
+      <plugin id="org.eclipse.net4j.db.h2"/>
+      <plugin id="org.eclipse.net4j.db.jdbc"/>
+      <plugin id="org.eclipse.net4j.debug"/>
+      <plugin id="org.eclipse.net4j.examples.installer"/>
+      <plugin id="org.eclipse.net4j.jvm"/>
+      <plugin id="org.eclipse.net4j.tcp"/>
+      <plugin id="org.eclipse.net4j.ui"/>
+      <plugin id="org.eclipse.net4j.ui.shared"/>
+      <plugin id="org.eclipse.net4j.util"/>
+      <plugin id="org.eclipse.net4j.util.ui"/>
+      <plugin id="org.eclipse.ocl"/>
+      <plugin id="org.eclipse.ocl.common"/>
+      <plugin id="org.eclipse.ocl.common.ui"/>
+      <plugin id="org.eclipse.ocl.doc"/>
+      <plugin id="org.eclipse.ocl.ecore"/>
+      <plugin id="org.eclipse.ocl.ecore.edit"/>
+      <plugin id="org.eclipse.ocl.edit"/>
+      <plugin id="org.eclipse.ocl.ui"/>
+      <plugin id="org.eclipse.ocl.uml"/>
+      <plugin id="org.eclipse.ocl.uml.edit"/>
+      <plugin id="org.eclipse.ocl.uml.ui"/>
+      <plugin id="org.eclipse.oomph.base"/>
+      <plugin id="org.eclipse.oomph.base.edit"/>
+      <plugin id="org.eclipse.oomph.extractor.lib"/>
+      <plugin id="org.eclipse.oomph.jreinfo"/>
+      <plugin id="org.eclipse.oomph.jreinfo.ui"/>
+      <plugin id="org.eclipse.oomph.p2"/>
+      <plugin id="org.eclipse.oomph.p2.core"/>
+      <plugin id="org.eclipse.oomph.p2.doc"/>
+      <plugin id="org.eclipse.oomph.p2.edit"/>
+      <plugin id="org.eclipse.oomph.p2.ui"/>
+      <plugin id="org.eclipse.oomph.predicates"/>
+      <plugin id="org.eclipse.oomph.predicates.edit"/>
+      <plugin id="org.eclipse.oomph.preferences"/>
+      <plugin id="org.eclipse.oomph.resources"/>
+      <plugin id="org.eclipse.oomph.resources.edit"/>
+      <plugin id="org.eclipse.oomph.setup"/>
+      <plugin id="org.eclipse.oomph.setup.core"/>
+      <plugin id="org.eclipse.oomph.setup.doc"/>
+      <plugin id="org.eclipse.oomph.setup.edit"/>
+      <plugin id="org.eclipse.oomph.setup.editor"/>
+      <plugin id="org.eclipse.oomph.setup.p2"/>
+      <plugin id="org.eclipse.oomph.setup.p2.edit"/>
+      <plugin id="org.eclipse.oomph.setup.sync"/>
+      <plugin id="org.eclipse.oomph.setup.ui"/>
+      <plugin id="org.eclipse.oomph.setup.ui.questionnaire"/>
+      <plugin id="org.eclipse.oomph.ui"/>
+      <plugin id="org.eclipse.oomph.util"/>
+      <plugin id="org.eclipse.oomph.workingsets"/>
+      <plugin id="org.eclipse.oomph.workingsets.edit"/>
+      <plugin id="org.eclipse.oomph.workingsets.editor"/>
+      <plugin id="org.eclipse.osgi"/>
+      <plugin id="org.eclipse.osgi.compatibility.state" fragment="true"/>
+      <plugin id="org.eclipse.osgi.compatibility.state.source"/>
+      <plugin id="org.eclipse.osgi.services"/>
+      <plugin id="org.eclipse.osgi.services.source"/>
+      <plugin id="org.eclipse.osgi.source"/>
+      <plugin id="org.eclipse.osgi.util"/>
+      <plugin id="org.eclipse.osgi.util.source"/>
+      <plugin id="org.eclipse.paho.client.mqttv3"/>
+      <plugin id="org.eclipse.pde"/>
+      <plugin id="org.eclipse.pde.api.tools"/>
+      <plugin id="org.eclipse.pde.api.tools.annotations"/>
+      <plugin id="org.eclipse.pde.api.tools.annotations.source"/>
+      <plugin id="org.eclipse.pde.api.tools.source"/>
+      <plugin id="org.eclipse.pde.api.tools.ui"/>
+      <plugin id="org.eclipse.pde.api.tools.ui.source"/>
+      <plugin id="org.eclipse.pde.build"/>
+      <plugin id="org.eclipse.pde.build.source"/>
+      <plugin id="org.eclipse.pde.core"/>
+      <plugin id="org.eclipse.pde.core.source"/>
+      <plugin id="org.eclipse.pde.doc.user"/>
+      <plugin id="org.eclipse.pde.ds.annotations"/>
+      <plugin id="org.eclipse.pde.ds.annotations.source"/>
+      <plugin id="org.eclipse.pde.ds.core"/>
+      <plugin id="org.eclipse.pde.ds.core.source"/>
+      <plugin id="org.eclipse.pde.ds.lib"/>
+      <plugin id="org.eclipse.pde.ds.lib.source"/>
+      <plugin id="org.eclipse.pde.ds.ui"/>
+      <plugin id="org.eclipse.pde.ds.ui.source"/>
+      <plugin id="org.eclipse.pde.ds1_2.lib"/>
+      <plugin id="org.eclipse.pde.ds1_2.lib.source"/>
+      <plugin id="org.eclipse.pde.genericeditor.extension"/>
+      <plugin id="org.eclipse.pde.genericeditor.extension.source"/>
+      <plugin id="org.eclipse.pde.junit.runtime"/>
+      <plugin id="org.eclipse.pde.junit.runtime.source"/>
+      <plugin id="org.eclipse.pde.launching"/>
+      <plugin id="org.eclipse.pde.launching.source"/>
+      <plugin id="org.eclipse.pde.runtime"/>
+      <plugin id="org.eclipse.pde.runtime.source"/>
+      <plugin id="org.eclipse.pde.spy.core"/>
+      <plugin id="org.eclipse.pde.spy.core.source"/>
+      <plugin id="org.eclipse.pde.spy.css"/>
+      <plugin id="org.eclipse.pde.spy.css.source"/>
+      <plugin id="org.eclipse.pde.spy.model"/>
+      <plugin id="org.eclipse.pde.spy.model.source"/>
+      <plugin id="org.eclipse.pde.spy.preferences"/>
+      <plugin id="org.eclipse.pde.spy.preferences.source"/>
+      <plugin id="org.eclipse.pde.ua.core"/>
+      <plugin id="org.eclipse.pde.ua.core.source"/>
+      <plugin id="org.eclipse.pde.ua.ui"/>
+      <plugin id="org.eclipse.pde.ua.ui.source"/>
+      <plugin id="org.eclipse.pde.ui"/>
+      <plugin id="org.eclipse.pde.ui.source"/>
+      <plugin id="org.eclipse.pde.ui.templates"/>
+      <plugin id="org.eclipse.pde.ui.templates.source"/>
+      <plugin id="org.eclipse.platform"/>
+      <plugin id="org.eclipse.platform.doc.isv"/>
+      <plugin id="org.eclipse.platform.doc.user"/>
+      <plugin id="org.eclipse.platform.source"/>
+      <plugin id="org.eclipse.rcp"/>
+      <plugin id="org.eclipse.sdk"/>
+      <plugin id="org.eclipse.search"/>
+      <plugin id="org.eclipse.search.source"/>
+      <plugin id="org.eclipse.sirius"/>
+      <plugin id="org.eclipse.sirius.common"/>
+      <plugin id="org.eclipse.sirius.common.acceleo.aql"/>
+      <plugin id="org.eclipse.sirius.common.acceleo.aql.ide"/>
+      <plugin id="org.eclipse.sirius.common.acceleo.mtl"/>
+      <plugin id="org.eclipse.sirius.common.acceleo.mtl.ide"/>
+      <plugin id="org.eclipse.sirius.common.interpreter"/>
+      <plugin id="org.eclipse.sirius.common.ui"/>
+      <plugin id="org.eclipse.sirius.common.ui.ext"/>
+      <plugin id="org.eclipse.sirius.diagram"/>
+      <plugin id="org.eclipse.sirius.diagram.formatdata"/>
+      <plugin id="org.eclipse.sirius.diagram.sequence"/>
+      <plugin id="org.eclipse.sirius.diagram.sequence.edit"/>
+      <plugin id="org.eclipse.sirius.diagram.sequence.ui"/>
+      <plugin id="org.eclipse.sirius.diagram.ui"/>
+      <plugin id="org.eclipse.sirius.diagram.ui.ext"/>
+      <plugin id="org.eclipse.sirius.doc"/>
+      <plugin id="org.eclipse.sirius.ecore.extender"/>
+      <plugin id="org.eclipse.sirius.editor"/>
+      <plugin id="org.eclipse.sirius.editor.diagram"/>
+      <plugin id="org.eclipse.sirius.editor.properties"/>
+      <plugin id="org.eclipse.sirius.editor.properties.ext.widgets.reference"/>
+      <plugin id="org.eclipse.sirius.editor.sequence"/>
+      <plugin id="org.eclipse.sirius.editor.table"/>
+      <plugin id="org.eclipse.sirius.editor.tree"/>
+      <plugin id="org.eclipse.sirius.ext.base"/>
+      <plugin id="org.eclipse.sirius.ext.draw2d"/>
+      <plugin id="org.eclipse.sirius.ext.e3"/>
+      <plugin id="org.eclipse.sirius.ext.e3.ui"/>
+      <plugin id="org.eclipse.sirius.ext.emf"/>
+      <plugin id="org.eclipse.sirius.ext.emf.edit"/>
+      <plugin id="org.eclipse.sirius.ext.emf.tx"/>
+      <plugin id="org.eclipse.sirius.ext.emf.ui"/>
+      <plugin id="org.eclipse.sirius.ext.gef"/>
+      <plugin id="org.eclipse.sirius.ext.gmf.notation"/>
+      <plugin id="org.eclipse.sirius.ext.gmf.runtime"/>
+      <plugin id="org.eclipse.sirius.ext.ide"/>
+      <plugin id="org.eclipse.sirius.ext.jface"/>
+      <plugin id="org.eclipse.sirius.ext.swt"/>
+      <plugin id="org.eclipse.sirius.interpreter"/>
+      <plugin id="org.eclipse.sirius.properties"/>
+      <plugin id="org.eclipse.sirius.properties.core"/>
+      <plugin id="org.eclipse.sirius.properties.defaultrules"/>
+      <plugin id="org.eclipse.sirius.properties.edit"/>
+      <plugin id="org.eclipse.sirius.properties.ext.widgets.reference"/>
+      <plugin id="org.eclipse.sirius.properties.ext.widgets.reference.edit"/>
+      <plugin id="org.eclipse.sirius.synchronizer"/>
+      <plugin id="org.eclipse.sirius.table"/>
+      <plugin id="org.eclipse.sirius.table.ui"/>
+      <plugin id="org.eclipse.sirius.table.ui.ext"/>
+      <plugin id="org.eclipse.sirius.tree"/>
+      <plugin id="org.eclipse.sirius.tree.ui"/>
+      <plugin id="org.eclipse.sirius.tree.ui.ext"/>
+      <plugin id="org.eclipse.sirius.ui"/>
+      <plugin id="org.eclipse.sirius.ui.editor"/>
+      <plugin id="org.eclipse.sirius.ui.ext"/>
+      <plugin id="org.eclipse.sirius.ui.properties"/>
+      <plugin id="org.eclipse.sirius.ui.properties.ext.widgets.reference"/>
+      <plugin id="org.eclipse.swt"/>
+      <plugin id="org.eclipse.swt.cocoa.macosx.x86_64" fragment="true"/>
+      <plugin id="org.eclipse.swt.cocoa.macosx.x86_64.source"/>
+      <plugin id="org.eclipse.team.core"/>
+      <plugin id="org.eclipse.team.core.source"/>
+      <plugin id="org.eclipse.team.genericeditor.diff.extension"/>
+      <plugin id="org.eclipse.team.genericeditor.diff.extension.source"/>
+      <plugin id="org.eclipse.team.ui"/>
+      <plugin id="org.eclipse.team.ui.source"/>
+      <plugin id="org.eclipse.text"/>
+      <plugin id="org.eclipse.text.quicksearch"/>
+      <plugin id="org.eclipse.text.quicksearch.source"/>
+      <plugin id="org.eclipse.text.source"/>
+      <plugin id="org.eclipse.tips.core"/>
+      <plugin id="org.eclipse.tips.ide"/>
+      <plugin id="org.eclipse.tips.json"/>
+      <plugin id="org.eclipse.tips.ui"/>
+      <plugin id="org.eclipse.tools.layout.spy"/>
+      <plugin id="org.eclipse.tools.layout.spy.source"/>
+      <plugin id="org.eclipse.ui"/>
+      <plugin id="org.eclipse.ui.browser"/>
+      <plugin id="org.eclipse.ui.browser.source"/>
+      <plugin id="org.eclipse.ui.cheatsheets"/>
+      <plugin id="org.eclipse.ui.cheatsheets.source"/>
+      <plugin id="org.eclipse.ui.cocoa" fragment="true"/>
+      <plugin id="org.eclipse.ui.cocoa.source"/>
+      <plugin id="org.eclipse.ui.console"/>
+      <plugin id="org.eclipse.ui.console.source"/>
+      <plugin id="org.eclipse.ui.editors"/>
+      <plugin id="org.eclipse.ui.editors.source"/>
+      <plugin id="org.eclipse.ui.externaltools"/>
+      <plugin id="org.eclipse.ui.externaltools.source"/>
+      <plugin id="org.eclipse.ui.forms"/>
+      <plugin id="org.eclipse.ui.forms.source"/>
+      <plugin id="org.eclipse.ui.genericeditor"/>
+      <plugin id="org.eclipse.ui.genericeditor.source"/>
+      <plugin id="org.eclipse.ui.ide"/>
+      <plugin id="org.eclipse.ui.ide.application"/>
+      <plugin id="org.eclipse.ui.ide.application.source"/>
+      <plugin id="org.eclipse.ui.ide.source"/>
+      <plugin id="org.eclipse.ui.intro"/>
+      <plugin id="org.eclipse.ui.intro.quicklinks"/>
+      <plugin id="org.eclipse.ui.intro.quicklinks.source"/>
+      <plugin id="org.eclipse.ui.intro.source"/>
+      <plugin id="org.eclipse.ui.intro.universal"/>
+      <plugin id="org.eclipse.ui.intro.universal.source"/>
+      <plugin id="org.eclipse.ui.monitoring"/>
+      <plugin id="org.eclipse.ui.monitoring.source"/>
+      <plugin id="org.eclipse.ui.navigator"/>
+      <plugin id="org.eclipse.ui.navigator.resources"/>
+      <plugin id="org.eclipse.ui.navigator.resources.source"/>
+      <plugin id="org.eclipse.ui.navigator.source"/>
+      <plugin id="org.eclipse.ui.net"/>
+      <plugin id="org.eclipse.ui.net.source"/>
+      <plugin id="org.eclipse.ui.source"/>
+      <plugin id="org.eclipse.ui.themes"/>
+      <plugin id="org.eclipse.ui.themes.source"/>
+      <plugin id="org.eclipse.ui.trace"/>
+      <plugin id="org.eclipse.ui.trace.source"/>
+      <plugin id="org.eclipse.ui.views"/>
+      <plugin id="org.eclipse.ui.views.log"/>
+      <plugin id="org.eclipse.ui.views.log.source"/>
+      <plugin id="org.eclipse.ui.views.properties.tabbed"/>
+      <plugin id="org.eclipse.ui.views.properties.tabbed.source"/>
+      <plugin id="org.eclipse.ui.views.source"/>
+      <plugin id="org.eclipse.ui.workbench"/>
+      <plugin id="org.eclipse.ui.workbench.source"/>
+      <plugin id="org.eclipse.ui.workbench.texteditor"/>
+      <plugin id="org.eclipse.ui.workbench.texteditor.source"/>
+      <plugin id="org.eclipse.uml2"/>
+      <plugin id="org.eclipse.uml2.ant"/>
+      <plugin id="org.eclipse.uml2.codegen.ecore"/>
+      <plugin id="org.eclipse.uml2.codegen.ecore.ui"/>
+      <plugin id="org.eclipse.uml2.common"/>
+      <plugin id="org.eclipse.uml2.common.edit"/>
+      <plugin id="org.eclipse.uml2.doc"/>
+      <plugin id="org.eclipse.uml2.examples"/>
+      <plugin id="org.eclipse.uml2.examples.uml.ui"/>
+      <plugin id="org.eclipse.uml2.sdk"/>
+      <plugin id="org.eclipse.uml2.types"/>
+      <plugin id="org.eclipse.uml2.uml"/>
+      <plugin id="org.eclipse.uml2.uml.ecore.exporter"/>
+      <plugin id="org.eclipse.uml2.uml.ecore.importer"/>
+      <plugin id="org.eclipse.uml2.uml.edit"/>
+      <plugin id="org.eclipse.uml2.uml.editor"/>
+      <plugin id="org.eclipse.uml2.uml.profile.standard"/>
+      <plugin id="org.eclipse.uml2.uml.resources"/>
+      <plugin id="org.eclipse.uml2.uml.validation"/>
+      <plugin id="org.eclipse.update.configurator"/>
+      <plugin id="org.eclipse.update.configurator.source"/>
+      <plugin id="org.eclipse.urischeme"/>
+      <plugin id="org.eclipse.urischeme.source"/>
+      <plugin id="org.eclipse.userstorage"/>
+      <plugin id="org.eclipse.userstorage.oauth"/>
+      <plugin id="org.eclipse.userstorage.ui"/>
+      <plugin id="org.eclipse.xpand"/>
+      <plugin id="org.eclipse.xpand.activities"/>
+      <plugin id="org.eclipse.xpand.activities.source"/>
+      <plugin id="org.eclipse.xpand.doc"/>
+      <plugin id="org.eclipse.xpand.examples"/>
+      <plugin id="org.eclipse.xpand.examples.source"/>
+      <plugin id="org.eclipse.xpand.source"/>
+      <plugin id="org.eclipse.xpand.support.cdt"/>
+      <plugin id="org.eclipse.xpand.support.cdt.source"/>
+      <plugin id="org.eclipse.xpand.ui"/>
+      <plugin id="org.eclipse.xpand.ui.source"/>
+      <plugin id="org.eclipse.xsd"/>
+      <plugin id="org.eclipse.xsd.cheatsheets"/>
+      <plugin id="org.eclipse.xsd.doc"/>
+      <plugin id="org.eclipse.xsd.ecore.converter"/>
+      <plugin id="org.eclipse.xsd.ecore.converter.source"/>
+      <plugin id="org.eclipse.xsd.ecore.exporter"/>
+      <plugin id="org.eclipse.xsd.ecore.exporter.source"/>
+      <plugin id="org.eclipse.xsd.ecore.importer"/>
+      <plugin id="org.eclipse.xsd.ecore.importer.source"/>
+      <plugin id="org.eclipse.xsd.edit"/>
+      <plugin id="org.eclipse.xsd.edit.source"/>
+      <plugin id="org.eclipse.xsd.editor"/>
+      <plugin id="org.eclipse.xsd.editor.source"/>
+      <plugin id="org.eclipse.xsd.example"/>
+      <plugin id="org.eclipse.xsd.example.installer"/>
+      <plugin id="org.eclipse.xsd.mapping"/>
+      <plugin id="org.eclipse.xsd.mapping.editor"/>
+      <plugin id="org.eclipse.xsd.mapping.editor.source"/>
+      <plugin id="org.eclipse.xsd.mapping.source"/>
+      <plugin id="org.eclipse.xsd.source"/>
+      <plugin id="org.eclipse.xtend"/>
+      <plugin id="org.eclipse.xtend.backend"/>
+      <plugin id="org.eclipse.xtend.backend.compiler"/>
+      <plugin id="org.eclipse.xtend.backend.compiler.source"/>
+      <plugin id="org.eclipse.xtend.backend.source"/>
+      <plugin id="org.eclipse.xtend.backend.ui"/>
+      <plugin id="org.eclipse.xtend.backend.ui.source"/>
+      <plugin id="org.eclipse.xtend.backend.uml2types"/>
+      <plugin id="org.eclipse.xtend.backend.uml2types.source"/>
+      <plugin id="org.eclipse.xtend.backend.xsdtypes"/>
+      <plugin id="org.eclipse.xtend.backend.xsdtypes.source"/>
+      <plugin id="org.eclipse.xtend.check.ui"/>
+      <plugin id="org.eclipse.xtend.check.ui.source"/>
+      <plugin id="org.eclipse.xtend.core"/>
+      <plugin id="org.eclipse.xtend.core.source"/>
+      <plugin id="org.eclipse.xtend.doc"/>
+      <plugin id="org.eclipse.xtend.examples"/>
+      <plugin id="org.eclipse.xtend.ide"/>
+      <plugin id="org.eclipse.xtend.ide.common"/>
+      <plugin id="org.eclipse.xtend.ide.common.source"/>
+      <plugin id="org.eclipse.xtend.ide.source"/>
+      <plugin id="org.eclipse.xtend.lib"/>
+      <plugin id="org.eclipse.xtend.lib.gwt"/>
+      <plugin id="org.eclipse.xtend.lib.macro"/>
+      <plugin id="org.eclipse.xtend.lib.macro.source"/>
+      <plugin id="org.eclipse.xtend.lib.source"/>
+      <plugin id="org.eclipse.xtend.m2e"/>
+      <plugin id="org.eclipse.xtend.m2e.source"/>
+      <plugin id="org.eclipse.xtend.middleend.xpand"/>
+      <plugin id="org.eclipse.xtend.middleend.xtend"/>
+      <plugin id="org.eclipse.xtend.profiler"/>
+      <plugin id="org.eclipse.xtend.profiler.source"/>
+      <plugin id="org.eclipse.xtend.shared.ui"/>
+      <plugin id="org.eclipse.xtend.shared.ui.source"/>
+      <plugin id="org.eclipse.xtend.source"/>
+      <plugin id="org.eclipse.xtend.standalone"/>
+      <plugin id="org.eclipse.xtend.standalone.source"/>
+      <plugin id="org.eclipse.xtend.typesystem.emf"/>
+      <plugin id="org.eclipse.xtend.typesystem.emf.source"/>
+      <plugin id="org.eclipse.xtend.typesystem.emf.ui"/>
+      <plugin id="org.eclipse.xtend.typesystem.emf.ui.source"/>
+      <plugin id="org.eclipse.xtend.typesystem.uml2"/>
+      <plugin id="org.eclipse.xtend.typesystem.uml2.source"/>
+      <plugin id="org.eclipse.xtend.typesystem.uml2.ui"/>
+      <plugin id="org.eclipse.xtend.typesystem.uml2.ui.source"/>
+      <plugin id="org.eclipse.xtend.typesystem.xsd"/>
+      <plugin id="org.eclipse.xtend.typesystem.xsd.source"/>
+      <plugin id="org.eclipse.xtend.typesystem.xsd.ui"/>
+      <plugin id="org.eclipse.xtend.typesystem.xsd.ui.source"/>
+      <plugin id="org.eclipse.xtend.ui"/>
+      <plugin id="org.eclipse.xtend.ui.source"/>
+      <plugin id="org.eclipse.xtend.util.stdlib"/>
+      <plugin id="org.eclipse.xtend.util.stdlib.source"/>
+      <plugin id="org.eclipse.xtext"/>
+      <plugin id="org.eclipse.xtext.activities"/>
+      <plugin id="org.eclipse.xtext.activities.source"/>
+      <plugin id="org.eclipse.xtext.builder"/>
+      <plugin id="org.eclipse.xtext.builder.source"/>
+      <plugin id="org.eclipse.xtext.builder.standalone"/>
+      <plugin id="org.eclipse.xtext.builder.standalone.source"/>
+      <plugin id="org.eclipse.xtext.buildship"/>
+      <plugin id="org.eclipse.xtext.buildship.source"/>
+      <plugin id="org.eclipse.xtext.common.types"/>
+      <plugin id="org.eclipse.xtext.common.types.edit"/>
+      <plugin id="org.eclipse.xtext.common.types.edit.source"/>
+      <plugin id="org.eclipse.xtext.common.types.shared"/>
+      <plugin id="org.eclipse.xtext.common.types.shared.jdt38" fragment="true"/>
+      <plugin id="org.eclipse.xtext.common.types.shared.jdt38.source"/>
+      <plugin id="org.eclipse.xtext.common.types.shared.source"/>
+      <plugin id="org.eclipse.xtext.common.types.source"/>
+      <plugin id="org.eclipse.xtext.common.types.ui"/>
+      <plugin id="org.eclipse.xtext.common.types.ui.source"/>
+      <plugin id="org.eclipse.xtext.doc"/>
+      <plugin id="org.eclipse.xtext.ecore"/>
+      <plugin id="org.eclipse.xtext.ecore.source"/>
+      <plugin id="org.eclipse.xtext.generator"/>
+      <plugin id="org.eclipse.xtext.generator.source"/>
+      <plugin id="org.eclipse.xtext.ide"/>
+      <plugin id="org.eclipse.xtext.ide.source"/>
+      <plugin id="org.eclipse.xtext.java"/>
+      <plugin id="org.eclipse.xtext.java.source"/>
+      <plugin id="org.eclipse.xtext.junit4"/>
+      <plugin id="org.eclipse.xtext.junit4.source"/>
+      <plugin id="org.eclipse.xtext.logging" fragment="true"/>
+      <plugin id="org.eclipse.xtext.logging.source"/>
+      <plugin id="org.eclipse.xtext.m2e"/>
+      <plugin id="org.eclipse.xtext.m2e.source"/>
+      <plugin id="org.eclipse.xtext.purexbase"/>
+      <plugin id="org.eclipse.xtext.purexbase.ide"/>
+      <plugin id="org.eclipse.xtext.purexbase.ide.source"/>
+      <plugin id="org.eclipse.xtext.purexbase.source"/>
+      <plugin id="org.eclipse.xtext.purexbase.ui"/>
+      <plugin id="org.eclipse.xtext.purexbase.ui.source"/>
+      <plugin id="org.eclipse.xtext.smap"/>
+      <plugin id="org.eclipse.xtext.smap.source"/>
+      <plugin id="org.eclipse.xtext.source"/>
+      <plugin id="org.eclipse.xtext.testing"/>
+      <plugin id="org.eclipse.xtext.testing.source"/>
+      <plugin id="org.eclipse.xtext.ui"/>
+      <plugin id="org.eclipse.xtext.ui.codemining"/>
+      <plugin id="org.eclipse.xtext.ui.codemining.source"/>
+      <plugin id="org.eclipse.xtext.ui.codetemplates"/>
+      <plugin id="org.eclipse.xtext.ui.codetemplates.ide"/>
+      <plugin id="org.eclipse.xtext.ui.codetemplates.ide.source"/>
+      <plugin id="org.eclipse.xtext.ui.codetemplates.source"/>
+      <plugin id="org.eclipse.xtext.ui.codetemplates.ui"/>
+      <plugin id="org.eclipse.xtext.ui.codetemplates.ui.source"/>
+      <plugin id="org.eclipse.xtext.ui.ecore"/>
+      <plugin id="org.eclipse.xtext.ui.ecore.source"/>
+      <plugin id="org.eclipse.xtext.ui.shared"/>
+      <plugin id="org.eclipse.xtext.ui.shared.source"/>
+      <plugin id="org.eclipse.xtext.ui.source"/>
+      <plugin id="org.eclipse.xtext.ui.testing"/>
+      <plugin id="org.eclipse.xtext.ui.testing.source"/>
+      <plugin id="org.eclipse.xtext.util"/>
+      <plugin id="org.eclipse.xtext.util.source"/>
+      <plugin id="org.eclipse.xtext.xbase"/>
+      <plugin id="org.eclipse.xtext.xbase.ide"/>
+      <plugin id="org.eclipse.xtext.xbase.ide.source"/>
+      <plugin id="org.eclipse.xtext.xbase.junit"/>
+      <plugin id="org.eclipse.xtext.xbase.junit.source"/>
+      <plugin id="org.eclipse.xtext.xbase.lib"/>
+      <plugin id="org.eclipse.xtext.xbase.lib.gwt"/>
+      <plugin id="org.eclipse.xtext.xbase.lib.source"/>
+      <plugin id="org.eclipse.xtext.xbase.source"/>
+      <plugin id="org.eclipse.xtext.xbase.testing"/>
+      <plugin id="org.eclipse.xtext.xbase.testing.source"/>
+      <plugin id="org.eclipse.xtext.xbase.ui"/>
+      <plugin id="org.eclipse.xtext.xbase.ui.source"/>
+      <plugin id="org.eclipse.xtext.xbase.ui.testing"/>
+      <plugin id="org.eclipse.xtext.xbase.ui.testing.source"/>
+      <plugin id="org.eclipse.xtext.xtext.generator"/>
+      <plugin id="org.eclipse.xtext.xtext.generator.source"/>
+      <plugin id="org.eclipse.xtext.xtext.ide"/>
+      <plugin id="org.eclipse.xtext.xtext.ide.source"/>
+      <plugin id="org.eclipse.xtext.xtext.ui"/>
+      <plugin id="org.eclipse.xtext.xtext.ui.examples"/>
+      <plugin id="org.eclipse.xtext.xtext.ui.graph"/>
+      <plugin id="org.eclipse.xtext.xtext.ui.graph.source"/>
+      <plugin id="org.eclipse.xtext.xtext.ui.source"/>
+      <plugin id="org.eclipse.xtext.xtext.wizard"/>
+      <plugin id="org.eclipse.xtext.xtext.wizard.source"/>
+      <plugin id="org.h2"/>
+      <plugin id="org.hamcrest.core"/>
+      <plugin id="org.hamcrest.core.source"/>
+      <plugin id="org.jdom"/>
+      <plugin id="org.jsoup"/>
+      <plugin id="org.junit"/>
+      <plugin id="org.junit.jupiter.api"/>
+      <plugin id="org.junit.jupiter.api.source"/>
+      <plugin id="org.junit.jupiter.engine"/>
+      <plugin id="org.junit.jupiter.engine.source"/>
+      <plugin id="org.junit.jupiter.migrationsupport"/>
+      <plugin id="org.junit.jupiter.migrationsupport.source"/>
+      <plugin id="org.junit.jupiter.params"/>
+      <plugin id="org.junit.jupiter.params.source"/>
+      <plugin id="org.junit.platform.commons"/>
+      <plugin id="org.junit.platform.commons.source"/>
+      <plugin id="org.junit.platform.engine"/>
+      <plugin id="org.junit.platform.engine.source"/>
+      <plugin id="org.junit.platform.launcher"/>
+      <plugin id="org.junit.platform.launcher.source"/>
+      <plugin id="org.junit.platform.runner"/>
+      <plugin id="org.junit.platform.runner.source"/>
+      <plugin id="org.junit.platform.suite.api"/>
+      <plugin id="org.junit.platform.suite.api.source"/>
+      <plugin id="org.junit.platform.suite.commons"/>
+      <plugin id="org.junit.platform.suite.commons.source"/>
+      <plugin id="org.junit.platform.suite.engine"/>
+      <plugin id="org.junit.platform.suite.engine.source"/>
+      <plugin id="org.junit.source"/>
+      <plugin id="org.junit.vintage.engine"/>
+      <plugin id="org.junit.vintage.engine.source"/>
+      <plugin id="org.objectweb.asm"/>
+      <plugin id="org.objectweb.asm.source"/>
+      <plugin id="org.objectweb.asm.tree"/>
+      <plugin id="org.objectweb.asm.tree.source"/>
+      <plugin id="org.opentest4j"/>
+      <plugin id="org.opentest4j.source"/>
+      <plugin id="org.restlet"/>
+      <plugin id="org.restlet.example"/>
+      <plugin id="org.restlet.ext.apispark"/>
+      <plugin id="org.restlet.ext.atom"/>
+      <plugin id="org.restlet.ext.crypto"/>
+      <plugin id="org.restlet.ext.e4"/>
+      <plugin id="org.restlet.ext.emf"/>
+      <plugin id="org.restlet.ext.fileupload"/>
+      <plugin id="org.restlet.ext.freemarker"/>
+      <plugin id="org.restlet.ext.gson"/>
+      <plugin id="org.restlet.ext.guice"/>
+      <plugin id="org.restlet.ext.gwt"/>
+      <plugin id="org.restlet.ext.html"/>
+      <plugin id="org.restlet.ext.httpclient"/>
+      <plugin id="org.restlet.ext.jaas"/>
+      <plugin id="org.restlet.ext.jackson"/>
+      <plugin id="org.restlet.ext.javamail"/>
+      <plugin id="org.restlet.ext.jaxb"/>
+      <plugin id="org.restlet.ext.jaxrs"/>
+      <plugin id="org.restlet.ext.jdbc"/>
+      <plugin id="org.restlet.ext.jetty"/>
+      <plugin id="org.restlet.ext.jibx"/>
+      <plugin id="org.restlet.ext.json"/>
+      <plugin id="org.restlet.ext.jsslutils"/>
+      <plugin id="org.restlet.ext.lucene"/>
+      <plugin id="org.restlet.ext.nio"/>
+      <plugin id="org.restlet.ext.oauth"/>
+      <plugin id="org.restlet.ext.odata"/>
+      <plugin id="org.restlet.ext.openid"/>
+      <plugin id="org.restlet.ext.osgi"/>
+      <plugin id="org.restlet.ext.raml"/>
+      <plugin id="org.restlet.ext.rdf"/>
+      <plugin id="org.restlet.ext.rome"/>
+      <plugin id="org.restlet.ext.sdc"/>
+      <plugin id="org.restlet.ext.servlet"/>
+      <plugin id="org.restlet.ext.simple"/>
+      <plugin id="org.restlet.ext.sip"/>
+      <plugin id="org.restlet.ext.slf4j"/>
+      <plugin id="org.restlet.ext.spring"/>
+      <plugin id="org.restlet.ext.swagger"/>
+      <plugin id="org.restlet.ext.thymeleaf"/>
+      <plugin id="org.restlet.ext.velocity"/>
+      <plugin id="org.restlet.ext.wadl"/>
+      <plugin id="org.restlet.ext.xdb"/>
+      <plugin id="org.restlet.ext.xml"/>
+      <plugin id="org.restlet.ext.xstream"/>
+      <plugin id="org.sat4j.core"/>
+      <plugin id="org.sat4j.pb"/>
+      <plugin id="org.slf4j.api"/>
+      <plugin id="org.slf4j.api.source"/>
+      <plugin id="org.tukaani.xz"/>
+      <plugin id="org.tukaani.xz.source"/>
+      <plugin id="org.w3c.css.sac"/>
+      <plugin id="org.w3c.css.sac.source"/>
+      <plugin id="org.w3c.dom.events"/>
+      <plugin id="org.w3c.dom.events.source"/>
+      <plugin id="org.w3c.dom.smil"/>
+      <plugin id="org.w3c.dom.smil.source"/>
+      <plugin id="org.w3c.dom.svg"/>
+      <plugin id="org.w3c.dom.svg.source"/>
+      <plugin id="org.yaml.snakeyaml"/>
+   </plugins>
+
+   <configurations>
+      <plugin id="org.eclipse.core.runtime" autoStart="true" startLevel="0" />
+      <plugin id="org.eclipse.equinox.common" autoStart="true" startLevel="2" />
+      <plugin id="org.eclipse.equinox.ds" autoStart="true" startLevel="2" />
+      <plugin id="org.eclipse.equinox.event" autoStart="true" startLevel="2" />
+      <plugin id="org.eclipse.equinox.simpleconfigurator" autoStart="true" startLevel="1" />
+   </configurations>
+
+   <preferencesInfo>
+      <targetfile overwrite="false"/>
+   </preferencesInfo>
+
+   <cssInfo>
+   </cssInfo>
+
+</product>
diff --git a/Source Code/V2.1/PiacereToolProduct/about.gif b/Source Code/V2.1/PiacereToolProduct/about.gif
new file mode 100644
index 0000000000000000000000000000000000000000..ff87a29b1a738ae32540b1f02eed17242bb94393
Binary files /dev/null and b/Source Code/V2.1/PiacereToolProduct/about.gif differ
diff --git a/Source Code/V2.1/PiacereToolProduct/build.properties b/Source Code/V2.1/PiacereToolProduct/build.properties
new file mode 100755
index 0000000000000000000000000000000000000000..d0d65a25b7404ec7dcbed0abefaf2efdbec4bb4e
--- /dev/null
+++ b/Source Code/V2.1/PiacereToolProduct/build.properties	
@@ -0,0 +1,11 @@
+output.. = bin/
+bin.includes = META-INF/,\
+               .,\
+               plugin_customization.ini,\
+               plugin.xml,\
+               PiacereToolProduct.product,\
+               about.gif,\
+               splash.bmp,\
+               about.jpg,\
+               Piacere/
+source.. = src/
diff --git a/Source Code/V2.1/PiacereToolProduct/plugin.xml b/Source Code/V2.1/PiacereToolProduct/plugin.xml
new file mode 100755
index 0000000000000000000000000000000000000000..30547f73ef71151537dc02e887d575eb7b08afd8
--- /dev/null
+++ b/Source Code/V2.1/PiacereToolProduct/plugin.xml	
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+<plugin>
+
+   <extension
+         id="PiacereProductID"
+         point="org.eclipse.core.runtime.products">
+      <product
+            application="org.eclipse.ui.ide.workbench"
+            name="Piacere">
+         <property
+               name="windowImages"
+               value="Piacere/PiacereIcons/PiacereIcon_16x16.png,Piacere/PiacereIcons/PiacereIcon_32x32.png,Piacere/PiacereIcons/PiacereIcon_48x48.png,Piacere/PiacereIcons/PiacereIcon_64x64.png,Piacere/PiacereIcons/PiacereIcon_128x128.png,Piacere/PiacereIcons/PiacereIcon_256x256.png">
+         </property>
+         <property
+               name="aboutImage"
+               value="about.gif">
+         </property>
+         <property
+               name="startupForegroundColor"
+               value="3A484E">
+         </property>
+         <property
+               name="startupProgressRect"
+               value="2,310,448,10">
+         </property>
+         <property
+               name="startupMessageRect"
+               value="7,290,320,20">
+         </property>
+         <property
+               name="appName"
+               value="Piacere">
+         </property>
+         <property
+               name="preferenceCustomization"
+               value="plugin_customization.ini">
+         </property>
+      </product>
+   </extension>
+
+</plugin>
diff --git a/Source Code/V2.1/PiacereToolProduct/plugin_customization.ini b/Source Code/V2.1/PiacereToolProduct/plugin_customization.ini
new file mode 100755
index 0000000000000000000000000000000000000000..333fab9da760c08792618efc88d4a4c7a17b2fc3
--- /dev/null
+++ b/Source Code/V2.1/PiacereToolProduct/plugin_customization.ini	
@@ -0,0 +1 @@
+org.eclipse.ui/SHOW_PROGRESS_ON_STARTUP = true
diff --git a/Source Code/V2.1/PiacereToolProduct/splash.bmp b/Source Code/V2.1/PiacereToolProduct/splash.bmp
new file mode 100644
index 0000000000000000000000000000000000000000..37657b9f9b8ec76fe67f585268a1a0efdeca75f6
Binary files /dev/null and b/Source Code/V2.1/PiacereToolProduct/splash.bmp differ
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/README.md b/THEIA (DEPRECATED)/Extensions/DOMLValidator/README.md
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/lib/browser/DOMLValidator-contribution.d.ts b/THEIA (DEPRECATED)/Extensions/DOMLValidator/lib/browser/DOMLValidator-contribution.d.ts
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/lib/browser/DOMLValidator-contribution.d.ts.map b/THEIA (DEPRECATED)/Extensions/DOMLValidator/lib/browser/DOMLValidator-contribution.d.ts.map
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/lib/browser/DOMLValidator-contribution.js b/THEIA (DEPRECATED)/Extensions/DOMLValidator/lib/browser/DOMLValidator-contribution.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/lib/browser/DOMLValidator-contribution.js.map b/THEIA (DEPRECATED)/Extensions/DOMLValidator/lib/browser/DOMLValidator-contribution.js.map
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/lib/browser/DOMLValidator-frontend-module.d.ts b/THEIA (DEPRECATED)/Extensions/DOMLValidator/lib/browser/DOMLValidator-frontend-module.d.ts
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/lib/browser/DOMLValidator-frontend-module.d.ts.map b/THEIA (DEPRECATED)/Extensions/DOMLValidator/lib/browser/DOMLValidator-frontend-module.d.ts.map
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/lib/browser/DOMLValidator-frontend-module.js b/THEIA (DEPRECATED)/Extensions/DOMLValidator/lib/browser/DOMLValidator-frontend-module.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/lib/browser/DOMLValidator-frontend-module.js.map b/THEIA (DEPRECATED)/Extensions/DOMLValidator/lib/browser/DOMLValidator-frontend-module.js.map
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/@theia/plugin/LICENSE b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/@theia/plugin/LICENSE
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/@theia/plugin/README.md b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/@theia/plugin/README.md
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/@theia/plugin/package.json b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/@theia/plugin/package.json
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/@theia/plugin/src/package.spec.ts b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/@theia/plugin/src/package.spec.ts
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/@theia/plugin/src/theia-proposed.d.ts b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/@theia/plugin/src/theia-proposed.d.ts
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/@theia/plugin/src/theia.d.ts b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/@theia/plugin/src/theia.d.ts
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/balanced-match/.github/FUNDING.yml b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/balanced-match/.github/FUNDING.yml
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/balanced-match/LICENSE.md b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/balanced-match/LICENSE.md
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/balanced-match/README.md b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/balanced-match/README.md
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/balanced-match/index.js b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/balanced-match/index.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/balanced-match/package.json b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/balanced-match/package.json
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/brace-expansion/LICENSE b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/brace-expansion/LICENSE
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/brace-expansion/README.md b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/brace-expansion/README.md
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/brace-expansion/index.js b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/brace-expansion/index.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/brace-expansion/package.json b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/brace-expansion/package.json
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/concat-map/.travis.yml b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/concat-map/.travis.yml
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/concat-map/LICENSE b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/concat-map/LICENSE
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/concat-map/README.markdown b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/concat-map/README.markdown
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/concat-map/example/map.js b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/concat-map/example/map.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/concat-map/index.js b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/concat-map/index.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/concat-map/package.json b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/concat-map/package.json
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/concat-map/test/map.js b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/concat-map/test/map.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/fs-extra/CHANGELOG.md b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/fs-extra/CHANGELOG.md
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/fs-extra/LICENSE b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/fs-extra/LICENSE
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/fs-extra/README.md b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/fs-extra/README.md
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/fs-extra/lib/copy-sync/copy-sync.js b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/fs-extra/lib/copy-sync/copy-sync.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/fs-extra/lib/copy-sync/index.js b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/fs-extra/lib/copy-sync/index.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/fs-extra/lib/copy/copy.js b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/fs-extra/lib/copy/copy.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/fs-extra/lib/copy/index.js b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/fs-extra/lib/copy/index.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/fs-extra/lib/empty/index.js b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/fs-extra/lib/empty/index.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/fs-extra/lib/ensure/file.js b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/fs-extra/lib/ensure/file.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/fs-extra/lib/ensure/index.js b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/fs-extra/lib/ensure/index.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/fs-extra/lib/ensure/link.js b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/fs-extra/lib/ensure/link.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/fs-extra/lib/ensure/symlink-paths.js b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/fs-extra/lib/ensure/symlink-paths.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/fs-extra/lib/ensure/symlink-type.js b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/fs-extra/lib/ensure/symlink-type.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/fs-extra/lib/ensure/symlink.js b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/fs-extra/lib/ensure/symlink.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/fs-extra/lib/fs/index.js b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/fs-extra/lib/fs/index.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/fs-extra/lib/index.js b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/fs-extra/lib/index.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/fs-extra/lib/json/index.js b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/fs-extra/lib/json/index.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/fs-extra/lib/json/jsonfile.js b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/fs-extra/lib/json/jsonfile.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/fs-extra/lib/json/output-json-sync.js b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/fs-extra/lib/json/output-json-sync.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/fs-extra/lib/json/output-json.js b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/fs-extra/lib/json/output-json.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/fs-extra/lib/mkdirs/index.js b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/fs-extra/lib/mkdirs/index.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/fs-extra/lib/mkdirs/make-dir.js b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/fs-extra/lib/mkdirs/make-dir.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/fs-extra/lib/mkdirs/utils.js b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/fs-extra/lib/mkdirs/utils.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/fs-extra/lib/move-sync/index.js b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/fs-extra/lib/move-sync/index.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/fs-extra/lib/move-sync/move-sync.js b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/fs-extra/lib/move-sync/move-sync.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/fs-extra/lib/move/index.js b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/fs-extra/lib/move/index.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/fs-extra/lib/move/move.js b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/fs-extra/lib/move/move.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/fs-extra/lib/output/index.js b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/fs-extra/lib/output/index.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/fs-extra/lib/path-exists/index.js b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/fs-extra/lib/path-exists/index.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/fs-extra/lib/remove/index.js b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/fs-extra/lib/remove/index.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/fs-extra/lib/remove/rimraf.js b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/fs-extra/lib/remove/rimraf.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/fs-extra/lib/util/stat.js b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/fs-extra/lib/util/stat.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/fs-extra/lib/util/utimes.js b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/fs-extra/lib/util/utimes.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/fs-extra/package.json b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/fs-extra/package.json
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/fs.realpath/LICENSE b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/fs.realpath/LICENSE
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/fs.realpath/README.md b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/fs.realpath/README.md
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/fs.realpath/index.js b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/fs.realpath/index.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/fs.realpath/old.js b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/fs.realpath/old.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/fs.realpath/package.json b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/fs.realpath/package.json
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/fs/README.md b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/fs/README.md
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/fs/package.json b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/fs/package.json
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/glob/LICENSE b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/glob/LICENSE
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/glob/README.md b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/glob/README.md
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/glob/common.js b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/glob/common.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/glob/glob.js b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/glob/glob.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/glob/package.json b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/glob/package.json
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/glob/sync.js b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/glob/sync.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/graceful-fs/LICENSE b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/graceful-fs/LICENSE
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/graceful-fs/README.md b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/graceful-fs/README.md
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/graceful-fs/clone.js b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/graceful-fs/clone.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/graceful-fs/graceful-fs.js b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/graceful-fs/graceful-fs.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/graceful-fs/legacy-streams.js b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/graceful-fs/legacy-streams.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/graceful-fs/package.json b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/graceful-fs/package.json
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/graceful-fs/polyfills.js b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/graceful-fs/polyfills.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/inflight/LICENSE b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/inflight/LICENSE
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/inflight/README.md b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/inflight/README.md
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/inflight/inflight.js b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/inflight/inflight.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/inflight/package.json b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/inflight/package.json
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/inherits/LICENSE b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/inherits/LICENSE
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/inherits/README.md b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/inherits/README.md
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/inherits/inherits.js b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/inherits/inherits.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/inherits/inherits_browser.js b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/inherits/inherits_browser.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/inherits/package.json b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/inherits/package.json
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/jsonfile/CHANGELOG.md b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/jsonfile/CHANGELOG.md
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/jsonfile/LICENSE b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/jsonfile/LICENSE
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/jsonfile/README.md b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/jsonfile/README.md
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/jsonfile/index.js b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/jsonfile/index.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/jsonfile/package.json b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/jsonfile/package.json
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/jsonfile/utils.js b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/jsonfile/utils.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/minimatch/LICENSE b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/minimatch/LICENSE
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/minimatch/README.md b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/minimatch/README.md
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/minimatch/minimatch.js b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/minimatch/minimatch.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/minimatch/package.json b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/minimatch/package.json
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/once/LICENSE b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/once/LICENSE
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/once/README.md b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/once/README.md
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/once/once.js b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/once/once.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/once/package.json b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/once/package.json
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/path-is-absolute/index.js b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/path-is-absolute/index.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/path-is-absolute/license b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/path-is-absolute/license
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/path-is-absolute/package.json b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/path-is-absolute/package.json
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/path-is-absolute/readme.md b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/path-is-absolute/readme.md
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/punycode/LICENSE-MIT.txt b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/punycode/LICENSE-MIT.txt
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/punycode/README.md b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/punycode/README.md
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/punycode/package.json b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/punycode/package.json
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/punycode/punycode.es6.js b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/punycode/punycode.es6.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/punycode/punycode.js b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/punycode/punycode.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/rimraf/CHANGELOG.md b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/rimraf/CHANGELOG.md
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/rimraf/LICENSE b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/rimraf/LICENSE
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/rimraf/README.md b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/rimraf/README.md
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/rimraf/package.json b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/rimraf/package.json
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/rimraf/rimraf.js b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/rimraf/rimraf.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/universalify/LICENSE b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/universalify/LICENSE
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/universalify/README.md b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/universalify/README.md
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/universalify/index.js b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/universalify/index.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/universalify/package.json b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/universalify/package.json
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/wrappy/LICENSE b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/wrappy/LICENSE
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/wrappy/README.md b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/wrappy/README.md
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/wrappy/package.json b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/wrappy/package.json
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/wrappy/wrappy.js b/THEIA (DEPRECATED)/Extensions/DOMLValidator/node_modules/wrappy/wrappy.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/package-lock.json b/THEIA (DEPRECATED)/Extensions/DOMLValidator/package-lock.json
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/package.json b/THEIA (DEPRECATED)/Extensions/DOMLValidator/package.json
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/src/browser/DOMLValidator-contribution.ts b/THEIA (DEPRECATED)/Extensions/DOMLValidator/src/browser/DOMLValidator-contribution.ts
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/src/browser/DOMLValidator-frontend-module.ts b/THEIA (DEPRECATED)/Extensions/DOMLValidator/src/browser/DOMLValidator-frontend-module.ts
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/DOMLValidator/tsconfig.json b/THEIA (DEPRECATED)/Extensions/DOMLValidator/tsconfig.json
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/README.md b/THEIA (DEPRECATED)/Extensions/domlExt/README.md
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/lib/browser/doml-contribution.d.ts b/THEIA (DEPRECATED)/Extensions/domlExt/lib/browser/doml-contribution.d.ts
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/lib/browser/doml-contribution.d.ts.map b/THEIA (DEPRECATED)/Extensions/domlExt/lib/browser/doml-contribution.d.ts.map
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/lib/browser/doml-contribution.js b/THEIA (DEPRECATED)/Extensions/domlExt/lib/browser/doml-contribution.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/lib/browser/doml-contribution.js.map b/THEIA (DEPRECATED)/Extensions/domlExt/lib/browser/doml-contribution.js.map
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/lib/browser/doml-label-provider-contribution.d.ts b/THEIA (DEPRECATED)/Extensions/domlExt/lib/browser/doml-label-provider-contribution.d.ts
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/lib/browser/doml-label-provider-contribution.d.ts.map b/THEIA (DEPRECATED)/Extensions/domlExt/lib/browser/doml-label-provider-contribution.d.ts.map
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/lib/browser/doml-label-provider-contribution.js b/THEIA (DEPRECATED)/Extensions/domlExt/lib/browser/doml-label-provider-contribution.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/lib/browser/doml-label-provider-contribution.js.map b/THEIA (DEPRECATED)/Extensions/domlExt/lib/browser/doml-label-provider-contribution.js.map
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/lib/browser/doml/doml-editor-widget.d.ts b/THEIA (DEPRECATED)/Extensions/domlExt/lib/browser/doml/doml-editor-widget.d.ts
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/lib/browser/doml/doml-editor-widget.d.ts.map b/THEIA (DEPRECATED)/Extensions/domlExt/lib/browser/doml/doml-editor-widget.d.ts.map
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/lib/browser/doml/doml-editor-widget.js b/THEIA (DEPRECATED)/Extensions/domlExt/lib/browser/doml/doml-editor-widget.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/lib/browser/doml/doml-editor-widget.js.map b/THEIA (DEPRECATED)/Extensions/domlExt/lib/browser/doml/doml-editor-widget.js.map
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/lib/browser/doml/doml-label-provider.d.ts b/THEIA (DEPRECATED)/Extensions/domlExt/lib/browser/doml/doml-label-provider.d.ts
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/lib/browser/doml/doml-label-provider.d.ts.map b/THEIA (DEPRECATED)/Extensions/domlExt/lib/browser/doml/doml-label-provider.d.ts.map
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/lib/browser/doml/doml-label-provider.js b/THEIA (DEPRECATED)/Extensions/domlExt/lib/browser/doml/doml-label-provider.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/lib/browser/doml/doml-label-provider.js.map b/THEIA (DEPRECATED)/Extensions/domlExt/lib/browser/doml/doml-label-provider.js.map
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/lib/browser/doml/doml-model-service.d.ts b/THEIA (DEPRECATED)/Extensions/domlExt/lib/browser/doml/doml-model-service.d.ts
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/lib/browser/doml/doml-model-service.d.ts.map b/THEIA (DEPRECATED)/Extensions/domlExt/lib/browser/doml/doml-model-service.d.ts.map
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/lib/browser/doml/doml-model-service.js b/THEIA (DEPRECATED)/Extensions/domlExt/lib/browser/doml/doml-model-service.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/lib/browser/doml/doml-model-service.js.map b/THEIA (DEPRECATED)/Extensions/domlExt/lib/browser/doml/doml-model-service.js.map
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/lib/browser/doml/doml-model.d.ts b/THEIA (DEPRECATED)/Extensions/domlExt/lib/browser/doml/doml-model.d.ts
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/lib/browser/doml/doml-model.d.ts.map b/THEIA (DEPRECATED)/Extensions/domlExt/lib/browser/doml/doml-model.d.ts.map
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/lib/browser/doml/doml-model.js b/THEIA (DEPRECATED)/Extensions/domlExt/lib/browser/doml/doml-model.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/lib/browser/doml/doml-model.js.map b/THEIA (DEPRECATED)/Extensions/domlExt/lib/browser/doml/doml-model.js.map
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/lib/browser/doml/doml-node-factory.d.ts b/THEIA (DEPRECATED)/Extensions/domlExt/lib/browser/doml/doml-node-factory.d.ts
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/lib/browser/doml/doml-node-factory.d.ts.map b/THEIA (DEPRECATED)/Extensions/domlExt/lib/browser/doml/doml-node-factory.d.ts.map
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/lib/browser/doml/doml-node-factory.js b/THEIA (DEPRECATED)/Extensions/domlExt/lib/browser/doml/doml-node-factory.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/lib/browser/doml/doml-node-factory.js.map b/THEIA (DEPRECATED)/Extensions/domlExt/lib/browser/doml/doml-node-factory.js.map
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/lib/browser/doml/doml-schema.d.ts b/THEIA (DEPRECATED)/Extensions/domlExt/lib/browser/doml/doml-schema.d.ts
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/lib/browser/doml/doml-schema.d.ts.map b/THEIA (DEPRECATED)/Extensions/domlExt/lib/browser/doml/doml-schema.d.ts.map
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/lib/browser/doml/doml-schema.js b/THEIA (DEPRECATED)/Extensions/domlExt/lib/browser/doml/doml-schema.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/lib/browser/doml/doml-schema.js.map b/THEIA (DEPRECATED)/Extensions/domlExt/lib/browser/doml/doml-schema.js.map
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/lib/browser/doml/doml-views.d.ts b/THEIA (DEPRECATED)/Extensions/domlExt/lib/browser/doml/doml-views.d.ts
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/lib/browser/doml/doml-views.d.ts.map b/THEIA (DEPRECATED)/Extensions/domlExt/lib/browser/doml/doml-views.d.ts.map
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/lib/browser/doml/doml-views.js b/THEIA (DEPRECATED)/Extensions/domlExt/lib/browser/doml/doml-views.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/lib/browser/doml/doml-views.js.map b/THEIA (DEPRECATED)/Extensions/domlExt/lib/browser/doml/doml-views.js.map
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/lib/browser/domlExt-frontend-module.d.ts b/THEIA (DEPRECATED)/Extensions/domlExt/lib/browser/domlExt-frontend-module.d.ts
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/lib/browser/domlExt-frontend-module.d.ts.map b/THEIA (DEPRECATED)/Extensions/domlExt/lib/browser/domlExt-frontend-module.d.ts.map
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/lib/browser/domlExt-frontend-module.js b/THEIA (DEPRECATED)/Extensions/domlExt/lib/browser/domlExt-frontend-module.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/lib/browser/domlExt-frontend-module.js.map b/THEIA (DEPRECATED)/Extensions/domlExt/lib/browser/domlExt-frontend-module.js.map
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/lib/browser/example-file/example-file-command.d.ts b/THEIA (DEPRECATED)/Extensions/domlExt/lib/browser/example-file/example-file-command.d.ts
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/lib/browser/example-file/example-file-command.d.ts.map b/THEIA (DEPRECATED)/Extensions/domlExt/lib/browser/example-file/example-file-command.d.ts.map
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/lib/browser/example-file/example-file-command.js b/THEIA (DEPRECATED)/Extensions/domlExt/lib/browser/example-file/example-file-command.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/lib/browser/example-file/example-file-command.js.map b/THEIA (DEPRECATED)/Extensions/domlExt/lib/browser/example-file/example-file-command.js.map
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/lib/browser/example-file/example-file-contribution.d.ts b/THEIA (DEPRECATED)/Extensions/domlExt/lib/browser/example-file/example-file-contribution.d.ts
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/lib/browser/example-file/example-file-contribution.d.ts.map b/THEIA (DEPRECATED)/Extensions/domlExt/lib/browser/example-file/example-file-contribution.d.ts.map
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/lib/browser/example-file/example-file-contribution.js b/THEIA (DEPRECATED)/Extensions/domlExt/lib/browser/example-file/example-file-contribution.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/lib/browser/example-file/example-file-contribution.js.map b/THEIA (DEPRECATED)/Extensions/domlExt/lib/browser/example-file/example-file-contribution.js.map
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@apidevtools/json-schema-ref-parser/CHANGELOG.md b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@apidevtools/json-schema-ref-parser/CHANGELOG.md
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@apidevtools/json-schema-ref-parser/LICENSE b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@apidevtools/json-schema-ref-parser/LICENSE
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@apidevtools/json-schema-ref-parser/README.md b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@apidevtools/json-schema-ref-parser/README.md
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@apidevtools/json-schema-ref-parser/lib/bundle.js b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@apidevtools/json-schema-ref-parser/lib/bundle.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@apidevtools/json-schema-ref-parser/lib/dereference.js b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@apidevtools/json-schema-ref-parser/lib/dereference.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@apidevtools/json-schema-ref-parser/lib/index.d.ts b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@apidevtools/json-schema-ref-parser/lib/index.d.ts
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@apidevtools/json-schema-ref-parser/lib/index.js b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@apidevtools/json-schema-ref-parser/lib/index.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@apidevtools/json-schema-ref-parser/lib/normalize-args.js b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@apidevtools/json-schema-ref-parser/lib/normalize-args.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@apidevtools/json-schema-ref-parser/lib/options.js b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@apidevtools/json-schema-ref-parser/lib/options.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@apidevtools/json-schema-ref-parser/lib/parse.js b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@apidevtools/json-schema-ref-parser/lib/parse.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@apidevtools/json-schema-ref-parser/lib/parsers/binary.js b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@apidevtools/json-schema-ref-parser/lib/parsers/binary.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@apidevtools/json-schema-ref-parser/lib/parsers/json.js b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@apidevtools/json-schema-ref-parser/lib/parsers/json.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@apidevtools/json-schema-ref-parser/lib/parsers/text.js b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@apidevtools/json-schema-ref-parser/lib/parsers/text.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@apidevtools/json-schema-ref-parser/lib/parsers/yaml.js b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@apidevtools/json-schema-ref-parser/lib/parsers/yaml.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@apidevtools/json-schema-ref-parser/lib/pointer.js b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@apidevtools/json-schema-ref-parser/lib/pointer.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@apidevtools/json-schema-ref-parser/lib/ref.js b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@apidevtools/json-schema-ref-parser/lib/ref.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@apidevtools/json-schema-ref-parser/lib/refs.js b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@apidevtools/json-schema-ref-parser/lib/refs.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@apidevtools/json-schema-ref-parser/lib/resolve-external.js b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@apidevtools/json-schema-ref-parser/lib/resolve-external.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@apidevtools/json-schema-ref-parser/lib/resolvers/file.js b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@apidevtools/json-schema-ref-parser/lib/resolvers/file.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@apidevtools/json-schema-ref-parser/lib/resolvers/http.js b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@apidevtools/json-schema-ref-parser/lib/resolvers/http.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@apidevtools/json-schema-ref-parser/lib/util/errors.js b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@apidevtools/json-schema-ref-parser/lib/util/errors.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@apidevtools/json-schema-ref-parser/lib/util/plugins.js b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@apidevtools/json-schema-ref-parser/lib/util/plugins.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@apidevtools/json-schema-ref-parser/lib/util/url.js b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@apidevtools/json-schema-ref-parser/lib/util/url.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@apidevtools/json-schema-ref-parser/package.json b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@apidevtools/json-schema-ref-parser/package.json
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/CHANGELOG.md b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/CHANGELOG.md
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/LICENSE b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/LICENSE
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/README.md b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/README.md
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/cjs/constructor.d.ts b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/cjs/constructor.d.ts
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/cjs/constructor.js b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/cjs/constructor.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/cjs/constructor.js.map b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/cjs/constructor.js.map
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/cjs/extend-error.d.ts b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/cjs/extend-error.d.ts
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/cjs/extend-error.js b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/cjs/extend-error.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/cjs/extend-error.js.map b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/cjs/extend-error.js.map
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/cjs/index.d.ts b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/cjs/index.d.ts
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/cjs/index.js b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/cjs/index.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/cjs/index.js.map b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/cjs/index.js.map
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/cjs/isomorphic.browser.d.ts b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/cjs/isomorphic.browser.d.ts
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/cjs/isomorphic.browser.js b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/cjs/isomorphic.browser.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/cjs/isomorphic.browser.js.map b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/cjs/isomorphic.browser.js.map
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/cjs/isomorphic.node.d.ts b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/cjs/isomorphic.node.d.ts
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/cjs/isomorphic.node.js b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/cjs/isomorphic.node.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/cjs/isomorphic.node.js.map b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/cjs/isomorphic.node.js.map
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/cjs/normalize.d.ts b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/cjs/normalize.d.ts
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/cjs/normalize.js b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/cjs/normalize.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/cjs/normalize.js.map b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/cjs/normalize.js.map
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/cjs/singleton.d.ts b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/cjs/singleton.d.ts
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/cjs/singleton.js b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/cjs/singleton.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/cjs/singleton.js.map b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/cjs/singleton.js.map
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/cjs/stack.d.ts b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/cjs/stack.d.ts
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/cjs/stack.js b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/cjs/stack.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/cjs/stack.js.map b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/cjs/stack.js.map
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/cjs/to-json.d.ts b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/cjs/to-json.d.ts
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/cjs/to-json.js b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/cjs/to-json.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/cjs/to-json.js.map b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/cjs/to-json.js.map
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/cjs/types.d.ts b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/cjs/types.d.ts
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/cjs/types.js b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/cjs/types.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/cjs/types.js.map b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/cjs/types.js.map
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/esm/constructor.d.ts b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/esm/constructor.d.ts
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/esm/constructor.js b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/esm/constructor.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/esm/constructor.js.map b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/esm/constructor.js.map
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/esm/extend-error.d.ts b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/esm/extend-error.d.ts
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/esm/extend-error.js b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/esm/extend-error.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/esm/extend-error.js.map b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/esm/extend-error.js.map
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/esm/index.d.ts b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/esm/index.d.ts
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/esm/index.js b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/esm/index.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/esm/index.js.map b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/esm/index.js.map
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/esm/isomorphic.browser.d.ts b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/esm/isomorphic.browser.d.ts
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/esm/isomorphic.browser.js b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/esm/isomorphic.browser.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/esm/isomorphic.browser.js.map b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/esm/isomorphic.browser.js.map
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/esm/isomorphic.node.d.ts b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/esm/isomorphic.node.d.ts
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/esm/isomorphic.node.js b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/esm/isomorphic.node.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/esm/isomorphic.node.js.map b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/esm/isomorphic.node.js.map
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/esm/normalize.d.ts b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/esm/normalize.d.ts
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/esm/normalize.js b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/esm/normalize.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/esm/normalize.js.map b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/esm/normalize.js.map
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/esm/singleton.d.ts b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/esm/singleton.d.ts
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/esm/singleton.js b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/esm/singleton.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/esm/singleton.js.map b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/esm/singleton.js.map
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/esm/stack.d.ts b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/esm/stack.d.ts
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/esm/stack.js b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/esm/stack.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/esm/stack.js.map b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/esm/stack.js.map
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/esm/to-json.d.ts b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/esm/to-json.d.ts
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/esm/to-json.js b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/esm/to-json.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/esm/to-json.js.map b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/esm/to-json.js.map
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/esm/types.d.ts b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/esm/types.d.ts
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/esm/types.js b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/esm/types.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/esm/types.js.map b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/esm/types.js.map
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/package.json b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/@jsdevtools/ono/package.json
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/argparse/CHANGELOG.md b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/argparse/CHANGELOG.md
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/argparse/LICENSE b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/argparse/LICENSE
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/argparse/README.md b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/argparse/README.md
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/argparse/argparse.js b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/argparse/argparse.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/argparse/lib/sub.js b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/argparse/lib/sub.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/argparse/lib/textwrap.js b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/argparse/lib/textwrap.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/argparse/package.json b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/argparse/package.json
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/call-me-maybe/.npmignore b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/call-me-maybe/.npmignore
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/call-me-maybe/.travis.yml b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/call-me-maybe/.travis.yml
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/call-me-maybe/.zuul.yml b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/call-me-maybe/.zuul.yml
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/call-me-maybe/LICENSE b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/call-me-maybe/LICENSE
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/call-me-maybe/README.md b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/call-me-maybe/README.md
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/call-me-maybe/index.js b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/call-me-maybe/index.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/call-me-maybe/package.json b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/call-me-maybe/package.json
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/call-me-maybe/test/maybeTest.js b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/call-me-maybe/test/maybeTest.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/js-yaml/CHANGELOG.md b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/js-yaml/CHANGELOG.md
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/js-yaml/LICENSE b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/js-yaml/LICENSE
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/js-yaml/README.md b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/js-yaml/README.md
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/js-yaml/dist/js-yaml.js b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/js-yaml/dist/js-yaml.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/js-yaml/dist/js-yaml.min.js b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/js-yaml/dist/js-yaml.min.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/js-yaml/dist/js-yaml.mjs b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/js-yaml/dist/js-yaml.mjs
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/js-yaml/index.js b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/js-yaml/index.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/js-yaml/lib/common.js b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/js-yaml/lib/common.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/js-yaml/lib/dumper.js b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/js-yaml/lib/dumper.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/js-yaml/lib/exception.js b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/js-yaml/lib/exception.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/js-yaml/lib/loader.js b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/js-yaml/lib/loader.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/js-yaml/lib/schema.js b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/js-yaml/lib/schema.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/js-yaml/lib/schema/core.js b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/js-yaml/lib/schema/core.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/js-yaml/lib/schema/default.js b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/js-yaml/lib/schema/default.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/js-yaml/lib/schema/failsafe.js b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/js-yaml/lib/schema/failsafe.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/js-yaml/lib/schema/json.js b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/js-yaml/lib/schema/json.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/js-yaml/lib/snippet.js b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/js-yaml/lib/snippet.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/js-yaml/lib/type.js b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/js-yaml/lib/type.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/js-yaml/lib/type/binary.js b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/js-yaml/lib/type/binary.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/js-yaml/lib/type/bool.js b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/js-yaml/lib/type/bool.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/js-yaml/lib/type/float.js b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/js-yaml/lib/type/float.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/js-yaml/lib/type/int.js b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/js-yaml/lib/type/int.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/js-yaml/lib/type/map.js b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/js-yaml/lib/type/map.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/js-yaml/lib/type/merge.js b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/js-yaml/lib/type/merge.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/js-yaml/lib/type/null.js b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/js-yaml/lib/type/null.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/js-yaml/lib/type/omap.js b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/js-yaml/lib/type/omap.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/js-yaml/lib/type/pairs.js b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/js-yaml/lib/type/pairs.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/js-yaml/lib/type/seq.js b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/js-yaml/lib/type/seq.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/js-yaml/lib/type/set.js b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/js-yaml/lib/type/set.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/js-yaml/lib/type/str.js b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/js-yaml/lib/type/str.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/js-yaml/lib/type/timestamp.js b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/js-yaml/lib/type/timestamp.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/js-yaml/package.json b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/js-yaml/package.json
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/json-schema-ref-parser/CHANGELOG.md b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/json-schema-ref-parser/CHANGELOG.md
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/json-schema-ref-parser/LICENSE b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/json-schema-ref-parser/LICENSE
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/json-schema-ref-parser/README.md b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/json-schema-ref-parser/README.md
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/json-schema-ref-parser/index.d.ts b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/json-schema-ref-parser/index.d.ts
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/json-schema-ref-parser/index.js b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/json-schema-ref-parser/index.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/json-schema-ref-parser/package.json b/THEIA (DEPRECATED)/Extensions/domlExt/node_modules_bkp/json-schema-ref-parser/package.json
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/package.json b/THEIA (DEPRECATED)/Extensions/domlExt/package.json
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/src/browser/doml-contribution.ts b/THEIA (DEPRECATED)/Extensions/domlExt/src/browser/doml-contribution.ts
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/src/browser/doml-label-provider-contribution.ts b/THEIA (DEPRECATED)/Extensions/domlExt/src/browser/doml-label-provider-contribution.ts
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/src/browser/doml/doml-editor-widget.ts b/THEIA (DEPRECATED)/Extensions/domlExt/src/browser/doml/doml-editor-widget.ts
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/src/browser/doml/doml-label-provider.ts b/THEIA (DEPRECATED)/Extensions/domlExt/src/browser/doml/doml-label-provider.ts
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/src/browser/doml/doml-model-service.ts b/THEIA (DEPRECATED)/Extensions/domlExt/src/browser/doml/doml-model-service.ts
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/src/browser/doml/doml-model.ts b/THEIA (DEPRECATED)/Extensions/domlExt/src/browser/doml/doml-model.ts
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/src/browser/doml/doml-node-factory.ts b/THEIA (DEPRECATED)/Extensions/domlExt/src/browser/doml/doml-node-factory.ts
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/src/browser/doml/doml-schema.ts b/THEIA (DEPRECATED)/Extensions/domlExt/src/browser/doml/doml-schema.ts
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/src/browser/doml/doml-views.ts b/THEIA (DEPRECATED)/Extensions/domlExt/src/browser/doml/doml-views.ts
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/src/browser/domlExt-frontend-module.ts b/THEIA (DEPRECATED)/Extensions/domlExt/src/browser/domlExt-frontend-module.ts
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/src/browser/example-file/example-file-command.ts b/THEIA (DEPRECATED)/Extensions/domlExt/src/browser/example-file/example-file-command.ts
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/src/browser/example-file/example-file-contribution.ts b/THEIA (DEPRECATED)/Extensions/domlExt/src/browser/example-file/example-file-contribution.ts
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/src/browser/style/editor.css b/THEIA (DEPRECATED)/Extensions/domlExt/src/browser/style/editor.css
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/tsconfig.json b/THEIA (DEPRECATED)/Extensions/domlExt/tsconfig.json
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlExt/yarn-error.log b/THEIA (DEPRECATED)/Extensions/domlExt/yarn-error.log
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlgenerator/README.md b/THEIA (DEPRECATED)/Extensions/domlgenerator/README.md
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlgenerator/lib/browser/domlgenerator-contribution.d.ts b/THEIA (DEPRECATED)/Extensions/domlgenerator/lib/browser/domlgenerator-contribution.d.ts
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlgenerator/lib/browser/domlgenerator-contribution.d.ts.map b/THEIA (DEPRECATED)/Extensions/domlgenerator/lib/browser/domlgenerator-contribution.d.ts.map
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlgenerator/lib/browser/domlgenerator-contribution.js b/THEIA (DEPRECATED)/Extensions/domlgenerator/lib/browser/domlgenerator-contribution.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlgenerator/lib/browser/domlgenerator-contribution.js.map b/THEIA (DEPRECATED)/Extensions/domlgenerator/lib/browser/domlgenerator-contribution.js.map
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlgenerator/lib/browser/domlgenerator-frontend-module.d.ts b/THEIA (DEPRECATED)/Extensions/domlgenerator/lib/browser/domlgenerator-frontend-module.d.ts
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlgenerator/lib/browser/domlgenerator-frontend-module.d.ts.map b/THEIA (DEPRECATED)/Extensions/domlgenerator/lib/browser/domlgenerator-frontend-module.d.ts.map
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlgenerator/lib/browser/domlgenerator-frontend-module.js b/THEIA (DEPRECATED)/Extensions/domlgenerator/lib/browser/domlgenerator-frontend-module.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlgenerator/lib/browser/domlgenerator-frontend-module.js.map b/THEIA (DEPRECATED)/Extensions/domlgenerator/lib/browser/domlgenerator-frontend-module.js.map
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlgenerator/lib/common/protocol.d.ts b/THEIA (DEPRECATED)/Extensions/domlgenerator/lib/common/protocol.d.ts
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlgenerator/lib/common/protocol.d.ts.map b/THEIA (DEPRECATED)/Extensions/domlgenerator/lib/common/protocol.d.ts.map
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlgenerator/lib/common/protocol.js b/THEIA (DEPRECATED)/Extensions/domlgenerator/lib/common/protocol.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlgenerator/lib/common/protocol.js.map b/THEIA (DEPRECATED)/Extensions/domlgenerator/lib/common/protocol.js.map
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlgenerator/lib/node/domlgenerator-backend-module.d.ts b/THEIA (DEPRECATED)/Extensions/domlgenerator/lib/node/domlgenerator-backend-module.d.ts
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlgenerator/lib/node/domlgenerator-backend-module.d.ts.map b/THEIA (DEPRECATED)/Extensions/domlgenerator/lib/node/domlgenerator-backend-module.d.ts.map
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlgenerator/lib/node/domlgenerator-backend-module.js b/THEIA (DEPRECATED)/Extensions/domlgenerator/lib/node/domlgenerator-backend-module.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlgenerator/lib/node/domlgenerator-backend-module.js.map b/THEIA (DEPRECATED)/Extensions/domlgenerator/lib/node/domlgenerator-backend-module.js.map
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlgenerator/lib/node/hello-backend-service.d.ts b/THEIA (DEPRECATED)/Extensions/domlgenerator/lib/node/hello-backend-service.d.ts
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlgenerator/lib/node/hello-backend-service.d.ts.map b/THEIA (DEPRECATED)/Extensions/domlgenerator/lib/node/hello-backend-service.d.ts.map
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlgenerator/lib/node/hello-backend-service.js b/THEIA (DEPRECATED)/Extensions/domlgenerator/lib/node/hello-backend-service.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlgenerator/lib/node/hello-backend-service.js.map b/THEIA (DEPRECATED)/Extensions/domlgenerator/lib/node/hello-backend-service.js.map
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlgenerator/lib/node/hello-backend-with-client-service.d.ts b/THEIA (DEPRECATED)/Extensions/domlgenerator/lib/node/hello-backend-with-client-service.d.ts
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlgenerator/lib/node/hello-backend-with-client-service.d.ts.map b/THEIA (DEPRECATED)/Extensions/domlgenerator/lib/node/hello-backend-with-client-service.d.ts.map
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlgenerator/lib/node/hello-backend-with-client-service.js b/THEIA (DEPRECATED)/Extensions/domlgenerator/lib/node/hello-backend-with-client-service.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlgenerator/lib/node/hello-backend-with-client-service.js.map b/THEIA (DEPRECATED)/Extensions/domlgenerator/lib/node/hello-backend-with-client-service.js.map
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlgenerator/node_modules/rimraf/CHANGELOG.md b/THEIA (DEPRECATED)/Extensions/domlgenerator/node_modules/rimraf/CHANGELOG.md
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlgenerator/node_modules/rimraf/LICENSE b/THEIA (DEPRECATED)/Extensions/domlgenerator/node_modules/rimraf/LICENSE
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlgenerator/node_modules/rimraf/README.md b/THEIA (DEPRECATED)/Extensions/domlgenerator/node_modules/rimraf/README.md
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlgenerator/node_modules/rimraf/package.json b/THEIA (DEPRECATED)/Extensions/domlgenerator/node_modules/rimraf/package.json
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlgenerator/node_modules/rimraf/rimraf.js b/THEIA (DEPRECATED)/Extensions/domlgenerator/node_modules/rimraf/rimraf.js
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlgenerator/package.json b/THEIA (DEPRECATED)/Extensions/domlgenerator/package.json
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlgenerator/src/browser/domlgenerator-contribution.ts b/THEIA (DEPRECATED)/Extensions/domlgenerator/src/browser/domlgenerator-contribution.ts
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlgenerator/src/browser/domlgenerator-frontend-module.ts b/THEIA (DEPRECATED)/Extensions/domlgenerator/src/browser/domlgenerator-frontend-module.ts
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlgenerator/src/common/protocol.ts b/THEIA (DEPRECATED)/Extensions/domlgenerator/src/common/protocol.ts
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlgenerator/src/node/domlgenerator-backend-module.ts b/THEIA (DEPRECATED)/Extensions/domlgenerator/src/node/domlgenerator-backend-module.ts
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlgenerator/src/node/hello-backend-service.ts b/THEIA (DEPRECATED)/Extensions/domlgenerator/src/node/hello-backend-service.ts
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlgenerator/src/node/hello-backend-with-client-service.ts b/THEIA (DEPRECATED)/Extensions/domlgenerator/src/node/hello-backend-with-client-service.ts
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/Extensions/domlgenerator/tsconfig.json b/THEIA (DEPRECATED)/Extensions/domlgenerator/tsconfig.json
old mode 100755
new mode 100644
diff --git a/THEIA (DEPRECATED)/README.md b/THEIA (DEPRECATED)/README.md
old mode 100755
new mode 100644
diff --git a/docs/.vscode/configurationCache.log b/docs/.vscode/configurationCache.log
old mode 100755
new mode 100644
diff --git a/docs/.vscode/dryrun.log b/docs/.vscode/dryrun.log
old mode 100755
new mode 100644
diff --git a/docs/.vscode/settings.json b/docs/.vscode/settings.json
old mode 100755
new mode 100644
diff --git a/docs/.vscode/targets.log b/docs/.vscode/targets.log
old mode 100755
new mode 100644
diff --git a/docs/Makefile b/docs/Makefile
old mode 100755
new mode 100644
diff --git a/docs/_build/doctrees/download.doctree b/docs/_build/doctrees/download.doctree
old mode 100755
new mode 100644
diff --git a/docs/_build/doctrees/environment.pickle b/docs/_build/doctrees/environment.pickle
old mode 100755
new mode 100644
diff --git a/docs/_build/doctrees/implementation.doctree b/docs/_build/doctrees/implementation.doctree
old mode 100755
new mode 100644
diff --git a/docs/_build/doctrees/index.doctree b/docs/_build/doctrees/index.doctree
old mode 100755
new mode 100644
diff --git a/docs/_build/doctrees/manual.doctree b/docs/_build/doctrees/manual.doctree
old mode 100755
new mode 100644
diff --git a/docs/_build/html/.buildinfo b/docs/_build/html/.buildinfo
old mode 100755
new mode 100644
diff --git a/docs/_build/html/_images/Ecomponents.png b/docs/_build/html/_images/Ecomponents.png
old mode 100755
new mode 100644
diff --git a/docs/_build/html/_images/Generador_domlx.png b/docs/_build/html/_images/Generador_domlx.png
old mode 100755
new mode 100644
diff --git a/docs/_build/html/_images/Guardar_resultado_optimizador.png b/docs/_build/html/_images/Guardar_resultado_optimizador.png
old mode 100755
new mode 100644
diff --git a/docs/_build/html/_images/Model_validation_nombre.png b/docs/_build/html/_images/Model_validation_nombre.png
old mode 100755
new mode 100644
diff --git a/docs/_build/html/_images/Nombre_resultado_optimizador.png b/docs/_build/html/_images/Nombre_resultado_optimizador.png
old mode 100755
new mode 100644
diff --git a/docs/_build/html/_images/Perspectiva_Piacere.png b/docs/_build/html/_images/Perspectiva_Piacere.png
old mode 100755
new mode 100644
diff --git a/docs/_build/html/_images/Proyecto_nuevo.png b/docs/_build/html/_images/Proyecto_nuevo.png
old mode 100755
new mode 100644
diff --git a/docs/_build/html/_images/Resultado_validacion.png b/docs/_build/html/_images/Resultado_validacion.png
old mode 100755
new mode 100644
diff --git a/docs/_build/html/_images/Save_result_validation.png b/docs/_build/html/_images/Save_result_validation.png
old mode 100755
new mode 100644
diff --git a/docs/_build/html/_images/Security_scan.png b/docs/_build/html/_images/Security_scan.png
old mode 100755
new mode 100644
diff --git a/docs/_build/html/_images/Submenu_doml.png b/docs/_build/html/_images/Submenu_doml.png
old mode 100755
new mode 100644
diff --git a/docs/_build/html/_images/Submenu_domlx.png b/docs/_build/html/_images/Submenu_domlx.png
old mode 100755
new mode 100644
diff --git a/docs/_build/html/_images/Submenu_zip.png b/docs/_build/html/_images/Submenu_zip.png
old mode 100755
new mode 100644
diff --git a/docs/_build/html/_images/Ventana_principal.png b/docs/_build/html/_images/Ventana_principal.png
old mode 100755
new mode 100644
diff --git a/docs/_build/html/_images/acceleo.png b/docs/_build/html/_images/acceleo.png
old mode 100755
new mode 100644
diff --git a/docs/_build/html/_images/alt.png b/docs/_build/html/_images/alt.png
old mode 100755
new mode 100644
diff --git a/docs/_build/html/_images/apertura_perspectiva.png b/docs/_build/html/_images/apertura_perspectiva.png
old mode 100755
new mode 100644
diff --git a/docs/_build/html/_images/apertura_preferencias.png b/docs/_build/html/_images/apertura_preferencias.png
old mode 100755
new mode 100644
diff --git a/docs/_build/html/_images/canary1.png b/docs/_build/html/_images/canary1.png
old mode 100755
new mode 100644
diff --git a/docs/_build/html/_images/canary10.png b/docs/_build/html/_images/canary10.png
old mode 100755
new mode 100644
diff --git a/docs/_build/html/_images/canary11.png b/docs/_build/html/_images/canary11.png
old mode 100755
new mode 100644
diff --git a/docs/_build/html/_images/canary12.png b/docs/_build/html/_images/canary12.png
old mode 100755
new mode 100644
diff --git a/docs/_build/html/_images/canary2.png b/docs/_build/html/_images/canary2.png
old mode 100755
new mode 100644
diff --git a/docs/_build/html/_images/canary3.png b/docs/_build/html/_images/canary3.png
old mode 100755
new mode 100644
diff --git a/docs/_build/html/_images/canary4.png b/docs/_build/html/_images/canary4.png
old mode 100755
new mode 100644
diff --git a/docs/_build/html/_images/canary5.png b/docs/_build/html/_images/canary5.png
old mode 100755
new mode 100644
diff --git a/docs/_build/html/_images/canary6.png b/docs/_build/html/_images/canary6.png
old mode 100755
new mode 100644
diff --git a/docs/_build/html/_images/canary7.png b/docs/_build/html/_images/canary7.png
old mode 100755
new mode 100644
diff --git a/docs/_build/html/_images/canary8.png b/docs/_build/html/_images/canary8.png
old mode 100755
new mode 100644
diff --git a/docs/_build/html/_images/canary9.png b/docs/_build/html/_images/canary9.png
old mode 100755
new mode 100644
diff --git a/docs/_build/html/_images/catalogue1.png b/docs/_build/html/_images/catalogue1.png
old mode 100755
new mode 100644
diff --git a/docs/_build/html/_images/catalogue2.png b/docs/_build/html/_images/catalogue2.png
old mode 100755
new mode 100644
diff --git a/docs/_build/html/_images/contenido_preferencias.png b/docs/_build/html/_images/contenido_preferencias.png
old mode 100755
new mode 100644
diff --git a/docs/_build/html/_images/doml_file.png b/docs/_build/html/_images/doml_file.png
old mode 100755
new mode 100644
diff --git a/docs/_build/html/_images/doml_newfile.png b/docs/_build/html/_images/doml_newfile.png
old mode 100755
new mode 100644
diff --git a/docs/_build/html/_images/domlx_file.png b/docs/_build/html/_images/domlx_file.png
old mode 100755
new mode 100644
diff --git a/docs/_build/html/_images/egit.png b/docs/_build/html/_images/egit.png
old mode 100755
new mode 100644
diff --git a/docs/_build/html/_images/generated_doml_success.png b/docs/_build/html/_images/generated_doml_success.png
old mode 100755
new mode 100644
diff --git a/docs/_build/html/_images/gmf.png b/docs/_build/html/_images/gmf.png
old mode 100755
new mode 100644
diff --git a/docs/_build/html/_images/graphiti.png b/docs/_build/html/_images/graphiti.png
old mode 100755
new mode 100644
diff --git a/docs/_build/html/_images/nombre_generadorIAC.png b/docs/_build/html/_images/nombre_generadorIAC.png
old mode 100755
new mode 100644
diff --git a/docs/_build/html/_images/optimized.png b/docs/_build/html/_images/optimized.png
old mode 100755
new mode 100644
diff --git a/docs/_build/html/_images/papyrus.png b/docs/_build/html/_images/papyrus.png
old mode 100755
new mode 100644
diff --git a/docs/_build/html/_images/preferencias.png b/docs/_build/html/_images/preferencias.png
old mode 100755
new mode 100644
diff --git a/docs/_build/html/_images/runtime1.png b/docs/_build/html/_images/runtime1.png
old mode 100755
new mode 100644
diff --git a/docs/_build/html/_images/runtime10.png b/docs/_build/html/_images/runtime10.png
old mode 100755
new mode 100644
diff --git a/docs/_build/html/_images/runtime2.png b/docs/_build/html/_images/runtime2.png
old mode 100755
new mode 100644
diff --git a/docs/_build/html/_images/runtime3.png b/docs/_build/html/_images/runtime3.png
old mode 100755
new mode 100644
diff --git a/docs/_build/html/_images/runtime4.png b/docs/_build/html/_images/runtime4.png
old mode 100755
new mode 100644
diff --git a/docs/_build/html/_images/runtime5.png b/docs/_build/html/_images/runtime5.png
old mode 100755
new mode 100644
diff --git a/docs/_build/html/_images/runtime6.png b/docs/_build/html/_images/runtime6.png
old mode 100755
new mode 100644
diff --git a/docs/_build/html/_images/runtime7.png b/docs/_build/html/_images/runtime7.png
old mode 100755
new mode 100644
diff --git a/docs/_build/html/_images/runtime8.png b/docs/_build/html/_images/runtime8.png
old mode 100755
new mode 100644
diff --git a/docs/_build/html/_images/runtime9.png b/docs/_build/html/_images/runtime9.png
old mode 100755
new mode 100644
diff --git a/docs/_build/html/_images/scan_result.png b/docs/_build/html/_images/scan_result.png
old mode 100755
new mode 100644
diff --git a/docs/_build/html/_images/scan_success.png b/docs/_build/html/_images/scan_success.png
old mode 100755
new mode 100644
diff --git a/docs/_build/html/_images/sirius.png b/docs/_build/html/_images/sirius.png
old mode 100755
new mode 100644
diff --git a/docs/_build/html/_images/tar_file.png b/docs/_build/html/_images/tar_file.png
old mode 100755
new mode 100644
diff --git a/docs/_build/html/_images/tree_view.png b/docs/_build/html/_images/tree_view.png
old mode 100755
new mode 100644
diff --git a/docs/_build/html/_images/tree_view_doml.png b/docs/_build/html/_images/tree_view_doml.png
old mode 100755
new mode 100644
diff --git a/docs/_build/html/_images/xtext.png b/docs/_build/html/_images/xtext.png
old mode 100755
new mode 100644
diff --git a/docs/_build/html/_sources/download.md.txt b/docs/_build/html/_sources/download.md.txt
old mode 100755
new mode 100644
diff --git a/docs/_build/html/_sources/implementation.md.txt b/docs/_build/html/_sources/implementation.md.txt
old mode 100755
new mode 100644
diff --git a/docs/_build/html/_sources/index.md.txt b/docs/_build/html/_sources/index.md.txt
old mode 100755
new mode 100644
diff --git a/docs/_build/html/_sources/manual.md.txt b/docs/_build/html/_sources/manual.md.txt
old mode 100755
new mode 100644
diff --git a/docs/_build/html/_static/_sphinx_javascript_frameworks_compat.js b/docs/_build/html/_static/_sphinx_javascript_frameworks_compat.js
old mode 100755
new mode 100644
diff --git a/docs/_build/html/_static/basic.css b/docs/_build/html/_static/basic.css
old mode 100755
new mode 100644
diff --git a/docs/_build/html/_static/css/badge_only.css b/docs/_build/html/_static/css/badge_only.css
old mode 100755
new mode 100644
diff --git a/docs/_build/html/_static/css/fonts/Roboto-Slab-Bold.woff b/docs/_build/html/_static/css/fonts/Roboto-Slab-Bold.woff
old mode 100755
new mode 100644
diff --git a/docs/_build/html/_static/css/fonts/Roboto-Slab-Bold.woff2 b/docs/_build/html/_static/css/fonts/Roboto-Slab-Bold.woff2
old mode 100755
new mode 100644
diff --git a/docs/_build/html/_static/css/fonts/Roboto-Slab-Regular.woff b/docs/_build/html/_static/css/fonts/Roboto-Slab-Regular.woff
old mode 100755
new mode 100644
diff --git a/docs/_build/html/_static/css/fonts/Roboto-Slab-Regular.woff2 b/docs/_build/html/_static/css/fonts/Roboto-Slab-Regular.woff2
old mode 100755
new mode 100644
diff --git a/docs/_build/html/_static/css/fonts/fontawesome-webfont.eot b/docs/_build/html/_static/css/fonts/fontawesome-webfont.eot
old mode 100755
new mode 100644
diff --git a/docs/_build/html/_static/css/fonts/fontawesome-webfont.svg b/docs/_build/html/_static/css/fonts/fontawesome-webfont.svg
old mode 100755
new mode 100644
diff --git a/docs/_build/html/_static/css/fonts/fontawesome-webfont.ttf b/docs/_build/html/_static/css/fonts/fontawesome-webfont.ttf
old mode 100755
new mode 100644
diff --git a/docs/_build/html/_static/css/fonts/fontawesome-webfont.woff b/docs/_build/html/_static/css/fonts/fontawesome-webfont.woff
old mode 100755
new mode 100644
diff --git a/docs/_build/html/_static/css/fonts/fontawesome-webfont.woff2 b/docs/_build/html/_static/css/fonts/fontawesome-webfont.woff2
old mode 100755
new mode 100644
diff --git a/docs/_build/html/_static/css/fonts/lato-bold-italic.woff b/docs/_build/html/_static/css/fonts/lato-bold-italic.woff
old mode 100755
new mode 100644
diff --git a/docs/_build/html/_static/css/fonts/lato-bold-italic.woff2 b/docs/_build/html/_static/css/fonts/lato-bold-italic.woff2
old mode 100755
new mode 100644
diff --git a/docs/_build/html/_static/css/fonts/lato-bold.woff b/docs/_build/html/_static/css/fonts/lato-bold.woff
old mode 100755
new mode 100644
diff --git a/docs/_build/html/_static/css/fonts/lato-bold.woff2 b/docs/_build/html/_static/css/fonts/lato-bold.woff2
old mode 100755
new mode 100644
diff --git a/docs/_build/html/_static/css/fonts/lato-normal-italic.woff b/docs/_build/html/_static/css/fonts/lato-normal-italic.woff
old mode 100755
new mode 100644
diff --git a/docs/_build/html/_static/css/fonts/lato-normal-italic.woff2 b/docs/_build/html/_static/css/fonts/lato-normal-italic.woff2
old mode 100755
new mode 100644
diff --git a/docs/_build/html/_static/css/fonts/lato-normal.woff b/docs/_build/html/_static/css/fonts/lato-normal.woff
old mode 100755
new mode 100644
diff --git a/docs/_build/html/_static/css/fonts/lato-normal.woff2 b/docs/_build/html/_static/css/fonts/lato-normal.woff2
old mode 100755
new mode 100644
diff --git a/docs/_build/html/_static/css/theme.css b/docs/_build/html/_static/css/theme.css
old mode 100755
new mode 100644
diff --git a/docs/_build/html/_static/doctools.js b/docs/_build/html/_static/doctools.js
old mode 100755
new mode 100644
diff --git a/docs/_build/html/_static/documentation_options.js b/docs/_build/html/_static/documentation_options.js
old mode 100755
new mode 100644
diff --git a/docs/_build/html/_static/file.png b/docs/_build/html/_static/file.png
old mode 100755
new mode 100644
diff --git a/docs/_build/html/_static/jquery-3.6.0.js b/docs/_build/html/_static/jquery-3.6.0.js
old mode 100755
new mode 100644
diff --git a/docs/_build/html/_static/jquery.js b/docs/_build/html/_static/jquery.js
old mode 100755
new mode 100644
diff --git a/docs/_build/html/_static/js/badge_only.js b/docs/_build/html/_static/js/badge_only.js
old mode 100755
new mode 100644
diff --git a/docs/_build/html/_static/js/html5shiv-printshiv.min.js b/docs/_build/html/_static/js/html5shiv-printshiv.min.js
old mode 100755
new mode 100644
diff --git a/docs/_build/html/_static/js/html5shiv.min.js b/docs/_build/html/_static/js/html5shiv.min.js
old mode 100755
new mode 100644
diff --git a/docs/_build/html/_static/js/theme.js b/docs/_build/html/_static/js/theme.js
old mode 100755
new mode 100644
diff --git a/docs/_build/html/_static/language_data.js b/docs/_build/html/_static/language_data.js
old mode 100755
new mode 100644
diff --git a/docs/_build/html/_static/minus.png b/docs/_build/html/_static/minus.png
old mode 100755
new mode 100644
diff --git a/docs/_build/html/_static/plus.png b/docs/_build/html/_static/plus.png
old mode 100755
new mode 100644
diff --git a/docs/_build/html/_static/pygments.css b/docs/_build/html/_static/pygments.css
old mode 100755
new mode 100644
diff --git a/docs/_build/html/_static/searchtools.js b/docs/_build/html/_static/searchtools.js
old mode 100755
new mode 100644
diff --git a/docs/_build/html/_static/underscore-1.13.1.js b/docs/_build/html/_static/underscore-1.13.1.js
old mode 100755
new mode 100644
diff --git a/docs/_build/html/_static/underscore.js b/docs/_build/html/_static/underscore.js
old mode 100755
new mode 100644
diff --git a/docs/_build/html/download.html b/docs/_build/html/download.html
old mode 100755
new mode 100644
diff --git a/docs/_build/html/genindex.html b/docs/_build/html/genindex.html
old mode 100755
new mode 100644
diff --git a/docs/_build/html/implementation.html b/docs/_build/html/implementation.html
old mode 100755
new mode 100644
diff --git a/docs/_build/html/index.html b/docs/_build/html/index.html
old mode 100755
new mode 100644
diff --git a/docs/_build/html/manual.html b/docs/_build/html/manual.html
old mode 100755
new mode 100644
diff --git a/docs/_build/html/objects.inv b/docs/_build/html/objects.inv
old mode 100755
new mode 100644
diff --git a/docs/_build/html/search.html b/docs/_build/html/search.html
old mode 100755
new mode 100644
diff --git a/docs/_build/html/searchindex.js b/docs/_build/html/searchindex.js
old mode 100755
new mode 100644
diff --git a/docs/conf.py b/docs/conf.py
old mode 100755
new mode 100644
diff --git a/docs/download.md b/docs/download.md
old mode 100755
new mode 100644
diff --git a/docs/img/Apertura_vistas.png b/docs/img/Apertura_vistas.png
old mode 100755
new mode 100644
diff --git a/docs/img/Catalog_view.png b/docs/img/Catalog_view.png
old mode 100755
new mode 100644
diff --git a/docs/img/Deployment_details.png b/docs/img/Deployment_details.png
old mode 100755
new mode 100644
diff --git a/docs/img/Ecomponents.png b/docs/img/Ecomponents.png
old mode 100755
new mode 100644
diff --git a/docs/img/Generador_domlx.png b/docs/img/Generador_domlx.png
old mode 100755
new mode 100644
diff --git a/docs/img/Guardar_resultado_optimizador.png b/docs/img/Guardar_resultado_optimizador.png
old mode 100755
new mode 100644
diff --git a/docs/img/Load_info_canary.png b/docs/img/Load_info_canary.png
old mode 100755
new mode 100644
diff --git a/docs/img/Menu_canary_sandbox.png b/docs/img/Menu_canary_sandbox.png
old mode 100755
new mode 100644
diff --git a/docs/img/Menu_piacere_toolbar.png b/docs/img/Menu_piacere_toolbar.png
old mode 100755
new mode 100644
diff --git a/docs/img/Model_check_result.png b/docs/img/Model_check_result.png
old mode 100755
new mode 100644
diff --git a/docs/img/Model_validation_nombre.png b/docs/img/Model_validation_nombre.png
old mode 100755
new mode 100644
diff --git a/docs/img/Nombre_canary.png b/docs/img/Nombre_canary.png
old mode 100755
new mode 100644
diff --git a/docs/img/Nombre_resultado_optimizador.png b/docs/img/Nombre_resultado_optimizador.png
old mode 100755
new mode 100644
diff --git a/docs/img/Perspectiva_Piacere.png b/docs/img/Perspectiva_Piacere.png
old mode 100755
new mode 100644
diff --git a/docs/img/Proyecto_nuevo.png b/docs/img/Proyecto_nuevo.png
old mode 100755
new mode 100644
diff --git a/docs/img/Resultado_validacion.png b/docs/img/Resultado_validacion.png
old mode 100755
new mode 100644
diff --git a/docs/img/Runtime_submenu.png b/docs/img/Runtime_submenu.png
old mode 100755
new mode 100644
diff --git a/docs/img/Save_result_validation.png b/docs/img/Save_result_validation.png
old mode 100755
new mode 100644
diff --git a/docs/img/Security_scan.png b/docs/img/Security_scan.png
old mode 100755
new mode 100644
diff --git a/docs/img/Seleccion_vista.png b/docs/img/Seleccion_vista.png
old mode 100755
new mode 100644
diff --git a/docs/img/Seleccion_workspace.png b/docs/img/Seleccion_workspace.png
old mode 100755
new mode 100644
diff --git a/docs/img/Submenu_doml.png b/docs/img/Submenu_doml.png
old mode 100755
new mode 100644
diff --git a/docs/img/Submenu_domlx.png b/docs/img/Submenu_domlx.png
old mode 100755
new mode 100644
diff --git a/docs/img/Submenu_json.png b/docs/img/Submenu_json.png
old mode 100755
new mode 100644
diff --git a/docs/img/Submenu_zip.png b/docs/img/Submenu_zip.png
old mode 100755
new mode 100644
diff --git a/docs/img/Ventana_principal-piacere.png b/docs/img/Ventana_principal-piacere.png
old mode 100755
new mode 100644
diff --git a/docs/img/Ventana_principal.png b/docs/img/Ventana_principal.png
old mode 100755
new mode 100644
diff --git a/docs/img/acceleo.png b/docs/img/acceleo.png
old mode 100755
new mode 100644
diff --git a/docs/img/alt.png b/docs/img/alt.png
old mode 100755
new mode 100644
diff --git a/docs/img/apertura_perspectiva.png b/docs/img/apertura_perspectiva.png
old mode 100755
new mode 100644
diff --git a/docs/img/apertura_preferencias.png b/docs/img/apertura_preferencias.png
old mode 100755
new mode 100644
diff --git a/docs/img/canary/canary1.png b/docs/img/canary/canary1.png
old mode 100755
new mode 100644
diff --git a/docs/img/canary/canary10.png b/docs/img/canary/canary10.png
old mode 100755
new mode 100644
diff --git a/docs/img/canary/canary11.png b/docs/img/canary/canary11.png
old mode 100755
new mode 100644
diff --git a/docs/img/canary/canary12.png b/docs/img/canary/canary12.png
old mode 100755
new mode 100644
diff --git a/docs/img/canary/canary2.png b/docs/img/canary/canary2.png
old mode 100755
new mode 100644
diff --git a/docs/img/canary/canary3.png b/docs/img/canary/canary3.png
old mode 100755
new mode 100644
diff --git a/docs/img/canary/canary4.png b/docs/img/canary/canary4.png
old mode 100755
new mode 100644
diff --git a/docs/img/canary/canary5.png b/docs/img/canary/canary5.png
old mode 100755
new mode 100644
diff --git a/docs/img/canary/canary6.png b/docs/img/canary/canary6.png
old mode 100755
new mode 100644
diff --git a/docs/img/canary/canary7.png b/docs/img/canary/canary7.png
old mode 100755
new mode 100644
diff --git a/docs/img/canary/canary8.png b/docs/img/canary/canary8.png
old mode 100755
new mode 100644
diff --git a/docs/img/canary/canary9.png b/docs/img/canary/canary9.png
old mode 100755
new mode 100644
diff --git a/docs/img/canary_sandbox.png b/docs/img/canary_sandbox.png
old mode 100755
new mode 100644
diff --git a/docs/img/catalogue/catalogue1.png b/docs/img/catalogue/catalogue1.png
old mode 100755
new mode 100644
diff --git a/docs/img/catalogue/catalogue2.png b/docs/img/catalogue/catalogue2.png
old mode 100755
new mode 100644
diff --git a/docs/img/contenido_preferencias.png b/docs/img/contenido_preferencias.png
old mode 100755
new mode 100644
diff --git a/docs/img/doml_file.png b/docs/img/doml_file.png
old mode 100755
new mode 100644
diff --git a/docs/img/doml_newfile.png b/docs/img/doml_newfile.png
old mode 100755
new mode 100644
diff --git a/docs/img/domlx_file.png b/docs/img/domlx_file.png
old mode 100755
new mode 100644
diff --git a/docs/img/egit.png b/docs/img/egit.png
old mode 100755
new mode 100644
diff --git a/docs/img/generador_doml.png b/docs/img/generador_doml.png
old mode 100755
new mode 100644
diff --git a/docs/img/generated_doml_success.png b/docs/img/generated_doml_success.png
old mode 100755
new mode 100644
diff --git a/docs/img/gmf.png b/docs/img/gmf.png
old mode 100755
new mode 100644
diff --git a/docs/img/graphiti.png b/docs/img/graphiti.png
old mode 100755
new mode 100644
diff --git a/docs/img/nombre_generadorIAC.png b/docs/img/nombre_generadorIAC.png
old mode 100755
new mode 100644
diff --git a/docs/img/optimized.png b/docs/img/optimized.png
old mode 100755
new mode 100644
diff --git a/docs/img/papyrus.png b/docs/img/papyrus.png
old mode 100755
new mode 100644
diff --git a/docs/img/preferencias.png b/docs/img/preferencias.png
old mode 100755
new mode 100644
diff --git a/docs/img/runtime/runtime1.png b/docs/img/runtime/runtime1.png
old mode 100755
new mode 100644
diff --git a/docs/img/runtime/runtime10.png b/docs/img/runtime/runtime10.png
old mode 100755
new mode 100644
diff --git a/docs/img/runtime/runtime2.png b/docs/img/runtime/runtime2.png
old mode 100755
new mode 100644
diff --git a/docs/img/runtime/runtime3.png b/docs/img/runtime/runtime3.png
old mode 100755
new mode 100644
diff --git a/docs/img/runtime/runtime4.png b/docs/img/runtime/runtime4.png
old mode 100755
new mode 100644
diff --git a/docs/img/runtime/runtime5.png b/docs/img/runtime/runtime5.png
old mode 100755
new mode 100644
diff --git a/docs/img/runtime/runtime6.png b/docs/img/runtime/runtime6.png
old mode 100755
new mode 100644
diff --git a/docs/img/runtime/runtime7.png b/docs/img/runtime/runtime7.png
old mode 100755
new mode 100644
diff --git a/docs/img/runtime/runtime8.png b/docs/img/runtime/runtime8.png
old mode 100755
new mode 100644
diff --git a/docs/img/runtime/runtime9.png b/docs/img/runtime/runtime9.png
old mode 100755
new mode 100644
diff --git a/docs/img/scan_result.png b/docs/img/scan_result.png
old mode 100755
new mode 100644
diff --git a/docs/img/scan_success.png b/docs/img/scan_success.png
old mode 100755
new mode 100644
diff --git a/docs/img/seleccion_carpeta_canary.png b/docs/img/seleccion_carpeta_canary.png
old mode 100755
new mode 100644
diff --git a/docs/img/sirius.png b/docs/img/sirius.png
old mode 100755
new mode 100644
diff --git a/docs/img/tar_file.png b/docs/img/tar_file.png
old mode 100755
new mode 100644
diff --git a/docs/img/tree_view.png b/docs/img/tree_view.png
old mode 100755
new mode 100644
diff --git a/docs/img/tree_view_doml.png b/docs/img/tree_view_doml.png
old mode 100755
new mode 100644
diff --git a/docs/img/xtext.png b/docs/img/xtext.png
old mode 100755
new mode 100644
diff --git a/docs/implementation.md b/docs/implementation.md
old mode 100755
new mode 100644
diff --git a/docs/index.md b/docs/index.md
old mode 100755
new mode 100644
diff --git a/docs/make.bat b/docs/make.bat
old mode 100755
new mode 100644
diff --git a/docs/manual.md b/docs/manual.md
old mode 100755
new mode 100644
diff --git a/openapi.json b/openapi.json
new file mode 100644
index 0000000000000000000000000000000000000000..d316d3218fb3e3a590d40dfbc5627282912d76b3
--- /dev/null
+++ b/openapi.json
@@ -0,0 +1,354 @@
+{
+    "openapi": "3.0.2",
+    "info": {
+        "title": "FastAPI",
+        "version": "0.1.0"
+    },
+    "servers": [ 
+        {
+            "url": "https://prc.ci.piacere.digital.tecnalia.dev/",
+            "description": "ci server"
+        }
+    ],
+    "paths": {
+        "/deployments": {
+            "get": {
+                "summary": "Get All Deployments",
+                "operationId": "get_all_deployments_deployments_get",
+                "responses": {
+                    "200": {
+                        "description": "Successful response",
+                        "content": {
+                            "application/json": {
+                                "schema": {},
+                                "example": [
+                                    {
+                                        "deploymentId": "1001",
+                                        "iemStatus": "STARTED"
+                                    },
+                                    {
+                                        "deploymentId": "1002",
+                                        "iemStatus": "ERROR"
+                                    }
+                                ]
+                            }
+                        }
+                    }
+                }
+            },
+            "post": {
+                "summary": "Create New Deployment",
+                "operationId": "create_new_deployment_deployments_post",
+                "requestBody": {
+                    "content": {
+                        "application/json": {
+                            "schema": {
+                                "$ref": "#/components/schemas/NewDeployment"
+                            },
+                            "examples": {
+                                "openstack": {
+                                    "summary": "Openstack demo",
+                                    "description": "Using our basic openstack demo project",
+                                    "value": {
+                                        "repository_url": "https://git.code.tecnalia.com/piacere/public/demos/hello-openstack.git",
+                                        "deployment_id": "1001",
+                                        "commit_id": "82f10894ff037e984fce930dc2b1091e9b9eac51"
+                                    }
+                                },
+                                "openstack_no_commit_id": {
+                                    "summary": "Openstack demo without commit id",
+                                    "description": "Using our basic openstack demo project, with the default commit id",
+                                    "value": {
+                                        "repository_url": "https://git.code.tecnalia.com/piacere/public/demos/hello-openstack.git",
+                                        "deployment_id": "1001"
+                                    }
+                                }
+                            }
+                        }
+                    }
+                },
+                "responses": {
+                    "200": {
+                        "description": "Successful response",
+                        "content": {
+                            "application/json": {
+                                "schema": {},
+                                "example": "Deployment created"
+                            }
+                        }
+                    },
+                    "400": {
+                        "description": "Deployment ID already exists",
+                        "content": {
+                            "application/json": {
+                                "example": "Deployment with this ID already exists"
+                            }
+                        }
+                    },
+                    "406": {
+                        "description": "Invalid characters",
+                        "content": {
+                            "application/json": {
+                                "example": "Deployment ID cannot contain comma and underscore characters"
+                            }
+                        }
+                    },
+                    "500": {
+                        "description": "Server error (most likely BPMN diagram needs an update)",
+                        "content": {
+                            "application/json": {
+                                "example": "Could not parse BPMN diagram. Fix the process definition file"
+                            }
+                        }
+                    },
+                    "422": {
+                        "description": "Validation Error",
+                        "content": {
+                            "application/json": {
+                                "schema": {
+                                    "$ref": "#/components/schemas/HTTPValidationError"
+                                }
+                            }
+                        }
+                    }
+                }
+            }
+        },
+        "/deployments/{deployment_id}/self_heal": {
+            "post": {
+                "summary": "Trigger Self Healing",
+                "operationId": "trigger_self_healing_deployments__deployment_id__self_heal_post",
+                "parameters": [
+                    {
+                        "required": true,
+                        "schema": {
+                            "title": "Deployment Id",
+                            "type": "string"
+                        },
+                        "name": "deployment_id",
+                        "in": "path"
+                    }
+                ],
+                "requestBody": {
+                    "content": {
+                        "application/json": {
+                            "schema": {
+                                "$ref": "#/components/schemas/SelfHealingMessage"
+                            },
+                            "examples": {
+                                "redeploy": {
+                                    "summary": "Redeploy",
+                                    "description": "Using IEM for the redeployment.",
+                                    "value": {
+                                        "method": "redeploy"
+                                    }
+                                },
+                                "optimise": {
+                                    "summary": "Optimise",
+                                    "description": "Using IOP for the optimisation",
+                                    "value": {
+                                        "method": "optimise"
+                                    }
+                                }
+                            }
+                        }
+                    }
+                },
+                "responses": {
+                    "200": {
+                        "description": "Successful response",
+                        "content": {
+                            "application/json": {
+                                "schema": {},
+                                "example": {
+                                    "message": "Request received"
+                                }
+                            }
+                        }
+                    },
+                    "422": {
+                        "description": "Validation Error",
+                        "content": {
+                            "application/json": {
+                                "schema": {
+                                    "$ref": "#/components/schemas/HTTPValidationError"
+                                }
+                            }
+                        }
+                    }
+                }
+            }
+        },
+        "/deployments/{deployment_id}/finish": {
+            "post": {
+                "summary": "Finish The Deployment",
+                "operationId": "finish_the_deployment_deployments__deployment_id__finish_post",
+                "parameters": [
+                    {
+                        "required": true,
+                        "schema": {
+                            "title": "Deployment Id",
+                            "type": "string"
+                        },
+                        "name": "deployment_id",
+                        "in": "path"
+                    }
+                ],
+                "responses": {
+                    "200": {
+                        "description": "Successful response",
+                        "content": {
+                            "application/json": {
+                                "schema": {},
+                                "example": {
+                                    "message": "Request received"
+                                }
+                            }
+                        }
+                    },
+                    "422": {
+                        "description": "Validation Error",
+                        "content": {
+                            "application/json": {
+                                "schema": {
+                                    "$ref": "#/components/schemas/HTTPValidationError"
+                                }
+                            }
+                        }
+                    }
+                }
+            }
+        },
+        "/deployments/{deployment_id}": {
+            "get": {
+                "summary": "Get Deployment",
+                "operationId": "get_deployment_deployments__deployment_id__get",
+                "parameters": [
+                    {
+                        "required": true,
+                        "schema": {
+                            "title": "Deployment Id",
+                            "type": "string"
+                        },
+                        "name": "deployment_id",
+                        "in": "path"
+                    }
+                ],
+                "responses": {
+                    "200": {
+                        "description": "Successful response",
+                        "content": {
+                            "application/json": {
+                                "schema": {},
+                                "example": {
+                                    "deploymentId": "1001",
+                                    "iemStatus": "STARTED"
+                                }
+                            }
+                        }
+                    },
+                    "422": {
+                        "description": "Validation Error",
+                        "content": {
+                            "application/json": {
+                                "schema": {
+                                    "$ref": "#/components/schemas/HTTPValidationError"
+                                }
+                            }
+                        }
+                    }
+                }
+            }
+        }
+    },
+    "components": {
+        "schemas": {
+            "HTTPValidationError": {
+                "title": "HTTPValidationError",
+                "type": "object",
+                "properties": {
+                    "detail": {
+                        "title": "Detail",
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/components/schemas/ValidationError"
+                        }
+                    }
+                }
+            },
+            "NewDeployment": {
+                "title": "NewDeployment",
+                "required": [
+                    "repository_url",
+                    "deployment_id"
+                ],
+                "type": "object",
+                "properties": {
+                    "repository_url": {
+                        "title": "Repository Url",
+                        "maxLength": 65536,
+                        "minLength": 1,
+                        "type": "string",
+                        "format": "uri"
+                    },
+                    "deployment_id": {
+                        "title": "Deployment Id",
+                        "type": "string"
+                    },
+                    "commit_id": {
+                        "title": "Commit Id",
+                        "type": "string",
+                        "default": "master"
+                    }
+                }
+            },
+            "SelfHealingMessage": {
+                "title": "SelfHealingMessage",
+                "required": [
+                    "method"
+                ],
+                "type": "object",
+                "properties": {
+                    "method": {
+                        "$ref": "#/components/schemas/SelfHealingMethod"
+                    }
+                }
+            },
+            "SelfHealingMethod": {
+                "title": "SelfHealingMethod",
+                "enum": [
+                    "redeploy",
+                    "optimise"
+                ],
+                "type": "string",
+                "description": "An enumeration."
+            },
+            "ValidationError": {
+                "title": "ValidationError",
+                "required": [
+                    "loc",
+                    "msg",
+                    "type"
+                ],
+                "type": "object",
+                "properties": {
+                    "loc": {
+                        "title": "Location",
+                        "type": "array",
+                        "items": {
+                            "type": "string"
+                        }
+                    },
+                    "msg": {
+                        "title": "Message",
+                        "type": "string"
+                    },
+                    "type": {
+                        "title": "Error Type",
+                        "type": "string"
+                    }
+                }
+            }
+        }
+    }
+}
\ No newline at end of file