<?xml version="1.0" encoding="UTF-8"?>
<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:UMLLabProfile="http:///schemas/UMLLabProfile/NS/0" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http:///schemas/UMLLabProfile/NS/0 pathmap://UMLLAB_PROFILES/UMLLab.profile.uml#UMLLabProfile-Annotation_2-UMLLabProfile">
  <uml:Model xmi:id="_-r5MEOgmEe2MUaaQOL9IhA" name="Tetris">
    <eAnnotations xmi:id="_-z-KAOgmEe2MUaaQOL9IhA" source="http://ns.yatta.de/umllab">
      <contents xmi:type="ecore:EAnnotation" xmi:id="_-z-xEOgmEe2MUaaQOL9IhA" source="codegen">
        <details xmi:id="_-z-xEegmEe2MUaaQOL9IhA" key="codegenDirectory" value="/Tetris/src"/>
        <details xmi:id="__9v1gOgmEe2MUaaQOL9IhA" key="AssociatedSourceCode" value="/Tetris/src/fr/eseo/e3/poo/projet/blox/FallingBloxVersion1.java;68773031/1;/Tetris/src/fr/eseo/e3/poo/projet/blox/controleur/DeplacementClavier.java;2756229110/1;/Tetris/src/fr/eseo/e3/poo/projet/blox/controleur/Gravite.java;834404208/1;/Tetris/src/fr/eseo/e3/poo/projet/blox/controleur/PieceDeplacement.java;4210108705/1;/Tetris/src/fr/eseo/e3/poo/projet/blox/controleur/PieceRotation.java;1857183992/1;/Tetris/src/fr/eseo/e3/poo/projet/blox/modele/BloxException.java;2750918289/1;/Tetris/src/fr/eseo/e3/poo/projet/blox/modele/Coordonnees.java;3127306514/1;/Tetris/src/fr/eseo/e3/poo/projet/blox/modele/Couleur.java;54662955/1;/Tetris/src/fr/eseo/e3/poo/projet/blox/modele/Element.java;1687608780/1;/Tetris/test/fr/eseo/e3/poo/projet/blox/vue/VuePuitsTest.java;1991535448/1;/Tetris/src/fr/eseo/e3/poo/projet/blox/modele/Tas.java;3024997449/1;/Tetris/src/fr/eseo/e3/poo/projet/blox/modele/UsineDePiece.java;27358296/1;/Tetris/src/fr/eseo/e3/poo/projet/blox/modele/pieces/IPiece.java;1661381184/1;/Tetris/src/fr/eseo/e3/poo/projet/blox/modele/pieces/JPiece.java;3397257477/1;/Tetris/src/fr/eseo/e3/poo/projet/blox/modele/pieces/LPiece.java;1011519088/1;/Tetris/src/fr/eseo/e3/poo/projet/blox/modele/pieces/OPiece.java;2395546839/1;/Tetris/src/fr/eseo/e3/poo/projet/blox/modele/pieces/Piece.java;2814494490/1;/Tetris/src/fr/eseo/e3/poo/projet/blox/modele/pieces/SPiece.java;2976246898/1;/Tetris/src/fr/eseo/e3/poo/projet/blox/modele/pieces/TPiece.java;1847306000/1;/Tetris/src/fr/eseo/e3/poo/projet/blox/modele/pieces/ZPiece.java;1121120864/1;/Tetris/src/fr/eseo/e3/poo/projet/blox/vue/PanneauInformation.java;2205352023/1;/Tetris/src/fr/eseo/e3/poo/projet/blox/vue/VuePiece.java;2655818314/1;/Tetris/src/fr/eseo/e3/poo/projet/blox/vue/VuePieceFantome.java;4084974544/1;/Tetris/test/fr/eseo/e3/poo/projet/blox/vue/VuePuitsAffichageTest.java;3008364509/1;/Tetris/src/fr/eseo/e3/poo/projet/blox/vue/VueTas.java;430322632/1;/Tetris/test/fr/eseo/e3/poo/projet/blox/controleur/GraviteTest.java;3862860430/1;/Tetris/test/fr/eseo/e3/poo/projet/blox/controleur/PieceDeplacementTest.java;184656275/1;/Tetris/test/fr/eseo/e3/poo/projet/blox/controleur/PieceRotationTest.java;1519212266/1;/Tetris/test/fr/eseo/e3/poo/projet/blox/modele/CoordonneesTest.java;3086949150/1;/Tetris/test/fr/eseo/e3/poo/projet/blox/modele/CouleurTest.java;3112480050/1;/Tetris/test/fr/eseo/e3/poo/projet/blox/modele/ElementTest.java;3845966231/1;/Tetris/test/fr/eseo/e3/poo/projet/blox/modele/PuitsTest.java;795193866/1;/Tetris/test/fr/eseo/e3/poo/projet/blox/modele/TasTest.java;85426009/1;/Tetris/test/fr/eseo/e3/poo/projet/blox/modele/UsineDePieceTest.java;4156891330/1;/Tetris/test/fr/eseo/e3/poo/projet/blox/modele/pieces/IPieceTest.java;3377177416/1;/Tetris/test/fr/eseo/e3/poo/projet/blox/modele/pieces/OPieceTest.java;364257449/1;/Tetris/src/fr/eseo/e3/poo/projet/blox/vue/VuePuits.java;2511764601/1;/Tetris/src/fr/eseo/e3/poo/projet/blox/modele/Puits.java;4280180880/1;"/>
      </contents>
    </eAnnotations>
    <elementImport xmi:id="__bD_MOgmEe2MUaaQOL9IhA">
      <importedElement xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
    </elementImport>
    <elementImport xmi:id="__bD_MegmEe2MUaaQOL9IhA">
      <importedElement xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#byte"/>
    </elementImport>
    <elementImport xmi:id="__bD_MugmEe2MUaaQOL9IhA">
      <importedElement xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#char"/>
    </elementImport>
    <elementImport xmi:id="__bD_M-gmEe2MUaaQOL9IhA">
      <importedElement xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#double"/>
    </elementImport>
    <elementImport xmi:id="__bD_NOgmEe2MUaaQOL9IhA">
      <importedElement xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#float"/>
    </elementImport>
    <elementImport xmi:id="__bEmQOgmEe2MUaaQOL9IhA">
      <importedElement xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
    </elementImport>
    <elementImport xmi:id="__bEmQegmEe2MUaaQOL9IhA">
      <importedElement xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#long"/>
    </elementImport>
    <elementImport xmi:id="__bEmQugmEe2MUaaQOL9IhA">
      <importedElement xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#short"/>
    </elementImport>
    <elementImport xmi:id="__bFNUOgmEe2MUaaQOL9IhA">
      <importedElement xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
    </elementImport>
    <packagedElement xmi:type="uml:Package" xmi:id="__XuXUOgmEe2MUaaQOL9IhA" name="fr">
      <packagedElement xmi:type="uml:Package" xmi:id="__Xu-YOgmEe2MUaaQOL9IhA" name="eseo">
        <packagedElement xmi:type="uml:Package" xmi:id="__Xu-YegmEe2MUaaQOL9IhA" name="e3">
          <packagedElement xmi:type="uml:Package" xmi:id="__Xu-YugmEe2MUaaQOL9IhA" name="poo">
            <packagedElement xmi:type="uml:Package" xmi:id="__Xu-Y-gmEe2MUaaQOL9IhA" name="projet">
              <packagedElement xmi:type="uml:Package" xmi:id="__XyowugmEe2MUaaQOL9IhA" name="blox">
                <packagedElement xmi:type="uml:Package" xmi:id="__XzP0OgmEe2MUaaQOL9IhA" name="controleur">
                  <packagedElement xmi:type="uml:Class" xmi:id="__bI3sOgmEe2MUaaQOL9IhA" name="DeplacementClavier">
                    <ownedAttribute xmi:id="__qeUMOgmEe2MUaaQOL9IhA" name="vuePuits" visibility="private" type="__eH6QOgmEe2MUaaQOL9IhA" association="__sfGYOgmEe2MUaaQOL9IhA"/>
                    <ownedAttribute xmi:id="__qgJYOgmEe2MUaaQOL9IhA" name="puits" visibility="private" type="__eS5YOgmEe2MUaaQOL9IhA" association="__sftcegmEe2MUaaQOL9IhA"/>
                    <interfaceRealization xmi:id="__p9W0egmEe2MUaaQOL9IhA" client="__bI3sOgmEe2MUaaQOL9IhA" supplier="__ohMYOgmEe2MUaaQOL9IhA" contract="__ohMYOgmEe2MUaaQOL9IhA"/>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__rfA0-gmEe2MUaaQOL9IhA" name="DeplacementClavier" specification="__ojBkOgmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__rfA1OgmEe2MUaaQOL9IhA" name="vuePuits" type="__eH6QOgmEe2MUaaQOL9IhA"/>
                      <ownedParameter xmi:id="__rfn4OgmEe2MUaaQOL9IhA" type="__bI3sOgmEe2MUaaQOL9IhA" direction="return"/>
                      <language>java</language>
                      <body>this.vuePuits = vuePuits;&#xD;
		this.puits = vuePuits.getPuits();&#xD;
	</body>
                    </ownedBehavior>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__rfn4egmEe2MUaaQOL9IhA" name="keyPressed" specification="__okPsOgmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__rfn4ugmEe2MUaaQOL9IhA" name="e" type="__ohzcegmEe2MUaaQOL9IhA"/>
                      <language>java</language>
                      <body>try {&#xD;
			switch (e.getKeyCode()) {&#xD;
			case KeyEvent.VK_A:&#xD;
				this.puits.getPieceActuelle().deplacerDe(-1, 0);&#xD;
				break;&#xD;
			case KeyEvent.VK_D:&#xD;
				this.puits.getPieceActuelle().deplacerDe(1, 0);&#xD;
				break;&#xD;
			case KeyEvent.VK_S:&#xD;
				this.puits.gravite();&#xD;
				break;&#xD;
			case KeyEvent.VK_M:&#xD;
				this.puits.getPieceActuelle().tourner(false);&#xD;
				break;&#xD;
			case KeyEvent.VK_SPACE:&#xD;
				this.puits.getPieceActuelle().descenteDirecte();&#xD;
				break;&#xD;
			default:&#xD;
				this.puits.inversePiece();&#xD;
				break;&#xD;
			}&#xD;
		} catch (Exception exception) {&#xD;
		}&#xD;
		this.vuePuits.repaint();&#xD;
	</body>
                    </ownedBehavior>
                    <ownedOperation xmi:id="__ojBkOgmEe2MUaaQOL9IhA" name="DeplacementClavier" method="__rfA0-gmEe2MUaaQOL9IhA">
                      <eAnnotations xmi:id="__ojooOgmEe2MUaaQOL9IhA" source="http://www.eclipse.org/uml2/2.0.0/UML">
                        <details xmi:id="__ojooegmEe2MUaaQOL9IhA" key="create"/>
                      </eAnnotations>
                      <ownedParameter xmi:id="__ojBkegmEe2MUaaQOL9IhA" name="vuePuits" type="__eH6QOgmEe2MUaaQOL9IhA"/>
                      <ownedParameter xmi:id="__ojoougmEe2MUaaQOL9IhA" type="__bI3sOgmEe2MUaaQOL9IhA" direction="return"/>
                    </ownedOperation>
                    <ownedOperation xmi:id="__okPsOgmEe2MUaaQOL9IhA" name="keyPressed" method="__rfn4egmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__okPsegmEe2MUaaQOL9IhA" name="e" type="__ohzcegmEe2MUaaQOL9IhA"/>
                    </ownedOperation>
                    <ownedOperation xmi:id="__old0OgmEe2MUaaQOL9IhA" name="keyReleased">
                      <ownedParameter xmi:id="__old0egmEe2MUaaQOL9IhA" name="e" type="__ohzcegmEe2MUaaQOL9IhA"/>
                    </ownedOperation>
                    <ownedOperation xmi:id="__omE4ugmEe2MUaaQOL9IhA" name="keyTyped">
                      <ownedParameter xmi:id="__omE4-gmEe2MUaaQOL9IhA" name="e" type="__ohzcegmEe2MUaaQOL9IhA"/>
                    </ownedOperation>
                  </packagedElement>
                  <packagedElement xmi:type="uml:Class" xmi:id="__bMiEOgmEe2MUaaQOL9IhA" name="Gravite">
                    <ownedAttribute xmi:id="__qhXgOgmEe2MUaaQOL9IhA" name="vuePuits" visibility="private" isLeaf="true" type="__eH6QOgmEe2MUaaQOL9IhA" isReadOnly="true" association="__sgUgegmEe2MUaaQOL9IhA"/>
                    <ownedAttribute xmi:id="__qiloOgmEe2MUaaQOL9IhA" name="puits" visibility="private" isLeaf="true" type="__eS5YOgmEe2MUaaQOL9IhA" isReadOnly="true" association="__sg7kegmEe2MUaaQOL9IhA"/>
                    <ownedAttribute xmi:id="__qjMsegmEe2MUaaQOL9IhA" name="timer" visibility="private" type="__opIMegmEe2MUaaQOL9IhA" association="__shioegmEe2MUaaQOL9IhA"/>
                    <interfaceRealization xmi:id="__p-k8OgmEe2MUaaQOL9IhA" client="__bMiEOgmEe2MUaaQOL9IhA" supplier="__on6EOgmEe2MUaaQOL9IhA" contract="__on6EOgmEe2MUaaQOL9IhA"/>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__rgO8OgmEe2MUaaQOL9IhA" name="Gravite" specification="__oq9YOgmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__rgO8egmEe2MUaaQOL9IhA" name="vuePuits" type="__eH6QOgmEe2MUaaQOL9IhA"/>
                      <ownedParameter xmi:id="__rgO8ugmEe2MUaaQOL9IhA" type="__bMiEOgmEe2MUaaQOL9IhA" direction="return"/>
                      <language>java</language>
                      <body>this.vuePuits = vuePuits;&#xD;
     this.puits = vuePuits.getPuits();&#xD;
     this.timer = new Timer((1000), this);&#xD;
     this.timer.start();&#xD;
 </body>
                    </ownedBehavior>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__rgO8-gmEe2MUaaQOL9IhA" name="getPeriodicite" specification="__bO-UOgmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__rgO9OgmEe2MUaaQOL9IhA" direction="return">
                        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                      </ownedParameter>
                      <language>java</language>
                      <body>return this.timer.getDelay();&#xD;
 </body>
                    </ownedBehavior>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__rgO9egmEe2MUaaQOL9IhA" name="setPeriodicite" specification="__bPlYOgmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__rgO9ugmEe2MUaaQOL9IhA" name="periodicite">
                        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                      </ownedParameter>
                      <language>java</language>
                      <body>this.timer.setDelay(periodicite);&#xD;
 </body>
                    </ownedBehavior>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__rg2AOgmEe2MUaaQOL9IhA" name="actionPerformed" specification="__p_MAOgmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__rg2AegmEe2MUaaQOL9IhA" name="e" type="__opvQegmEe2MUaaQOL9IhA"/>
                      <language>java</language>
                      <body>this.puits.gravite();&#xD;
     this.vuePuits.repaint();&#xD;
 </body>
                    </ownedBehavior>
                    <ownedOperation xmi:id="__bO-UOgmEe2MUaaQOL9IhA" name="getPeriodicite" method="__rgO8-gmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__bO-UegmEe2MUaaQOL9IhA" direction="return">
                        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                      </ownedParameter>
                    </ownedOperation>
                    <ownedOperation xmi:id="__bPlYOgmEe2MUaaQOL9IhA" name="setPeriodicite" method="__rgO9egmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__bPlYegmEe2MUaaQOL9IhA" name="periodicite">
                        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                      </ownedParameter>
                    </ownedOperation>
                    <ownedOperation xmi:id="__oq9YOgmEe2MUaaQOL9IhA" name="Gravite" method="__rgO8OgmEe2MUaaQOL9IhA">
                      <eAnnotations xmi:id="__oq9YugmEe2MUaaQOL9IhA" source="http://www.eclipse.org/uml2/2.0.0/UML">
                        <details xmi:id="__oq9Y-gmEe2MUaaQOL9IhA" key="create"/>
                      </eAnnotations>
                      <ownedParameter xmi:id="__oq9YegmEe2MUaaQOL9IhA" name="vuePuits" type="__eH6QOgmEe2MUaaQOL9IhA"/>
                      <ownedParameter xmi:id="__oq9ZOgmEe2MUaaQOL9IhA" type="__bMiEOgmEe2MUaaQOL9IhA" direction="return"/>
                    </ownedOperation>
                    <ownedOperation xmi:id="__p_MAOgmEe2MUaaQOL9IhA" name="actionPerformed" method="__rg2AOgmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__p_MAegmEe2MUaaQOL9IhA" name="e" type="__opvQegmEe2MUaaQOL9IhA"/>
                    </ownedOperation>
                  </packagedElement>
                  <packagedElement xmi:type="uml:Class" xmi:id="__bUd4OgmEe2MUaaQOL9IhA" name="PieceDeplacement">
                    <generalization xmi:id="__qEEgugmEe2MUaaQOL9IhA" general="__otZoegmEe2MUaaQOL9IhA"/>
                    <ownedAttribute xmi:id="__qka0OgmEe2MUaaQOL9IhA" name="vuePuits" visibility="private" type="__eH6QOgmEe2MUaaQOL9IhA" association="__siJsegmEe2MUaaQOL9IhA"/>
                    <ownedAttribute xmi:id="__qlB4OgmEe2MUaaQOL9IhA" name="puits" visibility="private" type="__eS5YOgmEe2MUaaQOL9IhA" association="__siwwegmEe2MUaaQOL9IhA"/>
                    <ownedAttribute xmi:id="__qlo8OgmEe2MUaaQOL9IhA" name="colonne" visibility="private">
                      <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                      <defaultValue xmi:type="uml:LiteralString" xmi:id="__qlo8egmEe2MUaaQOL9IhA" value="-1"/>
                    </ownedAttribute>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__rg2AugmEe2MUaaQOL9IhA" name="PieceDeplacement" specification="__ounwOgmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__rg2A-gmEe2MUaaQOL9IhA" name="vuePuits" type="__eH6QOgmEe2MUaaQOL9IhA"/>
                      <ownedParameter xmi:id="__rg2BOgmEe2MUaaQOL9IhA" type="__bUd4OgmEe2MUaaQOL9IhA" direction="return"/>
                      <language>java</language>
                      <body>this.vuePuits = vuePuits;&#xD;
     this.puits = vuePuits.getPuits();&#xD;
 </body>
                    </ownedBehavior>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__rhdEOgmEe2MUaaQOL9IhA" name="mouseMoved" specification="__qBoQOgmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__rhdEegmEe2MUaaQOL9IhA" name="event" type="__osLgOgmEe2MUaaQOL9IhA"/>
                      <language>java</language>
                      <body>if (this.puits.getPieceActuelle() == null) {&#xD;
         return;&#xD;
     }&#xD;
     int souris = (int) (event.getX() / this.vuePuits.getTaille());&#xD;
&#xD;
     if (this.colonne == -1) {&#xD;
         this.colonne = souris;&#xD;
     } else {&#xD;
         if (souris != colonne) {&#xD;
             try {&#xD;
                 if (souris > this.colonne) {&#xD;
                     this.puits.getPieceActuelle().deplacerDe(1, 0);&#xD;
                 } else {&#xD;
                     this.puits.getPieceActuelle().deplacerDe(-1, 0);&#xD;
                 }&#xD;
                 this.colonne = souris;&#xD;
             } catch (Exception e) {&#xD;
             }&#xD;
         }&#xD;
     }&#xD;
     this.vuePuits.repaint();&#xD;
 </body>
                    </ownedBehavior>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__rhdEugmEe2MUaaQOL9IhA" name="mouseEntered" specification="__qDdcOgmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__rhdE-gmEe2MUaaQOL9IhA" name="event" type="__osLgOgmEe2MUaaQOL9IhA"/>
                      <language>java</language>
                      <body>this.colonne = -1;&#xD;
 </body>
                    </ownedBehavior>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__rhdFOgmEe2MUaaQOL9IhA" name="mouseWheelMoved" specification="__qEEgOgmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__rhdFegmEe2MUaaQOL9IhA" name="event" type="__osykegmEe2MUaaQOL9IhA"/>
                      <language>java</language>
                      <body>if (this.puits.getPieceActuelle() != null) {&#xD;
         if (event.getWheelRotation() > 0) {&#xD;
             try {&#xD;
                 this.puits.gravite();&#xD;
             } catch (Exception e) {&#xD;
             }&#xD;
         }&#xD;
     }&#xD;
     this.vuePuits.repaint();&#xD;
 </body>
                    </ownedBehavior>
                    <ownedOperation xmi:id="__ounwOgmEe2MUaaQOL9IhA" name="PieceDeplacement" method="__rg2AugmEe2MUaaQOL9IhA">
                      <eAnnotations xmi:id="__ounwugmEe2MUaaQOL9IhA" source="http://www.eclipse.org/uml2/2.0.0/UML">
                        <details xmi:id="__ounw-gmEe2MUaaQOL9IhA" key="create"/>
                      </eAnnotations>
                      <ownedParameter xmi:id="__ounwegmEe2MUaaQOL9IhA" name="vuePuits" type="__eH6QOgmEe2MUaaQOL9IhA"/>
                      <ownedParameter xmi:id="__ounxOgmEe2MUaaQOL9IhA" type="__bUd4OgmEe2MUaaQOL9IhA" direction="return"/>
                    </ownedOperation>
                    <ownedOperation xmi:id="__qBoQOgmEe2MUaaQOL9IhA" name="mouseMoved" method="__rhdEOgmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__qBoQegmEe2MUaaQOL9IhA" name="event" type="__osLgOgmEe2MUaaQOL9IhA"/>
                    </ownedOperation>
                    <ownedOperation xmi:id="__qC2YOgmEe2MUaaQOL9IhA" name="mouseDragged">
                      <ownedParameter xmi:id="__qC2YegmEe2MUaaQOL9IhA" name="event" type="__osLgOgmEe2MUaaQOL9IhA"/>
                    </ownedOperation>
                    <ownedOperation xmi:id="__qDdcOgmEe2MUaaQOL9IhA" name="mouseEntered" method="__rhdEugmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__qDdcegmEe2MUaaQOL9IhA" name="event" type="__osLgOgmEe2MUaaQOL9IhA"/>
                    </ownedOperation>
                    <ownedOperation xmi:id="__qEEgOgmEe2MUaaQOL9IhA" name="mouseWheelMoved" method="__rhdFOgmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__qEEgegmEe2MUaaQOL9IhA" name="event" type="__osykegmEe2MUaaQOL9IhA"/>
                    </ownedOperation>
                  </packagedElement>
                  <packagedElement xmi:type="uml:Class" xmi:id="__bakgOgmEe2MUaaQOL9IhA" name="PieceRotation">
                    <generalization xmi:id="__qF5sOgmEe2MUaaQOL9IhA" general="__otZoegmEe2MUaaQOL9IhA"/>
                    <ownedAttribute xmi:id="__qm3EOgmEe2MUaaQOL9IhA" name="vuePuits" visibility="private" type="__eH6QOgmEe2MUaaQOL9IhA" association="__sjX0egmEe2MUaaQOL9IhA"/>
                    <ownedAttribute xmi:id="__qneIegmEe2MUaaQOL9IhA" name="puits" visibility="private" type="__eS5YOgmEe2MUaaQOL9IhA" association="__sjX1OgmEe2MUaaQOL9IhA"/>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__riEIOgmEe2MUaaQOL9IhA" name="PieceRotation" specification="__oxEAegmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__riEIegmEe2MUaaQOL9IhA" name="vuePuits" type="__eH6QOgmEe2MUaaQOL9IhA"/>
                      <ownedParameter xmi:id="__riEIugmEe2MUaaQOL9IhA" type="__bakgOgmEe2MUaaQOL9IhA" direction="return"/>
                      <language>java</language>
                      <body>this.vuePuits = vuePuits;&#xD;
		this.puits = this.vuePuits.getPuits();&#xD;
	</body>
                    </ownedBehavior>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__riEI-gmEe2MUaaQOL9IhA" name="mouseClicked" specification="__qFSoOgmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__riEJOgmEe2MUaaQOL9IhA" name="event" type="__osLgOgmEe2MUaaQOL9IhA"/>
                      <language>java</language>
                      <body>try {&#xD;
			if (this.puits.getPieceActuelle() != null) {&#xD;
				if (SwingUtilities.isLeftMouseButton(event)) {&#xD;
&#xD;
					this.puits.getPieceActuelle().tourner(false);&#xD;
				} else if (SwingUtilities.isMiddleMouseButton(event)) {&#xD;
&#xD;
					this.puits.getPieceActuelle().tourner(true);&#xD;
				}&#xD;
				// Si le bouton du milieu de la souris est cliqué, inverse la piece actuelle et&#xD;
				// la piece suivante&#xD;
				else if (SwingUtilities.isRightMouseButton(event)) {&#xD;
					this.puits.getPieceActuelle().tourner(true);&#xD;
&#xD;
				}&#xD;
&#xD;
				else {&#xD;
					throw new IllegalArgumentException(&quot;Le bouton de la souris n'est pas reconnu&quot;);&#xD;
				}&#xD;
			}&#xD;
		} catch (Exception e) {&#xD;
&#xD;
		}&#xD;
		this.vuePuits.repaint();&#xD;
	</body>
                    </ownedBehavior>
                    <ownedOperation xmi:id="__oxEAegmEe2MUaaQOL9IhA" name="PieceRotation" method="__riEIOgmEe2MUaaQOL9IhA">
                      <eAnnotations xmi:id="__oxrEOgmEe2MUaaQOL9IhA" source="http://www.eclipse.org/uml2/2.0.0/UML">
                        <details xmi:id="__oxrEegmEe2MUaaQOL9IhA" key="create"/>
                      </eAnnotations>
                      <ownedParameter xmi:id="__oxEAugmEe2MUaaQOL9IhA" name="vuePuits" type="__eH6QOgmEe2MUaaQOL9IhA"/>
                      <ownedParameter xmi:id="__oxrEugmEe2MUaaQOL9IhA" type="__bakgOgmEe2MUaaQOL9IhA" direction="return"/>
                    </ownedOperation>
                    <ownedOperation xmi:id="__qFSoOgmEe2MUaaQOL9IhA" name="mouseClicked" method="__riEI-gmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__qFSoegmEe2MUaaQOL9IhA" name="event" type="__osLgOgmEe2MUaaQOL9IhA"/>
                    </ownedOperation>
                  </packagedElement>
                  <packagedElement xmi:type="uml:Class" xmi:id="__dSMwOgmEe2MUaaQOL9IhA" name="GraviteTest">
                    <eAnnotations xmi:id="__dSMwegmEe2MUaaQOL9IhA" source="http://ns.yatta.de/umllab">
                      <contents xmi:type="ecore:EAnnotation" xmi:id="__dSMwugmEe2MUaaQOL9IhA" source="codegen">
                        <details xmi:id="__dSMw-gmEe2MUaaQOL9IhA" key="codegenDirectory" value="/Tetris/test"/>
                      </contents>
                    </eAnnotations>
                  </packagedElement>
                  <packagedElement xmi:type="uml:Class" xmi:id="__dTa4OgmEe2MUaaQOL9IhA" name="PieceDeplacementTest">
                    <eAnnotations xmi:id="__dTa4egmEe2MUaaQOL9IhA" source="http://ns.yatta.de/umllab">
                      <contents xmi:type="ecore:EAnnotation" xmi:id="__dTa4ugmEe2MUaaQOL9IhA" source="codegen">
                        <details xmi:id="__dTa4-gmEe2MUaaQOL9IhA" key="codegenDirectory" value="/Tetris/test"/>
                      </contents>
                    </eAnnotations>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__r4pcugmEe2MUaaQOL9IhA" name="main" specification="__dUB8OgmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__r4pc-gmEe2MUaaQOL9IhA" name="args">
                        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
                        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__r4pdOgmEe2MUaaQOL9IhA" value="*"/>
                      </ownedParameter>
                      <language>java</language>
                      <body>SwingUtilities.invokeLater(new Runnable() {&#xD;
         @Override&#xD;
         public void run() {&#xD;
             new PieceDeplacementTest();&#xD;
         }&#xD;
     });&#xD;
 </body>
                    </ownedBehavior>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__r4pdegmEe2MUaaQOL9IhA" name="PieceDeplacementTest" specification="__dUpAOgmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__r4pdugmEe2MUaaQOL9IhA" type="__dTa4OgmEe2MUaaQOL9IhA" direction="return"/>
                      <language>java</language>
                      <body>testDeplacementPiece();&#xD;
 </body>
                    </ownedBehavior>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__r4pd-gmEe2MUaaQOL9IhA" name="testDeplacementPiece" specification="__dVQEOgmEe2MUaaQOL9IhA">
                      <language>java</language>
                      <body>JFrame j1 = new JFrame();&#xD;
     Puits p1 = new Puits();&#xD;
     VuePuits vP = new VuePuits(p1);&#xD;
     j1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);&#xD;
     j1.setTitle(&quot;Puits&quot;);&#xD;
     j1.getContentPane().add(vP);&#xD;
     p1.setPieceSuivante(new OPiece(new Coordonnees(1, 18), Couleur.ORANGE));&#xD;
     p1.setPieceSuivante(new IPiece(new Coordonnees(2, 2), Couleur.ORANGE));&#xD;
     p1.getPieceActuelle().setPosition(8, 19);&#xD;
     &#xD;
     j1.pack();&#xD;
     j1.setLocationRelativeTo(null);&#xD;
     j1.setVisible(true);&#xD;
 </body>
                    </ownedBehavior>
                    <ownedOperation xmi:id="__dUB8OgmEe2MUaaQOL9IhA" name="main" isStatic="true" method="__r4pcugmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__dUB8egmEe2MUaaQOL9IhA" name="args">
                        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
                        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__dUB8ugmEe2MUaaQOL9IhA" value="*"/>
                      </ownedParameter>
                    </ownedOperation>
                    <ownedOperation xmi:id="__dUpAOgmEe2MUaaQOL9IhA" name="PieceDeplacementTest" method="__r4pdegmEe2MUaaQOL9IhA">
                      <eAnnotations xmi:id="__dUpAegmEe2MUaaQOL9IhA" source="http://www.eclipse.org/uml2/2.0.0/UML">
                        <details xmi:id="__dUpAugmEe2MUaaQOL9IhA" key="create"/>
                      </eAnnotations>
                      <ownedParameter xmi:id="__dUpA-gmEe2MUaaQOL9IhA" type="__dTa4OgmEe2MUaaQOL9IhA" direction="return"/>
                    </ownedOperation>
                    <ownedOperation xmi:id="__dVQEOgmEe2MUaaQOL9IhA" name="testDeplacementPiece" method="__r4pd-gmEe2MUaaQOL9IhA"/>
                  </packagedElement>
                  <packagedElement xmi:type="uml:Class" xmi:id="__dVQEegmEe2MUaaQOL9IhA" name="PieceRotationTest">
                    <eAnnotations xmi:id="__dV3IOgmEe2MUaaQOL9IhA" source="http://ns.yatta.de/umllab">
                      <contents xmi:type="ecore:EAnnotation" xmi:id="__dV3IegmEe2MUaaQOL9IhA" source="codegen">
                        <details xmi:id="__dV3IugmEe2MUaaQOL9IhA" key="codegenDirectory" value="/Tetris/test"/>
                      </contents>
                    </eAnnotations>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__r5QgOgmEe2MUaaQOL9IhA" name="testPieceRotation" specification="__dV3I-gmEe2MUaaQOL9IhA">
                      <language>java</language>
                      <body>Puits p1 = new Puits();&#xD;
     p1.setPieceSuivante(new IPiece(new Coordonnees(3, 3), Couleur.ORANGE));&#xD;
     p1.setPieceSuivante(new IPiece(new Coordonnees(3, 3), Couleur.ORANGE));&#xD;
     System.err.println(p1.toString());&#xD;
     try{&#xD;
     p1.getPieceActuelle().tourner(false);&#xD;
     }catch(Exception e) {&#xD;
     }&#xD;
     System.err.println(p1.toString());&#xD;
     try{&#xD;
     p1.getPieceActuelle().tourner(false);&#xD;
     }catch(Exception e) {&#xD;
     }&#xD;
     System.err.println(p1.toString());&#xD;
 </body>
                    </ownedBehavior>
                    <ownedOperation xmi:id="__dV3I-gmEe2MUaaQOL9IhA" name="testPieceRotation" method="__r5QgOgmEe2MUaaQOL9IhA"/>
                  </packagedElement>
                  <packagedElement xmi:type="uml:Association" xmi:id="__sfGYOgmEe2MUaaQOL9IhA" name="" memberEnd="__sfGYegmEe2MUaaQOL9IhA __qeUMOgmEe2MUaaQOL9IhA">
                    <ownedEnd xmi:id="__sfGYegmEe2MUaaQOL9IhA" name="" type="__bI3sOgmEe2MUaaQOL9IhA" association="__sfGYOgmEe2MUaaQOL9IhA"/>
                  </packagedElement>
                  <packagedElement xmi:type="uml:Association" xmi:id="__sftcegmEe2MUaaQOL9IhA" name="" memberEnd="__sftcugmEe2MUaaQOL9IhA __qgJYOgmEe2MUaaQOL9IhA">
                    <ownedEnd xmi:id="__sftcugmEe2MUaaQOL9IhA" name="" type="__bI3sOgmEe2MUaaQOL9IhA" association="__sftcegmEe2MUaaQOL9IhA"/>
                  </packagedElement>
                  <packagedElement xmi:type="uml:Association" xmi:id="__sgUgegmEe2MUaaQOL9IhA" name="" memberEnd="__sgUgugmEe2MUaaQOL9IhA __qhXgOgmEe2MUaaQOL9IhA">
                    <ownedEnd xmi:id="__sgUgugmEe2MUaaQOL9IhA" name="" type="__bMiEOgmEe2MUaaQOL9IhA" association="__sgUgegmEe2MUaaQOL9IhA"/>
                  </packagedElement>
                  <packagedElement xmi:type="uml:Association" xmi:id="__sg7kegmEe2MUaaQOL9IhA" name="" memberEnd="__sg7kugmEe2MUaaQOL9IhA __qiloOgmEe2MUaaQOL9IhA">
                    <ownedEnd xmi:id="__sg7kugmEe2MUaaQOL9IhA" name="" type="__bMiEOgmEe2MUaaQOL9IhA" association="__sg7kegmEe2MUaaQOL9IhA"/>
                  </packagedElement>
                  <packagedElement xmi:type="uml:Association" xmi:id="__shioegmEe2MUaaQOL9IhA" name="" memberEnd="__shiougmEe2MUaaQOL9IhA __qjMsegmEe2MUaaQOL9IhA">
                    <ownedEnd xmi:id="__shiougmEe2MUaaQOL9IhA" name="" type="__bMiEOgmEe2MUaaQOL9IhA" association="__shioegmEe2MUaaQOL9IhA"/>
                  </packagedElement>
                  <packagedElement xmi:type="uml:Association" xmi:id="__siJsegmEe2MUaaQOL9IhA" name="" memberEnd="__siJsugmEe2MUaaQOL9IhA __qka0OgmEe2MUaaQOL9IhA">
                    <ownedEnd xmi:id="__siJsugmEe2MUaaQOL9IhA" name="" type="__bUd4OgmEe2MUaaQOL9IhA" association="__siJsegmEe2MUaaQOL9IhA"/>
                  </packagedElement>
                  <packagedElement xmi:type="uml:Association" xmi:id="__siwwegmEe2MUaaQOL9IhA" name="" memberEnd="__siwwugmEe2MUaaQOL9IhA __qlB4OgmEe2MUaaQOL9IhA">
                    <ownedEnd xmi:id="__siwwugmEe2MUaaQOL9IhA" name="" type="__bUd4OgmEe2MUaaQOL9IhA" association="__siwwegmEe2MUaaQOL9IhA"/>
                  </packagedElement>
                  <packagedElement xmi:type="uml:Association" xmi:id="__sjX0egmEe2MUaaQOL9IhA" name="" memberEnd="__sjX0ugmEe2MUaaQOL9IhA __qm3EOgmEe2MUaaQOL9IhA">
                    <ownedEnd xmi:id="__sjX0ugmEe2MUaaQOL9IhA" name="" type="__bakgOgmEe2MUaaQOL9IhA" association="__sjX0egmEe2MUaaQOL9IhA"/>
                  </packagedElement>
                  <packagedElement xmi:type="uml:Association" xmi:id="__sjX1OgmEe2MUaaQOL9IhA" name="" memberEnd="__sjX1egmEe2MUaaQOL9IhA __qneIegmEe2MUaaQOL9IhA">
                    <ownedEnd xmi:id="__sjX1egmEe2MUaaQOL9IhA" name="" type="__bakgOgmEe2MUaaQOL9IhA" association="__sjX1OgmEe2MUaaQOL9IhA"/>
                  </packagedElement>
                </packagedElement>
                <packagedElement xmi:type="uml:Package" xmi:id="__XzP0egmEe2MUaaQOL9IhA" name="modele">
                  <packagedElement xmi:type="uml:Package" xmi:id="__YrZkOgmEe2MUaaQOL9IhA" name="pieces">
                    <packagedElement xmi:type="uml:Class" xmi:id="__cNOsOgmEe2MUaaQOL9IhA" name="IPiece">
                      <generalization xmi:id="__pA7o-gmEe2MUaaQOL9IhA" general="__clCIOgmEe2MUaaQOL9IhA"/>
                      <ownedAttribute xmi:id="__q8OQOgmEe2MUaaQOL9IhA" name="TYPE" isLeaf="true" isStatic="true" isReadOnly="true">
                        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
                        <defaultValue xmi:type="uml:LiteralString" xmi:id="__q8OQegmEe2MUaaQOL9IhA" value="&quot;I&quot;"/>
                      </ownedAttribute>
                      <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__rp_8OgmEe2MUaaQOL9IhA" name="IPiece" specification="__pAUkOgmEe2MUaaQOL9IhA">
                        <ownedParameter xmi:id="__rp_8egmEe2MUaaQOL9IhA" name="coordonnees" type="__bjHYOgmEe2MUaaQOL9IhA"/>
                        <ownedParameter xmi:id="__rp_8ugmEe2MUaaQOL9IhA" name="couleur" type="__bp1EOgmEe2MUaaQOL9IhA"/>
                        <ownedParameter xmi:id="__rp_8-gmEe2MUaaQOL9IhA" type="__cNOsOgmEe2MUaaQOL9IhA" direction="return"/>
                        <language>java</language>
                        <body>super(coordonnees, couleur);&#xD;
	</body>
                      </ownedBehavior>
                      <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__rp_9OgmEe2MUaaQOL9IhA" name="setElements" specification="__pA7oOgmEe2MUaaQOL9IhA">
                        <ownedParameter xmi:id="__rp_9egmEe2MUaaQOL9IhA" name="coordonnees" type="__bjHYOgmEe2MUaaQOL9IhA"/>
                        <ownedParameter xmi:id="__rp_9ugmEe2MUaaQOL9IhA" name="couleur" type="__bp1EOgmEe2MUaaQOL9IhA"/>
                        <language>java</language>
                        <body>this.getElements().clear();&#xD;
		getElements().add(new Element(coordonnees,couleur));&#xD;
		getElements().add(new Element(coordonnees.getAbscisse(),coordonnees.getOrdonnee()+1,couleur));&#xD;
		getElements().add(new Element(coordonnees.getAbscisse(),coordonnees.getOrdonnee()-1,couleur));&#xD;
		getElements().add(new Element(coordonnees.getAbscisse(),coordonnees.getOrdonnee()-2,couleur));&#xD;
	</body>
                      </ownedBehavior>
                      <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__rqnAOgmEe2MUaaQOL9IhA" name="toString" specification="__cPq8OgmEe2MUaaQOL9IhA">
                        <ownedParameter xmi:id="__rqnAegmEe2MUaaQOL9IhA" direction="return">
                          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
                        </ownedParameter>
                        <language>java</language>
                        <body>String ret = &quot;IPiece :\n&quot;;&#xD;
		for(int i = 0;i&lt;getElements().size();i++) {&#xD;
			ret += &quot;\t&quot;+getElements().get(i).toString()+&quot;\n&quot;;&#xD;
		}&#xD;
		return ret;&#xD;
	</body>
                      </ownedBehavior>
                      <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__rqnAugmEe2MUaaQOL9IhA" name="getType" specification="__cQSAegmEe2MUaaQOL9IhA">
                        <ownedParameter xmi:id="__rqnA-gmEe2MUaaQOL9IhA" direction="return">
                          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
                        </ownedParameter>
                        <language>java</language>
                        <body>return TYPE;&#xD;
	</body>
                      </ownedBehavior>
                      <ownedOperation xmi:id="__cPq8OgmEe2MUaaQOL9IhA" name="toString" method="__rqnAOgmEe2MUaaQOL9IhA">
                        <ownedParameter xmi:id="__cQSAOgmEe2MUaaQOL9IhA" direction="return">
                          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
                        </ownedParameter>
                      </ownedOperation>
                      <ownedOperation xmi:id="__cQSAegmEe2MUaaQOL9IhA" name="getType" method="__rqnAugmEe2MUaaQOL9IhA">
                        <ownedParameter xmi:id="__cQ5EOgmEe2MUaaQOL9IhA" direction="return">
                          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
                        </ownedParameter>
                      </ownedOperation>
                      <ownedOperation xmi:id="__pAUkOgmEe2MUaaQOL9IhA" name="IPiece" method="__rp_8OgmEe2MUaaQOL9IhA">
                        <eAnnotations xmi:id="__pAUk-gmEe2MUaaQOL9IhA" source="http://www.eclipse.org/uml2/2.0.0/UML">
                          <details xmi:id="__pAUlOgmEe2MUaaQOL9IhA" key="create"/>
                        </eAnnotations>
                        <ownedParameter xmi:id="__pAUkegmEe2MUaaQOL9IhA" name="coordonnees" type="__bjHYOgmEe2MUaaQOL9IhA"/>
                        <ownedParameter xmi:id="__pAUkugmEe2MUaaQOL9IhA" name="couleur" type="__bp1EOgmEe2MUaaQOL9IhA"/>
                        <ownedParameter xmi:id="__pAUlegmEe2MUaaQOL9IhA" type="__cNOsOgmEe2MUaaQOL9IhA" direction="return"/>
                      </ownedOperation>
                      <ownedOperation xmi:id="__pA7oOgmEe2MUaaQOL9IhA" name="setElements" visibility="protected" method="__rp_9OgmEe2MUaaQOL9IhA">
                        <ownedParameter xmi:id="__pA7oegmEe2MUaaQOL9IhA" name="coordonnees" type="__bjHYOgmEe2MUaaQOL9IhA"/>
                        <ownedParameter xmi:id="__pA7ougmEe2MUaaQOL9IhA" name="couleur" type="__bp1EOgmEe2MUaaQOL9IhA"/>
                      </ownedOperation>
                    </packagedElement>
                    <packagedElement xmi:type="uml:Class" xmi:id="__cT8YOgmEe2MUaaQOL9IhA" name="JPiece">
                      <generalization xmi:id="__pCw0OgmEe2MUaaQOL9IhA" general="__clCIOgmEe2MUaaQOL9IhA"/>
                      <ownedAttribute xmi:id="__q81UOgmEe2MUaaQOL9IhA" name="TYPE" isLeaf="true" isStatic="true" isReadOnly="true">
                        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
                        <defaultValue xmi:type="uml:LiteralString" xmi:id="__q81UegmEe2MUaaQOL9IhA" value="&quot;J&quot;"/>
                      </ownedAttribute>
                      <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__rqnBOgmEe2MUaaQOL9IhA" name="JPiece" specification="__pBisOgmEe2MUaaQOL9IhA">
                        <ownedParameter xmi:id="__rqnBegmEe2MUaaQOL9IhA" name="coordonnees" type="__bjHYOgmEe2MUaaQOL9IhA"/>
                        <ownedParameter xmi:id="__rqnBugmEe2MUaaQOL9IhA" name="couleur" type="__bp1EOgmEe2MUaaQOL9IhA"/>
                        <ownedParameter xmi:id="__rqnB-gmEe2MUaaQOL9IhA" type="__cT8YOgmEe2MUaaQOL9IhA" direction="return"/>
                        <language>java</language>
                        <body>super(coordonnees, couleur);&#xD;
 </body>
                      </ownedBehavior>
                      <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__rrOEOgmEe2MUaaQOL9IhA" name="setElements" specification="__pCJxOgmEe2MUaaQOL9IhA">
                        <ownedParameter xmi:id="__rrOEegmEe2MUaaQOL9IhA" name="coordonnees" type="__bjHYOgmEe2MUaaQOL9IhA"/>
                        <ownedParameter xmi:id="__rrOEugmEe2MUaaQOL9IhA" name="couleur" type="__bp1EOgmEe2MUaaQOL9IhA"/>
                        <language>java</language>
                        <body>this.getElements().clear();&#xD;
     getElements().add(new Element(coordonnees, couleur));&#xD;
     getElements().add(new Element(coordonnees.getAbscisse(), coordonnees.getOrdonnee() - 1, couleur));&#xD;
     getElements().add(new Element(coordonnees.getAbscisse(), coordonnees.getOrdonnee() - 2, couleur));&#xD;
     getElements().add(new Element(coordonnees.getAbscisse() - 1, coordonnees.getOrdonnee(), couleur));&#xD;
 </body>
                      </ownedBehavior>
                      <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__rrOE-gmEe2MUaaQOL9IhA" name="toString" specification="__cVxkOgmEe2MUaaQOL9IhA">
                        <ownedParameter xmi:id="__rrOFOgmEe2MUaaQOL9IhA" direction="return">
                          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
                        </ownedParameter>
                        <language>java</language>
                        <body>String ret = &quot;JPiece :\n&quot;;&#xD;
     for (int i = 0; i &lt; getElements().size(); i++) {&#xD;
         ret += &quot;\t&quot; + getElements().get(i).toString() + &quot;\n&quot;;&#xD;
     }&#xD;
     return ret;&#xD;
 </body>
                      </ownedBehavior>
                      <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__rrOFegmEe2MUaaQOL9IhA" name="getType" specification="__cWYoOgmEe2MUaaQOL9IhA">
                        <ownedParameter xmi:id="__rrOFugmEe2MUaaQOL9IhA" direction="return">
                          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
                        </ownedParameter>
                        <language>java</language>
                        <body>return TYPE;&#xD;
 </body>
                      </ownedBehavior>
                      <ownedOperation xmi:id="__cVxkOgmEe2MUaaQOL9IhA" name="toString" method="__rrOE-gmEe2MUaaQOL9IhA">
                        <ownedParameter xmi:id="__cVxkegmEe2MUaaQOL9IhA" direction="return">
                          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
                        </ownedParameter>
                      </ownedOperation>
                      <ownedOperation xmi:id="__cWYoOgmEe2MUaaQOL9IhA" name="getType" method="__rrOFegmEe2MUaaQOL9IhA">
                        <ownedParameter xmi:id="__cWYoegmEe2MUaaQOL9IhA" direction="return">
                          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
                        </ownedParameter>
                      </ownedOperation>
                      <ownedOperation xmi:id="__pBisOgmEe2MUaaQOL9IhA" name="JPiece" method="__rqnBOgmEe2MUaaQOL9IhA">
                        <eAnnotations xmi:id="__pCJwegmEe2MUaaQOL9IhA" source="http://www.eclipse.org/uml2/2.0.0/UML">
                          <details xmi:id="__pCJwugmEe2MUaaQOL9IhA" key="create"/>
                        </eAnnotations>
                        <ownedParameter xmi:id="__pBisegmEe2MUaaQOL9IhA" name="coordonnees" type="__bjHYOgmEe2MUaaQOL9IhA"/>
                        <ownedParameter xmi:id="__pCJwOgmEe2MUaaQOL9IhA" name="couleur" type="__bp1EOgmEe2MUaaQOL9IhA"/>
                        <ownedParameter xmi:id="__pCJw-gmEe2MUaaQOL9IhA" type="__cT8YOgmEe2MUaaQOL9IhA" direction="return"/>
                      </ownedOperation>
                      <ownedOperation xmi:id="__pCJxOgmEe2MUaaQOL9IhA" name="setElements" visibility="protected" method="__rrOEOgmEe2MUaaQOL9IhA">
                        <ownedParameter xmi:id="__pCJxegmEe2MUaaQOL9IhA" name="coordonnees" type="__bjHYOgmEe2MUaaQOL9IhA"/>
                        <ownedParameter xmi:id="__pCJxugmEe2MUaaQOL9IhA" name="couleur" type="__bp1EOgmEe2MUaaQOL9IhA"/>
                      </ownedOperation>
                    </packagedElement>
                    <packagedElement xmi:type="uml:Class" xmi:id="__cY04OgmEe2MUaaQOL9IhA" name="LPiece">
                      <generalization xmi:id="__pD-8-gmEe2MUaaQOL9IhA" general="__clCIOgmEe2MUaaQOL9IhA"/>
                      <ownedAttribute xmi:id="__q9cYOgmEe2MUaaQOL9IhA" name="TYPE" isLeaf="true" isStatic="true" isReadOnly="true">
                        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
                        <defaultValue xmi:type="uml:LiteralString" xmi:id="__q-DcOgmEe2MUaaQOL9IhA" value="&quot;L&quot;"/>
                      </ownedAttribute>
                      <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__rr1IOgmEe2MUaaQOL9IhA" name="LPiece" specification="__pDX4OgmEe2MUaaQOL9IhA">
                        <ownedParameter xmi:id="__rr1IegmEe2MUaaQOL9IhA" name="coordonnees" type="__bjHYOgmEe2MUaaQOL9IhA"/>
                        <ownedParameter xmi:id="__rr1IugmEe2MUaaQOL9IhA" name="couleur" type="__bp1EOgmEe2MUaaQOL9IhA"/>
                        <ownedParameter xmi:id="__rr1I-gmEe2MUaaQOL9IhA" type="__cY04OgmEe2MUaaQOL9IhA" direction="return"/>
                        <language>java</language>
                        <body>super(coordonnees, couleur);&#xD;
	</body>
                      </ownedBehavior>
                      <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__rr1JOgmEe2MUaaQOL9IhA" name="setElements" specification="__pD-8OgmEe2MUaaQOL9IhA">
                        <ownedParameter xmi:id="__rr1JegmEe2MUaaQOL9IhA" name="coordonnees" type="__bjHYOgmEe2MUaaQOL9IhA"/>
                        <ownedParameter xmi:id="__rr1JugmEe2MUaaQOL9IhA" name="couleur" type="__bp1EOgmEe2MUaaQOL9IhA"/>
                        <language>java</language>
                        <body>this.getElements().clear();&#xD;
		getElements().add(new Element(coordonnees,couleur));&#xD;
		getElements().add(new Element(coordonnees.getAbscisse(),coordonnees.getOrdonnee()-1,couleur));&#xD;
		getElements().add(new Element(coordonnees.getAbscisse(),coordonnees.getOrdonnee()-2,couleur));&#xD;
		getElements().add(new Element(coordonnees.getAbscisse()+1,coordonnees.getOrdonnee(),couleur));&#xD;
	</body>
                      </ownedBehavior>
                      <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__rscMOgmEe2MUaaQOL9IhA" name="toString" specification="__caqEOgmEe2MUaaQOL9IhA">
                        <ownedParameter xmi:id="__rscMegmEe2MUaaQOL9IhA" direction="return">
                          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
                        </ownedParameter>
                        <language>java</language>
                        <body>String ret = &quot;LPiece :\n&quot;;&#xD;
		for(int i = 0;i&lt;getElements().size();i++) {&#xD;
			ret += &quot;\t&quot;+getElements().get(i).toString()+&quot;\n&quot;;&#xD;
		}&#xD;
		return ret;&#xD;
	</body>
                      </ownedBehavior>
                      <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__rscMugmEe2MUaaQOL9IhA" name="getType" specification="__cbRIegmEe2MUaaQOL9IhA">
                        <ownedParameter xmi:id="__rscM-gmEe2MUaaQOL9IhA" direction="return">
                          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
                        </ownedParameter>
                        <language>java</language>
                        <body>return TYPE;&#xD;
	</body>
                      </ownedBehavior>
                      <ownedOperation xmi:id="__caqEOgmEe2MUaaQOL9IhA" name="toString" method="__rscMOgmEe2MUaaQOL9IhA">
                        <ownedParameter xmi:id="__cbRIOgmEe2MUaaQOL9IhA" direction="return">
                          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
                        </ownedParameter>
                      </ownedOperation>
                      <ownedOperation xmi:id="__cbRIegmEe2MUaaQOL9IhA" name="getType" method="__rscMugmEe2MUaaQOL9IhA">
                        <ownedParameter xmi:id="__cb4MOgmEe2MUaaQOL9IhA" direction="return">
                          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
                        </ownedParameter>
                      </ownedOperation>
                      <ownedOperation xmi:id="__pDX4OgmEe2MUaaQOL9IhA" name="LPiece" method="__rr1IOgmEe2MUaaQOL9IhA">
                        <eAnnotations xmi:id="__pDX4-gmEe2MUaaQOL9IhA" source="http://www.eclipse.org/uml2/2.0.0/UML">
                          <details xmi:id="__pDX5OgmEe2MUaaQOL9IhA" key="create"/>
                        </eAnnotations>
                        <ownedParameter xmi:id="__pDX4egmEe2MUaaQOL9IhA" name="coordonnees" type="__bjHYOgmEe2MUaaQOL9IhA"/>
                        <ownedParameter xmi:id="__pDX4ugmEe2MUaaQOL9IhA" name="couleur" type="__bp1EOgmEe2MUaaQOL9IhA"/>
                        <ownedParameter xmi:id="__pDX5egmEe2MUaaQOL9IhA" type="__cY04OgmEe2MUaaQOL9IhA" direction="return"/>
                      </ownedOperation>
                      <ownedOperation xmi:id="__pD-8OgmEe2MUaaQOL9IhA" name="setElements" visibility="protected" method="__rr1JOgmEe2MUaaQOL9IhA">
                        <ownedParameter xmi:id="__pD-8egmEe2MUaaQOL9IhA" name="coordonnees" type="__bjHYOgmEe2MUaaQOL9IhA"/>
                        <ownedParameter xmi:id="__pD-8ugmEe2MUaaQOL9IhA" name="couleur" type="__bp1EOgmEe2MUaaQOL9IhA"/>
                      </ownedOperation>
                    </packagedElement>
                    <packagedElement xmi:type="uml:Class" xmi:id="__cdtYOgmEe2MUaaQOL9IhA" name="OPiece">
                      <generalization xmi:id="__pGbMugmEe2MUaaQOL9IhA" general="__clCIOgmEe2MUaaQOL9IhA"/>
                      <ownedAttribute xmi:id="__q-qgOgmEe2MUaaQOL9IhA" name="TYPE" isLeaf="true" isStatic="true" isReadOnly="true">
                        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
                        <defaultValue xmi:type="uml:LiteralString" xmi:id="__q-qgegmEe2MUaaQOL9IhA" value="&quot;O&quot;"/>
                      </ownedAttribute>
                      <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__rscNOgmEe2MUaaQOL9IhA" name="OPiece" specification="__pEmAOgmEe2MUaaQOL9IhA">
                        <ownedParameter xmi:id="__rscNegmEe2MUaaQOL9IhA" name="coordonnees" type="__bjHYOgmEe2MUaaQOL9IhA"/>
                        <ownedParameter xmi:id="__rscNugmEe2MUaaQOL9IhA" name="couleur" type="__bp1EOgmEe2MUaaQOL9IhA"/>
                        <ownedParameter xmi:id="__rscN-gmEe2MUaaQOL9IhA" type="__cdtYOgmEe2MUaaQOL9IhA" direction="return"/>
                        <language>java</language>
                        <body>super(coordonnees,couleur);&#xD;
	</body>
                      </ownedBehavior>
                      <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__rtDQOgmEe2MUaaQOL9IhA" name="setElements" specification="__pFNEOgmEe2MUaaQOL9IhA">
                        <ownedParameter xmi:id="__rtDQegmEe2MUaaQOL9IhA" name="coordonnees" type="__bjHYOgmEe2MUaaQOL9IhA"/>
                        <ownedParameter xmi:id="__rtDQugmEe2MUaaQOL9IhA" name="couleur" type="__bp1EOgmEe2MUaaQOL9IhA"/>
                        <language>java</language>
                        <body>this.getElements().clear();&#xD;
		getElements().add(new Element(coordonnees,couleur));&#xD;
		getElements().add(new Element(coordonnees.getAbscisse()+1,coordonnees.getOrdonnee(),couleur));&#xD;
		getElements().add(new Element(coordonnees.getAbscisse(),coordonnees.getOrdonnee()-1,couleur));&#xD;
		getElements().add(new Element(coordonnees.getAbscisse()+1,coordonnees.getOrdonnee()-1,couleur));&#xD;
	</body>
                      </ownedBehavior>
                      <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__rtDQ-gmEe2MUaaQOL9IhA" name="toString" specification="__cgwsOgmEe2MUaaQOL9IhA">
                        <ownedParameter xmi:id="__rtDROgmEe2MUaaQOL9IhA" direction="return">
                          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
                        </ownedParameter>
                        <language>java</language>
                        <body>String ret = &quot;OPiece :\n&quot;;&#xD;
		for(int i = 0;i&lt;getElements().size();i++) {&#xD;
			ret += &quot;\t&quot;+getElements().get(i).toString()+&quot;\n&quot;;&#xD;
		}&#xD;
		return ret;&#xD;
	</body>
                      </ownedBehavior>
                      <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__rtqUOgmEe2MUaaQOL9IhA" name="getType" specification="__ch-0ugmEe2MUaaQOL9IhA">
                        <ownedParameter xmi:id="__rtqUegmEe2MUaaQOL9IhA" direction="return">
                          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
                        </ownedParameter>
                        <language>java</language>
                        <body>return TYPE;&#xD;
	</body>
                      </ownedBehavior>
                      <ownedOperation xmi:id="__ce7gOgmEe2MUaaQOL9IhA" name="tourner">
                        <ownedParameter xmi:id="__ce7gegmEe2MUaaQOL9IhA" name="sensHoraire">
                          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
                        </ownedParameter>
                      </ownedOperation>
                      <ownedOperation xmi:id="__cgwsOgmEe2MUaaQOL9IhA" name="toString" method="__rtDQ-gmEe2MUaaQOL9IhA">
                        <ownedParameter xmi:id="__cgwsegmEe2MUaaQOL9IhA" direction="return">
                          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
                        </ownedParameter>
                      </ownedOperation>
                      <ownedOperation xmi:id="__ch-0ugmEe2MUaaQOL9IhA" name="getType" method="__rtqUOgmEe2MUaaQOL9IhA">
                        <ownedParameter xmi:id="__cil4OgmEe2MUaaQOL9IhA" direction="return">
                          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
                        </ownedParameter>
                      </ownedOperation>
                      <ownedOperation xmi:id="__pEmAOgmEe2MUaaQOL9IhA" name="OPiece" method="__rscNOgmEe2MUaaQOL9IhA">
                        <eAnnotations xmi:id="__pEmA-gmEe2MUaaQOL9IhA" source="http://www.eclipse.org/uml2/2.0.0/UML">
                          <details xmi:id="__pEmBOgmEe2MUaaQOL9IhA" key="create"/>
                        </eAnnotations>
                        <ownedParameter xmi:id="__pEmAegmEe2MUaaQOL9IhA" name="coordonnees" type="__bjHYOgmEe2MUaaQOL9IhA"/>
                        <ownedParameter xmi:id="__pEmAugmEe2MUaaQOL9IhA" name="couleur" type="__bp1EOgmEe2MUaaQOL9IhA"/>
                        <ownedParameter xmi:id="__pEmBegmEe2MUaaQOL9IhA" type="__cdtYOgmEe2MUaaQOL9IhA" direction="return"/>
                      </ownedOperation>
                      <ownedOperation xmi:id="__pFNEOgmEe2MUaaQOL9IhA" name="setElements" visibility="protected" method="__rtDQOgmEe2MUaaQOL9IhA">
                        <ownedParameter xmi:id="__pFNEegmEe2MUaaQOL9IhA" name="coordonnees" type="__bjHYOgmEe2MUaaQOL9IhA"/>
                        <ownedParameter xmi:id="__pFNEugmEe2MUaaQOL9IhA" name="couleur" type="__bp1EOgmEe2MUaaQOL9IhA"/>
                      </ownedOperation>
                    </packagedElement>
                    <packagedElement xmi:type="uml:Class" xmi:id="__clCIOgmEe2MUaaQOL9IhA" name="Piece" isAbstract="true">
                      <ownedAttribute xmi:id="__q_4oOgmEe2MUaaQOL9IhA" name="elements" type="__bv7sOgmEe2MUaaQOL9IhA" isOrdered="true" isReadOnly="true" association="__smbIegmEe2MUaaQOL9IhA">
                        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__rAfsOgmEe2MUaaQOL9IhA" value="*"/>
                      </ownedAttribute>
                      <ownedAttribute xmi:id="__rBGwOgmEe2MUaaQOL9IhA" name="puits" type="__eS5YOgmEe2MUaaQOL9IhA" association="__sMygOgmEe2MUaaQOL9IhA"/>
                      <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__ruRYOgmEe2MUaaQOL9IhA" name="Piece" specification="__pI3cOgmEe2MUaaQOL9IhA">
                        <ownedParameter xmi:id="__ruRYegmEe2MUaaQOL9IhA" name="coordonnees" type="__bjHYOgmEe2MUaaQOL9IhA"/>
                        <ownedParameter xmi:id="__ruRYugmEe2MUaaQOL9IhA" name="couleur" type="__bp1EOgmEe2MUaaQOL9IhA"/>
                        <ownedParameter xmi:id="__ruRY-gmEe2MUaaQOL9IhA" type="__clCIOgmEe2MUaaQOL9IhA" direction="return"/>
                        <language>java</language>
                        <body>elements = new ArrayList&lt;Element>();&#xD;
		this.setElements(coordonnees, couleur);&#xD;
	</body>
                      </ownedBehavior>
                      <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__ruRZOgmEe2MUaaQOL9IhA" name="setPosition" specification="__coFcOgmEe2MUaaQOL9IhA">
                        <ownedParameter xmi:id="__ruRZegmEe2MUaaQOL9IhA" name="abscisse">
                          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                        </ownedParameter>
                        <ownedParameter xmi:id="__ruRZugmEe2MUaaQOL9IhA" name="ordonnee">
                          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                        </ownedParameter>
                        <language>java</language>
                        <body>this.setElements(new Coordonnees(abscisse, ordonnee), this.elements.get(0).getCouleur());&#xD;
	</body>
                      </ownedBehavior>
                      <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__ru4cOgmEe2MUaaQOL9IhA" name="tourner" specification="__cosgOgmEe2MUaaQOL9IhA">
                        <ownedParameter xmi:id="__ru4cegmEe2MUaaQOL9IhA" name="sensHoraire">
                          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
                        </ownedParameter>
                        <language>java</language>
                        <body>List&lt;Element> elementsTemp = new ArrayList&lt;>();&#xD;
		if (this.puits != null) {&#xD;
			for (Element i : this.elements) {&#xD;
				Coordonnees coordTemp = effectuerRotationTemporaire(i.getCoordonnees(), sensHoraire);&#xD;
				elementsTemp.add(new Element(coordTemp, i.getCouleur()));&#xD;
			}&#xD;
			for (Element i : elementsTemp) {&#xD;
				verifierSortiePuits(i, 0, 0);&#xD;
				verifierCollision(i, 0, 0);&#xD;
			}&#xD;
		}&#xD;
		effectuerRotation(sensHoraire);&#xD;
	</body>
                      </ownedBehavior>
                      <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__ru4cugmEe2MUaaQOL9IhA" name="effectuerRotationTemporaire" specification="__pLTsOgmEe2MUaaQOL9IhA">
                        <ownedParameter xmi:id="__ru4c-gmEe2MUaaQOL9IhA" name="coord" type="__bjHYOgmEe2MUaaQOL9IhA"/>
                        <ownedParameter xmi:id="__ru4dOgmEe2MUaaQOL9IhA" name="sensHoraire">
                          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
                        </ownedParameter>
                        <ownedParameter xmi:id="__ru4degmEe2MUaaQOL9IhA" type="__bjHYOgmEe2MUaaQOL9IhA" direction="return"/>
                        <language>java</language>
                        <body>int x = this.elements.get(0).getCoordonnees().getAbscisse();&#xD;
		int y = this.elements.get(0).getCoordonnees().getOrdonnee();&#xD;
		int nouvX = coord.getAbscisse() - x;&#xD;
		int nouvY = coord.getOrdonnee() - y;&#xD;
&#xD;
		if (sensHoraire) {&#xD;
			return new Coordonnees(-nouvY + x, nouvX + y);&#xD;
		} else {&#xD;
			return new Coordonnees(nouvY + x, -nouvX + y);&#xD;
		}&#xD;
	</body>
                      </ownedBehavior>
                      <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__ru4dugmEe2MUaaQOL9IhA" name="effectuerRotation" specification="__cp6oOgmEe2MUaaQOL9IhA">
                        <ownedParameter xmi:id="__ru4d-gmEe2MUaaQOL9IhA" name="sensHoraire">
                          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
                        </ownedParameter>
                        <language>java</language>
                        <body>int x = this.elements.get(0).getCoordonnees().getAbscisse();&#xD;
		int y = this.elements.get(0).getCoordonnees().getOrdonnee();&#xD;
		for (Element i : this.elements) {&#xD;
			i.deplacerDe(-x, -y);&#xD;
			if (sensHoraire) {&#xD;
				i.setCoordonnees(new Coordonnees(-i.getCoordonnees().getOrdonnee(), i.getCoordonnees().getAbscisse()));&#xD;
			} else {&#xD;
				i.setCoordonnees(new Coordonnees(i.getCoordonnees().getOrdonnee(), -i.getCoordonnees().getAbscisse()));&#xD;
			}&#xD;
			i.deplacerDe(x, y);&#xD;
		}&#xD;
	</body>
                      </ownedBehavior>
                      <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__rvfgOgmEe2MUaaQOL9IhA" name="toString" specification="__cqhsOgmEe2MUaaQOL9IhA">
                        <ownedParameter xmi:id="__rvfgegmEe2MUaaQOL9IhA" direction="return">
                          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
                        </ownedParameter>
                        <language>java</language>
                        <body>String ret = getClass().getSimpleName() + &quot;:\n&quot;;&#xD;
		for (int i = 0; i &lt; elements.size(); i++) {&#xD;
			ret += &quot;\t&quot; + elements.get(i).toString() + &quot;\n&quot;;&#xD;
		}&#xD;
		return ret;&#xD;
	</body>
                      </ownedBehavior>
                      <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__rvfgugmEe2MUaaQOL9IhA" name="deplacerDe" specification="__crIwOgmEe2MUaaQOL9IhA">
                        <ownedParameter xmi:id="__rvfg-gmEe2MUaaQOL9IhA" name="x">
                          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                        </ownedParameter>
                        <ownedParameter xmi:id="__rvfhOgmEe2MUaaQOL9IhA" name="y">
                          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                        </ownedParameter>
                        <language>java</language>
                        <body>verifierDeplacement(x, y);&#xD;
		if (this.puits != null) {&#xD;
			for (Element i : this.elements) {&#xD;
				verifierSortiePuits(i, x, y);&#xD;
				if (i.getCoordonnees().getOrdonnee() >= 0) {&#xD;
					verifierCollision(i, x, y);&#xD;
				}&#xD;
			}&#xD;
		}&#xD;
		deplacerElements(x, y);&#xD;
	</body>
                      </ownedBehavior>
                      <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__rvfhegmEe2MUaaQOL9IhA" name="deplacerElements" specification="__crv0OgmEe2MUaaQOL9IhA">
                        <ownedParameter xmi:id="__rvfhugmEe2MUaaQOL9IhA" name="x">
                          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                        </ownedParameter>
                        <ownedParameter xmi:id="__rvfh-gmEe2MUaaQOL9IhA" name="y">
                          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                        </ownedParameter>
                        <language>java</language>
                        <body>for (Element i : this.elements) {&#xD;
			i.deplacerDe(x, y);&#xD;
		}&#xD;
	</body>
                      </ownedBehavior>
                      <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__rwGkOgmEe2MUaaQOL9IhA" name="verifierDeplacement" specification="__cs98OgmEe2MUaaQOL9IhA">
                        <ownedParameter xmi:id="__rwGkegmEe2MUaaQOL9IhA" name="x">
                          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                        </ownedParameter>
                        <ownedParameter xmi:id="__rwGkugmEe2MUaaQOL9IhA" name="y">
                          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                        </ownedParameter>
                        <language>java</language>
                        <body>if (y &lt; 0 || y > 1 || x > 1 || x &lt; -1) {&#xD;
			throw new IllegalArgumentException(&quot;Mauvais déplacement&quot;);&#xD;
		}&#xD;
	</body>
                      </ownedBehavior>
                      <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__rwGk-gmEe2MUaaQOL9IhA" name="verifierSortiePuits" specification="__pMh0OgmEe2MUaaQOL9IhA">
                        <ownedParameter xmi:id="__rwGlOgmEe2MUaaQOL9IhA" name="i" type="__bv7sOgmEe2MUaaQOL9IhA"/>
                        <ownedParameter xmi:id="__rwGlegmEe2MUaaQOL9IhA" name="x">
                          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                        </ownedParameter>
                        <ownedParameter xmi:id="__rwGlugmEe2MUaaQOL9IhA" name="y">
                          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                        </ownedParameter>
                        <language>java</language>
                        <body>if (i.getCoordonnees().getAbscisse() + x &lt; 0&#xD;
				|| i.getCoordonnees().getAbscisse() + x >= this.puits.getLargeur()) {&#xD;
			throw new BloxException(&quot;Sortie&quot;, BloxException.BLOX_SORTIE_PUITS);&#xD;
		}&#xD;
	</body>
                      </ownedBehavior>
                      <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__rwGl-gmEe2MUaaQOL9IhA" name="verifierCollision" specification="__pNI4OgmEe2MUaaQOL9IhA">
                        <ownedParameter xmi:id="__rwGmOgmEe2MUaaQOL9IhA" name="i" type="__bv7sOgmEe2MUaaQOL9IhA"/>
                        <ownedParameter xmi:id="__rwGmegmEe2MUaaQOL9IhA" name="x">
                          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                        </ownedParameter>
                        <ownedParameter xmi:id="__rwGmugmEe2MUaaQOL9IhA" name="y">
                          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                        </ownedParameter>
                        <language>java</language>
                        <body>if (i.getCoordonnees().getOrdonnee() + y >= this.puits.getProfondeur()) {&#xD;
			throw new BloxException(&quot;Collision&quot;, BloxException.BLOX_COLLISION);&#xD;
		}&#xD;
		if (this.puits.getTas().getElements()[i.getCoordonnees().getOrdonnee() + y][i.getCoordonnees().getAbscisse()&#xD;
				+ x] != null) {&#xD;
			throw new BloxException(&quot;Collision&quot;, BloxException.BLOX_COLLISION);&#xD;
		}&#xD;
	</body>
                      </ownedBehavior>
                      <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__rwtoOgmEe2MUaaQOL9IhA" name="peutDescendre" specification="__cuMEOgmEe2MUaaQOL9IhA">
                        <ownedParameter xmi:id="__rwtoegmEe2MUaaQOL9IhA" direction="return">
                          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
                        </ownedParameter>
                        <language>java</language>
                        <body>for (Element i : this.elements) {&#xD;
			try{&#xD;
				verifierCollision(i, 0, 1);&#xD;
			}&#xD;
			catch(BloxException e){&#xD;
				return false;&#xD;
			}&#xD;
		}&#xD;
		return true;&#xD;
	</body>
                      </ownedBehavior>
                      <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__rwtougmEe2MUaaQOL9IhA" name="descenteDirecte" specification="__cuMEugmEe2MUaaQOL9IhA">
                        <language>java</language>
                        <body>while(peutDescendre()){&#xD;
			this.getPuits().gravite();&#xD;
		}&#xD;
	</body>
                      </ownedBehavior>
                      <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__rwto-gmEe2MUaaQOL9IhA" name="getCouleur" specification="__cuzIOgmEe2MUaaQOL9IhA">
                        <ownedParameter xmi:id="__rwtpOgmEe2MUaaQOL9IhA" type="__bp1EOgmEe2MUaaQOL9IhA" direction="return"/>
                        <language>java</language>
                        <body>return this.getElements().get(0).getCouleur();&#xD;
	</body>
                      </ownedBehavior>
                      <ownedOperation xmi:id="__cneYOgmEe2MUaaQOL9IhA" name="getType" isAbstract="true">
                        <ownedParameter xmi:id="__cneYegmEe2MUaaQOL9IhA" direction="return">
                          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
                        </ownedParameter>
                      </ownedOperation>
                      <ownedOperation xmi:id="__coFcOgmEe2MUaaQOL9IhA" name="setPosition" method="__ruRZOgmEe2MUaaQOL9IhA">
                        <ownedParameter xmi:id="__coFcegmEe2MUaaQOL9IhA" name="abscisse">
                          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                        </ownedParameter>
                        <ownedParameter xmi:id="__coFcugmEe2MUaaQOL9IhA" name="ordonnee">
                          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                        </ownedParameter>
                      </ownedOperation>
                      <ownedOperation xmi:id="__cosgOgmEe2MUaaQOL9IhA" name="tourner" method="__ru4cOgmEe2MUaaQOL9IhA" raisedException="__bdn0OgmEe2MUaaQOL9IhA">
                        <ownedParameter xmi:id="__cosgegmEe2MUaaQOL9IhA" name="sensHoraire">
                          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
                        </ownedParameter>
                      </ownedOperation>
                      <ownedOperation xmi:id="__cp6oOgmEe2MUaaQOL9IhA" name="effectuerRotation" visibility="private" method="__ru4dugmEe2MUaaQOL9IhA">
                        <ownedParameter xmi:id="__cp6oegmEe2MUaaQOL9IhA" name="sensHoraire">
                          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
                        </ownedParameter>
                      </ownedOperation>
                      <ownedOperation xmi:id="__cqhsOgmEe2MUaaQOL9IhA" name="toString" method="__rvfgOgmEe2MUaaQOL9IhA">
                        <ownedParameter xmi:id="__cqhsegmEe2MUaaQOL9IhA" direction="return">
                          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
                        </ownedParameter>
                      </ownedOperation>
                      <ownedOperation xmi:id="__crIwOgmEe2MUaaQOL9IhA" name="deplacerDe" method="__rvfgugmEe2MUaaQOL9IhA" raisedException="__bdn0OgmEe2MUaaQOL9IhA">
                        <ownedParameter xmi:id="__crIwegmEe2MUaaQOL9IhA" name="x">
                          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                        </ownedParameter>
                        <ownedParameter xmi:id="__crIwugmEe2MUaaQOL9IhA" name="y">
                          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                        </ownedParameter>
                      </ownedOperation>
                      <ownedOperation xmi:id="__crv0OgmEe2MUaaQOL9IhA" name="deplacerElements" visibility="private" method="__rvfhegmEe2MUaaQOL9IhA">
                        <ownedParameter xmi:id="__csW4OgmEe2MUaaQOL9IhA" name="x">
                          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                        </ownedParameter>
                        <ownedParameter xmi:id="__csW4egmEe2MUaaQOL9IhA" name="y">
                          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                        </ownedParameter>
                      </ownedOperation>
                      <ownedOperation xmi:id="__cs98OgmEe2MUaaQOL9IhA" name="verifierDeplacement" visibility="private" method="__rwGkOgmEe2MUaaQOL9IhA">
                        <ownedParameter xmi:id="__cs98egmEe2MUaaQOL9IhA" name="x">
                          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                        </ownedParameter>
                        <ownedParameter xmi:id="__cs98ugmEe2MUaaQOL9IhA" name="y">
                          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                        </ownedParameter>
                      </ownedOperation>
                      <ownedOperation xmi:id="__cuMEOgmEe2MUaaQOL9IhA" name="peutDescendre" method="__rwtoOgmEe2MUaaQOL9IhA">
                        <ownedParameter xmi:id="__cuMEegmEe2MUaaQOL9IhA" direction="return">
                          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
                        </ownedParameter>
                      </ownedOperation>
                      <ownedOperation xmi:id="__cuMEugmEe2MUaaQOL9IhA" name="descenteDirecte" method="__rwtougmEe2MUaaQOL9IhA"/>
                      <ownedOperation xmi:id="__cuzIOgmEe2MUaaQOL9IhA" name="getCouleur" method="__rwto-gmEe2MUaaQOL9IhA">
                        <ownedParameter xmi:id="__pNv8OgmEe2MUaaQOL9IhA" type="__bp1EOgmEe2MUaaQOL9IhA" direction="return"/>
                      </ownedOperation>
                      <ownedOperation xmi:id="__pI3cOgmEe2MUaaQOL9IhA" name="Piece" method="__ruRYOgmEe2MUaaQOL9IhA">
                        <eAnnotations xmi:id="__pI3c-gmEe2MUaaQOL9IhA" source="http://www.eclipse.org/uml2/2.0.0/UML">
                          <details xmi:id="__pI3dOgmEe2MUaaQOL9IhA" key="create"/>
                        </eAnnotations>
                        <ownedParameter xmi:id="__pI3cegmEe2MUaaQOL9IhA" name="coordonnees" type="__bjHYOgmEe2MUaaQOL9IhA"/>
                        <ownedParameter xmi:id="__pI3cugmEe2MUaaQOL9IhA" name="couleur" type="__bp1EOgmEe2MUaaQOL9IhA"/>
                        <ownedParameter xmi:id="__pJegOgmEe2MUaaQOL9IhA" type="__clCIOgmEe2MUaaQOL9IhA" direction="return"/>
                      </ownedOperation>
                      <ownedOperation xmi:id="__pJegegmEe2MUaaQOL9IhA" name="setElements" visibility="protected" isAbstract="true">
                        <ownedParameter xmi:id="__pJegugmEe2MUaaQOL9IhA" name="coordonnees" type="__bjHYOgmEe2MUaaQOL9IhA"/>
                        <ownedParameter xmi:id="__pJeg-gmEe2MUaaQOL9IhA" name="couleur" type="__bp1EOgmEe2MUaaQOL9IhA"/>
                      </ownedOperation>
                      <ownedOperation xmi:id="__pLTsOgmEe2MUaaQOL9IhA" name="effectuerRotationTemporaire" visibility="private" method="__ru4cugmEe2MUaaQOL9IhA">
                        <ownedParameter xmi:id="__pLTsegmEe2MUaaQOL9IhA" name="coord" type="__bjHYOgmEe2MUaaQOL9IhA"/>
                        <ownedParameter xmi:id="__pLTsugmEe2MUaaQOL9IhA" name="sensHoraire">
                          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
                        </ownedParameter>
                        <ownedParameter xmi:id="__pLTs-gmEe2MUaaQOL9IhA" type="__bjHYOgmEe2MUaaQOL9IhA" direction="return"/>
                      </ownedOperation>
                      <ownedOperation xmi:id="__pMh0OgmEe2MUaaQOL9IhA" name="verifierSortiePuits" visibility="private" method="__rwGk-gmEe2MUaaQOL9IhA" raisedException="__bdn0OgmEe2MUaaQOL9IhA">
                        <ownedParameter xmi:id="__pMh0egmEe2MUaaQOL9IhA" name="i" type="__bv7sOgmEe2MUaaQOL9IhA"/>
                        <ownedParameter xmi:id="__pMh0ugmEe2MUaaQOL9IhA" name="x">
                          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                        </ownedParameter>
                        <ownedParameter xmi:id="__pMh0-gmEe2MUaaQOL9IhA" name="y">
                          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                        </ownedParameter>
                      </ownedOperation>
                      <ownedOperation xmi:id="__pNI4OgmEe2MUaaQOL9IhA" name="verifierCollision" visibility="private" method="__rwGl-gmEe2MUaaQOL9IhA" raisedException="__bdn0OgmEe2MUaaQOL9IhA">
                        <ownedParameter xmi:id="__pNI4egmEe2MUaaQOL9IhA" name="i" type="__bv7sOgmEe2MUaaQOL9IhA"/>
                        <ownedParameter xmi:id="__pNI4ugmEe2MUaaQOL9IhA" name="x">
                          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                        </ownedParameter>
                        <ownedParameter xmi:id="__pNI4-gmEe2MUaaQOL9IhA" name="y">
                          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                        </ownedParameter>
                      </ownedOperation>
                    </packagedElement>
                    <packagedElement xmi:type="uml:Class" xmi:id="__c0SsOgmEe2MUaaQOL9IhA" name="SPiece">
                      <generalization xmi:id="__pQzQOgmEe2MUaaQOL9IhA" general="__clCIOgmEe2MUaaQOL9IhA"/>
                      <ownedAttribute xmi:id="__rCU4OgmEe2MUaaQOL9IhA" name="TYPE" isLeaf="true" isStatic="true" isReadOnly="true">
                        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
                        <defaultValue xmi:type="uml:LiteralString" xmi:id="__rCU4egmEe2MUaaQOL9IhA" value="&quot;S&quot;"/>
                      </ownedAttribute>
                      <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__rx7wOgmEe2MUaaQOL9IhA" name="SPiece" specification="__pO-EOgmEe2MUaaQOL9IhA">
                        <ownedParameter xmi:id="__rx7wegmEe2MUaaQOL9IhA" name="coordonnees" type="__bjHYOgmEe2MUaaQOL9IhA"/>
                        <ownedParameter xmi:id="__rx7wugmEe2MUaaQOL9IhA" name="couleur" type="__bp1EOgmEe2MUaaQOL9IhA"/>
                        <ownedParameter xmi:id="__rx7w-gmEe2MUaaQOL9IhA" type="__c0SsOgmEe2MUaaQOL9IhA" direction="return"/>
                        <language>java</language>
                        <body>super(coordonnees, couleur);&#xD;
 </body>
                      </ownedBehavior>
                      <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__rx7xOgmEe2MUaaQOL9IhA" name="setElements" specification="__pQMMOgmEe2MUaaQOL9IhA">
                        <ownedParameter xmi:id="__rx7xegmEe2MUaaQOL9IhA" name="coordonnees" type="__bjHYOgmEe2MUaaQOL9IhA"/>
                        <ownedParameter xmi:id="__rx7xugmEe2MUaaQOL9IhA" name="couleur" type="__bp1EOgmEe2MUaaQOL9IhA"/>
                        <language>java</language>
                        <body>this.getElements().clear();&#xD;
     getElements().add(new Element(coordonnees, couleur));&#xD;
     getElements().add(new Element(coordonnees.getAbscisse() - 1, coordonnees.getOrdonnee(), couleur));&#xD;
     getElements().add(new Element(coordonnees.getAbscisse(), coordonnees.getOrdonnee() - 1, couleur));&#xD;
     getElements().add(new Element(coordonnees.getAbscisse() + 1, coordonnees.getOrdonnee() - 1, couleur));&#xD;
 </body>
                      </ownedBehavior>
                      <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__ryi0OgmEe2MUaaQOL9IhA" name="toString" specification="__c1g0OgmEe2MUaaQOL9IhA">
                        <ownedParameter xmi:id="__ryi0egmEe2MUaaQOL9IhA" direction="return">
                          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
                        </ownedParameter>
                        <language>java</language>
                        <body>String ret = &quot;SPiece :\n&quot;;&#xD;
     for (int i = 0; i &lt; getElements().size(); i++) {&#xD;
         ret += &quot;\t&quot; + getElements().get(i).toString() + &quot;\n&quot;;&#xD;
     }&#xD;
     return ret;&#xD;
 </body>
                      </ownedBehavior>
                      <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__ryi0ugmEe2MUaaQOL9IhA" name="getType" specification="__c2u8OgmEe2MUaaQOL9IhA">
                        <ownedParameter xmi:id="__ryi0-gmEe2MUaaQOL9IhA" direction="return">
                          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
                        </ownedParameter>
                        <language>java</language>
                        <body>return TYPE;&#xD;
 </body>
                      </ownedBehavior>
                      <ownedOperation xmi:id="__c1g0OgmEe2MUaaQOL9IhA" name="toString" method="__ryi0OgmEe2MUaaQOL9IhA">
                        <ownedParameter xmi:id="__c2H4OgmEe2MUaaQOL9IhA" direction="return">
                          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
                        </ownedParameter>
                      </ownedOperation>
                      <ownedOperation xmi:id="__c2u8OgmEe2MUaaQOL9IhA" name="getType" method="__ryi0ugmEe2MUaaQOL9IhA">
                        <ownedParameter xmi:id="__c2u8egmEe2MUaaQOL9IhA" direction="return">
                          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
                        </ownedParameter>
                      </ownedOperation>
                      <ownedOperation xmi:id="__pO-EOgmEe2MUaaQOL9IhA" name="SPiece" method="__rx7wOgmEe2MUaaQOL9IhA">
                        <eAnnotations xmi:id="__pO-E-gmEe2MUaaQOL9IhA" source="http://www.eclipse.org/uml2/2.0.0/UML">
                          <details xmi:id="__pO-FOgmEe2MUaaQOL9IhA" key="create"/>
                        </eAnnotations>
                        <ownedParameter xmi:id="__pO-EegmEe2MUaaQOL9IhA" name="coordonnees" type="__bjHYOgmEe2MUaaQOL9IhA"/>
                        <ownedParameter xmi:id="__pO-EugmEe2MUaaQOL9IhA" name="couleur" type="__bp1EOgmEe2MUaaQOL9IhA"/>
                        <ownedParameter xmi:id="__pO-FegmEe2MUaaQOL9IhA" type="__c0SsOgmEe2MUaaQOL9IhA" direction="return"/>
                      </ownedOperation>
                      <ownedOperation xmi:id="__pQMMOgmEe2MUaaQOL9IhA" name="setElements" visibility="protected" method="__rx7xOgmEe2MUaaQOL9IhA">
                        <ownedParameter xmi:id="__pQMMegmEe2MUaaQOL9IhA" name="coordonnees" type="__bjHYOgmEe2MUaaQOL9IhA"/>
                        <ownedParameter xmi:id="__pQMMugmEe2MUaaQOL9IhA" name="couleur" type="__bp1EOgmEe2MUaaQOL9IhA"/>
                      </ownedOperation>
                    </packagedElement>
                    <packagedElement xmi:type="uml:Class" xmi:id="__c4kIOgmEe2MUaaQOL9IhA" name="TPiece">
                      <generalization xmi:id="__pSocegmEe2MUaaQOL9IhA" general="__clCIOgmEe2MUaaQOL9IhA"/>
                      <ownedAttribute xmi:id="__rC78OgmEe2MUaaQOL9IhA" name="TYPE" isLeaf="true" isStatic="true" isReadOnly="true">
                        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
                        <defaultValue xmi:type="uml:LiteralString" xmi:id="__rC78egmEe2MUaaQOL9IhA" value="&quot;T&quot;"/>
                      </ownedAttribute>
                      <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__ryi1OgmEe2MUaaQOL9IhA" name="TPiece" specification="__pRaUOgmEe2MUaaQOL9IhA">
                        <ownedParameter xmi:id="__ryi1egmEe2MUaaQOL9IhA" name="coordonnees" type="__bjHYOgmEe2MUaaQOL9IhA"/>
                        <ownedParameter xmi:id="__ryi1ugmEe2MUaaQOL9IhA" name="couleur" type="__bp1EOgmEe2MUaaQOL9IhA"/>
                        <ownedParameter xmi:id="__ryi1-gmEe2MUaaQOL9IhA" type="__c4kIOgmEe2MUaaQOL9IhA" direction="return"/>
                        <language>java</language>
                        <body>super(coordonnees, couleur);&#xD;
	</body>
                      </ownedBehavior>
                      <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__rzJ4OgmEe2MUaaQOL9IhA" name="setElements" specification="__pSBZOgmEe2MUaaQOL9IhA">
                        <ownedParameter xmi:id="__rzJ4egmEe2MUaaQOL9IhA" name="coordonnees" type="__bjHYOgmEe2MUaaQOL9IhA"/>
                        <ownedParameter xmi:id="__rzJ4ugmEe2MUaaQOL9IhA" name="couleur" type="__bp1EOgmEe2MUaaQOL9IhA"/>
                        <language>java</language>
                        <body>this.getElements().clear();&#xD;
		getElements().add(new Element(coordonnees,couleur));&#xD;
		getElements().add(new Element(coordonnees.getAbscisse()-1,coordonnees.getOrdonnee(),couleur));&#xD;
		getElements().add(new Element(coordonnees.getAbscisse()+1,coordonnees.getOrdonnee(),couleur));&#xD;
		getElements().add(new Element(coordonnees.getAbscisse(),coordonnees.getOrdonnee()+1,couleur));&#xD;
	</body>
                      </ownedBehavior>
                      <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__rzJ4-gmEe2MUaaQOL9IhA" name="toString" specification="__c5yQOgmEe2MUaaQOL9IhA">
                        <ownedParameter xmi:id="__rzJ5OgmEe2MUaaQOL9IhA" direction="return">
                          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
                        </ownedParameter>
                        <language>java</language>
                        <body>String ret = &quot;TPiece :\n&quot;;&#xD;
		for(int i = 0;i&lt;getElements().size();i++) {&#xD;
			ret += &quot;\t&quot;+getElements().get(i).toString()+&quot;\n&quot;;&#xD;
		}&#xD;
		return ret;&#xD;
	</body>
                      </ownedBehavior>
                      <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__rzJ5egmEe2MUaaQOL9IhA" name="getType" specification="__c6ZUegmEe2MUaaQOL9IhA">
                        <ownedParameter xmi:id="__rzJ5ugmEe2MUaaQOL9IhA" direction="return">
                          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
                        </ownedParameter>
                        <language>java</language>
                        <body>return TYPE;&#xD;
	</body>
                      </ownedBehavior>
                      <ownedOperation xmi:id="__c5yQOgmEe2MUaaQOL9IhA" name="toString" method="__rzJ4-gmEe2MUaaQOL9IhA">
                        <ownedParameter xmi:id="__c6ZUOgmEe2MUaaQOL9IhA" direction="return">
                          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
                        </ownedParameter>
                      </ownedOperation>
                      <ownedOperation xmi:id="__c6ZUegmEe2MUaaQOL9IhA" name="getType" method="__rzJ5egmEe2MUaaQOL9IhA">
                        <ownedParameter xmi:id="__c6ZUugmEe2MUaaQOL9IhA" direction="return">
                          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
                        </ownedParameter>
                      </ownedOperation>
                      <ownedOperation xmi:id="__pRaUOgmEe2MUaaQOL9IhA" name="TPiece" method="__ryi1OgmEe2MUaaQOL9IhA">
                        <eAnnotations xmi:id="__pSBYegmEe2MUaaQOL9IhA" source="http://www.eclipse.org/uml2/2.0.0/UML">
                          <details xmi:id="__pSBYugmEe2MUaaQOL9IhA" key="create"/>
                        </eAnnotations>
                        <ownedParameter xmi:id="__pRaUegmEe2MUaaQOL9IhA" name="coordonnees" type="__bjHYOgmEe2MUaaQOL9IhA"/>
                        <ownedParameter xmi:id="__pSBYOgmEe2MUaaQOL9IhA" name="couleur" type="__bp1EOgmEe2MUaaQOL9IhA"/>
                        <ownedParameter xmi:id="__pSBY-gmEe2MUaaQOL9IhA" type="__c4kIOgmEe2MUaaQOL9IhA" direction="return"/>
                      </ownedOperation>
                      <ownedOperation xmi:id="__pSBZOgmEe2MUaaQOL9IhA" name="setElements" visibility="protected" method="__rzJ4OgmEe2MUaaQOL9IhA">
                        <ownedParameter xmi:id="__pSBZegmEe2MUaaQOL9IhA" name="coordonnees" type="__bjHYOgmEe2MUaaQOL9IhA"/>
                        <ownedParameter xmi:id="__pSocOgmEe2MUaaQOL9IhA" name="couleur" type="__bp1EOgmEe2MUaaQOL9IhA"/>
                      </ownedOperation>
                    </packagedElement>
                    <packagedElement xmi:type="uml:Class" xmi:id="__c8OgOgmEe2MUaaQOL9IhA" name="ZPiece">
                      <generalization xmi:id="__pUdoOgmEe2MUaaQOL9IhA" general="__clCIOgmEe2MUaaQOL9IhA"/>
                      <ownedAttribute xmi:id="__rDjAOgmEe2MUaaQOL9IhA" name="TYPE" isLeaf="true" isStatic="true" isReadOnly="true">
                        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
                        <defaultValue xmi:type="uml:LiteralString" xmi:id="__rDjAegmEe2MUaaQOL9IhA" value="&quot;Z&quot;"/>
                      </ownedAttribute>
                      <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__rzw8OgmEe2MUaaQOL9IhA" name="ZPiece" specification="__pTPgOgmEe2MUaaQOL9IhA">
                        <ownedParameter xmi:id="__rzw8egmEe2MUaaQOL9IhA" name="coordonnees" type="__bjHYOgmEe2MUaaQOL9IhA"/>
                        <ownedParameter xmi:id="__rzw8ugmEe2MUaaQOL9IhA" name="couleur" type="__bp1EOgmEe2MUaaQOL9IhA"/>
                        <ownedParameter xmi:id="__rzw8-gmEe2MUaaQOL9IhA" type="__c8OgOgmEe2MUaaQOL9IhA" direction="return"/>
                        <language>java</language>
                        <body>super(coordonnees, couleur);&#xD;
 </body>
                      </ownedBehavior>
                      <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__rzw9OgmEe2MUaaQOL9IhA" name="setElements" specification="__pT2kOgmEe2MUaaQOL9IhA">
                        <ownedParameter xmi:id="__rzw9egmEe2MUaaQOL9IhA" name="coordonnees" type="__bjHYOgmEe2MUaaQOL9IhA"/>
                        <ownedParameter xmi:id="__rzw9ugmEe2MUaaQOL9IhA" name="couleur" type="__bp1EOgmEe2MUaaQOL9IhA"/>
                        <language>java</language>
                        <body>this.getElements().clear();&#xD;
     getElements().add(new Element(coordonnees, couleur));&#xD;
     getElements().add(new Element(coordonnees.getAbscisse() + 1, coordonnees.getOrdonnee(), couleur));&#xD;
     getElements().add(new Element(coordonnees.getAbscisse(), coordonnees.getOrdonnee() - 1, couleur));&#xD;
     getElements().add(new Element(coordonnees.getAbscisse() - 1, coordonnees.getOrdonnee() - 1, couleur));&#xD;
 </body>
                      </ownedBehavior>
                      <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__rzw9-gmEe2MUaaQOL9IhA" name="toString" specification="__c-DsOgmEe2MUaaQOL9IhA">
                        <ownedParameter xmi:id="__rzw-OgmEe2MUaaQOL9IhA" direction="return">
                          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
                        </ownedParameter>
                        <language>java</language>
                        <body>String ret = &quot;ZPiece :\n&quot;;&#xD;
     for (int i = 0; i &lt; getElements().size(); i++) {&#xD;
         ret += &quot;\t&quot; + getElements().get(i).toString() + &quot;\n&quot;;&#xD;
     }&#xD;
     return ret;&#xD;
 </body>
                      </ownedBehavior>
                      <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__r0YAOgmEe2MUaaQOL9IhA" name="getType" specification="__c-DsugmEe2MUaaQOL9IhA">
                        <ownedParameter xmi:id="__r0YAegmEe2MUaaQOL9IhA" direction="return">
                          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
                        </ownedParameter>
                        <language>java</language>
                        <body>return TYPE;&#xD;
 </body>
                      </ownedBehavior>
                      <ownedOperation xmi:id="__c-DsOgmEe2MUaaQOL9IhA" name="toString" method="__rzw9-gmEe2MUaaQOL9IhA">
                        <ownedParameter xmi:id="__c-DsegmEe2MUaaQOL9IhA" direction="return">
                          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
                        </ownedParameter>
                      </ownedOperation>
                      <ownedOperation xmi:id="__c-DsugmEe2MUaaQOL9IhA" name="getType" method="__r0YAOgmEe2MUaaQOL9IhA">
                        <ownedParameter xmi:id="__c-qwOgmEe2MUaaQOL9IhA" direction="return">
                          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
                        </ownedParameter>
                      </ownedOperation>
                      <ownedOperation xmi:id="__pTPgOgmEe2MUaaQOL9IhA" name="ZPiece" method="__rzw8OgmEe2MUaaQOL9IhA">
                        <eAnnotations xmi:id="__pTPg-gmEe2MUaaQOL9IhA" source="http://www.eclipse.org/uml2/2.0.0/UML">
                          <details xmi:id="__pTPhOgmEe2MUaaQOL9IhA" key="create"/>
                        </eAnnotations>
                        <ownedParameter xmi:id="__pTPgegmEe2MUaaQOL9IhA" name="coordonnees" type="__bjHYOgmEe2MUaaQOL9IhA"/>
                        <ownedParameter xmi:id="__pTPgugmEe2MUaaQOL9IhA" name="couleur" type="__bp1EOgmEe2MUaaQOL9IhA"/>
                        <ownedParameter xmi:id="__pTPhegmEe2MUaaQOL9IhA" type="__c8OgOgmEe2MUaaQOL9IhA" direction="return"/>
                      </ownedOperation>
                      <ownedOperation xmi:id="__pT2kOgmEe2MUaaQOL9IhA" name="setElements" visibility="protected" method="__rzw9OgmEe2MUaaQOL9IhA">
                        <ownedParameter xmi:id="__pT2kegmEe2MUaaQOL9IhA" name="coordonnees" type="__bjHYOgmEe2MUaaQOL9IhA"/>
                        <ownedParameter xmi:id="__pT2kugmEe2MUaaQOL9IhA" name="couleur" type="__bp1EOgmEe2MUaaQOL9IhA"/>
                      </ownedOperation>
                    </packagedElement>
                    <packagedElement xmi:type="uml:Class" xmi:id="__d_XYOgmEe2MUaaQOL9IhA" name="IPieceTest">
                      <eAnnotations xmi:id="__d_-cOgmEe2MUaaQOL9IhA" source="http://ns.yatta.de/umllab">
                        <contents xmi:type="ecore:EAnnotation" xmi:id="__d_-cegmEe2MUaaQOL9IhA" source="codegen">
                          <details xmi:id="__d_-cugmEe2MUaaQOL9IhA" key="codegenDirectory" value="/Tetris/test"/>
                        </contents>
                      </eAnnotations>
                      <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__r_-MugmEe2MUaaQOL9IhA" name="testConstructeur" specification="__d_-c-gmEe2MUaaQOL9IhA">
                        <language>java</language>
                        <body>IPiece iP = new IPiece(new Coordonnees(1,1),Couleur.BLEU);&#xD;
		List&lt;Element> testElements = new ArrayList&lt;Element>();&#xD;
		testElements.add(new Element(1,1,Couleur.BLEU));&#xD;
		testElements.add(new Element(1,2,Couleur.BLEU));&#xD;
		testElements.add(new Element(1,0,Couleur.BLEU));&#xD;
		testElements.add(new Element(1,-1,Couleur.BLEU));&#xD;
		assertEquals(testElements,iP.getElements(),&quot;Elements&quot;);&#xD;
	</body>
                      </ownedBehavior>
                      <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__r_-M-gmEe2MUaaQOL9IhA" name="testToString" specification="__eAlg-gmEe2MUaaQOL9IhA">
                        <language>java</language>
                        <body>IPiece iP = new IPiece(new Coordonnees(1,1),Couleur.CYAN);&#xD;
		String ret = &quot;IPiece :\n&quot;&#xD;
				+ &quot;\t(1, 1) - CYAN\n&quot;&#xD;
				+ &quot;\t(1, 2) - CYAN\n&quot;&#xD;
				+ &quot;\t(1, 0) - CYAN\n&quot;&#xD;
				+ &quot;\t(1, -1) - CYAN\n&quot;;&#xD;
		assertEquals(ret,iP.toString(),&quot;La chaine n'est pas la bonne&quot;);&#xD;
	</body>
                      </ownedBehavior>
                      <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__r_-NOgmEe2MUaaQOL9IhA" name="testGetType" specification="__eBMk-gmEe2MUaaQOL9IhA">
                        <language>java</language>
                        <body>Piece iPiece = new IPiece(new Coordonnees(1,1),Couleur.BLEU);&#xD;
		assertEquals(&quot;I&quot;,iPiece.getType(),&quot;Le type n'est pas le bon&quot;);&#xD;
	</body>
                      </ownedBehavior>
                      <ownedOperation xmi:id="__d_-c-gmEe2MUaaQOL9IhA" name="testConstructeur" visibility="package" method="__r_-MugmEe2MUaaQOL9IhA"/>
                      <ownedOperation xmi:id="__eAlg-gmEe2MUaaQOL9IhA" name="testToString" visibility="package" method="__r_-M-gmEe2MUaaQOL9IhA"/>
                      <ownedOperation xmi:id="__eBMk-gmEe2MUaaQOL9IhA" name="testGetType" visibility="package" method="__r_-NOgmEe2MUaaQOL9IhA"/>
                    </packagedElement>
                    <packagedElement xmi:type="uml:Class" xmi:id="__eCasOgmEe2MUaaQOL9IhA" name="OPieceTest">
                      <eAnnotations xmi:id="__eDBwOgmEe2MUaaQOL9IhA" source="http://ns.yatta.de/umllab">
                        <contents xmi:type="ecore:EAnnotation" xmi:id="__eDBwegmEe2MUaaQOL9IhA" source="codegen">
                          <details xmi:id="__eDBwugmEe2MUaaQOL9IhA" key="codegenDirectory" value="/Tetris/test"/>
                        </contents>
                      </eAnnotations>
                      <ownedAttribute xmi:id="__rMF4OgmEe2MUaaQOL9IhA" name="oPiece" visibility="private" type="__cdtYOgmEe2MUaaQOL9IhA" association="__specegmEe2MUaaQOL9IhA"/>
                      <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__sAlQOgmEe2MUaaQOL9IhA" name="testConstructeur" specification="__eDBw-gmEe2MUaaQOL9IhA">
                        <language>java</language>
                        <body>OPiece oP = new OPiece(new Coordonnees(1, 1), Couleur.BLEU);&#xD;
		List&lt;Element> testElements = new ArrayList&lt;Element>();&#xD;
		testElements.add(new Element(1, 1, Couleur.BLEU));&#xD;
		testElements.add(new Element(2, 1, Couleur.BLEU));&#xD;
		testElements.add(new Element(1, 0, Couleur.BLEU));&#xD;
		testElements.add(new Element(2, 0, Couleur.BLEU));&#xD;
		assertEquals(testElements, oP.getElements(), &quot;Elements&quot;);&#xD;
	</body>
                      </ownedBehavior>
                      <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__sAlQegmEe2MUaaQOL9IhA" name="testToString" specification="__eDo0-gmEe2MUaaQOL9IhA">
                        <language>java</language>
                        <body>OPiece oP = new OPiece(new Coordonnees(1, 1), Couleur.CYAN);&#xD;
		String ret = &quot;OPiece :\n&quot; + &quot;\t(1, 1) - CYAN\n&quot; + &quot;\t(2, 1) - CYAN\n&quot; + &quot;\t(1, 0) - CYAN\n&quot;&#xD;
				+ &quot;\t(2, 0) - CYAN\n&quot;;&#xD;
		assertEquals(ret, oP.toString(), &quot;La chaine n'est pas la bonne&quot;);&#xD;
	</body>
                      </ownedBehavior>
                      <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__sAlQugmEe2MUaaQOL9IhA" name="setUp" specification="__eEP4-gmEe2MUaaQOL9IhA">
                        <language>java</language>
                        <body>Coordonnees coordonnees = new Coordonnees(5, 20);&#xD;
		Couleur couleur = Couleur.BLEU;&#xD;
		oPiece = new OPiece(coordonnees, couleur);&#xD;
	</body>
                      </ownedBehavior>
                      <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__sAlQ-gmEe2MUaaQOL9IhA" name="testType" specification="__eFeAOgmEe2MUaaQOL9IhA">
                        <language>java</language>
                        <body>assertEquals(&quot;O&quot;, oPiece.getType());&#xD;
	</body>
                      </ownedBehavior>
                      <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__sAlROgmEe2MUaaQOL9IhA" name="testTourner" specification="__eGFEegmEe2MUaaQOL9IhA">
                        <language>java</language>
                        <body>oPiece.tourner(true);&#xD;
		assertEquals(4, oPiece.getElements().size());&#xD;
		assertFalse(oPiece.getElements().contains(new Element(new Coordonnees(5, 21), Couleur.BLEU)));&#xD;
		assertFalse(oPiece.getElements().contains(new Element(new Coordonnees(6, 21), Couleur.BLEU)));&#xD;
		assertFalse(oPiece.getElements().contains(new Element(new Coordonnees(5, 11), Couleur.BLEU)));&#xD;
		assertFalse(oPiece.getElements().contains(new Element(new Coordonnees(6, 11), Couleur.BLEU)));&#xD;
	</body>
                      </ownedBehavior>
                      <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__sAlRegmEe2MUaaQOL9IhA" name="testSetElements" specification="__eGsIugmEe2MUaaQOL9IhA">
                        <language>java</language>
                        <body>oPiece.setElements(new Coordonnees(3, 10), Couleur.ORANGE);&#xD;
		assertEquals(4, oPiece.getElements().size());&#xD;
		assertFalse(oPiece.getElements().contains(new Element(new Coordonnees(5, 20), Couleur.BLEU)));&#xD;
		assertFalse(oPiece.getElements().contains(new Element(new Coordonnees(6, 20), Couleur.BLEU)));&#xD;
		assertFalse(oPiece.getElements().contains(new Element(new Coordonnees(5, 19), Couleur.BLEU)));&#xD;
		assertFalse(oPiece.getElements().contains(new Element(new Coordonnees(6, 19), Couleur.BLEU)));&#xD;
		assertEquals(new Element(new Coordonnees(3, 10), Couleur.ORANGE), oPiece.getElements().get(0));&#xD;
		assertEquals(new Element(new Coordonnees(4, 10), Couleur.ORANGE), oPiece.getElements().get(1));&#xD;
		assertEquals(new Element(new Coordonnees(3, 9), Couleur.ORANGE), oPiece.getElements().get(2));&#xD;
		assertEquals(new Element(new Coordonnees(4, 9), Couleur.ORANGE), oPiece.getElements().get(3));&#xD;
	</body>
                      </ownedBehavior>
                      <ownedOperation xmi:id="__eDBw-gmEe2MUaaQOL9IhA" name="testConstructeur" visibility="package" method="__sAlQOgmEe2MUaaQOL9IhA"/>
                      <ownedOperation xmi:id="__eDo0-gmEe2MUaaQOL9IhA" name="testToString" visibility="package" method="__sAlQegmEe2MUaaQOL9IhA"/>
                      <ownedOperation xmi:id="__eEP4-gmEe2MUaaQOL9IhA" name="setUp" method="__sAlQugmEe2MUaaQOL9IhA" raisedException="__bgrIOgmEe2MUaaQOL9IhA"/>
                      <ownedOperation xmi:id="__eFeAOgmEe2MUaaQOL9IhA" name="testType" method="__sAlQ-gmEe2MUaaQOL9IhA"/>
                      <ownedOperation xmi:id="__eGFEegmEe2MUaaQOL9IhA" name="testTourner" method="__sAlROgmEe2MUaaQOL9IhA"/>
                      <ownedOperation xmi:id="__eGsIugmEe2MUaaQOL9IhA" name="testSetElements" method="__sAlRegmEe2MUaaQOL9IhA"/>
                    </packagedElement>
                    <packagedElement xmi:type="uml:Association" xmi:id="__sMygOgmEe2MUaaQOL9IhA" name="" memberEnd="__rBGwOgmEe2MUaaQOL9IhA __sNZkOgmEe2MUaaQOL9IhA">
                      <ownedEnd xmi:id="__sNZkOgmEe2MUaaQOL9IhA" name="" type="__clCIOgmEe2MUaaQOL9IhA" association="__sMygOgmEe2MUaaQOL9IhA"/>
                    </packagedElement>
                    <packagedElement xmi:type="uml:Association" xmi:id="__smbIegmEe2MUaaQOL9IhA" name="" memberEnd="__smbIugmEe2MUaaQOL9IhA __q_4oOgmEe2MUaaQOL9IhA">
                      <ownedEnd xmi:id="__smbIugmEe2MUaaQOL9IhA" name="" type="__clCIOgmEe2MUaaQOL9IhA" association="__smbIegmEe2MUaaQOL9IhA"/>
                    </packagedElement>
                    <packagedElement xmi:type="uml:Association" xmi:id="__specegmEe2MUaaQOL9IhA" name="" memberEnd="__specugmEe2MUaaQOL9IhA __rMF4OgmEe2MUaaQOL9IhA">
                      <ownedEnd xmi:id="__specugmEe2MUaaQOL9IhA" name="" type="__eCasOgmEe2MUaaQOL9IhA" association="__specegmEe2MUaaQOL9IhA"/>
                    </packagedElement>
                  </packagedElement>
                  <packagedElement xmi:type="uml:Class" xmi:id="__bdn0OgmEe2MUaaQOL9IhA" name="BloxException">
                    <generalization xmi:id="__bh5QegmEe2MUaaQOL9IhA" general="__bgrIOgmEe2MUaaQOL9IhA"/>
                    <ownedAttribute xmi:id="__qosQOgmEe2MUaaQOL9IhA" name="serialVersionUID" visibility="private" isLeaf="true" isStatic="true" isReadOnly="true">
                      <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#long"/>
                      <defaultValue xmi:type="uml:LiteralString" xmi:id="__qosQegmEe2MUaaQOL9IhA" value="1L"/>
                    </ownedAttribute>
                    <ownedAttribute xmi:id="__qosQugmEe2MUaaQOL9IhA" name="BLOX_COLLISION" isLeaf="true" isStatic="true" isReadOnly="true">
                      <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                      <defaultValue xmi:type="uml:LiteralString" xmi:id="__qpTUOgmEe2MUaaQOL9IhA" value="1"/>
                    </ownedAttribute>
                    <ownedAttribute xmi:id="__qpTUegmEe2MUaaQOL9IhA" name="BLOX_SORTIE_PUITS" isLeaf="true" isStatic="true" isReadOnly="true">
                      <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                      <defaultValue xmi:type="uml:LiteralString" xmi:id="__qp6YOgmEe2MUaaQOL9IhA" value="2"/>
                    </ownedAttribute>
                    <ownedAttribute xmi:id="__qp6YegmEe2MUaaQOL9IhA" name="type" isReadOnly="true">
                      <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                    </ownedAttribute>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__rirMOgmEe2MUaaQOL9IhA" name="BloxException" specification="__bfdAOgmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__rirMegmEe2MUaaQOL9IhA" name="message">
                        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
                      </ownedParameter>
                      <ownedParameter xmi:id="__rirMugmEe2MUaaQOL9IhA" name="type">
                        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                      </ownedParameter>
                      <ownedParameter xmi:id="__rirM-gmEe2MUaaQOL9IhA" type="__bdn0OgmEe2MUaaQOL9IhA" direction="return"/>
                      <language>java</language>
                      <body>super(message);&#xD;
     this.type = type;&#xD;
 </body>
                    </ownedBehavior>
                    <ownedOperation xmi:id="__bfdAOgmEe2MUaaQOL9IhA" name="BloxException" method="__rirMOgmEe2MUaaQOL9IhA">
                      <eAnnotations xmi:id="__bgEEegmEe2MUaaQOL9IhA" source="http://www.eclipse.org/uml2/2.0.0/UML">
                        <details xmi:id="__bgEEugmEe2MUaaQOL9IhA" key="create"/>
                      </eAnnotations>
                      <ownedParameter xmi:id="__bfdAegmEe2MUaaQOL9IhA" name="message">
                        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
                      </ownedParameter>
                      <ownedParameter xmi:id="__bgEEOgmEe2MUaaQOL9IhA" name="type">
                        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                      </ownedParameter>
                      <ownedParameter xmi:id="__bgEE-gmEe2MUaaQOL9IhA" type="__bdn0OgmEe2MUaaQOL9IhA" direction="return"/>
                    </ownedOperation>
                  </packagedElement>
                  <packagedElement xmi:type="uml:Class" xmi:id="__bjHYOgmEe2MUaaQOL9IhA" name="Coordonnees">
                    <ownedAttribute xmi:id="__qqhcOgmEe2MUaaQOL9IhA" name="abscisse">
                      <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                    </ownedAttribute>
                    <ownedAttribute xmi:id="__qqhcegmEe2MUaaQOL9IhA" name="ordonnee">
                      <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                    </ownedAttribute>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__rirNOgmEe2MUaaQOL9IhA" name="Coordonnees" specification="__bkVgOgmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__rirNegmEe2MUaaQOL9IhA" name="abscisse">
                        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                      </ownedParameter>
                      <ownedParameter xmi:id="__rirNugmEe2MUaaQOL9IhA" name="ordonnee">
                        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                      </ownedParameter>
                      <ownedParameter xmi:id="__rirN-gmEe2MUaaQOL9IhA" type="__bjHYOgmEe2MUaaQOL9IhA" direction="return"/>
                      <language>java</language>
                      <body>this.abscisse = abscisse;&#xD;
		this.ordonnee = ordonnee;&#xD;
	</body>
                    </ownedBehavior>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__rjSQOgmEe2MUaaQOL9IhA" name="toString" specification="__bljoOgmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__rjSQegmEe2MUaaQOL9IhA" direction="return">
                        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
                      </ownedParameter>
                      <language>java</language>
                      <body>return &quot;(&quot; + this.abscisse + &quot;, &quot; + this.ordonnee + &quot;)&quot;;&#xD;
	</body>
                    </ownedBehavior>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__rjSQugmEe2MUaaQOL9IhA" name="hashCode" specification="__bmKsOgmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__rjSQ-gmEe2MUaaQOL9IhA" direction="return">
                        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                      </ownedParameter>
                      <language>java</language>
                      <body>return Objects.hash(abscisse, ordonnee);&#xD;
	</body>
                    </ownedBehavior>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__rjSROgmEe2MUaaQOL9IhA" name="equals" specification="__qHu4egmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__rjSRegmEe2MUaaQOL9IhA" name="obj" type="__qHH0OgmEe2MUaaQOL9IhA"/>
                      <ownedParameter xmi:id="__rjSRugmEe2MUaaQOL9IhA" direction="return">
                        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
                      </ownedParameter>
                      <language>java</language>
                      <body>if (this == obj)&#xD;
			return true;&#xD;
		if (obj == null)&#xD;
			return false;&#xD;
		if (getClass() != obj.getClass())&#xD;
			return false;&#xD;
		Coordonnees other = (Coordonnees) obj;&#xD;
		return abscisse == other.abscisse &amp;&amp; ordonnee == other.ordonnee;&#xD;
	</body>
                    </ownedBehavior>
                    <ownedOperation xmi:id="__bkVgOgmEe2MUaaQOL9IhA" name="Coordonnees" method="__rirNOgmEe2MUaaQOL9IhA">
                      <eAnnotations xmi:id="__bk8kugmEe2MUaaQOL9IhA" source="http://www.eclipse.org/uml2/2.0.0/UML">
                        <details xmi:id="__bk8k-gmEe2MUaaQOL9IhA" key="create"/>
                      </eAnnotations>
                      <ownedParameter xmi:id="__bk8kOgmEe2MUaaQOL9IhA" name="abscisse">
                        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                      </ownedParameter>
                      <ownedParameter xmi:id="__bk8kegmEe2MUaaQOL9IhA" name="ordonnee">
                        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                      </ownedParameter>
                      <ownedParameter xmi:id="__bk8lOgmEe2MUaaQOL9IhA" type="__bjHYOgmEe2MUaaQOL9IhA" direction="return"/>
                    </ownedOperation>
                    <ownedOperation xmi:id="__bljoOgmEe2MUaaQOL9IhA" name="toString" method="__rjSQOgmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__bljoegmEe2MUaaQOL9IhA" direction="return">
                        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
                      </ownedParameter>
                    </ownedOperation>
                    <ownedOperation xmi:id="__bmKsOgmEe2MUaaQOL9IhA" name="hashCode" method="__rjSQugmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__bmKsegmEe2MUaaQOL9IhA" direction="return">
                        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                      </ownedParameter>
                    </ownedOperation>
                    <ownedOperation xmi:id="__qHu4egmEe2MUaaQOL9IhA" name="equals" method="__rjSROgmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__qHu4ugmEe2MUaaQOL9IhA" name="obj" type="__qHH0OgmEe2MUaaQOL9IhA"/>
                      <ownedParameter xmi:id="__qIV8OgmEe2MUaaQOL9IhA" direction="return">
                        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
                      </ownedParameter>
                    </ownedOperation>
                  </packagedElement>
                  <packagedElement xmi:type="uml:Enumeration" xmi:id="__bp1EOgmEe2MUaaQOL9IhA" name="Couleur">
                    <ownedAttribute xmi:id="__qtkwOgmEe2MUaaQOL9IhA" name="couleurPourAffichage" type="__o1VcOgmEe2MUaaQOL9IhA" isReadOnly="true" association="__sj-4egmEe2MUaaQOL9IhA"/>
                    <ownedOperation xmi:id="__o18gOgmEe2MUaaQOL9IhA" name="Couleur" visibility="private" method="__rj5UOgmEe2MUaaQOL9IhA">
                      <eAnnotations xmi:id="__o2jkOgmEe2MUaaQOL9IhA" source="http://www.eclipse.org/uml2/2.0.0/UML">
                        <details xmi:id="__o2jkegmEe2MUaaQOL9IhA" key="create"/>
                      </eAnnotations>
                      <ownedParameter xmi:id="__o18gegmEe2MUaaQOL9IhA" name="couleurPourAffichage" type="__o1VcOgmEe2MUaaQOL9IhA"/>
                      <ownedParameter xmi:id="__o2jkugmEe2MUaaQOL9IhA" type="__bp1EOgmEe2MUaaQOL9IhA" direction="return"/>
                    </ownedOperation>
                    <ownedLiteral xmi:id="__brDMOgmEe2MUaaQOL9IhA" name="ROUGE">
                      <specification xmi:type="uml:Expression" xmi:id="__brqQOgmEe2MUaaQOL9IhA">
                        <operand xmi:type="uml:LiteralString" xmi:id="__sJvMOgmEe2MUaaQOL9IhA" value="java.awt.Color.RED"/>
                      </specification>
                    </ownedLiteral>
                    <ownedLiteral xmi:id="__brqQegmEe2MUaaQOL9IhA" name="ORANGE">
                      <specification xmi:type="uml:Expression" xmi:id="__brqQugmEe2MUaaQOL9IhA">
                        <operand xmi:type="uml:LiteralString" xmi:id="__sJvMegmEe2MUaaQOL9IhA" value="java.awt.Color.ORANGE"/>
                      </specification>
                    </ownedLiteral>
                    <ownedLiteral xmi:id="__brqQ-gmEe2MUaaQOL9IhA" name="BLEU">
                      <specification xmi:type="uml:Expression" xmi:id="__bsRUOgmEe2MUaaQOL9IhA">
                        <operand xmi:type="uml:LiteralString" xmi:id="__sJvMugmEe2MUaaQOL9IhA" value="java.awt.Color.BLUE"/>
                      </specification>
                    </ownedLiteral>
                    <ownedLiteral xmi:id="__bsRUegmEe2MUaaQOL9IhA" name="VERT">
                      <specification xmi:type="uml:Expression" xmi:id="__bsRUugmEe2MUaaQOL9IhA">
                        <operand xmi:type="uml:LiteralString" xmi:id="__sKWQOgmEe2MUaaQOL9IhA" value="java.awt.Color.GREEN"/>
                      </specification>
                    </ownedLiteral>
                    <ownedLiteral xmi:id="__bsRU-gmEe2MUaaQOL9IhA" name="JAUNE">
                      <specification xmi:type="uml:Expression" xmi:id="__bsRVOgmEe2MUaaQOL9IhA">
                        <operand xmi:type="uml:LiteralString" xmi:id="__sKWQegmEe2MUaaQOL9IhA" value="java.awt.Color.YELLOW"/>
                      </specification>
                    </ownedLiteral>
                    <ownedLiteral xmi:id="__bs4YOgmEe2MUaaQOL9IhA" name="CYAN">
                      <specification xmi:type="uml:Expression" xmi:id="__bs4YegmEe2MUaaQOL9IhA">
                        <operand xmi:type="uml:LiteralString" xmi:id="__sKWQugmEe2MUaaQOL9IhA" value="java.awt.Color.CYAN"/>
                      </specification>
                    </ownedLiteral>
                    <ownedLiteral xmi:id="__bs4YugmEe2MUaaQOL9IhA" name="VIOLET">
                      <specification xmi:type="uml:Expression" xmi:id="__bs4Y-gmEe2MUaaQOL9IhA">
                        <operand xmi:type="uml:LiteralString" xmi:id="__sKWQ-gmEe2MUaaQOL9IhA" value="java.awt.Color.MAGENTA"/>
                      </specification>
                    </ownedLiteral>
                  </packagedElement>
                  <packagedElement xmi:type="uml:Class" xmi:id="__bv7sOgmEe2MUaaQOL9IhA" name="Element">
                    <ownedAttribute xmi:id="__quL0OgmEe2MUaaQOL9IhA" name="coordonnees" type="__bjHYOgmEe2MUaaQOL9IhA" association="__sK9UOgmEe2MUaaQOL9IhA"/>
                    <ownedAttribute xmi:id="__quL0egmEe2MUaaQOL9IhA" name="couleur" type="__bp1EOgmEe2MUaaQOL9IhA" association="__sLkYegmEe2MUaaQOL9IhA"/>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__rkgYOgmEe2MUaaQOL9IhA" name="Element" specification="__o3KoOgmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__rkgYegmEe2MUaaQOL9IhA" name="coordonnees" type="__bjHYOgmEe2MUaaQOL9IhA"/>
                      <ownedParameter xmi:id="__rkgYugmEe2MUaaQOL9IhA" type="__bv7sOgmEe2MUaaQOL9IhA" direction="return"/>
                      <language>java</language>
                      <body>this.coordonnees = coordonnees;&#xD;
		this.couleur = Couleur.ROUGE;&#xD;
	</body>
                    </ownedBehavior>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__rlHcOgmEe2MUaaQOL9IhA" name="Element" specification="__byX8OgmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__rlHcegmEe2MUaaQOL9IhA" name="abscisse">
                        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                      </ownedParameter>
                      <ownedParameter xmi:id="__rlHcugmEe2MUaaQOL9IhA" name="ordonnee">
                        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                      </ownedParameter>
                      <ownedParameter xmi:id="__rlHc-gmEe2MUaaQOL9IhA" type="__bv7sOgmEe2MUaaQOL9IhA" direction="return"/>
                      <language>java</language>
                      <body>this.coordonnees = new Coordonnees(abscisse,ordonnee);&#xD;
		this.couleur = Couleur.ROUGE;&#xD;
	</body>
                    </ownedBehavior>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__rlHdOgmEe2MUaaQOL9IhA" name="Element" specification="__o3xs-gmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__rlHdegmEe2MUaaQOL9IhA" name="coos" type="__bjHYOgmEe2MUaaQOL9IhA"/>
                      <ownedParameter xmi:id="__rlHdugmEe2MUaaQOL9IhA" name="couleur" type="__bp1EOgmEe2MUaaQOL9IhA"/>
                      <ownedParameter xmi:id="__rlHd-gmEe2MUaaQOL9IhA" type="__bv7sOgmEe2MUaaQOL9IhA" direction="return"/>
                      <language>java</language>
                      <body>this.coordonnees = coos;&#xD;
		this.couleur = couleur;&#xD;
	</body>
                    </ownedBehavior>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__rlugOgmEe2MUaaQOL9IhA" name="Element" specification="__o4Yw-gmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__rlugegmEe2MUaaQOL9IhA" name="abscisse">
                        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                      </ownedParameter>
                      <ownedParameter xmi:id="__rlugugmEe2MUaaQOL9IhA" name="ordonnee">
                        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                      </ownedParameter>
                      <ownedParameter xmi:id="__rlug-gmEe2MUaaQOL9IhA" name="couleur" type="__bp1EOgmEe2MUaaQOL9IhA"/>
                      <ownedParameter xmi:id="__rluhOgmEe2MUaaQOL9IhA" type="__bv7sOgmEe2MUaaQOL9IhA" direction="return"/>
                      <language>java</language>
                      <body>this.coordonnees = new Coordonnees(abscisse,ordonnee);&#xD;
		this.couleur = couleur;&#xD;
	</body>
                    </ownedBehavior>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__rluhegmEe2MUaaQOL9IhA" name="deplacerDe" specification="__b0NIOgmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__rluhugmEe2MUaaQOL9IhA" name="dx">
                        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                      </ownedParameter>
                      <ownedParameter xmi:id="__rluh-gmEe2MUaaQOL9IhA" name="dy">
                        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                      </ownedParameter>
                      <language>java</language>
                      <body>this.coordonnees.setAbscisse(this.getCoordonnees().getAbscisse()+dx);&#xD;
		this.coordonnees.setOrdonnee(this.getCoordonnees().getOrdonnee()+dy);&#xD;
	</body>
                    </ownedBehavior>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__rluiOgmEe2MUaaQOL9IhA" name="toString" specification="__b00MugmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__rluiegmEe2MUaaQOL9IhA" direction="return">
                        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
                      </ownedParameter>
                      <language>java</language>
                      <body>return this.getCoordonnees().toString() + &quot; - &quot; + this.getCouleur();&#xD;
	</body>
                    </ownedBehavior>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__rmVkOgmEe2MUaaQOL9IhA" name="hashCode" specification="__b2CUugmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__rmVkegmEe2MUaaQOL9IhA" direction="return">
                        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                      </ownedParameter>
                      <language>java</language>
                      <body>return Objects.hash(coordonnees, couleur);&#xD;
	</body>
                    </ownedBehavior>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__rmVkugmEe2MUaaQOL9IhA" name="equals" specification="__qKyMOgmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__rmVk-gmEe2MUaaQOL9IhA" name="obj" type="__qHH0OgmEe2MUaaQOL9IhA"/>
                      <ownedParameter xmi:id="__rmVlOgmEe2MUaaQOL9IhA" direction="return">
                        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
                      </ownedParameter>
                      <language>java</language>
                      <body>if (this == obj)&#xD;
			return true;&#xD;
		if (obj == null)&#xD;
			return false;&#xD;
		if (getClass() != obj.getClass())&#xD;
			return false;&#xD;
		Element other = (Element) obj;&#xD;
		return Objects.equals(coordonnees, other.coordonnees) &amp;&amp; couleur == other.couleur;&#xD;
	</body>
                    </ownedBehavior>
                    <ownedOperation xmi:id="__byX8OgmEe2MUaaQOL9IhA" name="Element" method="__rlHcOgmEe2MUaaQOL9IhA">
                      <eAnnotations xmi:id="__by_AOgmEe2MUaaQOL9IhA" source="http://www.eclipse.org/uml2/2.0.0/UML">
                        <details xmi:id="__by_AegmEe2MUaaQOL9IhA" key="create"/>
                      </eAnnotations>
                      <ownedParameter xmi:id="__byX8egmEe2MUaaQOL9IhA" name="abscisse">
                        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                      </ownedParameter>
                      <ownedParameter xmi:id="__byX8ugmEe2MUaaQOL9IhA" name="ordonnee">
                        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                      </ownedParameter>
                      <ownedParameter xmi:id="__by_AugmEe2MUaaQOL9IhA" type="__bv7sOgmEe2MUaaQOL9IhA" direction="return"/>
                    </ownedOperation>
                    <ownedOperation xmi:id="__b0NIOgmEe2MUaaQOL9IhA" name="deplacerDe" method="__rluhegmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__b00MOgmEe2MUaaQOL9IhA" name="dx">
                        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                      </ownedParameter>
                      <ownedParameter xmi:id="__b00MegmEe2MUaaQOL9IhA" name="dy">
                        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                      </ownedParameter>
                    </ownedOperation>
                    <ownedOperation xmi:id="__b00MugmEe2MUaaQOL9IhA" name="toString" method="__rluiOgmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__b1bQOgmEe2MUaaQOL9IhA" direction="return">
                        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
                      </ownedParameter>
                    </ownedOperation>
                    <ownedOperation xmi:id="__b2CUugmEe2MUaaQOL9IhA" name="hashCode" method="__rmVkOgmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__b2pYOgmEe2MUaaQOL9IhA" direction="return">
                        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                      </ownedParameter>
                    </ownedOperation>
                    <ownedOperation xmi:id="__o3KoOgmEe2MUaaQOL9IhA" name="Element" method="__rkgYOgmEe2MUaaQOL9IhA">
                      <eAnnotations xmi:id="__o3xsOgmEe2MUaaQOL9IhA" source="http://www.eclipse.org/uml2/2.0.0/UML">
                        <details xmi:id="__o3xsegmEe2MUaaQOL9IhA" key="create"/>
                      </eAnnotations>
                      <ownedParameter xmi:id="__o3KoegmEe2MUaaQOL9IhA" name="coordonnees" type="__bjHYOgmEe2MUaaQOL9IhA"/>
                      <ownedParameter xmi:id="__o3xsugmEe2MUaaQOL9IhA" type="__bv7sOgmEe2MUaaQOL9IhA" direction="return"/>
                    </ownedOperation>
                    <ownedOperation xmi:id="__o3xs-gmEe2MUaaQOL9IhA" name="Element" method="__rlHdOgmEe2MUaaQOL9IhA">
                      <eAnnotations xmi:id="__o4YwOgmEe2MUaaQOL9IhA" source="http://www.eclipse.org/uml2/2.0.0/UML">
                        <details xmi:id="__o4YwegmEe2MUaaQOL9IhA" key="create"/>
                      </eAnnotations>
                      <ownedParameter xmi:id="__o3xtOgmEe2MUaaQOL9IhA" name="coos" type="__bjHYOgmEe2MUaaQOL9IhA"/>
                      <ownedParameter xmi:id="__o3xtegmEe2MUaaQOL9IhA" name="couleur" type="__bp1EOgmEe2MUaaQOL9IhA"/>
                      <ownedParameter xmi:id="__o4YwugmEe2MUaaQOL9IhA" type="__bv7sOgmEe2MUaaQOL9IhA" direction="return"/>
                    </ownedOperation>
                    <ownedOperation xmi:id="__o4Yw-gmEe2MUaaQOL9IhA" name="Element" method="__rlugOgmEe2MUaaQOL9IhA">
                      <eAnnotations xmi:id="__o4_0OgmEe2MUaaQOL9IhA" source="http://www.eclipse.org/uml2/2.0.0/UML">
                        <details xmi:id="__o4_0egmEe2MUaaQOL9IhA" key="create"/>
                      </eAnnotations>
                      <ownedParameter xmi:id="__o4YxOgmEe2MUaaQOL9IhA" name="abscisse">
                        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                      </ownedParameter>
                      <ownedParameter xmi:id="__o4YxegmEe2MUaaQOL9IhA" name="ordonnee">
                        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                      </ownedParameter>
                      <ownedParameter xmi:id="__o4YxugmEe2MUaaQOL9IhA" name="couleur" type="__bp1EOgmEe2MUaaQOL9IhA"/>
                      <ownedParameter xmi:id="__o4_0ugmEe2MUaaQOL9IhA" type="__bv7sOgmEe2MUaaQOL9IhA" direction="return"/>
                    </ownedOperation>
                    <ownedOperation xmi:id="__qKyMOgmEe2MUaaQOL9IhA" name="equals" method="__rmVkugmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__qKyMegmEe2MUaaQOL9IhA" name="obj" type="__qHH0OgmEe2MUaaQOL9IhA"/>
                      <ownedParameter xmi:id="__qKyMugmEe2MUaaQOL9IhA" direction="return">
                        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
                      </ownedParameter>
                    </ownedOperation>
                  </packagedElement>
                  <packagedElement xmi:type="uml:Class" xmi:id="__b7h4OgmEe2MUaaQOL9IhA" name="Tas">
                    <ownedAttribute xmi:id="__qwBAOgmEe2MUaaQOL9IhA" name="elements" type="__bv7sOgmEe2MUaaQOL9IhA" isReadOnly="true" association="__skl8egmEe2MUaaQOL9IhA">
                      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__qwoEOgmEe2MUaaQOL9IhA" value="*"/>
                    </ownedAttribute>
                    <ownedAttribute xmi:id="__qx2MOgmEe2MUaaQOL9IhA" name="puits" type="__eS5YOgmEe2MUaaQOL9IhA" isReadOnly="true" association="__slNAegmEe2MUaaQOL9IhA"/>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__rm8oOgmEe2MUaaQOL9IhA" name="Tas" specification="__o6N8OgmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__rm8oegmEe2MUaaQOL9IhA" name="puits" type="__eS5YOgmEe2MUaaQOL9IhA"/>
                      <ownedParameter xmi:id="__rm8ougmEe2MUaaQOL9IhA" name="nbElements">
                        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                      </ownedParameter>
                      <ownedParameter xmi:id="__rm8o-gmEe2MUaaQOL9IhA" name="nbLignes">
                        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                      </ownedParameter>
                      <ownedParameter xmi:id="__rm8pOgmEe2MUaaQOL9IhA" type="__b7h4OgmEe2MUaaQOL9IhA" direction="return"/>
                      <language>java</language>
                      <body>if (nbElements > puits.getLargeur() * puits.getProfondeur() || nbElements &lt; 0 || nbLignes &lt; 0&#xD;
             || nbLignes > puits.getProfondeur()) {&#xD;
         throw new IllegalArgumentException(&quot;Le nombre d'éléments est trop grand&quot;);&#xD;
     } else {&#xD;
         this.puits = puits;&#xD;
         this.elements = new Element[puits.getProfondeur()][puits.getLargeur()];&#xD;
         java.util.Random rand = new java.util.Random();&#xD;
         construireTas(nbElements, nbLignes, rand);&#xD;
     }&#xD;
 </body>
                    </ownedBehavior>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__rm8pegmEe2MUaaQOL9IhA" name="Tas" specification="__o6N9-gmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__rm8pugmEe2MUaaQOL9IhA" name="puits" type="__eS5YOgmEe2MUaaQOL9IhA"/>
                      <ownedParameter xmi:id="__rm8p-gmEe2MUaaQOL9IhA" type="__b7h4OgmEe2MUaaQOL9IhA" direction="return"/>
                      <language>java</language>
                      <body>this.puits = puits;&#xD;
     this.elements = new Element[puits.getProfondeur()][puits.getLargeur()];&#xD;
 </body>
                    </ownedBehavior>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__rm8qOgmEe2MUaaQOL9IhA" name="Tas" specification="__o61BOgmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__rm8qegmEe2MUaaQOL9IhA" name="puits" type="__eS5YOgmEe2MUaaQOL9IhA"/>
                      <ownedParameter xmi:id="__rm8qugmEe2MUaaQOL9IhA" name="nbElements">
                        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                      </ownedParameter>
                      <ownedParameter xmi:id="__rm8q-gmEe2MUaaQOL9IhA" type="__b7h4OgmEe2MUaaQOL9IhA" direction="return"/>
                      <language>java</language>
                      <body>this(puits, nbElements, nbElements / puits.getLargeur() + 1);&#xD;
 </body>
                    </ownedBehavior>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__rnjsOgmEe2MUaaQOL9IhA" name="construireTas" specification="__o8qMegmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__rnjsegmEe2MUaaQOL9IhA" name="nbElements">
                        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                      </ownedParameter>
                      <ownedParameter xmi:id="__rnjsugmEe2MUaaQOL9IhA" name="nbLignes">
                        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                      </ownedParameter>
                      <ownedParameter xmi:id="__rnjs-gmEe2MUaaQOL9IhA" name="rand" type="__o7cE-gmEe2MUaaQOL9IhA"/>
                      <language>java</language>
                      <body>int ordon, absci, indiceCouleur;&#xD;
     this.elements = new Element[this.puits.getProfondeur()][this.puits.getLargeur()];&#xD;
     if ((nbElements != 0) &amp; nbElements >= (this.puits.getLargeur() * nbLignes)) {&#xD;
         throw new IllegalArgumentException(&quot;Le nombre d'éléments est trop grand&quot;);&#xD;
     } else {&#xD;
         int nombreElements = 0;&#xD;
         while (nombreElements != nbElements) {&#xD;
             ordon = this.puits.getProfondeur() - (rand.nextInt(nbLignes) + 1);&#xD;
             absci = rand.nextInt(this.puits.getLargeur());&#xD;
             if (this.elements[ordon][absci] == null) {&#xD;
                 indiceCouleur = rand.nextInt(Couleur.values().length);&#xD;
                 this.elements[ordon][absci] = new Element(absci, ordon, Couleur.values()[indiceCouleur]);&#xD;
                 nombreElements++;&#xD;
             }&#xD;
         }&#xD;
     }&#xD;
 </body>
                    </ownedBehavior>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__roKwOgmEe2MUaaQOL9IhA" name="ajouterElements" specification="__o9RQOgmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__roKwegmEe2MUaaQOL9IhA" name="piece" type="__clCIOgmEe2MUaaQOL9IhA"/>
                      <language>java</language>
                      <body>for (int i = 0; i &lt; piece.getElements().size(); i++) {&#xD;
         this.elements[piece.getElements().get(i).getCoordonnees().getOrdonnee()][piece.getElements().get(i)&#xD;
                 .getCoordonnees().getAbscisse()] = piece.getElements().get(i);&#xD;
     }&#xD;
 </body>
                    </ownedBehavior>
                    <ownedOperation xmi:id="__o6N8OgmEe2MUaaQOL9IhA" name="Tas" method="__rm8oOgmEe2MUaaQOL9IhA">
                      <eAnnotations xmi:id="__o6N9OgmEe2MUaaQOL9IhA" source="http://www.eclipse.org/uml2/2.0.0/UML">
                        <details xmi:id="__o6N9egmEe2MUaaQOL9IhA" key="create"/>
                      </eAnnotations>
                      <ownedParameter xmi:id="__o6N8egmEe2MUaaQOL9IhA" name="puits" type="__eS5YOgmEe2MUaaQOL9IhA"/>
                      <ownedParameter xmi:id="__o6N8ugmEe2MUaaQOL9IhA" name="nbElements">
                        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                      </ownedParameter>
                      <ownedParameter xmi:id="__o6N8-gmEe2MUaaQOL9IhA" name="nbLignes">
                        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                      </ownedParameter>
                      <ownedParameter xmi:id="__o6N9ugmEe2MUaaQOL9IhA" type="__b7h4OgmEe2MUaaQOL9IhA" direction="return"/>
                    </ownedOperation>
                    <ownedOperation xmi:id="__o6N9-gmEe2MUaaQOL9IhA" name="Tas" method="__rm8pegmEe2MUaaQOL9IhA">
                      <eAnnotations xmi:id="__o61AegmEe2MUaaQOL9IhA" source="http://www.eclipse.org/uml2/2.0.0/UML">
                        <details xmi:id="__o61AugmEe2MUaaQOL9IhA" key="create"/>
                      </eAnnotations>
                      <ownedParameter xmi:id="__o61AOgmEe2MUaaQOL9IhA" name="puits" type="__eS5YOgmEe2MUaaQOL9IhA"/>
                      <ownedParameter xmi:id="__o61A-gmEe2MUaaQOL9IhA" type="__b7h4OgmEe2MUaaQOL9IhA" direction="return"/>
                    </ownedOperation>
                    <ownedOperation xmi:id="__o61BOgmEe2MUaaQOL9IhA" name="Tas" method="__rm8qOgmEe2MUaaQOL9IhA">
                      <eAnnotations xmi:id="__o7cEOgmEe2MUaaQOL9IhA" source="http://www.eclipse.org/uml2/2.0.0/UML">
                        <details xmi:id="__o7cEegmEe2MUaaQOL9IhA" key="create"/>
                      </eAnnotations>
                      <ownedParameter xmi:id="__o61BegmEe2MUaaQOL9IhA" name="puits" type="__eS5YOgmEe2MUaaQOL9IhA"/>
                      <ownedParameter xmi:id="__o61BugmEe2MUaaQOL9IhA" name="nbElements">
                        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                      </ownedParameter>
                      <ownedParameter xmi:id="__o7cEugmEe2MUaaQOL9IhA" type="__b7h4OgmEe2MUaaQOL9IhA" direction="return"/>
                    </ownedOperation>
                    <ownedOperation xmi:id="__o8qMegmEe2MUaaQOL9IhA" name="construireTas" visibility="private" method="__rnjsOgmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__o8qMugmEe2MUaaQOL9IhA" name="nbElements">
                        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                      </ownedParameter>
                      <ownedParameter xmi:id="__o8qM-gmEe2MUaaQOL9IhA" name="nbLignes">
                        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                      </ownedParameter>
                      <ownedParameter xmi:id="__o8qNOgmEe2MUaaQOL9IhA" name="rand" type="__o7cE-gmEe2MUaaQOL9IhA"/>
                    </ownedOperation>
                    <ownedOperation xmi:id="__o9RQOgmEe2MUaaQOL9IhA" name="ajouterElements" method="__roKwOgmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__o9RQegmEe2MUaaQOL9IhA" name="piece" type="__clCIOgmEe2MUaaQOL9IhA"/>
                    </ownedOperation>
                  </packagedElement>
                  <packagedElement xmi:type="uml:Class" xmi:id="__cBBcOgmEe2MUaaQOL9IhA" name="UsineDePiece">
                    <ownedAttribute xmi:id="__qzEUOgmEe2MUaaQOL9IhA" name="ALEATOIRE_COMPLET" isLeaf="true" isStatic="true" isReadOnly="true">
                      <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                      <defaultValue xmi:type="uml:LiteralString" xmi:id="__qzrYOgmEe2MUaaQOL9IhA" value="1"/>
                    </ownedAttribute>
                    <ownedAttribute xmi:id="__q0ScOgmEe2MUaaQOL9IhA" name="ALEATOIRE_PIECE" isLeaf="true" isStatic="true" isReadOnly="true">
                      <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                      <defaultValue xmi:type="uml:LiteralString" xmi:id="__q0ScegmEe2MUaaQOL9IhA" value="2"/>
                    </ownedAttribute>
                    <ownedAttribute xmi:id="__q0ScugmEe2MUaaQOL9IhA" name="CYCLIC" isLeaf="true" isStatic="true" isReadOnly="true">
                      <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                      <defaultValue xmi:type="uml:LiteralString" xmi:id="__q1gkOgmEe2MUaaQOL9IhA" value="3"/>
                    </ownedAttribute>
                    <ownedAttribute xmi:id="__q2HoOgmEe2MUaaQOL9IhA" name="mode" isStatic="true">
                      <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                      <defaultValue xmi:type="uml:LiteralString" xmi:id="__q2HougmEe2MUaaQOL9IhA" value="ALEATOIRE_COMPLET"/>
                    </ownedAttribute>
                    <ownedAttribute xmi:id="__q4j4OgmEe2MUaaQOL9IhA" name="random" visibility="private" isStatic="true" type="__o7cE-gmEe2MUaaQOL9IhA" association="__sl0EegmEe2MUaaQOL9IhA">
                      <defaultValue xmi:type="uml:LiteralString" xmi:id="__q4j4egmEe2MUaaQOL9IhA" value="new Random()"/>
                    </ownedAttribute>
                    <ownedAttribute xmi:id="__q5yAOgmEe2MUaaQOL9IhA" name="indexForme" visibility="private" isStatic="true">
                      <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                      <defaultValue xmi:type="uml:LiteralString" xmi:id="__q5yAegmEe2MUaaQOL9IhA" value="0"/>
                    </ownedAttribute>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__rox0ugmEe2MUaaQOL9IhA" name="UsineDePiece" specification="__cC2oOgmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__rox0-gmEe2MUaaQOL9IhA" type="__cBBcOgmEe2MUaaQOL9IhA" direction="return"/>
                      <language>java</language>
                      <body>// Constructeur vide pour empêcher l'instanciation de la classe&#xD;
	</body>
                    </ownedBehavior>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__rox1OgmEe2MUaaQOL9IhA" name="genererPiece" specification="__cEEwOgmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__rox1egmEe2MUaaQOL9IhA" type="__clCIOgmEe2MUaaQOL9IhA" direction="return"/>
                      <language>java</language>
                      <body>Piece piece = new OPiece(new Coordonnees(2, 3), Couleur.ROUGE);&#xD;
		// mode cyclique qui fait défiler toutes les pièces dans l'ordre avec leur&#xD;
		// couleur associée&#xD;
		if (UsineDePiece.mode == CYCLIC) {&#xD;
			piece = cyclic();&#xD;
		}&#xD;
		// Condition qui crée une pièce aléatoire de couleur aléatoire&#xD;
		else if (UsineDePiece.mode == ALEATOIRE_COMPLET) {&#xD;
			int couleur = random.nextInt(7);&#xD;
			int intPiece = random.nextInt(7);&#xD;
			piece = aleatoireComplet(couleur, intPiece);&#xD;
		}&#xD;
		// Condition qui crée une pièce aléatoire de la bonne couleur&#xD;
		else {&#xD;
			int intPiece = random.nextInt(7);&#xD;
			piece = aleatoirePiece(intPiece);&#xD;
		}&#xD;
		return piece;&#xD;
	</body>
                    </ownedBehavior>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__rpY4OgmEe2MUaaQOL9IhA" name="cyclic" specification="__cFS4OgmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__rpY4egmEe2MUaaQOL9IhA" type="__clCIOgmEe2MUaaQOL9IhA" direction="return"/>
                      <language>java</language>
                      <body>Piece piece;&#xD;
		switch (indexForme) {&#xD;
			case 1:&#xD;
				piece = new IPiece(new Coordonnees(2, 3), Couleur.ORANGE);&#xD;
				indexForme = 2;&#xD;
				break;&#xD;
			case 2:&#xD;
				piece = new TPiece(new Coordonnees(2, 3), Couleur.BLEU);&#xD;
				indexForme = 3;&#xD;
				break;&#xD;
			case 3:&#xD;
				piece = new LPiece(new Coordonnees(2, 3), Couleur.VERT);&#xD;
				indexForme = 4;&#xD;
				break;&#xD;
			case 4:&#xD;
				piece = new JPiece(new Coordonnees(2, 3), Couleur.JAUNE);&#xD;
				indexForme = 5;&#xD;
				break;&#xD;
			case 5:&#xD;
				piece = new ZPiece(new Coordonnees(2, 3), Couleur.CYAN);&#xD;
				indexForme = 6;&#xD;
				break;&#xD;
			case 6:&#xD;
				piece = new SPiece(new Coordonnees(2, 3), Couleur.VIOLET);&#xD;
				indexForme = 0;&#xD;
				break;&#xD;
			default:&#xD;
				piece = new OPiece(new Coordonnees(2, 3), Couleur.ROUGE);&#xD;
				indexForme = 1;&#xD;
				break;&#xD;
		}&#xD;
		return piece;&#xD;
	</body>
                    </ownedBehavior>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__rpY4ugmEe2MUaaQOL9IhA" name="aleatoireComplet" specification="__cGhAOgmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__rpY4-gmEe2MUaaQOL9IhA" name="couleur">
                        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                      </ownedParameter>
                      <ownedParameter xmi:id="__rpY5OgmEe2MUaaQOL9IhA" name="intPiece">
                        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                      </ownedParameter>
                      <ownedParameter xmi:id="__rpY5egmEe2MUaaQOL9IhA" type="__clCIOgmEe2MUaaQOL9IhA" direction="return"/>
                      <language>java</language>
                      <body>Piece piece = new OPiece(new Coordonnees(2, 3), Couleur.ROUGE);&#xD;
		switch (intPiece) {&#xD;
			case 1:&#xD;
				piece = new IPiece(new Coordonnees(2, 3), Couleur.values()[couleur]);&#xD;
				break;&#xD;
			case 2:&#xD;
				piece = new TPiece(new Coordonnees(2, 3), Couleur.values()[couleur]);&#xD;
				break;&#xD;
			case 3:&#xD;
				piece = new LPiece(new Coordonnees(2, 3), Couleur.values()[couleur]);&#xD;
				break;&#xD;
			case 4:&#xD;
				piece = new JPiece(new Coordonnees(2, 3), Couleur.values()[couleur]);&#xD;
				break;&#xD;
			case 5:&#xD;
				piece = new ZPiece(new Coordonnees(2, 3), Couleur.values()[couleur]);&#xD;
				break;&#xD;
			case 6:&#xD;
				piece = new SPiece(new Coordonnees(2, 3), Couleur.values()[couleur]);&#xD;
				break;&#xD;
			default:&#xD;
				piece = new OPiece(new Coordonnees(2, 3), Couleur.values()[couleur]);&#xD;
				break;&#xD;
		}&#xD;
		return piece;&#xD;
	</body>
                    </ownedBehavior>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__rpY5ugmEe2MUaaQOL9IhA" name="aleatoirePiece" specification="__cI9QOgmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__rpY5-gmEe2MUaaQOL9IhA" name="intPiece">
                        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                      </ownedParameter>
                      <ownedParameter xmi:id="__rpY6OgmEe2MUaaQOL9IhA" type="__clCIOgmEe2MUaaQOL9IhA" direction="return"/>
                      <language>java</language>
                      <body>Piece piece = new OPiece(new Coordonnees(2, 3), Couleur.ROUGE);&#xD;
		switch (intPiece) {&#xD;
			case 1:&#xD;
				piece = new IPiece(new Coordonnees(2, 3), Couleur.ORANGE);&#xD;
				break;&#xD;
			case 2:&#xD;
				piece = new TPiece(new Coordonnees(2, 3), Couleur.BLEU);&#xD;
				break;&#xD;
			case 3:&#xD;
				piece = new LPiece(new Coordonnees(2, 3), Couleur.VERT);&#xD;
				break;&#xD;
			case 4:&#xD;
				piece = new JPiece(new Coordonnees(2, 3), Couleur.JAUNE);&#xD;
				break;&#xD;
			case 5:&#xD;
				piece = new ZPiece(new Coordonnees(2, 3), Couleur.CYAN);&#xD;
				break;&#xD;
			case 6:&#xD;
				piece = new SPiece(new Coordonnees(2, 3), Couleur.VIOLET);&#xD;
				break;&#xD;
			default:&#xD;
				piece = new OPiece(new Coordonnees(2, 3), Couleur.ROUGE);&#xD;
				break;&#xD;
		}&#xD;
		return piece;&#xD;
	</body>
                    </ownedBehavior>
                    <ownedOperation xmi:id="__cC2oOgmEe2MUaaQOL9IhA" name="UsineDePiece" visibility="private" method="__rox0ugmEe2MUaaQOL9IhA">
                      <eAnnotations xmi:id="__cDdsOgmEe2MUaaQOL9IhA" source="http://www.eclipse.org/uml2/2.0.0/UML">
                        <details xmi:id="__cDdsegmEe2MUaaQOL9IhA" key="create"/>
                      </eAnnotations>
                      <ownedParameter xmi:id="__cDdsugmEe2MUaaQOL9IhA" type="__cBBcOgmEe2MUaaQOL9IhA" direction="return"/>
                    </ownedOperation>
                    <ownedOperation xmi:id="__cEEwOgmEe2MUaaQOL9IhA" name="genererPiece" isStatic="true" method="__rox1OgmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__o-fYOgmEe2MUaaQOL9IhA" type="__clCIOgmEe2MUaaQOL9IhA" direction="return"/>
                    </ownedOperation>
                    <ownedOperation xmi:id="__cFS4OgmEe2MUaaQOL9IhA" name="cyclic" visibility="private" isStatic="true" method="__rpY4OgmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__o-fYegmEe2MUaaQOL9IhA" type="__clCIOgmEe2MUaaQOL9IhA" direction="return"/>
                    </ownedOperation>
                    <ownedOperation xmi:id="__cGhAOgmEe2MUaaQOL9IhA" name="aleatoireComplet" visibility="private" isStatic="true" method="__rpY4ugmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__cGhAegmEe2MUaaQOL9IhA" name="couleur">
                        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                      </ownedParameter>
                      <ownedParameter xmi:id="__cHIEOgmEe2MUaaQOL9IhA" name="intPiece">
                        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                      </ownedParameter>
                      <ownedParameter xmi:id="__o-fYugmEe2MUaaQOL9IhA" type="__clCIOgmEe2MUaaQOL9IhA" direction="return"/>
                    </ownedOperation>
                    <ownedOperation xmi:id="__cI9QOgmEe2MUaaQOL9IhA" name="aleatoirePiece" visibility="private" isStatic="true" method="__rpY5ugmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__cI9QegmEe2MUaaQOL9IhA" name="intPiece">
                        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                      </ownedParameter>
                      <ownedParameter xmi:id="__o-fY-gmEe2MUaaQOL9IhA" type="__clCIOgmEe2MUaaQOL9IhA" direction="return"/>
                    </ownedOperation>
                  </packagedElement>
                  <packagedElement xmi:type="uml:Class" xmi:id="__dXFQugmEe2MUaaQOL9IhA" name="CoordonneesTest">
                    <eAnnotations xmi:id="__dXsUOgmEe2MUaaQOL9IhA" source="http://ns.yatta.de/umllab">
                      <contents xmi:type="ecore:EAnnotation" xmi:id="__dXsUegmEe2MUaaQOL9IhA" source="codegen">
                        <details xmi:id="__dXsUugmEe2MUaaQOL9IhA" key="codegenDirectory" value="/Tetris/test"/>
                      </contents>
                    </eAnnotations>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__r5QgegmEe2MUaaQOL9IhA" name="testConstructeur" specification="__dXsU-gmEe2MUaaQOL9IhA">
                      <language>java</language>
                      <body>Coordonnees coos = new Coordonnees(2, 2);&#xD;
		assertEquals(2, coos.getAbscisse(), &quot;Abscisse&quot;);&#xD;
		assertEquals(2, coos.getOrdonnee(), &quot;Ordonnee&quot;);&#xD;
	</body>
                    </ownedBehavior>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__r5QgugmEe2MUaaQOL9IhA" name="testToString" specification="__dYTY-gmEe2MUaaQOL9IhA">
                      <language>java</language>
                      <body>Coordonnees coos = new Coordonnees(4, 2);&#xD;
		assertEquals(&quot;(4, 2)&quot;, coos.toString(), &quot;Test to string&quot;);&#xD;
	</body>
                    </ownedBehavior>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__r5Qg-gmEe2MUaaQOL9IhA" name="testSetters" specification="__dZhgegmEe2MUaaQOL9IhA">
                      <language>java</language>
                      <body>Coordonnees coos = new Coordonnees(4, 2);&#xD;
		coos.setAbscisse(0);&#xD;
		coos.setOrdonnee(0);&#xD;
		assertEquals(0, coos.getAbscisse(), &quot;L'abscisse n'est pas la bonne&quot;);&#xD;
		assertEquals(0, coos.getOrdonnee(), &quot;L'ordonnee n'est pas la bonne&quot;);&#xD;
	</body>
                    </ownedBehavior>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__r5QhOgmEe2MUaaQOL9IhA" name="testHashcode" specification="__daIkugmEe2MUaaQOL9IhA">
                      <language>java</language>
                      <body>Coordonnees coos = new Coordonnees(1, 1);&#xD;
		int hashcodeAtt = coos.hashCode();&#xD;
		assertEquals(hashcodeAtt, coos.hashCode(), &quot;Test du hashcode&quot;);&#xD;
	</body>
                    </ownedBehavior>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__r5QhegmEe2MUaaQOL9IhA" name="testEquals" specification="__davougmEe2MUaaQOL9IhA">
                      <language>java</language>
                      <body>Coordonnees coos1 = new Coordonnees(1, 2);&#xD;
		Coordonnees coos2 = new Coordonnees(1, 2);&#xD;
		Coordonnees coos3 = new Coordonnees(2, 2);&#xD;
		Coordonnees coos4 = new Coordonnees(1, 3);&#xD;
		Coordonnees coos5 = null;&#xD;
		Object o = new Object();&#xD;
&#xD;
		assertTrue(&quot;L'objet doit être égal à lui-même&quot;, coos1.equals(coos2));&#xD;
		assertTrue(&quot;Deux objets égaux doivent être égaux dans les deux sens&quot;, coos2.equals(coos2));&#xD;
		assertFalse(&quot;Deux objets différents ne doivent pas être égaux&quot;, coos1.equals(coos3));&#xD;
		assertFalse(&quot;Deux objets avec des abscisses différentes ne doivent pas être égaux&quot;, coos1.equals(coos4));&#xD;
		assertFalse(&quot;Un objet ne doit pas être égal à null&quot;, coos1.equals(coos5));&#xD;
		assertFalse(&quot;Un objet de type différent ne doit pas être égal&quot;, coos1.equals(o));&#xD;
	</body>
                    </ownedBehavior>
                    <ownedOperation xmi:id="__dXsU-gmEe2MUaaQOL9IhA" name="testConstructeur" visibility="package" method="__r5QgegmEe2MUaaQOL9IhA"/>
                    <ownedOperation xmi:id="__dYTY-gmEe2MUaaQOL9IhA" name="testToString" visibility="package" method="__r5QgugmEe2MUaaQOL9IhA"/>
                    <ownedOperation xmi:id="__dZhgegmEe2MUaaQOL9IhA" name="testSetters" visibility="package" method="__r5Qg-gmEe2MUaaQOL9IhA"/>
                    <ownedOperation xmi:id="__daIkugmEe2MUaaQOL9IhA" name="testHashcode" visibility="package" method="__r5QhOgmEe2MUaaQOL9IhA"/>
                    <ownedOperation xmi:id="__davougmEe2MUaaQOL9IhA" name="testEquals" method="__r5QhegmEe2MUaaQOL9IhA"/>
                  </packagedElement>
                  <packagedElement xmi:type="uml:Class" xmi:id="__db9wugmEe2MUaaQOL9IhA" name="CouleurTest">
                    <eAnnotations xmi:id="__dck0OgmEe2MUaaQOL9IhA" source="http://ns.yatta.de/umllab">
                      <contents xmi:type="ecore:EAnnotation" xmi:id="__dck0egmEe2MUaaQOL9IhA" source="codegen">
                        <details xmi:id="__dck0ugmEe2MUaaQOL9IhA" key="codegenDirectory" value="/Tetris/test"/>
                      </contents>
                    </eAnnotations>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__r53kOgmEe2MUaaQOL9IhA" name="testGetCouleurPourAffichage" specification="__dck0-gmEe2MUaaQOL9IhA">
                      <language>java</language>
                      <body>Couleur rouge = Couleur.ROUGE;&#xD;
     Couleur orange = Couleur.ORANGE;&#xD;
     Couleur bleu = Couleur.BLEU;&#xD;
     Couleur vert = Couleur.VERT;&#xD;
     Couleur jaune = Couleur.JAUNE;&#xD;
     Couleur cyan = Couleur.CYAN;&#xD;
     Couleur violet = Couleur.VIOLET;&#xD;
&#xD;
     // act&#xD;
     Color couleurRouge = rouge.getCouleurPourAffichage();&#xD;
     Color couleurOrange = orange.getCouleurPourAffichage();&#xD;
     Color couleurBleu = bleu.getCouleurPourAffichage();&#xD;
     Color couleurVert = vert.getCouleurPourAffichage();&#xD;
     Color couleurJaune = jaune.getCouleurPourAffichage();&#xD;
     Color couleurCyan = cyan.getCouleurPourAffichage();&#xD;
     Color couleurViolet = violet.getCouleurPourAffichage();&#xD;
&#xD;
     // assert&#xD;
     Assertions.assertEquals(Color.RED, couleurRouge);&#xD;
     Assertions.assertEquals(Color.ORANGE, couleurOrange);&#xD;
     Assertions.assertEquals(Color.BLUE, couleurBleu);&#xD;
     Assertions.assertEquals(Color.GREEN, couleurVert);&#xD;
     Assertions.assertEquals(Color.YELLOW, couleurJaune);&#xD;
     Assertions.assertEquals(Color.CYAN, couleurCyan);&#xD;
     Assertions.assertEquals(Color.MAGENTA, couleurViolet);&#xD;
 </body>
                    </ownedBehavior>
                    <ownedOperation xmi:id="__dck0-gmEe2MUaaQOL9IhA" name="testGetCouleurPourAffichage" visibility="package" method="__r53kOgmEe2MUaaQOL9IhA"/>
                  </packagedElement>
                  <packagedElement xmi:type="uml:Class" xmi:id="__ddy8ugmEe2MUaaQOL9IhA" name="ElementTest">
                    <eAnnotations xmi:id="__deaAOgmEe2MUaaQOL9IhA" source="http://ns.yatta.de/umllab">
                      <contents xmi:type="ecore:EAnnotation" xmi:id="__deaAegmEe2MUaaQOL9IhA" source="codegen">
                        <details xmi:id="__deaAugmEe2MUaaQOL9IhA" key="codegenDirectory" value="/Tetris/test"/>
                      </contents>
                    </eAnnotations>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__r53kegmEe2MUaaQOL9IhA" name="testConstructeur1" specification="__deaA-gmEe2MUaaQOL9IhA">
                      <language>java</language>
                      <body>Element e1 = new Element(new Coordonnees(1,1));&#xD;
		assertEquals(Couleur.ROUGE,e1.getCouleur(),&quot;Couleur&quot;);&#xD;
		assertEquals(new Coordonnees(1,1),e1.getCoordonnees(),&quot;Coordonnees&quot;);&#xD;
	</body>
                    </ownedBehavior>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__r53kugmEe2MUaaQOL9IhA" name="testConstructeur2" specification="__dfoIugmEe2MUaaQOL9IhA">
                      <language>java</language>
                      <body>Element e1 = new Element(1,1);&#xD;
		assertEquals(Couleur.ROUGE,e1.getCouleur(),&quot;Couleur&quot;);&#xD;
		assertEquals(new Coordonnees(1,1),e1.getCoordonnees(),&quot;Coordonnees&quot;);&#xD;
	</body>
                    </ownedBehavior>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__r53k-gmEe2MUaaQOL9IhA" name="testConstructeur3" specification="__dgPMugmEe2MUaaQOL9IhA">
                      <language>java</language>
                      <body>Element e1 = new Element(new Coordonnees(1,1),Couleur.BLEU);&#xD;
		assertEquals(Couleur.BLEU,e1.getCouleur(),&quot;Couleur&quot;);&#xD;
		assertEquals(new Coordonnees(1,1),e1.getCoordonnees(),&quot;Coordonnees&quot;);&#xD;
	</body>
                    </ownedBehavior>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__r53lOgmEe2MUaaQOL9IhA" name="testConstructeur4" specification="__dhdUOgmEe2MUaaQOL9IhA">
                      <language>java</language>
                      <body>Element e1 = new Element(1,1,Couleur.BLEU);&#xD;
		assertEquals(Couleur.BLEU,e1.getCouleur(),&quot;Couleur&quot;);&#xD;
		assertEquals(new Coordonnees(1,1),e1.getCoordonnees(),&quot;Coordonnees&quot;);&#xD;
	</body>
                    </ownedBehavior>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__r6eoOgmEe2MUaaQOL9IhA" name="testSetCoos" specification="__diEYegmEe2MUaaQOL9IhA">
                      <language>java</language>
                      <body>Element e1 = new Element(1,1,Couleur.BLEU);&#xD;
		e1.setCoordonnees(new Coordonnees(2,2));&#xD;
		assertEquals(new Coordonnees(2,2),e1.getCoordonnees(),&quot;test setCoordonnees&quot;);&#xD;
	</body>
                    </ownedBehavior>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__r6eoegmEe2MUaaQOL9IhA" name="testToString" specification="__dircugmEe2MUaaQOL9IhA">
                      <language>java</language>
                      <body>Element e1 = new Element(1,1);&#xD;
		assertEquals(&quot;(1, 1) - ROUGE&quot;,e1.toString(),&quot;Test du toString()&quot;);&#xD;
	</body>
                    </ownedBehavior>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__r6eougmEe2MUaaQOL9IhA" name="testHashcode" specification="__djSgugmEe2MUaaQOL9IhA">
                      <language>java</language>
                      <body>Element e1 = new Element(1,1);&#xD;
		int hashcodeAtt = e1.hashCode();&#xD;
		assertEquals(hashcodeAtt, e1.hashCode(),&quot;Test du hashcode&quot;);&#xD;
	</body>
                    </ownedBehavior>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__r6eo-gmEe2MUaaQOL9IhA" name="testEquals" specification="__dj5k-gmEe2MUaaQOL9IhA">
                      <language>java</language>
                      <body>Coordonnees c1 = new Coordonnees(0, 0);&#xD;
     Coordonnees c2 = new Coordonnees(1, 1);&#xD;
     Couleur couleur1 = Couleur.ROUGE;&#xD;
     Couleur couleur2 = Couleur.VERT;&#xD;
&#xD;
     Element e1 = new Element(c1, couleur1);&#xD;
     Element e2 = new Element(c1, couleur1);&#xD;
     Element e3 = new Element(c2, couleur1);&#xD;
     Element e4 = new Element(c1, couleur2);&#xD;
&#xD;
     // Vérification que la méthode equals() renvoie true pour des objets identiques&#xD;
     assertTrue(e1.equals(e1), &quot;equals() ne renvoie pas true pour un objet identique&quot;);&#xD;
&#xD;
     // Vérification que la méthode equals() renvoie true pour des objets égaux&#xD;
     assertTrue(e1.equals(e2), &quot;equals() ne renvoie pas true pour des objets égaux&quot;);&#xD;
&#xD;
     // Vérification que la méthode equals() renvoie false pour des objets avec des coordonnées différentes&#xD;
     assertFalse(e1.equals(e3), &quot;equals() ne renvoie pas false pour des objets avec des coordonnées différentes&quot;);&#xD;
&#xD;
     // Vérification que la méthode equals() renvoie false pour des objets avec des couleurs différentes&#xD;
     assertFalse(e1.equals(e4), &quot;equals() ne renvoie pas false pour des objets avec des couleurs différentes&quot;);&#xD;
&#xD;
     // Vérification que la méthode equals() renvoie false pour un objet null&#xD;
     assertFalse(e1.equals(null), &quot;equals() ne renvoie pas false pour un objet null&quot;);&#xD;
 &#xD;
	</body>
                    </ownedBehavior>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__r7FsOgmEe2MUaaQOL9IhA" name="testSetCouleur" specification="__dlHsOgmEe2MUaaQOL9IhA">
                      <language>java</language>
                      <body>Element element = new Element(1, 2, Couleur.ROUGE);&#xD;
&#xD;
     // Appeler la méthode setCouleur() avec une nouvelle couleur&#xD;
     element.setCouleur(Couleur.BLEU);&#xD;
&#xD;
     // Vérifier que la couleur a été correctement mise à jour&#xD;
     assertEquals(Couleur.BLEU, element.getCouleur(), &quot;La couleur de l'objet n'a pas été mise à jour correctement&quot;);&#xD;
 </body>
                    </ownedBehavior>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__r7FsegmEe2MUaaQOL9IhA" name="testDeplacerDe" specification="__dluwugmEe2MUaaQOL9IhA">
                      <language>java</language>
                      <body>Element element = new Element(1,2,Couleur.ROUGE);&#xD;
		element.deplacerDe(1, 1);&#xD;
		assertEquals(new Coordonnees(2,3), element.getCoordonnees(),&quot;Les coordonnées ne sont pas les bonnes&quot;);&#xD;
	</body>
                    </ownedBehavior>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__r7FsugmEe2MUaaQOL9IhA" name="testEquals2" specification="__dmV0ugmEe2MUaaQOL9IhA">
                      <language>java</language>
                      <body>Element element = new Element(1,2,Couleur.ROUGE);&#xD;
		String str = &quot;chaine de caractères&quot;;&#xD;
		assertFalse(element.equals(str),&quot;Les deux éléments sont les mêmes&quot;);&#xD;
	</body>
                    </ownedBehavior>
                    <ownedOperation xmi:id="__deaA-gmEe2MUaaQOL9IhA" name="testConstructeur1" visibility="package" method="__r53kegmEe2MUaaQOL9IhA"/>
                    <ownedOperation xmi:id="__dfoIugmEe2MUaaQOL9IhA" name="testConstructeur2" visibility="package" method="__r53kugmEe2MUaaQOL9IhA"/>
                    <ownedOperation xmi:id="__dgPMugmEe2MUaaQOL9IhA" name="testConstructeur3" visibility="package" method="__r53k-gmEe2MUaaQOL9IhA"/>
                    <ownedOperation xmi:id="__dhdUOgmEe2MUaaQOL9IhA" name="testConstructeur4" visibility="package" method="__r53lOgmEe2MUaaQOL9IhA"/>
                    <ownedOperation xmi:id="__diEYegmEe2MUaaQOL9IhA" name="testSetCoos" visibility="package" method="__r6eoOgmEe2MUaaQOL9IhA"/>
                    <ownedOperation xmi:id="__dircugmEe2MUaaQOL9IhA" name="testToString" visibility="package" method="__r6eoegmEe2MUaaQOL9IhA"/>
                    <ownedOperation xmi:id="__djSgugmEe2MUaaQOL9IhA" name="testHashcode" visibility="package" method="__r6eougmEe2MUaaQOL9IhA"/>
                    <ownedOperation xmi:id="__dj5k-gmEe2MUaaQOL9IhA" name="testEquals" visibility="package" method="__r6eo-gmEe2MUaaQOL9IhA"/>
                    <ownedOperation xmi:id="__dlHsOgmEe2MUaaQOL9IhA" name="testSetCouleur" method="__r7FsOgmEe2MUaaQOL9IhA"/>
                    <ownedOperation xmi:id="__dluwugmEe2MUaaQOL9IhA" name="testDeplacerDe" method="__r7FsegmEe2MUaaQOL9IhA"/>
                    <ownedOperation xmi:id="__dmV0ugmEe2MUaaQOL9IhA" name="testEquals2" method="__r7FsugmEe2MUaaQOL9IhA"/>
                  </packagedElement>
                  <packagedElement xmi:type="uml:Class" xmi:id="__dnj8OgmEe2MUaaQOL9IhA" name="PuitsTest">
                    <eAnnotations xmi:id="__doLAOgmEe2MUaaQOL9IhA" source="http://ns.yatta.de/umllab">
                      <contents xmi:type="ecore:EAnnotation" xmi:id="__doLAegmEe2MUaaQOL9IhA" source="codegen">
                        <details xmi:id="__doLAugmEe2MUaaQOL9IhA" key="codegenDirectory" value="/Tetris/test"/>
                      </contents>
                    </eAnnotations>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__r7swOgmEe2MUaaQOL9IhA" name="testConstructeur0" specification="__doLA-gmEe2MUaaQOL9IhA">
                      <language>java</language>
                      <body>Puits p1 = new Puits();&#xD;
		assertEquals(10, p1.getLargeur(), &quot;La largeur n'est pas celle par défaut&quot;);&#xD;
		assertEquals(20, p1.getProfondeur(), &quot;La hauteur n'est pas celle par défaut&quot;);&#xD;
	</body>
                    </ownedBehavior>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__r7swegmEe2MUaaQOL9IhA" name="testConstructeur1" specification="__doyE-gmEe2MUaaQOL9IhA">
                      <language>java</language>
                      <body>Puits p1 = new Puits(15, 25);&#xD;
		assertEquals(15, p1.getLargeur(), &quot;La largeur n'est pas celle par défaut&quot;);&#xD;
		assertEquals(25, p1.getProfondeur(), &quot;La hauteur n'est pas celle par défaut&quot;);&#xD;
	</body>
                    </ownedBehavior>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__r8T0OgmEe2MUaaQOL9IhA" name="testConstructeur2" specification="__dqAMOgmEe2MUaaQOL9IhA">
                      <language>java</language>
                      <body>Puits p1 = new Puits(15,25,10,3);&#xD;
		assertEquals(15,p1.getLargeur());&#xD;
		assertEquals(25,p1.getProfondeur());&#xD;
	</body>
                    </ownedBehavior>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__r8T0egmEe2MUaaQOL9IhA" name="testGetSetPieceAct" specification="__dqnQugmEe2MUaaQOL9IhA">
                      <language>java</language>
                      <body>Puits p1 = new Puits();&#xD;
		p1.setPieceActuelle(new OPiece(new Coordonnees(1, 1), Couleur.JAUNE));&#xD;
		assertEquals(new OPiece(new Coordonnees(1, 1), Couleur.JAUNE).toString(), p1.getPieceActuelle().toString(),&#xD;
				&quot;La piece actuelle n'est pas la bonne&quot;);&#xD;
	</body>
                    </ownedBehavior>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__r8T0ugmEe2MUaaQOL9IhA" name="testGetSetPieceSuiv0" specification="__drOUugmEe2MUaaQOL9IhA">
                      <language>java</language>
                      <body>Puits p1 = new Puits();&#xD;
		p1.setPieceSuivante(new OPiece(new Coordonnees(1, 1), Couleur.JAUNE));&#xD;
		assertEquals(new OPiece(new Coordonnees(1, 1), Couleur.JAUNE).toString(), p1.getPieceSuivante().toString(),&#xD;
				&quot;La piece actuelle n'est pas la bonne&quot;);&#xD;
	</body>
                    </ownedBehavior>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__r8T0-gmEe2MUaaQOL9IhA" name="testGetSetPieceSuiv1" specification="__dr1YugmEe2MUaaQOL9IhA">
                      <language>java</language>
                      <body>Puits p1 = new Puits();&#xD;
		OPiece oPiece1 = new OPiece(new Coordonnees(1, 1), Couleur.JAUNE);&#xD;
		OPiece oPiece2 = new OPiece(new Coordonnees(2, 2), Couleur.BLEU);&#xD;
		p1.setPieceSuivante(oPiece1);&#xD;
		assertEquals(oPiece1.toString(), p1.getPieceSuivante().toString(), &quot;La piece actuelle n'est pas la bonne&quot;);&#xD;
		p1.setPieceSuivante(oPiece2);&#xD;
		assertEquals(oPiece2.toString(), p1.getPieceSuivante().toString(), &quot;La piece actuelle n'est pas la bonne&quot;);&#xD;
	</body>
                    </ownedBehavior>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__r864OgmEe2MUaaQOL9IhA" name="testGetSetProfondeur" specification="__dscc-gmEe2MUaaQOL9IhA">
                      <language>java</language>
                      <body>Puits p1 = new Puits();&#xD;
		assertEquals(10, p1.getLargeur(), &quot;La largeur n'est pas celle par défaut&quot;);&#xD;
		assertEquals(20, p1.getProfondeur(), &quot;La hauteur n'est pas celle par défaut&quot;);&#xD;
&#xD;
		p1.setLargeur(15);&#xD;
		p1.setProfondeur(15);&#xD;
&#xD;
		assertEquals(15, p1.getLargeur(), &quot;La largeur n'a pas été modifiée&quot;);&#xD;
		assertEquals(15, p1.getProfondeur(), &quot;La profondeur n'a pas été modifiée&quot;);&#xD;
	</body>
                    </ownedBehavior>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__r864egmEe2MUaaQOL9IhA" name="testtoString0" specification="__dtqkOgmEe2MUaaQOL9IhA">
                      <language>java</language>
                      <body>Puits p1 = new Puits(10, 15);&#xD;
		String ret = &quot;Puits : Dimension 10 x 15\n&quot; + &quot;Piece Actuelle : &lt;aucune>\n&quot; + &quot;Piece Suivante : IPiece :\n&quot;&#xD;
				+ &quot;\t(7, 8) - ROUGE\n&quot; + &quot;\t(7, 9) - ROUGE\n&quot; + &quot;\t(7, 7) - ROUGE\n&quot; + &quot;\t(7, 6) - ROUGE\n&quot;;&#xD;
		p1.setPieceSuivante(new IPiece(new Coordonnees(7, 8), Couleur.ROUGE));&#xD;
		assertEquals(ret, p1.toString(), &quot;Les toString sont différents&quot;);&#xD;
	</body>
                    </ownedBehavior>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__r864ugmEe2MUaaQOL9IhA" name="testtoString1" specification="__duRougmEe2MUaaQOL9IhA">
                      <language>java</language>
                      <body>Puits p1 = new Puits(10, 15);&#xD;
		p1.setPieceActuelle(new IPiece(new Coordonnees(7, 8), Couleur.ROUGE));&#xD;
		String ret = &quot;Puits : Dimension 10 x 15\n&quot; + &quot;Piece Actuelle : IPiece :\n&quot; + &quot;\t(7, 8) - ROUGE\n&quot;&#xD;
				+ &quot;\t(7, 9) - ROUGE\n&quot; + &quot;\t(7, 7) - ROUGE\n&quot; + &quot;\t(7, 6) - ROUGE\n&quot; + &quot;Piece Suivante : IPiece :\n&quot;&#xD;
				+ &quot;\t(7, 8) - ROUGE\n&quot; + &quot;\t(7, 9) - ROUGE\n&quot; + &quot;\t(7, 7) - ROUGE\n&quot; + &quot;\t(7, 6) - ROUGE\n&quot;;&#xD;
		p1.setPieceSuivante(new IPiece(new Coordonnees(7, 8), Couleur.ROUGE));&#xD;
		assertEquals(ret, p1.toString(), &quot;Les toString sont différents&quot;);&#xD;
	</body>
                    </ownedBehavior>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__r9h8OgmEe2MUaaQOL9IhA" name="testtoString2" specification="__du4s-gmEe2MUaaQOL9IhA">
                      <language>java</language>
                      <body>Puits p1 = new Puits(10, 15);&#xD;
		String ret = &quot;Puits : Dimension 10 x 15\n&quot; + &quot;Piece Actuelle : &lt;aucune>\n&quot; + &quot;Piece Suivante : &lt;aucune>\n&quot;;&#xD;
		assertEquals(ret, p1.toString(), &quot;Les toString sont différents&quot;);&#xD;
	</body>
                    </ownedBehavior>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__r9h8egmEe2MUaaQOL9IhA" name="testPuitsAvecException" specification="__dvfw-gmEe2MUaaQOL9IhA">
                      <language>java</language>
                      <body>IllegalArgumentException exceptionL3P16 = assertThrows(IllegalArgumentException.class, () -> {&#xD;
			new Puits(3, 16);&#xD;
		});&#xD;
&#xD;
		String expectedMessage = &quot;La largeur doit etre entre 5 et 15 et la hauteur entre 15 et 25&quot;;&#xD;
		String actualMessageL3P16 = exceptionL3P16.getMessage();&#xD;
		assertTrue(actualMessageL3P16.contains(expectedMessage),&quot;Le message obtenu ne contient pas le message attendu&quot;);&#xD;
&#xD;
		IllegalArgumentException exceptionL16P16 = assertThrows(IllegalArgumentException.class, () -> {&#xD;
			new Puits(16, 16);&#xD;
		});&#xD;
		String actualMessageL16P16 = exceptionL16P16.getMessage();&#xD;
		assertTrue(actualMessageL16P16.contains(expectedMessage),&quot;Le message obtenu ne contient pas le message attendu&quot;);&#xD;
&#xD;
		IllegalArgumentException exceptionL10P5 = assertThrows(IllegalArgumentException.class, () -> {&#xD;
			new Puits(10, 5);&#xD;
		});&#xD;
		String actualMessageL10P5 = exceptionL10P5.getMessage();&#xD;
		assertTrue(actualMessageL10P5.contains(expectedMessage),&quot;Le message obtenu ne contient pas le message attendu&quot;);&#xD;
		&#xD;
		IllegalArgumentException exceptionL10P35 = assertThrows(IllegalArgumentException.class, () -> {&#xD;
			new Puits(10, 35);&#xD;
		});&#xD;
		String actualMessageL10P35 = exceptionL10P35.getMessage();&#xD;
		assertTrue(actualMessageL10P35.contains(expectedMessage),&quot;Le message obtenu ne contient pas le message attendu&quot;);&#xD;
	</body>
                    </ownedBehavior>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__r9h8ugmEe2MUaaQOL9IhA" name="testSetLargeurProfondeur" specification="__dwt4OgmEe2MUaaQOL9IhA">
                      <language>java</language>
                      <body>Puits p1 = new Puits(15,25);&#xD;
		assertEquals(15,p1.getLargeur(),&quot;La largeur n'est pas la bonne&quot;);&#xD;
		assertEquals(25,p1.getProfondeur(),&quot;La profondeur n'est pas la bonne&quot;);&#xD;
		&#xD;
		IllegalArgumentException exceptionL4 = assertThrows(IllegalArgumentException.class, () -> {&#xD;
			p1.setLargeur(4);&#xD;
		});&#xD;
		String expectedMessageL4 = &quot;La largeur doit etre entre 5 et 15 et la hauteur entre 15 et 25&quot;;&#xD;
		String actualMessageL4 = exceptionL4.getMessage();&#xD;
		assertTrue(actualMessageL4.contains(expectedMessageL4),&quot;Le message obtenu ne contient pas le message attendu&quot;);&#xD;
		&#xD;
		IllegalArgumentException exceptionL16 = assertThrows(IllegalArgumentException.class, () -> {&#xD;
			p1.setLargeur(16);&#xD;
		});&#xD;
		String expectedMessageL16 = &quot;La largeur doit etre entre 5 et 15 et la hauteur entre 15 et 25&quot;;&#xD;
		String actualMessageL16 = exceptionL16.getMessage();&#xD;
		assertTrue(actualMessageL16.contains(expectedMessageL16),&quot;Le message obtenu ne contient pas le message attendu&quot;);&#xD;
		&#xD;
		IllegalArgumentException exceptionP4 = assertThrows(IllegalArgumentException.class, () -> {&#xD;
			p1.setProfondeur(4);&#xD;
		});&#xD;
		String expectedMessageP4 = &quot;La largeur doit etre entre 5 et 15 et la hauteur entre 15 et 25&quot;;&#xD;
		String actualMessageP4 = exceptionP4.getMessage();&#xD;
		assertTrue(actualMessageP4.contains(expectedMessageP4),&quot;Le message obtenu ne contient pas le message attendu&quot;);&#xD;
		&#xD;
		IllegalArgumentException exceptionP36 = assertThrows(IllegalArgumentException.class, () -> {&#xD;
			p1.setProfondeur(36);&#xD;
		});&#xD;
		String expectedMessageP36 = &quot;La largeur doit etre entre 5 et 15 et la hauteur entre 15 et 25&quot;;&#xD;
		String actualMessageP36 = exceptionP36.getMessage();&#xD;
		assertTrue(actualMessageP36.contains(expectedMessageP36),&quot;Le message obtenu ne contient pas le message attendu&quot;);&#xD;
	</body>
                    </ownedBehavior>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__r-JAOgmEe2MUaaQOL9IhA" name="testSetGetTas" specification="__dwt5OgmEe2MUaaQOL9IhA">
                      <language>java</language>
                      <body>Puits p1 = new Puits(15,25);&#xD;
		Tas tas = new Tas(p1);&#xD;
		p1.setTas(tas);&#xD;
		assertEquals(tas,p1.getTas(),&quot;Le tas n'est pas le bon&quot;);&#xD;
		&#xD;
		Puits p2 = new Puits(15,25);&#xD;
		p2.setTas(tas);&#xD;
		&#xD;
		assertNotNull(p2.getTas(),&quot;p2 n'a pas de tas&quot;);&#xD;
	</body>
                    </ownedBehavior>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__r-JAegmEe2MUaaQOL9IhA" name="testAddPropertyChangeListener" specification="__dx8A-gmEe2MUaaQOL9IhA">
                      <language>java</language>
                      <body>Puits puits = new Puits(10, 20);&#xD;
     PropertyChangeListener listener = evt -> {&#xD;
         // ne rien faire ici&#xD;
     };&#xD;
&#xD;
     // act&#xD;
     puits.addPropertyChangeListener(listener);&#xD;
&#xD;
     // assert&#xD;
     PropertyChangeSupport pcs = puits.getPcs();&#xD;
     PropertyChangeListener[] listeners = pcs.getPropertyChangeListeners();&#xD;
     assertEquals(1, listeners.length,&quot;Il n'y a pas le bon nombre de listeners&quot;);&#xD;
     assertEquals(listener, listeners[0],&quot;Le listener[0] n'est pas le bon&quot;);&#xD;
 </body>
                    </ownedBehavior>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__r-JAugmEe2MUaaQOL9IhA" name="testRemovePropertyChangeListener" specification="__dyjE-gmEe2MUaaQOL9IhA">
                      <language>java</language>
                      <body>Puits puits = new Puits(10, 20);&#xD;
     PropertyChangeListener listener = evt -> {&#xD;
         // ne rien faire ici&#xD;
     };&#xD;
     puits.addPropertyChangeListener(listener);&#xD;
&#xD;
     // act&#xD;
     puits.removePropertyChangeListener(listener);&#xD;
&#xD;
     // assert&#xD;
     PropertyChangeSupport pcs = puits.getPcs();&#xD;
     PropertyChangeListener[] listeners = pcs.getPropertyChangeListeners();&#xD;
     assertEquals(0, listeners.length,&quot;Il n'y a pas le bon nombre de listeners&quot;);&#xD;
 </body>
                    </ownedBehavior>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__r-JA-gmEe2MUaaQOL9IhA" name="testGravite" specification="__dzKI-gmEe2MUaaQOL9IhA">
                      <language>java</language>
                      <body>Puits p1 = new Puits(15,25);&#xD;
		IllegalArgumentException exp = assertThrows(IllegalArgumentException.class, () -> {&#xD;
			p1.gravite();&#xD;
		});&#xD;
		String expectedMessage = &quot;Il n'y a pas de PieceActuelle&quot;;&#xD;
		String actualMessage = exp.getMessage();&#xD;
		assertTrue(actualMessage.contains(expectedMessage),&quot;Le message attendu est bien dans le message obtenu&quot;);&#xD;
		&#xD;
		p1.setPieceActuelle(new OPiece(new Coordonnees(4,4),Couleur.ROUGE));&#xD;
		p1.gravite();&#xD;
		assertEquals(4,p1.getPieceActuelle().getElements().get(0).getCoordonnees().getAbscisse(),&quot;L'abscisse a bougé&quot;);&#xD;
		assertEquals(5,p1.getPieceActuelle().getElements().get(0).getCoordonnees().getOrdonnee(),&quot;L'ordonnee n'a pas bougé&quot;);&#xD;
	</body>
                    </ownedBehavior>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__r-wEOgmEe2MUaaQOL9IhA" name="testSetGetScoreNiveau" specification="__d0YQugmEe2MUaaQOL9IhA">
                      <language>java</language>
                      <body>Puits p1 = new Puits();&#xD;
		assertEquals(0,p1.getScore(),&quot;Le score de base n'est pas à 0&quot;);&#xD;
		p1.ajouterScore(100);&#xD;
		assertEquals(100,p1.getScore(),&quot;Le score n'a pas été ajouté correctement&quot;);&#xD;
		assertEquals(0, p1.getNiveau(),&quot;Le nivveau de base n'est pas 0&quot;);&#xD;
		p1.augmenterNiveau();&#xD;
		assertEquals(1,p1.getNiveau(),&quot;Le niveau n'a pas été augmenté&quot;);&#xD;
	</body>
                    </ownedBehavior>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__r-wEegmEe2MUaaQOL9IhA" name="testClonePiece" specification="__d0_U-gmEe2MUaaQOL9IhA">
                      <language>java</language>
                      <body>Puits p1 = new Puits();&#xD;
		Coordonnees coos = new Coordonnees(1,1);&#xD;
		Couleur couleur = Couleur.BLEU;&#xD;
		Piece o = new OPiece(coos,couleur);&#xD;
		Piece i = new IPiece(coos,couleur);&#xD;
		Piece j = new JPiece(coos,couleur);&#xD;
		Piece l = new LPiece(coos,couleur);&#xD;
		Piece t = new TPiece(coos,couleur);&#xD;
		Piece z = new ZPiece(coos,couleur);&#xD;
		Piece s = new SPiece(coos,couleur);&#xD;
		&#xD;
		p1.setPieceActuelle(o);&#xD;
		Piece obis = p1.clone();&#xD;
		&#xD;
		p1.setPieceActuelle(i);&#xD;
		Piece ibis = p1.clone();&#xD;
		&#xD;
		p1.setPieceActuelle(j);&#xD;
		Piece jbis = p1.clone();&#xD;
		&#xD;
		p1.setPieceActuelle(l);&#xD;
		Piece lbis = p1.clone();&#xD;
		&#xD;
		p1.setPieceActuelle(t);&#xD;
		Piece tbis = p1.clone();&#xD;
		&#xD;
		p1.setPieceActuelle(z);&#xD;
		Piece zbis = p1.clone();&#xD;
		&#xD;
		p1.setPieceActuelle(s);&#xD;
		Piece sbis = p1.clone();&#xD;
&#xD;
		assertEquals(couleur,obis.getElements().get(0).getCouleur(),&quot;La couleur n'est pas la bonne&quot;);&#xD;
		assertEquals(coos,obis.getElements().get(0).getCoordonnees(),&quot;Les coordonnees ne sont pas les bonnes&quot;);&#xD;
		&#xD;
		assertEquals(couleur,ibis.getElements().get(0).getCouleur(),&quot;La couleur n'est pas la bonne&quot;);&#xD;
		assertEquals(coos,ibis.getElements().get(0).getCoordonnees(),&quot;Les coordonnees ne sont pas les bonnes&quot;);&#xD;
		&#xD;
		assertEquals(couleur,jbis.getElements().get(0).getCouleur(),&quot;La couleur n'est pas la bonne&quot;);&#xD;
		assertEquals(coos,jbis.getElements().get(0).getCoordonnees(),&quot;Les coordonnees ne sont pas les bonnes&quot;);&#xD;
		&#xD;
		assertEquals(couleur,lbis.getElements().get(0).getCouleur(),&quot;La couleur n'est pas la bonne&quot;);&#xD;
		assertEquals(coos,lbis.getElements().get(0).getCoordonnees(),&quot;Les coordonnees ne sont pas les bonnes&quot;);&#xD;
		&#xD;
		assertEquals(couleur,tbis.getElements().get(0).getCouleur(),&quot;La couleur n'est pas la bonne&quot;);&#xD;
		assertEquals(coos,tbis.getElements().get(0).getCoordonnees(),&quot;Les coordonnees ne sont pas les bonnes&quot;);&#xD;
		&#xD;
		assertEquals(couleur,zbis.getElements().get(0).getCouleur(),&quot;La couleur n'est pas la bonne&quot;);&#xD;
		assertEquals(coos,zbis.getElements().get(0).getCoordonnees(),&quot;Les coordonnees ne sont pas les bonnes&quot;);&#xD;
		&#xD;
		assertEquals(couleur,sbis.getElements().get(0).getCouleur(),&quot;La couleur n'est pas la bonne&quot;);&#xD;
		assertEquals(coos,sbis.getElements().get(0).getCoordonnees(),&quot;Les coordonnees ne sont pas les bonnes&quot;);&#xD;
	</body>
                    </ownedBehavior>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__r-wEugmEe2MUaaQOL9IhA" name="testGererCollision" specification="__d1mY-gmEe2MUaaQOL9IhA">
                      <language>java</language>
                      <body>Puits p1 = new Puits();&#xD;
		Piece o = new OPiece(new Coordonnees(1,1),Couleur.BLEU);&#xD;
		p1.setPieceSuivante(o);&#xD;
		assertNull(p1.getTas(),&quot;le tas est vide&quot;);&#xD;
		&#xD;
	</body>
                    </ownedBehavior>
                    <ownedOperation xmi:id="__doLA-gmEe2MUaaQOL9IhA" name="testConstructeur0" visibility="package" method="__r7swOgmEe2MUaaQOL9IhA"/>
                    <ownedOperation xmi:id="__doyE-gmEe2MUaaQOL9IhA" name="testConstructeur1" visibility="package" method="__r7swegmEe2MUaaQOL9IhA"/>
                    <ownedOperation xmi:id="__dqAMOgmEe2MUaaQOL9IhA" name="testConstructeur2" visibility="package" method="__r8T0OgmEe2MUaaQOL9IhA"/>
                    <ownedOperation xmi:id="__dqnQugmEe2MUaaQOL9IhA" name="testGetSetPieceAct" visibility="package" method="__r8T0egmEe2MUaaQOL9IhA"/>
                    <ownedOperation xmi:id="__drOUugmEe2MUaaQOL9IhA" name="testGetSetPieceSuiv0" visibility="package" method="__r8T0ugmEe2MUaaQOL9IhA"/>
                    <ownedOperation xmi:id="__dr1YugmEe2MUaaQOL9IhA" name="testGetSetPieceSuiv1" visibility="package" method="__r8T0-gmEe2MUaaQOL9IhA"/>
                    <ownedOperation xmi:id="__dscc-gmEe2MUaaQOL9IhA" name="testGetSetProfondeur" visibility="package" method="__r864OgmEe2MUaaQOL9IhA"/>
                    <ownedOperation xmi:id="__dtqkOgmEe2MUaaQOL9IhA" name="testtoString0" visibility="package" method="__r864egmEe2MUaaQOL9IhA"/>
                    <ownedOperation xmi:id="__duRougmEe2MUaaQOL9IhA" name="testtoString1" visibility="package" method="__r864ugmEe2MUaaQOL9IhA"/>
                    <ownedOperation xmi:id="__du4s-gmEe2MUaaQOL9IhA" name="testtoString2" visibility="package" method="__r9h8OgmEe2MUaaQOL9IhA"/>
                    <ownedOperation xmi:id="__dvfw-gmEe2MUaaQOL9IhA" name="testPuitsAvecException" visibility="package" method="__r9h8egmEe2MUaaQOL9IhA"/>
                    <ownedOperation xmi:id="__dwt4OgmEe2MUaaQOL9IhA" name="testSetLargeurProfondeur" visibility="package" method="__r9h8ugmEe2MUaaQOL9IhA"/>
                    <ownedOperation xmi:id="__dwt5OgmEe2MUaaQOL9IhA" name="testSetGetTas" visibility="package" method="__r-JAOgmEe2MUaaQOL9IhA"/>
                    <ownedOperation xmi:id="__dx8A-gmEe2MUaaQOL9IhA" name="testAddPropertyChangeListener" visibility="package" method="__r-JAegmEe2MUaaQOL9IhA"/>
                    <ownedOperation xmi:id="__dyjE-gmEe2MUaaQOL9IhA" name="testRemovePropertyChangeListener" visibility="package" method="__r-JAugmEe2MUaaQOL9IhA"/>
                    <ownedOperation xmi:id="__dzKI-gmEe2MUaaQOL9IhA" name="testGravite" visibility="package" method="__r-JA-gmEe2MUaaQOL9IhA"/>
                    <ownedOperation xmi:id="__d0YQugmEe2MUaaQOL9IhA" name="testSetGetScoreNiveau" visibility="package" method="__r-wEOgmEe2MUaaQOL9IhA"/>
                    <ownedOperation xmi:id="__d0_U-gmEe2MUaaQOL9IhA" name="testClonePiece" visibility="package" method="__r-wEegmEe2MUaaQOL9IhA"/>
                    <ownedOperation xmi:id="__d1mY-gmEe2MUaaQOL9IhA" name="testGererCollision" visibility="package" method="__r-wEugmEe2MUaaQOL9IhA"/>
                  </packagedElement>
                  <packagedElement xmi:type="uml:Class" xmi:id="__d20gOgmEe2MUaaQOL9IhA" name="TasTest">
                    <eAnnotations xmi:id="__d3bkOgmEe2MUaaQOL9IhA" source="http://ns.yatta.de/umllab">
                      <contents xmi:type="ecore:EAnnotation" xmi:id="__d3bkegmEe2MUaaQOL9IhA" source="codegen">
                        <details xmi:id="__d3bkugmEe2MUaaQOL9IhA" key="codegenDirectory" value="/Tetris/test"/>
                      </contents>
                    </eAnnotations>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__r_XIOgmEe2MUaaQOL9IhA" name="testTasConstructeur2" specification="__d4CoOgmEe2MUaaQOL9IhA">
                      <language>java</language>
                      <body>Puits p1 = new Puits(10,20);&#xD;
		Tas tas = new Tas(p1,10);&#xD;
		int compteur=0;&#xD;
     for (int i=0; i&lt;p1.getProfondeur(); i++) {&#xD;
         for (int j=0; j&lt;p1.getLargeur(); j++) {&#xD;
             if (tas.getElements()[i][j] != null) {&#xD;
                 System.err.println(tas.getElements()[i][j]);&#xD;
                 compteur++;&#xD;
             }&#xD;
         }&#xD;
     }&#xD;
     assertEquals(10, compteur,&quot;Le nombre d'éléments du tas n'est pas correct&quot;);&#xD;
     System.err.println(&quot;-----------------------&quot;);&#xD;
	</body>
                    </ownedBehavior>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__r_XIegmEe2MUaaQOL9IhA" name="testTasConstructeur3" specification="__d4ps-gmEe2MUaaQOL9IhA">
                      <language>java</language>
                      <body>Puits p1 = new Puits(10,20);&#xD;
     Tas tas = new Tas(p1, 10, 5);&#xD;
     int compteur=0;&#xD;
     for (int i=0; i&lt;p1.getProfondeur(); i++) {&#xD;
         for (int j=0; j&lt;p1.getLargeur(); j++) {&#xD;
             if (tas.getElements()[i][j] != null) {&#xD;
                 System.err.println(tas.getElements()[i][j]);&#xD;
                 compteur++;&#xD;
             }&#xD;
         }&#xD;
     }&#xD;
     assertEquals(10, compteur,&quot;Le nombre d'éléments du tas n'est pas correct&quot;);&#xD;
 </body>
                    </ownedBehavior>
                    <ownedOperation xmi:id="__d4CoOgmEe2MUaaQOL9IhA" name="testTasConstructeur2" method="__r_XIOgmEe2MUaaQOL9IhA"/>
                    <ownedOperation xmi:id="__d4ps-gmEe2MUaaQOL9IhA" name="testTasConstructeur3" method="__r_XIegmEe2MUaaQOL9IhA"/>
                  </packagedElement>
                  <packagedElement xmi:type="uml:Class" xmi:id="__d530ugmEe2MUaaQOL9IhA" name="UsineDePieceTest">
                    <eAnnotations xmi:id="__d6e4OgmEe2MUaaQOL9IhA" source="http://ns.yatta.de/umllab">
                      <contents xmi:type="ecore:EAnnotation" xmi:id="__d6e4egmEe2MUaaQOL9IhA" source="codegen">
                        <details xmi:id="__d6e4ugmEe2MUaaQOL9IhA" key="codegenDirectory" value="/Tetris/test"/>
                      </contents>
                    </eAnnotations>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__r_XIugmEe2MUaaQOL9IhA" name="setUp" specification="__d6e4-gmEe2MUaaQOL9IhA">
                      <language>java</language>
                      <body>UsineDePiece.setMode(UsineDePiece.ALEATOIRE_COMPLET);&#xD;
	</body>
                    </ownedBehavior>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__r_XI-gmEe2MUaaQOL9IhA" name="testGenererPiece" specification="__d7tAugmEe2MUaaQOL9IhA">
                      <language>java</language>
                      <body>Piece piece = UsineDePiece.genererPiece();&#xD;
&#xD;
		// On vérifie que la pièce retournée n'est pas nulle&#xD;
		assertNotNull(piece);&#xD;
&#xD;
		// On vérifie que la couleur de la pièce est bien une couleur valide&#xD;
		assertTrue(piece.getCouleur() instanceof Couleur);&#xD;
	</body>
                    </ownedBehavior>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__r_XJOgmEe2MUaaQOL9IhA" name="testSetMode" specification="__d8UE-gmEe2MUaaQOL9IhA">
                      <language>java</language>
                      <body>UsineDePiece.setMode(UsineDePiece.ALEATOIRE_PIECE);&#xD;
&#xD;
		// On vérifie que le mode a bien été changé&#xD;
		assertEquals(UsineDePiece.ALEATOIRE_PIECE, UsineDePiece.getMode());&#xD;
	</body>
                    </ownedBehavior>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__r_XJegmEe2MUaaQOL9IhA" name="testAleatoireComplet" specification="__d87I-gmEe2MUaaQOL9IhA">
                      <language>java</language>
                      <body>UsineDePiece.setMode(UsineDePiece.ALEATOIRE_COMPLET);&#xD;
		for (int i = 0; i &lt; 350; i++) {&#xD;
			Piece piece = UsineDePiece.genererPiece();&#xD;
&#xD;
			// On vérifie que la pièce retournée n'est pas nulle&#xD;
			assertNotNull(piece);&#xD;
		}&#xD;
	</body>
                    </ownedBehavior>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__r_-MOgmEe2MUaaQOL9IhA" name="testAleatoirePiece" specification="__d9iMugmEe2MUaaQOL9IhA">
                      <language>java</language>
                      <body>UsineDePiece.setMode(UsineDePiece.ALEATOIRE_PIECE);&#xD;
		for (int i = 0; i &lt; 15; i++) {&#xD;
			Piece piece = UsineDePiece.genererPiece();&#xD;
&#xD;
			// On vérifie que la pièce retournée n'est pas nulle&#xD;
			assertNotNull(piece);&#xD;
		}&#xD;
	</body>
                    </ownedBehavior>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__r_-MegmEe2MUaaQOL9IhA" name="testCyclic" specification="__d9iNugmEe2MUaaQOL9IhA">
                      <language>java</language>
                      <body>UsineDePiece.setMode(UsineDePiece.CYCLIC);&#xD;
		for (int i = 0; i &lt; 7; i++) {&#xD;
			Piece piece = UsineDePiece.genererPiece();&#xD;
			assertNotNull(piece);&#xD;
		}&#xD;
	</body>
                    </ownedBehavior>
                    <ownedOperation xmi:id="__d6e4-gmEe2MUaaQOL9IhA" name="setUp" method="__r_XIugmEe2MUaaQOL9IhA"/>
                    <ownedOperation xmi:id="__d7tAugmEe2MUaaQOL9IhA" name="testGenererPiece" method="__r_XI-gmEe2MUaaQOL9IhA"/>
                    <ownedOperation xmi:id="__d8UE-gmEe2MUaaQOL9IhA" name="testSetMode" method="__r_XJOgmEe2MUaaQOL9IhA"/>
                    <ownedOperation xmi:id="__d87I-gmEe2MUaaQOL9IhA" name="testAleatoireComplet" method="__r_XJegmEe2MUaaQOL9IhA"/>
                    <ownedOperation xmi:id="__d9iMugmEe2MUaaQOL9IhA" name="testAleatoirePiece" method="__r_-MOgmEe2MUaaQOL9IhA"/>
                    <ownedOperation xmi:id="__d9iNugmEe2MUaaQOL9IhA" name="testCyclic" method="__r_-MegmEe2MUaaQOL9IhA"/>
                  </packagedElement>
                  <packagedElement xmi:type="uml:Class" xmi:id="__eS5YOgmEe2MUaaQOL9IhA" name="Puits">
                    <ownedAttribute xmi:id="__rQ-YOgmEe2MUaaQOL9IhA" name="LARGEUR_PAR_DEFAUT" isLeaf="true" isStatic="true" isReadOnly="true">
                      <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                      <defaultValue xmi:type="uml:LiteralString" xmi:id="__rQ-YegmEe2MUaaQOL9IhA" value="10"/>
                    </ownedAttribute>
                    <ownedAttribute xmi:id="__rQ-YugmEe2MUaaQOL9IhA" name="PROFONDEUR_PAR_DEFAUT" isLeaf="true" isStatic="true" isReadOnly="true">
                      <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                      <defaultValue xmi:type="uml:LiteralString" xmi:id="__rQ-Y-gmEe2MUaaQOL9IhA" value="20"/>
                    </ownedAttribute>
                    <ownedAttribute xmi:id="__rRlcOgmEe2MUaaQOL9IhA" name="MODIFICATION_PIECE_ACTUELLE" isLeaf="true" isStatic="true" isReadOnly="true">
                      <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
                      <defaultValue xmi:type="uml:LiteralString" xmi:id="__rRlcegmEe2MUaaQOL9IhA" value="&quot;modif_piece_actuelle&quot;"/>
                    </ownedAttribute>
                    <ownedAttribute xmi:id="__rRlcugmEe2MUaaQOL9IhA" name="MODIFICATION_PIECE_SUIVANTE" isLeaf="true" isStatic="true" isReadOnly="true">
                      <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
                      <defaultValue xmi:type="uml:LiteralString" xmi:id="__rSMgOgmEe2MUaaQOL9IhA" value="&quot;modif_piece_suivante&quot;"/>
                    </ownedAttribute>
                    <ownedAttribute xmi:id="__rSMgegmEe2MUaaQOL9IhA" name="pcs" type="__pljYOgmEe2MUaaQOL9IhA" isReadOnly="true" association="__sshwegmEe2MUaaQOL9IhA"/>
                    <ownedAttribute xmi:id="__rSMgugmEe2MUaaQOL9IhA" name="largeur" isReadOnly="true">
                      <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                    </ownedAttribute>
                    <ownedAttribute xmi:id="__rSzkOgmEe2MUaaQOL9IhA" name="profondeur" isReadOnly="true">
                      <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                    </ownedAttribute>
                    <ownedAttribute xmi:id="__rSzkegmEe2MUaaQOL9IhA" name="pieceActuelle" type="__clCIOgmEe2MUaaQOL9IhA" association="__sP10OgmEe2MUaaQOL9IhA"/>
                    <ownedAttribute xmi:id="__rTaoOgmEe2MUaaQOL9IhA" name="pieceSuivante" type="__clCIOgmEe2MUaaQOL9IhA" isReadOnly="true" association="__stI0egmEe2MUaaQOL9IhA"/>
                    <ownedAttribute xmi:id="__rTaoegmEe2MUaaQOL9IhA" name="tas" type="__b7h4OgmEe2MUaaQOL9IhA" association="__sQc4egmEe2MUaaQOL9IhA"/>
                    <ownedAttribute xmi:id="__rUBsOgmEe2MUaaQOL9IhA" name="score" isReadOnly="true">
                      <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                      <defaultValue xmi:type="uml:LiteralString" xmi:id="__rUBsegmEe2MUaaQOL9IhA" value="0"/>
                    </ownedAttribute>
                    <ownedAttribute xmi:id="__rUBsugmEe2MUaaQOL9IhA" name="niveau" isReadOnly="true">
                      <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                      <defaultValue xmi:type="uml:LiteralString" xmi:id="__rUBs-gmEe2MUaaQOL9IhA" value="0"/>
                    </ownedAttribute>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__sDokOgmEe2MUaaQOL9IhA" name="Puits" specification="__eV8sOgmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__sDokegmEe2MUaaQOL9IhA" name="largeur">
                        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                      </ownedParameter>
                      <ownedParameter xmi:id="__sDokugmEe2MUaaQOL9IhA" name="hauteur">
                        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                      </ownedParameter>
                      <ownedParameter xmi:id="__sDok-gmEe2MUaaQOL9IhA" type="__eS5YOgmEe2MUaaQOL9IhA" direction="return"/>
                      <language>java</language>
                      <body>if (largeur &lt; 5 || largeur > 15 || hauteur &lt; 15 || hauteur > 25) {&#xD;
			throw new IllegalArgumentException(&quot;La largeur doit etre entre 5 et 15&quot; + &quot; et la hauteur entre 15 et 25&quot;);&#xD;
		} else {&#xD;
			this.largeur = largeur;&#xD;
			this.profondeur = hauteur;&#xD;
			this.pcs = new PropertyChangeSupport(this);&#xD;
			this.tas = new Tas(this);&#xD;
		}&#xD;
	</body>
                    </ownedBehavior>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__sDolOgmEe2MUaaQOL9IhA" name="Puits" specification="__eXx4OgmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__sDolegmEe2MUaaQOL9IhA" name="largeur">
                        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                      </ownedParameter>
                      <ownedParameter xmi:id="__sDolugmEe2MUaaQOL9IhA" name="profondeur">
                        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                      </ownedParameter>
                      <ownedParameter xmi:id="__sDol-gmEe2MUaaQOL9IhA" name="nbElements">
                        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                      </ownedParameter>
                      <ownedParameter xmi:id="__sDomOgmEe2MUaaQOL9IhA" name="nbLignes">
                        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                      </ownedParameter>
                      <ownedParameter xmi:id="__sDomegmEe2MUaaQOL9IhA" type="__eS5YOgmEe2MUaaQOL9IhA" direction="return"/>
                      <language>java</language>
                      <body>this(largeur, profondeur);&#xD;
		this.setTas(new Tas(this, nbElements, nbLignes));&#xD;
	</body>
                    </ownedBehavior>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__sDomugmEe2MUaaQOL9IhA" name="Puits" specification="__eZAAOgmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__sDom-gmEe2MUaaQOL9IhA" type="__eS5YOgmEe2MUaaQOL9IhA" direction="return"/>
                      <language>java</language>
                      <body>this(LARGEUR_PAR_DEFAUT, PROFONDEUR_PAR_DEFAUT);&#xD;
		this.pcs = new PropertyChangeSupport(this);&#xD;
	</body>
                    </ownedBehavior>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__sEPoOgmEe2MUaaQOL9IhA" name="setLargeur" specification="__eZnEOgmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__sEPoegmEe2MUaaQOL9IhA" name="largeur">
                        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                      </ownedParameter>
                      <language>java</language>
                      <body>if (largeur &lt; 5 || largeur > 15) {&#xD;
			throw new IllegalArgumentException(&quot;La largeur doit etre entre 5 et 15&quot; + &quot; et la hauteur entre 15 et 25&quot;);&#xD;
		} else {&#xD;
			this.largeur = largeur;&#xD;
		}&#xD;
	</body>
                    </ownedBehavior>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__sEPougmEe2MUaaQOL9IhA" name="setProfondeur" specification="__eZnEugmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__sEPo-gmEe2MUaaQOL9IhA" name="profondeur">
                        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                      </ownedParameter>
                      <language>java</language>
                      <body>if (profondeur &lt; 15 || profondeur > 25) {&#xD;
			throw new IllegalArgumentException(&quot;La largeur doit etre entre 5 et 15&quot; + &quot; et la hauteur entre 15 et 25&quot;);&#xD;
		} else {&#xD;
			this.profondeur = profondeur;&#xD;
		}&#xD;
	</body>
                    </ownedBehavior>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__sEPpOgmEe2MUaaQOL9IhA" name="setPieceSuivante" specification="__pxJkOgmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__sEPpegmEe2MUaaQOL9IhA" name="pieceSuivante" type="__clCIOgmEe2MUaaQOL9IhA"/>
                      <language>java</language>
                      <body>if (this.pieceSuivante != null) {&#xD;
			pcs.firePropertyChange(MODIFICATION_PIECE_ACTUELLE, this.pieceActuelle, getPieceSuivante());&#xD;
			this.setPieceActuelle(this.pieceSuivante);&#xD;
			this.getPieceActuelle().setPosition(this.getLargeur() / 2, -4);&#xD;
		}&#xD;
		pcs.firePropertyChange(MODIFICATION_PIECE_SUIVANTE, this.pieceSuivante, pieceSuivante);&#xD;
		this.pieceSuivante = pieceSuivante;&#xD;
		this.pieceSuivante.setPuits(this);&#xD;
	</body>
                    </ownedBehavior>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__sE2sOgmEe2MUaaQOL9IhA" name="toString" specification="__eaOIegmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__sE2segmEe2MUaaQOL9IhA" direction="return">
                        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
                      </ownedParameter>
                      <language>java</language>
                      <body>String ret = &quot;Puits : Dimension &quot; + this.getLargeur() + &quot; x &quot; + this.getProfondeur() + &quot;\n&quot;;&#xD;
		if (this.getPieceActuelle() != null) {&#xD;
			ret += &quot;Piece Actuelle : &quot; + this.getPieceActuelle().toString();&#xD;
		}&#xD;
&#xD;
		else {&#xD;
			ret += &quot;Piece Actuelle : &lt;aucune>\n&quot;;&#xD;
		}&#xD;
&#xD;
		if (this.getPieceSuivante() != null) {&#xD;
			ret += &quot;Piece Suivante : &quot; + this.getPieceSuivante().toString();&#xD;
		}&#xD;
&#xD;
		else {&#xD;
			ret += &quot;Piece Suivante : &lt;aucune>\n&quot;;&#xD;
		}&#xD;
		return ret;&#xD;
	</body>
                    </ownedBehavior>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__sE2sugmEe2MUaaQOL9IhA" name="addPropertyChangeListener" specification="__qW_cOgmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__sE2s-gmEe2MUaaQOL9IhA" name="listener" type="__pYIAegmEe2MUaaQOL9IhA"/>
                      <language>java</language>
                      <body>pcs.addPropertyChangeListener(listener);&#xD;
	</body>
                    </ownedBehavior>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__sE2tOgmEe2MUaaQOL9IhA" name="removePropertyChangeListener" specification="__qW_cugmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__sE2tegmEe2MUaaQOL9IhA" name="listener" type="__pYIAegmEe2MUaaQOL9IhA"/>
                      <language>java</language>
                      <body>pcs.removePropertyChangeListener(listener);&#xD;
	</body>
                    </ownedBehavior>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__sE2tugmEe2MUaaQOL9IhA" name="gererCollision" specification="__ea1MegmEe2MUaaQOL9IhA">
                      <language>java</language>
                      <body>try {&#xD;
			this.tas.ajouterElements(this.pieceActuelle);&#xD;
			this.setPieceSuivante(UsineDePiece.genererPiece());&#xD;
		} catch (Exception e) {&#xD;
		}&#xD;
	</body>
                    </ownedBehavior>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__sGE0OgmEe2MUaaQOL9IhA" name="ligneEstCompletee" specification="__ebcQOgmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__sGE0egmEe2MUaaQOL9IhA" name="indiceLigne">
                        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                      </ownedParameter>
                      <ownedParameter xmi:id="__sGE0ugmEe2MUaaQOL9IhA" direction="return">
                        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
                      </ownedParameter>
                      <language>java</language>
                      <body>if (indiceLigne > this.getProfondeur()) {&#xD;
			throw new IllegalArgumentException();&#xD;
		} else {&#xD;
			int nb = 0;&#xD;
			for (int i = 0; i &lt; this.getLargeur(); i++) {&#xD;
				if (this.getTas().getElements()[indiceLigne][i] != null) {&#xD;
					nb++;&#xD;
				}&#xD;
			}&#xD;
			return (nb == this.getLargeur());	&#xD;
		}&#xD;
	</body>
                    </ownedBehavior>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__sGE0-gmEe2MUaaQOL9IhA" name="supprimerLigne" specification="__ecDUOgmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__sGE1OgmEe2MUaaQOL9IhA" name="indiceLigne">
                        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                      </ownedParameter>
                      <language>java</language>
                      <body>if (indiceLigne > this.getProfondeur()) {&#xD;
			throw new IllegalArgumentException();&#xD;
		} else {&#xD;
			// Supprimer tous les éléments de la ligne à supprimer&#xD;
			for (int i = 0; i &lt; this.getLargeur(); i++) {&#xD;
				this.getTas().getElements()[indiceLigne][i] = null;&#xD;
			}&#xD;
			// Décaler toutes les lignes d'une ligne vers le bas&#xD;
			for (int i = indiceLigne; i > 0; i--) {&#xD;
				for (int j = 0; j &lt; this.getLargeur(); j++) {&#xD;
					this.getTas().getElements()[i][j] = this.getTas().getElements()[i - 1][j];&#xD;
				}&#xD;
			}&#xD;
			// Ajouter une ligne vide en haut&#xD;
			for (int i = 0; i &lt; this.getLargeur(); i++) {&#xD;
				this.getTas().getElements()[0][i] = null;&#xD;
			}&#xD;
		}&#xD;
	</body>
                    </ownedBehavior>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__sGE1egmEe2MUaaQOL9IhA" name="gravite" specification="__ecDUugmEe2MUaaQOL9IhA">
                      <language>java</language>
                      <body>if (getPieceActuelle() != null) {&#xD;
			try {&#xD;
				getPieceActuelle().deplacerDe(0, 1);&#xD;
			} catch (BloxException e) {&#xD;
				gererCollision();&#xD;
			}&#xD;
		}&#xD;
		else {&#xD;
			throw new IllegalArgumentException(&quot;Il n'y a pas de PieceActuelle&quot;);&#xD;
		}&#xD;
	</body>
                    </ownedBehavior>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__sGr4OgmEe2MUaaQOL9IhA" name="ajouterScore" specification="__ecqYOgmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__sGr4egmEe2MUaaQOL9IhA" name="s">
                        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                      </ownedParameter>
                      <language>java</language>
                      <body>this.score += s;&#xD;
	</body>
                    </ownedBehavior>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__sGr4ugmEe2MUaaQOL9IhA" name="augmenterNiveau" specification="__edRcOgmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__sGr4-gmEe2MUaaQOL9IhA" direction="return">
                        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                      </ownedParameter>
                      <language>java</language>
                      <body>return this.niveau++;&#xD;
	</body>
                    </ownedBehavior>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__sGr5OgmEe2MUaaQOL9IhA" name="inversePiece" specification="__edRcugmEe2MUaaQOL9IhA">
                      <language>java</language>
                      <body>if(this.pieceActuelle!=null){&#xD;
			Piece tmp = this.getPieceActuelle();&#xD;
			int x = this.getPieceActuelle().getElements().get(0).getCoordonnees().getAbscisse();&#xD;
			int y = this.getPieceActuelle().getElements().get(0).getCoordonnees().getOrdonnee();&#xD;
			this.setPieceSuivante(tmp);&#xD;
			this.pieceActuelle.setPosition(x,y);&#xD;
			this.pieceSuivante.setPosition(2,3);&#xD;
		}&#xD;
	</body>
                    </ownedBehavior>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__sGr5egmEe2MUaaQOL9IhA" name="clone" specification="__ed4gOgmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__sGr5ugmEe2MUaaQOL9IhA" type="__clCIOgmEe2MUaaQOL9IhA" direction="return"/>
                      <language>java</language>
                      <body>String type = this.getPieceActuelle().getType();&#xD;
		Piece ret = null;&#xD;
		switch (type) {&#xD;
			case &quot;I&quot;:&#xD;
				ret = new IPiece(this.getPieceActuelle().getElements().get(0).getCoordonnees(),&#xD;
						this.getPieceActuelle().getElements().get(0).getCouleur());&#xD;
				break;&#xD;
			case &quot;J&quot;:&#xD;
				ret = new JPiece(this.getPieceActuelle().getElements().get(0).getCoordonnees(),&#xD;
						this.getPieceActuelle().getElements().get(0).getCouleur());&#xD;
				break;&#xD;
			case &quot;L&quot;:&#xD;
				ret = new LPiece(this.getPieceActuelle().getElements().get(0).getCoordonnees(),&#xD;
						this.getPieceActuelle().getElements().get(0).getCouleur());&#xD;
				break;&#xD;
			case &quot;S&quot;:&#xD;
				ret = new SPiece(this.getPieceActuelle().getElements().get(0).getCoordonnees(),&#xD;
						this.getPieceActuelle().getElements().get(0).getCouleur());&#xD;
				break;&#xD;
			case &quot;T&quot;:&#xD;
				ret = new TPiece(this.getPieceActuelle().getElements().get(0).getCoordonnees(),&#xD;
						this.getPieceActuelle().getElements().get(0).getCouleur());&#xD;
				break;&#xD;
			case &quot;Z&quot;:&#xD;
				ret = new ZPiece(this.getPieceActuelle().getElements().get(0).getCoordonnees(),&#xD;
						this.getPieceActuelle().getElements().get(0).getCouleur());&#xD;
				break;&#xD;
			default:&#xD;
				ret = new OPiece(this.getPieceActuelle().getElements().get(0).getCoordonnees(),&#xD;
						this.getPieceActuelle().getElements().get(0).getCouleur());&#xD;
				break;&#xD;
		}&#xD;
		return ret;&#xD;
	</body>
                    </ownedBehavior>
                    <ownedOperation xmi:id="__eV8sOgmEe2MUaaQOL9IhA" name="Puits" method="__sDokOgmEe2MUaaQOL9IhA">
                      <eAnnotations xmi:id="__eWjwegmEe2MUaaQOL9IhA" source="http://www.eclipse.org/uml2/2.0.0/UML">
                        <details xmi:id="__eWjwugmEe2MUaaQOL9IhA" key="create"/>
                      </eAnnotations>
                      <ownedParameter xmi:id="__eV8segmEe2MUaaQOL9IhA" name="largeur">
                        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                      </ownedParameter>
                      <ownedParameter xmi:id="__eWjwOgmEe2MUaaQOL9IhA" name="hauteur">
                        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                      </ownedParameter>
                      <ownedParameter xmi:id="__eWjw-gmEe2MUaaQOL9IhA" type="__eS5YOgmEe2MUaaQOL9IhA" direction="return"/>
                    </ownedOperation>
                    <ownedOperation xmi:id="__eXx4OgmEe2MUaaQOL9IhA" name="Puits" method="__sDolOgmEe2MUaaQOL9IhA">
                      <eAnnotations xmi:id="__eYY8OgmEe2MUaaQOL9IhA" source="http://www.eclipse.org/uml2/2.0.0/UML">
                        <details xmi:id="__eYY8egmEe2MUaaQOL9IhA" key="create"/>
                      </eAnnotations>
                      <ownedParameter xmi:id="__eXx4egmEe2MUaaQOL9IhA" name="largeur">
                        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                      </ownedParameter>
                      <ownedParameter xmi:id="__eXx4ugmEe2MUaaQOL9IhA" name="profondeur">
                        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                      </ownedParameter>
                      <ownedParameter xmi:id="__eXx4-gmEe2MUaaQOL9IhA" name="nbElements">
                        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                      </ownedParameter>
                      <ownedParameter xmi:id="__eXx5OgmEe2MUaaQOL9IhA" name="nbLignes">
                        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                      </ownedParameter>
                      <ownedParameter xmi:id="__eYY8ugmEe2MUaaQOL9IhA" type="__eS5YOgmEe2MUaaQOL9IhA" direction="return"/>
                    </ownedOperation>
                    <ownedOperation xmi:id="__eZAAOgmEe2MUaaQOL9IhA" name="Puits" method="__sDomugmEe2MUaaQOL9IhA">
                      <eAnnotations xmi:id="__eZAAegmEe2MUaaQOL9IhA" source="http://www.eclipse.org/uml2/2.0.0/UML">
                        <details xmi:id="__eZAAugmEe2MUaaQOL9IhA" key="create"/>
                      </eAnnotations>
                      <ownedParameter xmi:id="__eZAA-gmEe2MUaaQOL9IhA" type="__eS5YOgmEe2MUaaQOL9IhA" direction="return"/>
                    </ownedOperation>
                    <ownedOperation xmi:id="__eZnEOgmEe2MUaaQOL9IhA" name="setLargeur" method="__sEPoOgmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__eZnEegmEe2MUaaQOL9IhA" name="largeur">
                        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                      </ownedParameter>
                    </ownedOperation>
                    <ownedOperation xmi:id="__eZnEugmEe2MUaaQOL9IhA" name="setProfondeur" method="__sEPougmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__eaOIOgmEe2MUaaQOL9IhA" name="profondeur">
                        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                      </ownedParameter>
                    </ownedOperation>
                    <ownedOperation xmi:id="__eaOIegmEe2MUaaQOL9IhA" name="toString" method="__sE2sOgmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__ea1MOgmEe2MUaaQOL9IhA" direction="return">
                        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
                      </ownedParameter>
                    </ownedOperation>
                    <ownedOperation xmi:id="__ea1MegmEe2MUaaQOL9IhA" name="gererCollision" visibility="private" method="__sE2tugmEe2MUaaQOL9IhA"/>
                    <ownedOperation xmi:id="__ebcQOgmEe2MUaaQOL9IhA" name="ligneEstCompletee" method="__sGE0OgmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__ebcQegmEe2MUaaQOL9IhA" name="indiceLigne">
                        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                      </ownedParameter>
                      <ownedParameter xmi:id="__ebcQugmEe2MUaaQOL9IhA" direction="return">
                        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
                      </ownedParameter>
                    </ownedOperation>
                    <ownedOperation xmi:id="__ecDUOgmEe2MUaaQOL9IhA" name="supprimerLigne" method="__sGE0-gmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__ecDUegmEe2MUaaQOL9IhA" name="indiceLigne">
                        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                      </ownedParameter>
                    </ownedOperation>
                    <ownedOperation xmi:id="__ecDUugmEe2MUaaQOL9IhA" name="gravite" method="__sGE1egmEe2MUaaQOL9IhA"/>
                    <ownedOperation xmi:id="__ecqYOgmEe2MUaaQOL9IhA" name="ajouterScore" method="__sGr4OgmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__ecqYegmEe2MUaaQOL9IhA" name="s">
                        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                      </ownedParameter>
                    </ownedOperation>
                    <ownedOperation xmi:id="__edRcOgmEe2MUaaQOL9IhA" name="augmenterNiveau" method="__sGr4ugmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__edRcegmEe2MUaaQOL9IhA" direction="return">
                        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                      </ownedParameter>
                    </ownedOperation>
                    <ownedOperation xmi:id="__edRcugmEe2MUaaQOL9IhA" name="inversePiece" method="__sGr5OgmEe2MUaaQOL9IhA"/>
                    <ownedOperation xmi:id="__ed4gOgmEe2MUaaQOL9IhA" name="clone" method="__sGr5egmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__pxwoOgmEe2MUaaQOL9IhA" type="__clCIOgmEe2MUaaQOL9IhA" direction="return"/>
                    </ownedOperation>
                    <ownedOperation xmi:id="__pxJkOgmEe2MUaaQOL9IhA" name="setPieceSuivante" method="__sEPpOgmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__pxJkegmEe2MUaaQOL9IhA" name="pieceSuivante" type="__clCIOgmEe2MUaaQOL9IhA"/>
                    </ownedOperation>
                    <ownedOperation xmi:id="__qW_cOgmEe2MUaaQOL9IhA" name="addPropertyChangeListener" method="__sE2sugmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__qW_cegmEe2MUaaQOL9IhA" name="listener" type="__pYIAegmEe2MUaaQOL9IhA"/>
                    </ownedOperation>
                    <ownedOperation xmi:id="__qW_cugmEe2MUaaQOL9IhA" name="removePropertyChangeListener" method="__sE2tOgmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__qW_c-gmEe2MUaaQOL9IhA" name="listener" type="__pYIAegmEe2MUaaQOL9IhA"/>
                    </ownedOperation>
                  </packagedElement>
                  <packagedElement xmi:type="uml:Association" xmi:id="__sK9UOgmEe2MUaaQOL9IhA" name="" memberEnd="__quL0OgmEe2MUaaQOL9IhA __sLkYOgmEe2MUaaQOL9IhA">
                    <ownedEnd xmi:id="__sLkYOgmEe2MUaaQOL9IhA" name="" type="__bv7sOgmEe2MUaaQOL9IhA" association="__sK9UOgmEe2MUaaQOL9IhA"/>
                  </packagedElement>
                  <packagedElement xmi:type="uml:Association" xmi:id="__sLkYegmEe2MUaaQOL9IhA" name="" memberEnd="__quL0egmEe2MUaaQOL9IhA __sMLcOgmEe2MUaaQOL9IhA">
                    <ownedEnd xmi:id="__sMLcOgmEe2MUaaQOL9IhA" name="" type="__bv7sOgmEe2MUaaQOL9IhA" association="__sLkYegmEe2MUaaQOL9IhA"/>
                  </packagedElement>
                  <packagedElement xmi:type="uml:Association" xmi:id="__sP10OgmEe2MUaaQOL9IhA" name="" memberEnd="__rSzkegmEe2MUaaQOL9IhA __sQc4OgmEe2MUaaQOL9IhA">
                    <ownedEnd xmi:id="__sQc4OgmEe2MUaaQOL9IhA" name="" type="__eS5YOgmEe2MUaaQOL9IhA" association="__sP10OgmEe2MUaaQOL9IhA"/>
                  </packagedElement>
                  <packagedElement xmi:type="uml:Association" xmi:id="__sQc4egmEe2MUaaQOL9IhA" name="" memberEnd="__rTaoegmEe2MUaaQOL9IhA __sQc4ugmEe2MUaaQOL9IhA">
                    <ownedEnd xmi:id="__sQc4ugmEe2MUaaQOL9IhA" name="" type="__eS5YOgmEe2MUaaQOL9IhA" association="__sQc4egmEe2MUaaQOL9IhA"/>
                  </packagedElement>
                  <packagedElement xmi:type="uml:Association" xmi:id="__sj-4egmEe2MUaaQOL9IhA" name="" memberEnd="__sj-4ugmEe2MUaaQOL9IhA __qtkwOgmEe2MUaaQOL9IhA">
                    <ownedEnd xmi:id="__sj-4ugmEe2MUaaQOL9IhA" name="" type="__bp1EOgmEe2MUaaQOL9IhA" association="__sj-4egmEe2MUaaQOL9IhA"/>
                  </packagedElement>
                  <packagedElement xmi:type="uml:Association" xmi:id="__skl8egmEe2MUaaQOL9IhA" name="" memberEnd="__skl8ugmEe2MUaaQOL9IhA __qwBAOgmEe2MUaaQOL9IhA">
                    <ownedEnd xmi:id="__skl8ugmEe2MUaaQOL9IhA" name="" type="__b7h4OgmEe2MUaaQOL9IhA" association="__skl8egmEe2MUaaQOL9IhA"/>
                  </packagedElement>
                  <packagedElement xmi:type="uml:Association" xmi:id="__slNAegmEe2MUaaQOL9IhA" name="" memberEnd="__slNAugmEe2MUaaQOL9IhA __qx2MOgmEe2MUaaQOL9IhA">
                    <ownedEnd xmi:id="__slNAugmEe2MUaaQOL9IhA" name="" type="__b7h4OgmEe2MUaaQOL9IhA" association="__slNAegmEe2MUaaQOL9IhA"/>
                  </packagedElement>
                  <packagedElement xmi:type="uml:Association" xmi:id="__sl0EegmEe2MUaaQOL9IhA" name="" memberEnd="__sl0EugmEe2MUaaQOL9IhA __q4j4OgmEe2MUaaQOL9IhA">
                    <ownedEnd xmi:id="__sl0EugmEe2MUaaQOL9IhA" name="" type="__cBBcOgmEe2MUaaQOL9IhA" association="__sl0EegmEe2MUaaQOL9IhA"/>
                  </packagedElement>
                  <packagedElement xmi:type="uml:Association" xmi:id="__sshwegmEe2MUaaQOL9IhA" name="" memberEnd="__sshwugmEe2MUaaQOL9IhA __rSMgegmEe2MUaaQOL9IhA">
                    <ownedEnd xmi:id="__sshwugmEe2MUaaQOL9IhA" name="" type="__eS5YOgmEe2MUaaQOL9IhA" association="__sshwegmEe2MUaaQOL9IhA"/>
                  </packagedElement>
                  <packagedElement xmi:type="uml:Association" xmi:id="__stI0egmEe2MUaaQOL9IhA" name="" memberEnd="__stI0ugmEe2MUaaQOL9IhA __rTaoOgmEe2MUaaQOL9IhA">
                    <ownedEnd xmi:id="__stI0ugmEe2MUaaQOL9IhA" name="" type="__eS5YOgmEe2MUaaQOL9IhA" association="__stI0egmEe2MUaaQOL9IhA"/>
                  </packagedElement>
                </packagedElement>
                <packagedElement xmi:type="uml:Package" xmi:id="__X0d8OgmEe2MUaaQOL9IhA" name="vue">
                  <packagedElement xmi:type="uml:Class" xmi:id="__b6TwOgmEe2MUaaQOL9IhA" name="VuePuitsTest">
                    <eAnnotations xmi:id="__b660OgmEe2MUaaQOL9IhA" source="http://ns.yatta.de/umllab">
                      <contents xmi:type="ecore:EAnnotation" xmi:id="__b660egmEe2MUaaQOL9IhA" source="codegen">
                        <details xmi:id="__b660ugmEe2MUaaQOL9IhA" key="codegenDirectory" value="/Tetris/test"/>
                      </contents>
                    </eAnnotations>
                  </packagedElement>
                  <packagedElement xmi:type="uml:Class" xmi:id="__dBHAOgmEe2MUaaQOL9IhA" name="PanneauInformation">
                    <generalization xmi:id="__qPqsugmEe2MUaaQOL9IhA" general="__pYvEegmEe2MUaaQOL9IhA"/>
                    <ownedAttribute xmi:id="__rEKEOgmEe2MUaaQOL9IhA" name="serialVersionUID" visibility="private" isLeaf="true" isStatic="true" isReadOnly="true">
                      <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#long"/>
                      <defaultValue xmi:type="uml:LiteralString" xmi:id="__rEKEegmEe2MUaaQOL9IhA" value="1L"/>
                    </ownedAttribute>
                    <ownedAttribute xmi:id="__rEKEugmEe2MUaaQOL9IhA" name="puits" type="__eS5YOgmEe2MUaaQOL9IhA" association="__sOAoOgmEe2MUaaQOL9IhA"/>
                    <ownedAttribute xmi:id="__rExIOgmEe2MUaaQOL9IhA" name="vuePiece" type="__dFYcOgmEe2MUaaQOL9IhA" isReadOnly="true" association="__snCMegmEe2MUaaQOL9IhA"/>
                    <ownedAttribute xmi:id="__rExIegmEe2MUaaQOL9IhA" name="taille">
                      <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                      <defaultValue xmi:type="uml:LiteralString" xmi:id="__rFYMOgmEe2MUaaQOL9IhA" value="10"/>
                    </ownedAttribute>
                    <interfaceRealization xmi:id="__qN1gOgmEe2MUaaQOL9IhA" client="__dBHAOgmEe2MUaaQOL9IhA" supplier="__pYIAegmEe2MUaaQOL9IhA" contract="__pYIAegmEe2MUaaQOL9IhA"/>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__r0YAugmEe2MUaaQOL9IhA" name="PanneauInformation" specification="__pZ9MOgmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__r0YA-gmEe2MUaaQOL9IhA" name="puits" type="__eS5YOgmEe2MUaaQOL9IhA"/>
                      <ownedParameter xmi:id="__r0YBOgmEe2MUaaQOL9IhA" type="__dBHAOgmEe2MUaaQOL9IhA" direction="return"/>
                      <language>java</language>
                      <body>this.puits = puits;&#xD;
     this.vuePiece = new VuePiece(puits.getPieceSuivante(), taille);&#xD;
     this.puits.addPropertyChangeListener(this);&#xD;
     Dimension dimension = new Dimension(70, 70);&#xD;
     setPreferredSize(dimension);&#xD;
 </body>
                    </ownedBehavior>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__r0_EOgmEe2MUaaQOL9IhA" name="setVuePiece" specification="__pakQ-gmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__r0_EegmEe2MUaaQOL9IhA" name="vuePiece" type="__dFYcOgmEe2MUaaQOL9IhA"/>
                      <language>java</language>
                      <body>this.vuePiece = vuePiece;&#xD;
 </body>
                    </ownedBehavior>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__r0_EugmEe2MUaaQOL9IhA" name="propertyChange" specification="__qOckOgmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__r0_E-gmEe2MUaaQOL9IhA" name="e" type="__pXg8OgmEe2MUaaQOL9IhA"/>
                      <language>java</language>
                      <body>if (e.getPropertyName().equals(Puits.MODIFICATION_PIECE_SUIVANTE)) {&#xD;
         Piece piece = (Piece) e.getNewValue();&#xD;
         if (piece != null) {&#xD;
             this.setVuePiece(new VuePiece(piece, taille));&#xD;
             piece.setPuits(puits);&#xD;
         } else {&#xD;
             this.setVuePiece(new VuePiece(null, taille));&#xD;
         }&#xD;
     }&#xD;
     repaint();&#xD;
 </body>
                    </ownedBehavior>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__r0_FOgmEe2MUaaQOL9IhA" name="paintComponent" specification="__qPqsOgmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__r0_FegmEe2MUaaQOL9IhA" name="g" type="__pVrwegmEe2MUaaQOL9IhA"/>
                      <language>java</language>
                      <body>super.paintComponent(g);&#xD;
     if (this.vuePiece != null) {&#xD;
         this.vuePiece.afficherPiece((Graphics2D) g);&#xD;
     }&#xD;
     g.setColor(java.awt.Color.BLACK);&#xD;
     g.drawString(&quot;Score: &quot; + this.puits.getScore(), 5, 70);&#xD;
 </body>
                    </ownedBehavior>
                    <ownedOperation xmi:id="__pZ9MOgmEe2MUaaQOL9IhA" name="PanneauInformation" method="__r0YAugmEe2MUaaQOL9IhA">
                      <eAnnotations xmi:id="__pakQOgmEe2MUaaQOL9IhA" source="http://www.eclipse.org/uml2/2.0.0/UML">
                        <details xmi:id="__pakQegmEe2MUaaQOL9IhA" key="create"/>
                      </eAnnotations>
                      <ownedParameter xmi:id="__pZ9MegmEe2MUaaQOL9IhA" name="puits" type="__eS5YOgmEe2MUaaQOL9IhA"/>
                      <ownedParameter xmi:id="__pakQugmEe2MUaaQOL9IhA" type="__dBHAOgmEe2MUaaQOL9IhA" direction="return"/>
                    </ownedOperation>
                    <ownedOperation xmi:id="__pakQ-gmEe2MUaaQOL9IhA" name="setVuePiece" visibility="private" method="__r0_EOgmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__pakROgmEe2MUaaQOL9IhA" name="vuePiece" type="__dFYcOgmEe2MUaaQOL9IhA"/>
                    </ownedOperation>
                    <ownedOperation xmi:id="__qOckOgmEe2MUaaQOL9IhA" name="propertyChange" method="__r0_EugmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__qOckegmEe2MUaaQOL9IhA" name="e" type="__pXg8OgmEe2MUaaQOL9IhA"/>
                    </ownedOperation>
                    <ownedOperation xmi:id="__qPqsOgmEe2MUaaQOL9IhA" name="paintComponent" visibility="protected" method="__r0_FOgmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__qPqsegmEe2MUaaQOL9IhA" name="g" type="__pVrwegmEe2MUaaQOL9IhA"/>
                    </ownedOperation>
                  </packagedElement>
                  <packagedElement xmi:type="uml:Class" xmi:id="__dFYcOgmEe2MUaaQOL9IhA" name="VuePiece">
                    <ownedAttribute xmi:id="__rFYMegmEe2MUaaQOL9IhA" name="MULTIPLIER_TEINTE" isLeaf="true" isStatic="true" isReadOnly="true">
                      <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#double"/>
                      <defaultValue xmi:type="uml:LiteralString" xmi:id="__rF_QOgmEe2MUaaQOL9IhA" value="0.44"/>
                    </ownedAttribute>
                    <ownedAttribute xmi:id="__rF_QegmEe2MUaaQOL9IhA" name="taille" visibility="private" isLeaf="true" isReadOnly="true">
                      <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                    </ownedAttribute>
                    <ownedAttribute xmi:id="__rGmUegmEe2MUaaQOL9IhA" name="piece" visibility="private" isLeaf="true" type="__clCIOgmEe2MUaaQOL9IhA" isReadOnly="true" association="__snCNOgmEe2MUaaQOL9IhA"/>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__r1mIOgmEe2MUaaQOL9IhA" name="VuePiece" specification="__pdAgOgmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__r1mIegmEe2MUaaQOL9IhA" name="piece" type="__clCIOgmEe2MUaaQOL9IhA"/>
                      <ownedParameter xmi:id="__r1mIugmEe2MUaaQOL9IhA" name="taille">
                        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                      </ownedParameter>
                      <ownedParameter xmi:id="__r1mI-gmEe2MUaaQOL9IhA" type="__dFYcOgmEe2MUaaQOL9IhA" direction="return"/>
                      <language>java</language>
                      <body>this.piece = piece;&#xD;
		this.taille = taille;&#xD;
	</body>
                    </ownedBehavior>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__r1mJOgmEe2MUaaQOL9IhA" name="teinte" specification="__pdnkOgmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__r1mJegmEe2MUaaQOL9IhA" name="couleur" type="__o1VcOgmEe2MUaaQOL9IhA"/>
                      <ownedParameter xmi:id="__r1mJugmEe2MUaaQOL9IhA" type="__o1VcOgmEe2MUaaQOL9IhA" direction="return"/>
                      <language>java</language>
                      <body>int r = couleur.getRed();&#xD;
		int g = couleur.getGreen();&#xD;
		int b = couleur.getBlue();&#xD;
		r = (int) (r + (255 - r) * MULTIPLIER_TEINTE);&#xD;
		g = (int) (g + (255 - g) * MULTIPLIER_TEINTE);&#xD;
		b = (int) (b + (255 - b) * MULTIPLIER_TEINTE);&#xD;
		return new java.awt.Color(r, g, b);&#xD;
	</body>
                    </ownedBehavior>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__r2NMOgmEe2MUaaQOL9IhA" name="afficherPiece" specification="__peOoOgmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__r2NMegmEe2MUaaQOL9IhA" name="g2d" type="__pWS0egmEe2MUaaQOL9IhA"/>
                      <language>java</language>
                      <body>// Boucle for pour créer l'affichage de toutes les cases de Elements.&#xD;
		if (this.piece.getElements() != null) {&#xD;
			for (int i = 0; i &lt; this.piece.getElements().size(); i++) {&#xD;
				if (i == 0) {&#xD;
					g2d.setColor(this.teinte(this.piece.getElements().get(0).getCouleur().getCouleurPourAffichage()));&#xD;
					g2d.fill3DRect(this.piece.getElements().get(i).getCoordonnees().getAbscisse() * this.taille,&#xD;
							this.piece.getElements().get(i).getCoordonnees().getOrdonnee() * this.taille, this.taille,&#xD;
							this.taille, true);&#xD;
				} else {&#xD;
					g2d.setColor(this.piece.getElements().get(0).getCouleur().getCouleurPourAffichage());&#xD;
					g2d.fill3DRect(this.piece.getElements().get(i).getCoordonnees().getAbscisse() * this.taille,&#xD;
							this.piece.getElements().get(i).getCoordonnees().getOrdonnee() * this.taille, this.taille,&#xD;
							this.taille, true);&#xD;
				}&#xD;
			}&#xD;
		} else {&#xD;
			throw new Error(&quot;Erreur : la pièce n'a pas d'éléments&quot;);&#xD;
		}&#xD;
	</body>
                    </ownedBehavior>
                    <ownedOperation xmi:id="__pdAgOgmEe2MUaaQOL9IhA" name="VuePiece" method="__r1mIOgmEe2MUaaQOL9IhA">
                      <eAnnotations xmi:id="__pdAg-gmEe2MUaaQOL9IhA" source="http://www.eclipse.org/uml2/2.0.0/UML">
                        <details xmi:id="__pdAhOgmEe2MUaaQOL9IhA" key="create"/>
                      </eAnnotations>
                      <ownedParameter xmi:id="__pdAgegmEe2MUaaQOL9IhA" name="piece" type="__clCIOgmEe2MUaaQOL9IhA"/>
                      <ownedParameter xmi:id="__pdAgugmEe2MUaaQOL9IhA" name="taille">
                        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                      </ownedParameter>
                      <ownedParameter xmi:id="__pdAhegmEe2MUaaQOL9IhA" type="__dFYcOgmEe2MUaaQOL9IhA" direction="return"/>
                    </ownedOperation>
                    <ownedOperation xmi:id="__pdnkOgmEe2MUaaQOL9IhA" name="teinte" method="__r1mJOgmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__pdnkegmEe2MUaaQOL9IhA" name="couleur" type="__o1VcOgmEe2MUaaQOL9IhA"/>
                      <ownedParameter xmi:id="__pdnkugmEe2MUaaQOL9IhA" type="__o1VcOgmEe2MUaaQOL9IhA" direction="return"/>
                    </ownedOperation>
                    <ownedOperation xmi:id="__peOoOgmEe2MUaaQOL9IhA" name="afficherPiece" method="__r2NMOgmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__peOoegmEe2MUaaQOL9IhA" name="g2d" type="__pWS0egmEe2MUaaQOL9IhA"/>
                    </ownedOperation>
                  </packagedElement>
                  <packagedElement xmi:type="uml:Class" xmi:id="__dIbwOgmEe2MUaaQOL9IhA" name="VuePieceFantome">
                    <ownedAttribute xmi:id="__rHNYegmEe2MUaaQOL9IhA" name="taille" visibility="private" isLeaf="true" isReadOnly="true">
                      <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                    </ownedAttribute>
                    <ownedAttribute xmi:id="__rH0cegmEe2MUaaQOL9IhA" name="piece" visibility="private" isLeaf="true" type="__clCIOgmEe2MUaaQOL9IhA" isReadOnly="true" association="__snpQegmEe2MUaaQOL9IhA"/>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__r2NMugmEe2MUaaQOL9IhA" name="VuePieceFantome" specification="__pe1sOgmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__r2NM-gmEe2MUaaQOL9IhA" name="piece" type="__clCIOgmEe2MUaaQOL9IhA"/>
                      <ownedParameter xmi:id="__r2NNOgmEe2MUaaQOL9IhA" name="taille">
                        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                      </ownedParameter>
                      <ownedParameter xmi:id="__r2NNegmEe2MUaaQOL9IhA" type="__dIbwOgmEe2MUaaQOL9IhA" direction="return"/>
                      <language>java</language>
                      <body>this.piece = piece;&#xD;
     this.taille = taille;&#xD;
 </body>
                    </ownedBehavior>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__r20QOgmEe2MUaaQOL9IhA" name="afficherPieceFantome" specification="__qQ40OgmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__r20QegmEe2MUaaQOL9IhA" name="g2d" type="__pWS0egmEe2MUaaQOL9IhA"/>
                      <language>java</language>
                      <body>if (this.piece.getElements() != null) {&#xD;
         Piece ret = this.piece.getPuits().clone();&#xD;
         ret.setPosition(ret.getElements().get(0).getCoordonnees().getAbscisse(), 1);&#xD;
         //ret.descenteDirecte();&#xD;
         for (Element e : ret.getElements()) {&#xD;
             g2d.setColor(Color.WHITE);&#xD;
             g2d.fillRect(e.getCoordonnees().getAbscisse(), e.getCoordonnees().getOrdonnee(), this.taille,&#xD;
                     this.taille);&#xD;
         }&#xD;
     }&#xD;
 </body>
                    </ownedBehavior>
                    <ownedOperation xmi:id="__pe1sOgmEe2MUaaQOL9IhA" name="VuePieceFantome" method="__r2NMugmEe2MUaaQOL9IhA">
                      <eAnnotations xmi:id="__pe1s-gmEe2MUaaQOL9IhA" source="http://www.eclipse.org/uml2/2.0.0/UML">
                        <details xmi:id="__pe1tOgmEe2MUaaQOL9IhA" key="create"/>
                      </eAnnotations>
                      <ownedParameter xmi:id="__pe1segmEe2MUaaQOL9IhA" name="piece" type="__clCIOgmEe2MUaaQOL9IhA"/>
                      <ownedParameter xmi:id="__pe1sugmEe2MUaaQOL9IhA" name="taille">
                        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                      </ownedParameter>
                      <ownedParameter xmi:id="__pe1tegmEe2MUaaQOL9IhA" type="__dIbwOgmEe2MUaaQOL9IhA" direction="return"/>
                    </ownedOperation>
                    <ownedOperation xmi:id="__qQ40OgmEe2MUaaQOL9IhA" name="afficherPieceFantome" method="__r20QOgmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__qQ40egmEe2MUaaQOL9IhA" name="g2d" type="__pWS0egmEe2MUaaQOL9IhA"/>
                    </ownedOperation>
                  </packagedElement>
                  <packagedElement xmi:type="uml:Class" xmi:id="__dKQ8OgmEe2MUaaQOL9IhA" name="VuePuitsAffichageTest">
                    <eAnnotations xmi:id="__dK4AOgmEe2MUaaQOL9IhA" source="http://ns.yatta.de/umllab">
                      <contents xmi:type="ecore:EAnnotation" xmi:id="__dK4AegmEe2MUaaQOL9IhA" source="codegen">
                        <details xmi:id="__dK4AugmEe2MUaaQOL9IhA" key="codegenDirectory" value="/Tetris/test"/>
                      </contents>
                    </eAnnotations>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__r20QugmEe2MUaaQOL9IhA" name="main" specification="__dLfEOgmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__r20Q-gmEe2MUaaQOL9IhA" name="args">
                        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
                        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__r20ROgmEe2MUaaQOL9IhA" value="*"/>
                      </ownedParameter>
                      <language>java</language>
                      <body>SwingUtilities.invokeLater(new Runnable() {&#xD;
			@Override&#xD;
			public void run() {&#xD;
				new VuePuitsAffichageTest();&#xD;
			}&#xD;
		});&#xD;
	</body>
                    </ownedBehavior>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__r3bUOgmEe2MUaaQOL9IhA" name="VuePuitsAffichageTest" specification="__dMGIOgmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__r3bUegmEe2MUaaQOL9IhA" type="__dKQ8OgmEe2MUaaQOL9IhA" direction="return"/>
                      <language>java</language>
                      <body>testConstructeurPuits();&#xD;
		testConstructeurPuitsTaille();&#xD;
	</body>
                    </ownedBehavior>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__r3bUugmEe2MUaaQOL9IhA" name="testConstructeurPuits" specification="__dMGJOgmEe2MUaaQOL9IhA">
                      <language>java</language>
                      <body>JFrame j1 = new JFrame();&#xD;
		Puits p1 = new Puits();&#xD;
		p1.setPieceSuivante(new OPiece(new Coordonnees(1, 1), Couleur.ROUGE));&#xD;
		p1.setPieceSuivante(new OPiece(new Coordonnees(1, 1), Couleur.ROUGE));&#xD;
		VuePuits vP = new VuePuits(p1);&#xD;
		j1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);&#xD;
		j1.setTitle(&quot;Puits&quot;);&#xD;
		j1.add(vP);&#xD;
		j1.pack();&#xD;
		j1.setLocationRelativeTo(null);&#xD;
		j1.setVisible(true);&#xD;
	</body>
                    </ownedBehavior>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__r3bU-gmEe2MUaaQOL9IhA" name="testConstructeurPuitsTaille" specification="__dMtMOgmEe2MUaaQOL9IhA">
                      <language>java</language>
                      <body>JFrame j2 = new JFrame(&quot;Puits&quot;);&#xD;
		Puits p2 = new Puits(5, 22);&#xD;
		p2.setPieceSuivante(new OPiece(new Coordonnees(1, 1), Couleur.ROUGE));&#xD;
		p2.setPieceSuivante(new OPiece(new Coordonnees(1, 1), Couleur.ROUGE));&#xD;
		VuePuits vP = new VuePuits(p2, 16);&#xD;
		//VuePiece vuePiece = new VuePiece(new OPiece(new Coordonnees(2, 20), Couleur.ROUGE), 16);&#xD;
		//vP.setVuePiece(vuePiece);&#xD;
		j2.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);&#xD;
		j2.setTitle(&quot;Puits et taille&quot;);&#xD;
		j2.add(vP);&#xD;
		j2.pack();&#xD;
		j2.setLocationRelativeTo(null);&#xD;
		j2.setVisible(true);&#xD;
	</body>
                    </ownedBehavior>
                    <ownedOperation xmi:id="__dLfEOgmEe2MUaaQOL9IhA" name="main" isStatic="true" method="__r20QugmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__dLfEegmEe2MUaaQOL9IhA" name="args">
                        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
                        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__dLfEugmEe2MUaaQOL9IhA" value="*"/>
                      </ownedParameter>
                    </ownedOperation>
                    <ownedOperation xmi:id="__dMGIOgmEe2MUaaQOL9IhA" name="VuePuitsAffichageTest" method="__r3bUOgmEe2MUaaQOL9IhA">
                      <eAnnotations xmi:id="__dMGIegmEe2MUaaQOL9IhA" source="http://www.eclipse.org/uml2/2.0.0/UML">
                        <details xmi:id="__dMGIugmEe2MUaaQOL9IhA" key="create"/>
                      </eAnnotations>
                      <ownedParameter xmi:id="__dMGI-gmEe2MUaaQOL9IhA" type="__dKQ8OgmEe2MUaaQOL9IhA" direction="return"/>
                    </ownedOperation>
                    <ownedOperation xmi:id="__dMGJOgmEe2MUaaQOL9IhA" name="testConstructeurPuits" visibility="private" method="__r3bUugmEe2MUaaQOL9IhA"/>
                    <ownedOperation xmi:id="__dMtMOgmEe2MUaaQOL9IhA" name="testConstructeurPuitsTaille" visibility="private" method="__r3bU-gmEe2MUaaQOL9IhA"/>
                  </packagedElement>
                  <packagedElement xmi:type="uml:Class" xmi:id="__dNUQOgmEe2MUaaQOL9IhA" name="VueTas">
                    <ownedAttribute xmi:id="__rIbgegmEe2MUaaQOL9IhA" name="MULTIPLIER_NUANCE" isLeaf="true" isStatic="true" isReadOnly="true">
                      <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#double"/>
                      <defaultValue xmi:type="uml:LiteralString" xmi:id="__rJCkOgmEe2MUaaQOL9IhA" value="0.44"/>
                    </ownedAttribute>
                    <ownedAttribute xmi:id="__rJCkegmEe2MUaaQOL9IhA" name="vuePuits" isLeaf="true" type="__eH6QOgmEe2MUaaQOL9IhA" isReadOnly="true" association="__soQUegmEe2MUaaQOL9IhA"/>
                    <ownedAttribute xmi:id="__rK3wOgmEe2MUaaQOL9IhA" name="tas" visibility="private" isLeaf="true" type="__b7h4OgmEe2MUaaQOL9IhA" isReadOnly="true" association="__so3YegmEe2MUaaQOL9IhA"/>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__r4CYegmEe2MUaaQOL9IhA" name="VueTas" specification="__pgD0OgmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__r4CYugmEe2MUaaQOL9IhA" name="vuePuits" type="__eH6QOgmEe2MUaaQOL9IhA"/>
                      <ownedParameter xmi:id="__r4CY-gmEe2MUaaQOL9IhA" type="__dNUQOgmEe2MUaaQOL9IhA" direction="return"/>
                      <language>java</language>
                      <body>this.vuePuits = vuePuits;&#xD;
     this.tas = this.vuePuits.getPuits().getTas();&#xD;
 </body>
                    </ownedBehavior>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__r4CZOgmEe2MUaaQOL9IhA" name="nuance" specification="__qRf4OgmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__r4CZegmEe2MUaaQOL9IhA" name="couleur" type="__o1VcOgmEe2MUaaQOL9IhA"/>
                      <ownedParameter xmi:id="__r4CZugmEe2MUaaQOL9IhA" type="__o1VcOgmEe2MUaaQOL9IhA" direction="return"/>
                      <language>java</language>
                      <body>int rouge = (int) (couleur.getRed() * (1 - MULTIPLIER_NUANCE));&#xD;
     int vert = (int) (couleur.getGreen() * (1 - MULTIPLIER_NUANCE));&#xD;
     int bleu = (int) (couleur.getBlue() * (1 - MULTIPLIER_NUANCE));&#xD;
     return new Color(rouge, vert, bleu);&#xD;
 </body>
                    </ownedBehavior>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__r4CZ-gmEe2MUaaQOL9IhA" name="afficher" specification="__qSG8egmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__r4CaOgmEe2MUaaQOL9IhA" name="g2d" type="__pWS0egmEe2MUaaQOL9IhA"/>
                      <language>java</language>
                      <body>for (int i = 0; i &lt; this.tas.getElements().length; i++) {&#xD;
         for (int j = 0; j &lt; this.tas.getElements()[i].length; j++) {&#xD;
             if (this.tas.getElements()[i][j] != null) {&#xD;
                 g2d.setColor(nuance(this.tas.getElements()[i][j].getCouleur().getCouleurPourAffichage()));&#xD;
                 g2d.fill3DRect(j * this.vuePuits.getTaille(), i * this.vuePuits.getTaille(),&#xD;
                         this.vuePuits.getTaille(), this.vuePuits.getTaille(),true);&#xD;
             }&#xD;
         }&#xD;
     }&#xD;
 </body>
                    </ownedBehavior>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__r4pcOgmEe2MUaaQOL9IhA" name="getTas" specification="__dOiYOgmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__r4pcegmEe2MUaaQOL9IhA" type="__b7h4OgmEe2MUaaQOL9IhA" direction="return"/>
                      <language>java</language>
                      <body>return this.tas;&#xD;
 </body>
                    </ownedBehavior>
                    <ownedOperation xmi:id="__dOiYOgmEe2MUaaQOL9IhA" name="getTas" method="__r4pcOgmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__pgq4egmEe2MUaaQOL9IhA" type="__b7h4OgmEe2MUaaQOL9IhA" direction="return"/>
                    </ownedOperation>
                    <ownedOperation xmi:id="__pgD0OgmEe2MUaaQOL9IhA" name="VueTas" method="__r4CYegmEe2MUaaQOL9IhA">
                      <eAnnotations xmi:id="__pgD0ugmEe2MUaaQOL9IhA" source="http://www.eclipse.org/uml2/2.0.0/UML">
                        <details xmi:id="__pgD0-gmEe2MUaaQOL9IhA" key="create"/>
                      </eAnnotations>
                      <ownedParameter xmi:id="__pgD0egmEe2MUaaQOL9IhA" name="vuePuits" type="__eH6QOgmEe2MUaaQOL9IhA"/>
                      <ownedParameter xmi:id="__pgq4OgmEe2MUaaQOL9IhA" type="__dNUQOgmEe2MUaaQOL9IhA" direction="return"/>
                    </ownedOperation>
                    <ownedOperation xmi:id="__qRf4OgmEe2MUaaQOL9IhA" name="nuance" method="__r4CZOgmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__qRf4egmEe2MUaaQOL9IhA" name="couleur" type="__o1VcOgmEe2MUaaQOL9IhA"/>
                      <ownedParameter xmi:id="__qSG8OgmEe2MUaaQOL9IhA" type="__o1VcOgmEe2MUaaQOL9IhA" direction="return"/>
                    </ownedOperation>
                    <ownedOperation xmi:id="__qSG8egmEe2MUaaQOL9IhA" name="afficher" method="__r4CZ-gmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__qSG8ugmEe2MUaaQOL9IhA" name="g2d" type="__pWS0egmEe2MUaaQOL9IhA"/>
                    </ownedOperation>
                  </packagedElement>
                  <packagedElement xmi:type="uml:Class" xmi:id="__eH6QOgmEe2MUaaQOL9IhA" name="VuePuits">
                    <generalization xmi:id="__qVKQOgmEe2MUaaQOL9IhA" general="__pYvEegmEe2MUaaQOL9IhA"/>
                    <ownedAttribute xmi:id="__rMs8egmEe2MUaaQOL9IhA" name="serialVersionUID" visibility="private" isLeaf="true" isStatic="true" isReadOnly="true">
                      <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#long"/>
                      <defaultValue xmi:type="uml:LiteralString" xmi:id="__rNUAOgmEe2MUaaQOL9IhA" value="1L"/>
                    </ownedAttribute>
                    <ownedAttribute xmi:id="__rNUAegmEe2MUaaQOL9IhA" name="TAILLE_PAR_DEFAUT" isLeaf="true" isStatic="true" isReadOnly="true">
                      <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                      <defaultValue xmi:type="uml:LiteralString" xmi:id="__rNUAugmEe2MUaaQOL9IhA" value="15"/>
                    </ownedAttribute>
                    <ownedAttribute xmi:id="__rN7EOgmEe2MUaaQOL9IhA" name="puits" type="__eS5YOgmEe2MUaaQOL9IhA" isReadOnly="true" association="__sqFgegmEe2MUaaQOL9IhA"/>
                    <ownedAttribute xmi:id="__rN7EegmEe2MUaaQOL9IhA" name="taille" isReadOnly="true">
                      <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                    </ownedAttribute>
                    <ownedAttribute xmi:id="__rOiIOgmEe2MUaaQOL9IhA" name="vuePiece" type="__dFYcOgmEe2MUaaQOL9IhA" isReadOnly="true" association="__sqskOgmEe2MUaaQOL9IhA"/>
                    <ownedAttribute xmi:id="__rOiIegmEe2MUaaQOL9IhA" name="vuePieceFantome" visibility="private" type="__dIbwOgmEe2MUaaQOL9IhA" association="__srToOgmEe2MUaaQOL9IhA"/>
                    <ownedAttribute xmi:id="__rPJMegmEe2MUaaQOL9IhA" name="vueTas" visibility="private" isLeaf="true" type="__dNUQOgmEe2MUaaQOL9IhA" isReadOnly="true" association="__srTo-gmEe2MUaaQOL9IhA"/>
                    <ownedAttribute xmi:id="__rPwQOgmEe2MUaaQOL9IhA" name="gravite" type="__bMiEOgmEe2MUaaQOL9IhA" association="__sr6segmEe2MUaaQOL9IhA"/>
                    <interfaceRealization xmi:id="__qT8IOgmEe2MUaaQOL9IhA" client="__eH6QOgmEe2MUaaQOL9IhA" supplier="__pYIAegmEe2MUaaQOL9IhA" contract="__pYIAegmEe2MUaaQOL9IhA"/>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__sBMUOgmEe2MUaaQOL9IhA" name="VuePuits" specification="__pp00OgmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__sBMUegmEe2MUaaQOL9IhA" name="puits" type="__eS5YOgmEe2MUaaQOL9IhA"/>
                      <ownedParameter xmi:id="__sBMUugmEe2MUaaQOL9IhA" name="taille">
                        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                      </ownedParameter>
                      <ownedParameter xmi:id="__sBMU-gmEe2MUaaQOL9IhA" type="__eH6QOgmEe2MUaaQOL9IhA" direction="return"/>
                      <language>java</language>
                      <body>this.puits = puits;&#xD;
		this.taille = taille;&#xD;
		Dimension dimension = new Dimension(puits.getLargeur() * this.taille, puits.getProfondeur() * this.taille);&#xD;
		setPreferredSize(dimension);&#xD;
		setBackground(Color.white);&#xD;
		this.vueTas = new VueTas(this);&#xD;
		this.puits.addPropertyChangeListener(this);&#xD;
		PieceDeplacement pieceDeplacement = new PieceDeplacement(this);&#xD;
		PieceRotation pieceRotation = new PieceRotation(this);&#xD;
		this.addMouseMotionListener(pieceDeplacement);&#xD;
		this.addMouseWheelListener(pieceDeplacement);&#xD;
		this.addMouseListener(pieceDeplacement);&#xD;
		this.addMouseListener(pieceRotation);&#xD;
		this.gravite = null;&#xD;
	</body>
                    </ownedBehavior>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__sBMVOgmEe2MUaaQOL9IhA" name="VuePuits" specification="__prC8OgmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__sBMVegmEe2MUaaQOL9IhA" name="puits" type="__eS5YOgmEe2MUaaQOL9IhA"/>
                      <ownedParameter xmi:id="__sBMVugmEe2MUaaQOL9IhA" type="__eH6QOgmEe2MUaaQOL9IhA" direction="return"/>
                      <language>java</language>
                      <body>this(puits, TAILLE_PAR_DEFAUT);&#xD;
	</body>
                    </ownedBehavior>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__sBzYOgmEe2MUaaQOL9IhA" name="setTaille" specification="__eJIYOgmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__sBzYegmEe2MUaaQOL9IhA" name="taille">
                        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                      </ownedParameter>
                      <language>java</language>
                      <body>this.taille = taille;&#xD;
		Dimension dimension = new Dimension(puits.getLargeur() * this.taille, puits.getProfondeur() * this.taille);&#xD;
		setPreferredSize(dimension);&#xD;
		setBackground(Color.white);&#xD;
	</body>
                    </ownedBehavior>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__sBzYugmEe2MUaaQOL9IhA" name="setPuits" specification="__prC9egmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__sBzY-gmEe2MUaaQOL9IhA" name="puits" type="__eS5YOgmEe2MUaaQOL9IhA"/>
                      <language>java</language>
                      <body>this.puits = puits;&#xD;
		Dimension dimension = new Dimension(puits.getLargeur() * this.taille, puits.getProfondeur() * this.taille);&#xD;
		setPreferredSize(dimension);&#xD;
		setBackground(Color.white);&#xD;
	</body>
                    </ownedBehavior>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__sBzZOgmEe2MUaaQOL9IhA" name="setVuePiece" specification="__prqAOgmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__sBzZegmEe2MUaaQOL9IhA" name="vuePiece" type="__dFYcOgmEe2MUaaQOL9IhA"/>
                      <language>java</language>
                      <body>this.vuePiece = vuePiece;&#xD;
	</body>
                    </ownedBehavior>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__sBzZugmEe2MUaaQOL9IhA" name="setVuePieceFantome" specification="__prqAugmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__sBzZ-gmEe2MUaaQOL9IhA" name="vuePieceFantome" type="__dIbwOgmEe2MUaaQOL9IhA"/>
                      <language>java</language>
                      <body>this.vuePieceFantome = vuePieceFantome;&#xD;
	</body>
                    </ownedBehavior>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__sBzaOgmEe2MUaaQOL9IhA" name="getVueTas" specification="__eKWgegmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__sBzaegmEe2MUaaQOL9IhA" type="__dNUQOgmEe2MUaaQOL9IhA" direction="return"/>
                      <language>java</language>
                      <body>return vueTas;&#xD;
	</body>
                    </ownedBehavior>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__sCacOgmEe2MUaaQOL9IhA" name="propertyChange" specification="__ps4IOgmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__sCacegmEe2MUaaQOL9IhA" name="event" type="__pXg8OgmEe2MUaaQOL9IhA"/>
                      <language>java</language>
                      <body>for (int i = 0; i &lt; puits.getProfondeur(); i++) {&#xD;
			if (this.puits.ligneEstCompletee(i)) {&#xD;
				this.puits.supprimerLigne(i);&#xD;
				this.puits.ajouterScore(10);&#xD;
				if(this.puits.getScore()%100==0){&#xD;
					if(this.puits.getNiveau()&lt;5){&#xD;
						this.puits.augmenterNiveau();&#xD;
						this.gravite.setPeriodicite(this.gravite.getPeriodicite()-150);&#xD;
					}&#xD;
				}&#xD;
			}&#xD;
		}&#xD;
		if (event.getPropertyName().equals(Puits.MODIFICATION_PIECE_ACTUELLE)) {&#xD;
			Piece piece = (Piece) event.getNewValue();&#xD;
			if (piece != null) {&#xD;
				this.setVuePiece(new VuePiece(piece, this.taille));&#xD;
				this.setVuePieceFantome(new VuePieceFantome(piece, this.taille));&#xD;
				piece.setPuits(puits);&#xD;
			} else {&#xD;
				this.setVuePiece(new VuePiece(null, this.taille));&#xD;
				this.setVuePieceFantome(new VuePieceFantome(null, this.taille));&#xD;
			}&#xD;
		}&#xD;
	</body>
                    </ownedBehavior>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__sCacugmEe2MUaaQOL9IhA" name="paintComponent" specification="__qUjMOgmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__sCac-gmEe2MUaaQOL9IhA" name="g" type="__pVrwegmEe2MUaaQOL9IhA"/>
                      <language>java</language>
                      <body>super.paintComponent(g);&#xD;
		Graphics2D g2D = (Graphics2D) g.create();&#xD;
		creationGrille(g2D);&#xD;
		if (this.vuePiece != null) {&#xD;
			this.vuePiece.afficherPiece(g2D);&#xD;
		}&#xD;
		if (this.vuePieceFantome != null) {&#xD;
			this.vuePieceFantome.afficherPieceFantome(g2D);&#xD;
		}&#xD;
		&#xD;
		if (this.vueTas != null) {&#xD;
			this.vueTas.afficher(g2D);&#xD;
		}&#xD;
		g2D.dispose();&#xD;
	</body>
                    </ownedBehavior>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__sCadOgmEe2MUaaQOL9IhA" name="creationGrille" specification="__qUjMugmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__sCadegmEe2MUaaQOL9IhA" name="g2D" type="__pWS0egmEe2MUaaQOL9IhA"/>
                      <language>java</language>
                      <body>g2D.setColor(java.awt.Color.LIGHT_GRAY);&#xD;
		for (int i = 0; i &lt; puits.getLargeur() * this.taille; i += this.taille) {&#xD;
			for (int y = 0; y &lt; puits.getProfondeur() * this.taille; y += this.taille) {&#xD;
				g2D.drawRect(i, y, taille, taille);&#xD;
			}&#xD;
		}&#xD;
	</body>
                    </ownedBehavior>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__sCadugmEe2MUaaQOL9IhA" name="setGravite" specification="__puGQOgmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__sCad-gmEe2MUaaQOL9IhA" name="gravite" type="__bMiEOgmEe2MUaaQOL9IhA"/>
                      <language>java</language>
                      <body>this.gravite = gravite;&#xD;
	</body>
                    </ownedBehavior>
                    <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__sDBgOgmEe2MUaaQOL9IhA" name="getGravite" specification="__eLkoOgmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__sDBgegmEe2MUaaQOL9IhA" type="__bMiEOgmEe2MUaaQOL9IhA" direction="return"/>
                      <language>java</language>
                      <body>return this.gravite;&#xD;
	</body>
                    </ownedBehavior>
                    <ownedOperation xmi:id="__eJIYOgmEe2MUaaQOL9IhA" name="setTaille" method="__sBzYOgmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__eKWgOgmEe2MUaaQOL9IhA" name="taille">
                        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                      </ownedParameter>
                    </ownedOperation>
                    <ownedOperation xmi:id="__eKWgegmEe2MUaaQOL9IhA" name="getVueTas" method="__sBzaOgmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__psREegmEe2MUaaQOL9IhA" type="__dNUQOgmEe2MUaaQOL9IhA" direction="return"/>
                    </ownedOperation>
                    <ownedOperation xmi:id="__eLkoOgmEe2MUaaQOL9IhA" name="getGravite" method="__sDBgOgmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__puGQugmEe2MUaaQOL9IhA" type="__bMiEOgmEe2MUaaQOL9IhA" direction="return"/>
                    </ownedOperation>
                    <ownedOperation xmi:id="__pp00OgmEe2MUaaQOL9IhA" name="VuePuits" method="__sBMUOgmEe2MUaaQOL9IhA">
                      <eAnnotations xmi:id="__pp00-gmEe2MUaaQOL9IhA" source="http://www.eclipse.org/uml2/2.0.0/UML">
                        <details xmi:id="__pp01OgmEe2MUaaQOL9IhA" key="create"/>
                      </eAnnotations>
                      <ownedParameter xmi:id="__pp00egmEe2MUaaQOL9IhA" name="puits" type="__eS5YOgmEe2MUaaQOL9IhA"/>
                      <ownedParameter xmi:id="__pp00ugmEe2MUaaQOL9IhA" name="taille">
                        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
                      </ownedParameter>
                      <ownedParameter xmi:id="__pp01egmEe2MUaaQOL9IhA" type="__eH6QOgmEe2MUaaQOL9IhA" direction="return"/>
                    </ownedOperation>
                    <ownedOperation xmi:id="__prC8OgmEe2MUaaQOL9IhA" name="VuePuits" method="__sBMVOgmEe2MUaaQOL9IhA">
                      <eAnnotations xmi:id="__prC8ugmEe2MUaaQOL9IhA" source="http://www.eclipse.org/uml2/2.0.0/UML">
                        <details xmi:id="__prC8-gmEe2MUaaQOL9IhA" key="create"/>
                      </eAnnotations>
                      <ownedParameter xmi:id="__prC8egmEe2MUaaQOL9IhA" name="puits" type="__eS5YOgmEe2MUaaQOL9IhA"/>
                      <ownedParameter xmi:id="__prC9OgmEe2MUaaQOL9IhA" type="__eH6QOgmEe2MUaaQOL9IhA" direction="return"/>
                    </ownedOperation>
                    <ownedOperation xmi:id="__prC9egmEe2MUaaQOL9IhA" name="setPuits" method="__sBzYugmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__prC9ugmEe2MUaaQOL9IhA" name="puits" type="__eS5YOgmEe2MUaaQOL9IhA"/>
                    </ownedOperation>
                    <ownedOperation xmi:id="__prqAOgmEe2MUaaQOL9IhA" name="setVuePiece" visibility="private" method="__sBzZOgmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__prqAegmEe2MUaaQOL9IhA" name="vuePiece" type="__dFYcOgmEe2MUaaQOL9IhA"/>
                    </ownedOperation>
                    <ownedOperation xmi:id="__prqAugmEe2MUaaQOL9IhA" name="setVuePieceFantome" visibility="private" method="__sBzZugmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__psREOgmEe2MUaaQOL9IhA" name="vuePieceFantome" type="__dIbwOgmEe2MUaaQOL9IhA"/>
                    </ownedOperation>
                    <ownedOperation xmi:id="__ps4IOgmEe2MUaaQOL9IhA" name="propertyChange" method="__sCacOgmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__ps4IegmEe2MUaaQOL9IhA" name="event" type="__pXg8OgmEe2MUaaQOL9IhA"/>
                    </ownedOperation>
                    <ownedOperation xmi:id="__puGQOgmEe2MUaaQOL9IhA" name="setGravite" method="__sCadugmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__puGQegmEe2MUaaQOL9IhA" name="gravite" type="__bMiEOgmEe2MUaaQOL9IhA"/>
                    </ownedOperation>
                    <ownedOperation xmi:id="__qUjMOgmEe2MUaaQOL9IhA" name="paintComponent" visibility="protected" method="__sCacugmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__qUjMegmEe2MUaaQOL9IhA" name="g" type="__pVrwegmEe2MUaaQOL9IhA"/>
                    </ownedOperation>
                    <ownedOperation xmi:id="__qUjMugmEe2MUaaQOL9IhA" name="creationGrille" visibility="protected" method="__sCadOgmEe2MUaaQOL9IhA">
                      <ownedParameter xmi:id="__qUjM-gmEe2MUaaQOL9IhA" name="g2D" type="__pWS0egmEe2MUaaQOL9IhA"/>
                    </ownedOperation>
                  </packagedElement>
                  <packagedElement xmi:type="uml:Association" xmi:id="__sOAoOgmEe2MUaaQOL9IhA" name="" memberEnd="__rEKEugmEe2MUaaQOL9IhA __sOAoegmEe2MUaaQOL9IhA">
                    <ownedEnd xmi:id="__sOAoegmEe2MUaaQOL9IhA" name="" type="__dBHAOgmEe2MUaaQOL9IhA" association="__sOAoOgmEe2MUaaQOL9IhA"/>
                  </packagedElement>
                  <packagedElement xmi:type="uml:Association" xmi:id="__snCMegmEe2MUaaQOL9IhA" name="" memberEnd="__snCMugmEe2MUaaQOL9IhA __rExIOgmEe2MUaaQOL9IhA">
                    <ownedEnd xmi:id="__snCMugmEe2MUaaQOL9IhA" name="" type="__dBHAOgmEe2MUaaQOL9IhA" association="__snCMegmEe2MUaaQOL9IhA"/>
                  </packagedElement>
                  <packagedElement xmi:type="uml:Association" xmi:id="__snCNOgmEe2MUaaQOL9IhA" name="" memberEnd="__snCNegmEe2MUaaQOL9IhA __rGmUegmEe2MUaaQOL9IhA">
                    <ownedEnd xmi:id="__snCNegmEe2MUaaQOL9IhA" name="" type="__dFYcOgmEe2MUaaQOL9IhA" association="__snCNOgmEe2MUaaQOL9IhA"/>
                  </packagedElement>
                  <packagedElement xmi:type="uml:Association" xmi:id="__snpQegmEe2MUaaQOL9IhA" name="" memberEnd="__snpQugmEe2MUaaQOL9IhA __rH0cegmEe2MUaaQOL9IhA">
                    <ownedEnd xmi:id="__snpQugmEe2MUaaQOL9IhA" name="" type="__dIbwOgmEe2MUaaQOL9IhA" association="__snpQegmEe2MUaaQOL9IhA"/>
                  </packagedElement>
                  <packagedElement xmi:type="uml:Association" xmi:id="__soQUegmEe2MUaaQOL9IhA" name="" memberEnd="__soQUugmEe2MUaaQOL9IhA __rJCkegmEe2MUaaQOL9IhA">
                    <ownedEnd xmi:id="__soQUugmEe2MUaaQOL9IhA" name="" type="__dNUQOgmEe2MUaaQOL9IhA" association="__soQUegmEe2MUaaQOL9IhA"/>
                  </packagedElement>
                  <packagedElement xmi:type="uml:Association" xmi:id="__so3YegmEe2MUaaQOL9IhA" name="" memberEnd="__so3YugmEe2MUaaQOL9IhA __rK3wOgmEe2MUaaQOL9IhA">
                    <ownedEnd xmi:id="__so3YugmEe2MUaaQOL9IhA" name="" type="__dNUQOgmEe2MUaaQOL9IhA" association="__so3YegmEe2MUaaQOL9IhA"/>
                  </packagedElement>
                  <packagedElement xmi:type="uml:Association" xmi:id="__sqFgegmEe2MUaaQOL9IhA" name="" memberEnd="__sqFgugmEe2MUaaQOL9IhA __rN7EOgmEe2MUaaQOL9IhA">
                    <ownedEnd xmi:id="__sqFgugmEe2MUaaQOL9IhA" name="" type="__eH6QOgmEe2MUaaQOL9IhA" association="__sqFgegmEe2MUaaQOL9IhA"/>
                  </packagedElement>
                  <packagedElement xmi:type="uml:Association" xmi:id="__sqskOgmEe2MUaaQOL9IhA" name="" memberEnd="__sqskegmEe2MUaaQOL9IhA __rOiIOgmEe2MUaaQOL9IhA">
                    <ownedEnd xmi:id="__sqskegmEe2MUaaQOL9IhA" name="" type="__eH6QOgmEe2MUaaQOL9IhA" association="__sqskOgmEe2MUaaQOL9IhA"/>
                  </packagedElement>
                  <packagedElement xmi:type="uml:Association" xmi:id="__srToOgmEe2MUaaQOL9IhA" name="" memberEnd="__srToegmEe2MUaaQOL9IhA __rOiIegmEe2MUaaQOL9IhA">
                    <ownedEnd xmi:id="__srToegmEe2MUaaQOL9IhA" name="" type="__eH6QOgmEe2MUaaQOL9IhA" association="__srToOgmEe2MUaaQOL9IhA"/>
                  </packagedElement>
                  <packagedElement xmi:type="uml:Association" xmi:id="__srTo-gmEe2MUaaQOL9IhA" name="" memberEnd="__srTpOgmEe2MUaaQOL9IhA __rPJMegmEe2MUaaQOL9IhA">
                    <ownedEnd xmi:id="__srTpOgmEe2MUaaQOL9IhA" name="" type="__eH6QOgmEe2MUaaQOL9IhA" association="__srTo-gmEe2MUaaQOL9IhA"/>
                  </packagedElement>
                  <packagedElement xmi:type="uml:Association" xmi:id="__sr6segmEe2MUaaQOL9IhA" name="" memberEnd="__sr6sugmEe2MUaaQOL9IhA __rPwQOgmEe2MUaaQOL9IhA">
                    <ownedEnd xmi:id="__sr6sugmEe2MUaaQOL9IhA" name="" type="__eH6QOgmEe2MUaaQOL9IhA" association="__sr6segmEe2MUaaQOL9IhA"/>
                  </packagedElement>
                </packagedElement>
                <packagedElement xmi:type="uml:Class" xmi:id="__a8DYOgmEe2MUaaQOL9IhA" name="FallingBloxVersion1">
                  <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__rY6MOgmEe2MUaaQOL9IhA" name="main" specification="__bF0YOgmEe2MUaaQOL9IhA">
                    <ownedParameter xmi:id="__rY6MegmEe2MUaaQOL9IhA" name="args">
                      <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
                      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__rY6MugmEe2MUaaQOL9IhA" value="*"/>
                    </ownedParameter>
                    <language>java</language>
                    <body>// Si le programme est lancé sans argument, on lance le jeu normalement :&#xD;
		JFrame j1 = new JFrame();&#xD;
		Puits p1 = new Puits();&#xD;
		if (args.length == 0) {&#xD;
			VuePuits vP = new VuePuits(p1,30);&#xD;
			vP.setGravite(new Gravite(vP));&#xD;
			setJ1(j1, vP, p1);&#xD;
			p1.setPieceSuivante(UsineDePiece.genererPiece());&#xD;
			p1.setPieceSuivante(UsineDePiece.genererPiece());&#xD;
		} else if (args.length == 1) {&#xD;
			Tas tas = new Tas(p1, Integer.parseInt(args[0]));&#xD;
			p1.setTas(tas);&#xD;
			VuePuits vP = new VuePuits(p1);&#xD;
			vP.setGravite(new Gravite(vP));&#xD;
			setJ1(j1, vP, p1);&#xD;
			p1.setPieceSuivante(UsineDePiece.genererPiece());&#xD;
			p1.setPieceSuivante(UsineDePiece.genererPiece());&#xD;
		} else if (args.length == 2) {&#xD;
			Tas tas = new Tas(p1, Integer.parseInt(args[0]), Integer.parseInt(args[1]));&#xD;
			p1.setTas(tas);&#xD;
			VuePuits vP = new VuePuits(p1);&#xD;
			vP.setGravite(new Gravite(vP));&#xD;
			setJ1(j1, vP, p1);&#xD;
			p1.setPieceSuivante(UsineDePiece.genererPiece());&#xD;
			p1.setPieceSuivante(UsineDePiece.genererPiece());&#xD;
		} else {&#xD;
		}&#xD;
	</body>
                  </ownedBehavior>
                  <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__reZwOgmEe2MUaaQOL9IhA" name="setJ1" specification="__p8IsOgmEe2MUaaQOL9IhA">
                    <ownedParameter xmi:id="__rfA0OgmEe2MUaaQOL9IhA" name="j1" type="__ofXMOgmEe2MUaaQOL9IhA"/>
                    <ownedParameter xmi:id="__rfA0egmEe2MUaaQOL9IhA" name="vP" type="__eH6QOgmEe2MUaaQOL9IhA"/>
                    <ownedParameter xmi:id="__rfA0ugmEe2MUaaQOL9IhA" name="p1" type="__eS5YOgmEe2MUaaQOL9IhA"/>
                    <language>java</language>
                    <body>DeplacementClavier dc = new DeplacementClavier(vP);&#xD;
		j1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);&#xD;
		j1.setTitle(&quot;Falling Blox&quot;);&#xD;
		j1.addKeyListener(dc);&#xD;
		j1.getContentPane().add(vP);&#xD;
		j1.getContentPane().add(new PanneauInformation(p1), BorderLayout.EAST);&#xD;
		j1.setResizable(false);&#xD;
		j1.pack();&#xD;
		j1.setLocationRelativeTo(null);&#xD;
		j1.setVisible(true);&#xD;
	</body>
                  </ownedBehavior>
                  <ownedOperation xmi:id="__a_twOgmEe2MUaaQOL9IhA" name="FallingBloxVersion1" visibility="private">
                    <eAnnotations xmi:id="__bA74OgmEe2MUaaQOL9IhA" source="http://www.eclipse.org/uml2/2.0.0/UML">
                      <details xmi:id="__bA74egmEe2MUaaQOL9IhA" key="create"/>
                    </eAnnotations>
                    <ownedParameter xmi:id="__bCKAOgmEe2MUaaQOL9IhA" type="__a8DYOgmEe2MUaaQOL9IhA" direction="return"/>
                  </ownedOperation>
                  <ownedOperation xmi:id="__bF0YOgmEe2MUaaQOL9IhA" name="main" isStatic="true" method="__rY6MOgmEe2MUaaQOL9IhA">
                    <ownedParameter xmi:id="__bF0YegmEe2MUaaQOL9IhA" name="args">
                      <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
                      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__bGbcOgmEe2MUaaQOL9IhA" value="*"/>
                    </ownedParameter>
                  </ownedOperation>
                  <ownedOperation xmi:id="__p8IsOgmEe2MUaaQOL9IhA" name="setJ1" isStatic="true" method="__reZwOgmEe2MUaaQOL9IhA">
                    <ownedParameter xmi:id="__p8IsegmEe2MUaaQOL9IhA" name="j1" type="__ofXMOgmEe2MUaaQOL9IhA"/>
                    <ownedParameter xmi:id="__p8IsugmEe2MUaaQOL9IhA" name="vP" type="__eH6QOgmEe2MUaaQOL9IhA"/>
                    <ownedParameter xmi:id="__p8Is-gmEe2MUaaQOL9IhA" name="p1" type="__eS5YOgmEe2MUaaQOL9IhA"/>
                  </ownedOperation>
                </packagedElement>
              </packagedElement>
            </packagedElement>
          </packagedElement>
        </packagedElement>
      </packagedElement>
    </packagedElement>
    <packagedElement xmi:type="uml:Package" xmi:id="__XyBsOgmEe2MUaaQOL9IhA" name="java">
      <packagedElement xmi:type="uml:Package" xmi:id="__XyBsegmEe2MUaaQOL9IhA" name="awt">
        <packagedElement xmi:type="uml:Package" xmi:id="__X7LoOgmEe2MUaaQOL9IhA" name="event">
          <packagedElement xmi:type="uml:Interface" xmi:id="__ohMYOgmEe2MUaaQOL9IhA" name="KeyListener"/>
          <packagedElement xmi:type="uml:Class" xmi:id="__ohzcegmEe2MUaaQOL9IhA" name="KeyEvent"/>
          <packagedElement xmi:type="uml:Interface" xmi:id="__on6EOgmEe2MUaaQOL9IhA" name="ActionListener"/>
          <packagedElement xmi:type="uml:Class" xmi:id="__opvQegmEe2MUaaQOL9IhA" name="ActionEvent"/>
          <packagedElement xmi:type="uml:Class" xmi:id="__osLgOgmEe2MUaaQOL9IhA" name="MouseEvent"/>
          <packagedElement xmi:type="uml:Class" xmi:id="__osykegmEe2MUaaQOL9IhA" name="MouseWheelEvent"/>
          <packagedElement xmi:type="uml:Class" xmi:id="__otZoegmEe2MUaaQOL9IhA" name="MouseAdapter"/>
        </packagedElement>
        <packagedElement xmi:type="uml:Class" xmi:id="__oc68OgmEe2MUaaQOL9IhA" name="BorderLayout"/>
        <packagedElement xmi:type="uml:Class" xmi:id="__o1VcOgmEe2MUaaQOL9IhA" name="Color"/>
        <packagedElement xmi:type="uml:Class" xmi:id="__pVEsOgmEe2MUaaQOL9IhA" name="Dimension"/>
        <packagedElement xmi:type="uml:Class" xmi:id="__pVrwegmEe2MUaaQOL9IhA" name="Graphics"/>
        <packagedElement xmi:type="uml:Class" xmi:id="__pWS0egmEe2MUaaQOL9IhA" name="Graphics2D"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Package" xmi:id="__YXQgOgmEe2MUaaQOL9IhA" name="lang">
        <packagedElement xmi:type="uml:Class" xmi:id="__bgrIOgmEe2MUaaQOL9IhA" name="Exception"/>
        <packagedElement xmi:type="uml:Class" xmi:id="__qHH0OgmEe2MUaaQOL9IhA" name="Object"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Package" xmi:id="__YZswOgmEe2MUaaQOL9IhA" name="util">
        <packagedElement xmi:type="uml:Class" xmi:id="__oy5MOgmEe2MUaaQOL9IhA" name="Objects"/>
        <packagedElement xmi:type="uml:Class" xmi:id="__o7cE-gmEe2MUaaQOL9IhA" name="Random"/>
        <packagedElement xmi:type="uml:Class" xmi:id="__pHCQOgmEe2MUaaQOL9IhA" name="ArrayList"/>
        <packagedElement xmi:type="uml:Interface" xmi:id="__pHpUegmEe2MUaaQOL9IhA" name="List"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Package" xmi:id="__ZQoYOgmEe2MUaaQOL9IhA" name="beans">
        <packagedElement xmi:type="uml:Class" xmi:id="__pXg8OgmEe2MUaaQOL9IhA" name="PropertyChangeEvent"/>
        <packagedElement xmi:type="uml:Interface" xmi:id="__pYIAegmEe2MUaaQOL9IhA" name="PropertyChangeListener"/>
        <packagedElement xmi:type="uml:Class" xmi:id="__pljYOgmEe2MUaaQOL9IhA" name="PropertyChangeSupport"/>
      </packagedElement>
    </packagedElement>
    <packagedElement xmi:type="uml:Package" xmi:id="__XyowOgmEe2MUaaQOL9IhA" name="javax">
      <packagedElement xmi:type="uml:Package" xmi:id="__XyowegmEe2MUaaQOL9IhA" name="swing">
        <packagedElement xmi:type="uml:Class" xmi:id="__ofXMOgmEe2MUaaQOL9IhA" name="JFrame"/>
        <packagedElement xmi:type="uml:Class" xmi:id="__opIMegmEe2MUaaQOL9IhA" name="Timer"/>
        <packagedElement xmi:type="uml:Class" xmi:id="__owc8OgmEe2MUaaQOL9IhA" name="SwingUtilities"/>
        <packagedElement xmi:type="uml:Class" xmi:id="__pYvEegmEe2MUaaQOL9IhA" name="JPanel"/>
      </packagedElement>
    </packagedElement>
    <packagedElement xmi:type="uml:Package" xmi:id="__Zf48OgmEe2MUaaQOL9IhA" name="org">
      <packagedElement xmi:type="uml:Package" xmi:id="__Zf48egmEe2MUaaQOL9IhA" name="junit">
        <packagedElement xmi:type="uml:Package" xmi:id="__ZhuIOgmEe2MUaaQOL9IhA" name="jupiter">
          <packagedElement xmi:type="uml:Package" xmi:id="__ZhuIegmEe2MUaaQOL9IhA" name="api">
            <packagedElement xmi:type="uml:Interface" xmi:id="__pjHIegmEe2MUaaQOL9IhA" name="Test"/>
            <packagedElement xmi:type="uml:Class" xmi:id="__pkVQOgmEe2MUaaQOL9IhA" name="Assertions"/>
            <packagedElement xmi:type="uml:Interface" xmi:id="__pnYkOgmEe2MUaaQOL9IhA" name="BeforeEach"/>
          </packagedElement>
        </packagedElement>
        <packagedElement xmi:type="uml:Interface" xmi:id="__ph5AOgmEe2MUaaQOL9IhA" name="Test"/>
        <packagedElement xmi:type="uml:Class" xmi:id="__pjHI-gmEe2MUaaQOL9IhA" name="Assert"/>
      </packagedElement>
    </packagedElement>
    <profileApplication xmi:id="_-z__MOgmEe2MUaaQOL9IhA">
      <eAnnotations xmi:id="_-0E3sOgmEe2MUaaQOL9IhA" source="http://www.eclipse.org/uml2/2.0.0/UML">
        <references xmi:type="ecore:EPackage" href="pathmap://UMLLAB_PROFILES/UMLLab.profile.uml#UMLLabProfile-Annotation_2-UMLLabProfile"/>
      </eAnnotations>
      <appliedProfile href="pathmap://UMLLAB_PROFILES/UMLLab.profile.uml#UMLLabProfile"/>
    </profileApplication>
  </uml:Model>
  <UMLLabProfile:TargetLanguage xmi:id="_-0KXQOgmEe2MUaaQOL9IhA" base_Package="_-r5MEOgmEe2MUaaQOL9IhA">
    <languageName>java</languageName>
  </UMLLabProfile:TargetLanguage>
  <UMLLabProfile:LegacyStyledElement xmi:id="__bBi8OgmEe2MUaaQOL9IhA" base_Element="__a_twOgmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Reference xmi:id="__bh5QOgmEe2MUaaQOL9IhA" base_Element="__bgrIOgmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="__bmxwOgmEe2MUaaQOL9IhA" base_Element="__bmKsOgmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Annotations xmi:id="__bnY0OgmEe2MUaaQOL9IhA" base_Element="__bmKsOgmEe2MUaaQOL9IhA">
    <annotations xmi:id="__bn_4OgmEe2MUaaQOL9IhA" name="Override"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="__b1bQegmEe2MUaaQOL9IhA" base_Element="__b00MugmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Annotations xmi:id="__b2CUOgmEe2MUaaQOL9IhA" base_Element="__b00MugmEe2MUaaQOL9IhA">
    <annotations xmi:id="__b2CUegmEe2MUaaQOL9IhA" name="Override"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="__b2pYegmEe2MUaaQOL9IhA" base_Element="__b2CUugmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Annotations xmi:id="__b2pYugmEe2MUaaQOL9IhA" base_Element="__b2CUugmEe2MUaaQOL9IhA">
    <annotations xmi:id="__b2pY-gmEe2MUaaQOL9IhA" name="Override"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="__cF58OgmEe2MUaaQOL9IhA" base_Element="__cFS4OgmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="__cHvIOgmEe2MUaaQOL9IhA" base_Element="__cGhAOgmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="__cJkUOgmEe2MUaaQOL9IhA" base_Element="__cI9QOgmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="__cgJoOgmEe2MUaaQOL9IhA" base_Element="__ce7gOgmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Annotations xmi:id="__cgJoegmEe2MUaaQOL9IhA" base_Element="__ce7gOgmEe2MUaaQOL9IhA">
    <annotations xmi:id="__cgJougmEe2MUaaQOL9IhA" name="Override"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="__chXwOgmEe2MUaaQOL9IhA" base_Element="__cgwsOgmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Annotations xmi:id="__ch-0OgmEe2MUaaQOL9IhA" base_Element="__cgwsOgmEe2MUaaQOL9IhA">
    <annotations xmi:id="__ch-0egmEe2MUaaQOL9IhA" name="Override"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="__dWeMOgmEe2MUaaQOL9IhA" base_Element="__dV3I-gmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Annotations xmi:id="__dXFQOgmEe2MUaaQOL9IhA" base_Element="__dV3I-gmEe2MUaaQOL9IhA">
    <annotations xmi:id="__dXFQegmEe2MUaaQOL9IhA" name="Test"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="__dYTYOgmEe2MUaaQOL9IhA" base_Element="__dXsU-gmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Annotations xmi:id="__dYTYegmEe2MUaaQOL9IhA" base_Element="__dXsU-gmEe2MUaaQOL9IhA">
    <annotations xmi:id="__dYTYugmEe2MUaaQOL9IhA" name="Test"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="__dY6cOgmEe2MUaaQOL9IhA" base_Element="__dYTY-gmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Annotations xmi:id="__dY6cegmEe2MUaaQOL9IhA" base_Element="__dYTY-gmEe2MUaaQOL9IhA">
    <annotations xmi:id="__dZhgOgmEe2MUaaQOL9IhA" name="Test"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="__dZhgugmEe2MUaaQOL9IhA" base_Element="__dZhgegmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Annotations xmi:id="__daIkOgmEe2MUaaQOL9IhA" base_Element="__dZhgegmEe2MUaaQOL9IhA">
    <annotations xmi:id="__daIkegmEe2MUaaQOL9IhA" name="Test"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="__daIk-gmEe2MUaaQOL9IhA" base_Element="__daIkugmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Annotations xmi:id="__davoOgmEe2MUaaQOL9IhA" base_Element="__daIkugmEe2MUaaQOL9IhA">
    <annotations xmi:id="__davoegmEe2MUaaQOL9IhA" name="Test"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="__dbWsOgmEe2MUaaQOL9IhA" base_Element="__davougmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Annotations xmi:id="__db9wOgmEe2MUaaQOL9IhA" base_Element="__davougmEe2MUaaQOL9IhA">
    <annotations xmi:id="__db9wegmEe2MUaaQOL9IhA" name="Test"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="__ddL4OgmEe2MUaaQOL9IhA" base_Element="__dck0-gmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Annotations xmi:id="__ddy8OgmEe2MUaaQOL9IhA" base_Element="__dck0-gmEe2MUaaQOL9IhA">
    <annotations xmi:id="__ddy8egmEe2MUaaQOL9IhA" name="Test"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="__deaBOgmEe2MUaaQOL9IhA" base_Element="__deaA-gmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Annotations xmi:id="__dfoIOgmEe2MUaaQOL9IhA" base_Element="__deaA-gmEe2MUaaQOL9IhA">
    <annotations xmi:id="__dfoIegmEe2MUaaQOL9IhA" name="Test"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="__dfoI-gmEe2MUaaQOL9IhA" base_Element="__dfoIugmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Annotations xmi:id="__dgPMOgmEe2MUaaQOL9IhA" base_Element="__dfoIugmEe2MUaaQOL9IhA">
    <annotations xmi:id="__dgPMegmEe2MUaaQOL9IhA" name="Test"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="__dg2QOgmEe2MUaaQOL9IhA" base_Element="__dgPMugmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Annotations xmi:id="__dg2QegmEe2MUaaQOL9IhA" base_Element="__dgPMugmEe2MUaaQOL9IhA">
    <annotations xmi:id="__dg2QugmEe2MUaaQOL9IhA" name="Test"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="__dhdUegmEe2MUaaQOL9IhA" base_Element="__dhdUOgmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Annotations xmi:id="__dhdUugmEe2MUaaQOL9IhA" base_Element="__dhdUOgmEe2MUaaQOL9IhA">
    <annotations xmi:id="__diEYOgmEe2MUaaQOL9IhA" name="Test"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="__diEYugmEe2MUaaQOL9IhA" base_Element="__diEYegmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Annotations xmi:id="__dircOgmEe2MUaaQOL9IhA" base_Element="__diEYegmEe2MUaaQOL9IhA">
    <annotations xmi:id="__dircegmEe2MUaaQOL9IhA" name="Test"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="__dirc-gmEe2MUaaQOL9IhA" base_Element="__dircugmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Annotations xmi:id="__djSgOgmEe2MUaaQOL9IhA" base_Element="__dircugmEe2MUaaQOL9IhA">
    <annotations xmi:id="__djSgegmEe2MUaaQOL9IhA" name="Test"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="__dj5kOgmEe2MUaaQOL9IhA" base_Element="__djSgugmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Annotations xmi:id="__dj5kegmEe2MUaaQOL9IhA" base_Element="__djSgugmEe2MUaaQOL9IhA">
    <annotations xmi:id="__dj5kugmEe2MUaaQOL9IhA" name="Test"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="__dkgoOgmEe2MUaaQOL9IhA" base_Element="__dj5k-gmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Annotations xmi:id="__dkgoegmEe2MUaaQOL9IhA" base_Element="__dj5k-gmEe2MUaaQOL9IhA">
    <annotations xmi:id="__dkgougmEe2MUaaQOL9IhA" name="Test"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="__dlHsegmEe2MUaaQOL9IhA" base_Element="__dlHsOgmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Annotations xmi:id="__dluwOgmEe2MUaaQOL9IhA" base_Element="__dlHsOgmEe2MUaaQOL9IhA">
    <annotations xmi:id="__dluwegmEe2MUaaQOL9IhA" name="Test"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="__dluw-gmEe2MUaaQOL9IhA" base_Element="__dluwugmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Annotations xmi:id="__dmV0OgmEe2MUaaQOL9IhA" base_Element="__dluwugmEe2MUaaQOL9IhA">
    <annotations xmi:id="__dmV0egmEe2MUaaQOL9IhA" name="Test"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="__dm84OgmEe2MUaaQOL9IhA" base_Element="__dmV0ugmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Annotations xmi:id="__dm84egmEe2MUaaQOL9IhA" base_Element="__dmV0ugmEe2MUaaQOL9IhA">
    <annotations xmi:id="__dm84ugmEe2MUaaQOL9IhA" name="Test"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="__doyEOgmEe2MUaaQOL9IhA" base_Element="__doLA-gmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Annotations xmi:id="__doyEegmEe2MUaaQOL9IhA" base_Element="__doLA-gmEe2MUaaQOL9IhA">
    <annotations xmi:id="__doyEugmEe2MUaaQOL9IhA" name="Test"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="__dpZIOgmEe2MUaaQOL9IhA" base_Element="__doyE-gmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Annotations xmi:id="__dpZIegmEe2MUaaQOL9IhA" base_Element="__doyE-gmEe2MUaaQOL9IhA">
    <annotations xmi:id="__dpZIugmEe2MUaaQOL9IhA" name="Test"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="__dqAMegmEe2MUaaQOL9IhA" base_Element="__dqAMOgmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Annotations xmi:id="__dqnQOgmEe2MUaaQOL9IhA" base_Element="__dqAMOgmEe2MUaaQOL9IhA">
    <annotations xmi:id="__dqnQegmEe2MUaaQOL9IhA" name="Test"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="__dqnQ-gmEe2MUaaQOL9IhA" base_Element="__dqnQugmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Annotations xmi:id="__drOUOgmEe2MUaaQOL9IhA" base_Element="__dqnQugmEe2MUaaQOL9IhA">
    <annotations xmi:id="__drOUegmEe2MUaaQOL9IhA" name="Test"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="__drOU-gmEe2MUaaQOL9IhA" base_Element="__drOUugmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Annotations xmi:id="__dr1YOgmEe2MUaaQOL9IhA" base_Element="__drOUugmEe2MUaaQOL9IhA">
    <annotations xmi:id="__dr1YegmEe2MUaaQOL9IhA" name="Test"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="__dsccOgmEe2MUaaQOL9IhA" base_Element="__dr1YugmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Annotations xmi:id="__dsccegmEe2MUaaQOL9IhA" base_Element="__dr1YugmEe2MUaaQOL9IhA">
    <annotations xmi:id="__dsccugmEe2MUaaQOL9IhA" name="Test"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="__dtDgOgmEe2MUaaQOL9IhA" base_Element="__dscc-gmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Annotations xmi:id="__dtDgegmEe2MUaaQOL9IhA" base_Element="__dscc-gmEe2MUaaQOL9IhA">
    <annotations xmi:id="__dtDgugmEe2MUaaQOL9IhA" name="Test"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="__dtqkegmEe2MUaaQOL9IhA" base_Element="__dtqkOgmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Annotations xmi:id="__duRoOgmEe2MUaaQOL9IhA" base_Element="__dtqkOgmEe2MUaaQOL9IhA">
    <annotations xmi:id="__duRoegmEe2MUaaQOL9IhA" name="Test"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="__du4sOgmEe2MUaaQOL9IhA" base_Element="__duRougmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Annotations xmi:id="__du4segmEe2MUaaQOL9IhA" base_Element="__duRougmEe2MUaaQOL9IhA">
    <annotations xmi:id="__du4sugmEe2MUaaQOL9IhA" name="Test"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="__dvfwOgmEe2MUaaQOL9IhA" base_Element="__du4s-gmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Annotations xmi:id="__dvfwegmEe2MUaaQOL9IhA" base_Element="__du4s-gmEe2MUaaQOL9IhA">
    <annotations xmi:id="__dvfwugmEe2MUaaQOL9IhA" name="Test"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="__dwG0OgmEe2MUaaQOL9IhA" base_Element="__dvfw-gmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Annotations xmi:id="__dwG0egmEe2MUaaQOL9IhA" base_Element="__dvfw-gmEe2MUaaQOL9IhA">
    <annotations xmi:id="__dwG0ugmEe2MUaaQOL9IhA" name="Test"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="__dwt4egmEe2MUaaQOL9IhA" base_Element="__dwt4OgmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Annotations xmi:id="__dwt4ugmEe2MUaaQOL9IhA" base_Element="__dwt4OgmEe2MUaaQOL9IhA">
    <annotations xmi:id="__dwt4-gmEe2MUaaQOL9IhA" name="Test"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="__dx8AOgmEe2MUaaQOL9IhA" base_Element="__dwt5OgmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Annotations xmi:id="__dx8AegmEe2MUaaQOL9IhA" base_Element="__dwt5OgmEe2MUaaQOL9IhA">
    <annotations xmi:id="__dx8AugmEe2MUaaQOL9IhA" name="Test"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="__dyjEOgmEe2MUaaQOL9IhA" base_Element="__dx8A-gmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Annotations xmi:id="__dyjEegmEe2MUaaQOL9IhA" base_Element="__dx8A-gmEe2MUaaQOL9IhA">
    <annotations xmi:id="__dyjEugmEe2MUaaQOL9IhA" name="Test"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="__dzKIOgmEe2MUaaQOL9IhA" base_Element="__dyjE-gmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Annotations xmi:id="__dzKIegmEe2MUaaQOL9IhA" base_Element="__dyjE-gmEe2MUaaQOL9IhA">
    <annotations xmi:id="__dzKIugmEe2MUaaQOL9IhA" name="Test"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="__dzKJOgmEe2MUaaQOL9IhA" base_Element="__dzKI-gmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Annotations xmi:id="__d0YQOgmEe2MUaaQOL9IhA" base_Element="__dzKI-gmEe2MUaaQOL9IhA">
    <annotations xmi:id="__d0YQegmEe2MUaaQOL9IhA" name="Test"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="__d0_UOgmEe2MUaaQOL9IhA" base_Element="__d0YQugmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Annotations xmi:id="__d0_UegmEe2MUaaQOL9IhA" base_Element="__d0YQugmEe2MUaaQOL9IhA">
    <annotations xmi:id="__d0_UugmEe2MUaaQOL9IhA" name="Test"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="__d1mYOgmEe2MUaaQOL9IhA" base_Element="__d0_U-gmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Annotations xmi:id="__d1mYegmEe2MUaaQOL9IhA" base_Element="__d0_U-gmEe2MUaaQOL9IhA">
    <annotations xmi:id="__d1mYugmEe2MUaaQOL9IhA" name="Test"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="__d1mZOgmEe2MUaaQOL9IhA" base_Element="__d1mY-gmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Annotations xmi:id="__d2NcOgmEe2MUaaQOL9IhA" base_Element="__d1mY-gmEe2MUaaQOL9IhA">
    <annotations xmi:id="__d2NcegmEe2MUaaQOL9IhA" name="Test"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="__d4psOgmEe2MUaaQOL9IhA" base_Element="__d4CoOgmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Annotations xmi:id="__d4psegmEe2MUaaQOL9IhA" base_Element="__d4CoOgmEe2MUaaQOL9IhA">
    <annotations xmi:id="__d4psugmEe2MUaaQOL9IhA" name="Test"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="__d5QwOgmEe2MUaaQOL9IhA" base_Element="__d4ps-gmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Annotations xmi:id="__d530OgmEe2MUaaQOL9IhA" base_Element="__d4ps-gmEe2MUaaQOL9IhA">
    <annotations xmi:id="__d530egmEe2MUaaQOL9IhA" name="Test"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="__d6e5OgmEe2MUaaQOL9IhA" base_Element="__d6e4-gmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Annotations xmi:id="__d7tAOgmEe2MUaaQOL9IhA" base_Element="__d6e4-gmEe2MUaaQOL9IhA">
    <annotations xmi:id="__d7tAegmEe2MUaaQOL9IhA" name="BeforeEach"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="__d8UEOgmEe2MUaaQOL9IhA" base_Element="__d7tAugmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Annotations xmi:id="__d8UEegmEe2MUaaQOL9IhA" base_Element="__d7tAugmEe2MUaaQOL9IhA">
    <annotations xmi:id="__d8UEugmEe2MUaaQOL9IhA" name="Test"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="__d87IOgmEe2MUaaQOL9IhA" base_Element="__d8UE-gmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Annotations xmi:id="__d87IegmEe2MUaaQOL9IhA" base_Element="__d8UE-gmEe2MUaaQOL9IhA">
    <annotations xmi:id="__d87IugmEe2MUaaQOL9IhA" name="Test"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="__d87JOgmEe2MUaaQOL9IhA" base_Element="__d87I-gmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Annotations xmi:id="__d9iMOgmEe2MUaaQOL9IhA" base_Element="__d87I-gmEe2MUaaQOL9IhA">
    <annotations xmi:id="__d9iMegmEe2MUaaQOL9IhA" name="Test"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="__d9iM-gmEe2MUaaQOL9IhA" base_Element="__d9iMugmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Annotations xmi:id="__d9iNOgmEe2MUaaQOL9IhA" base_Element="__d9iMugmEe2MUaaQOL9IhA">
    <annotations xmi:id="__d9iNegmEe2MUaaQOL9IhA" name="Test"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="__d-wUOgmEe2MUaaQOL9IhA" base_Element="__d9iNugmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Annotations xmi:id="__d-wUegmEe2MUaaQOL9IhA" base_Element="__d9iNugmEe2MUaaQOL9IhA">
    <annotations xmi:id="__d-wUugmEe2MUaaQOL9IhA" name="Test"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="__eAlgOgmEe2MUaaQOL9IhA" base_Element="__d_-c-gmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Annotations xmi:id="__eAlgegmEe2MUaaQOL9IhA" base_Element="__d_-c-gmEe2MUaaQOL9IhA">
    <annotations xmi:id="__eAlgugmEe2MUaaQOL9IhA" name="Test"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="__eBMkOgmEe2MUaaQOL9IhA" base_Element="__eAlg-gmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Annotations xmi:id="__eBMkegmEe2MUaaQOL9IhA" base_Element="__eAlg-gmEe2MUaaQOL9IhA">
    <annotations xmi:id="__eBMkugmEe2MUaaQOL9IhA" name="Test"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="__eBzoOgmEe2MUaaQOL9IhA" base_Element="__eBMk-gmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Annotations xmi:id="__eBzoegmEe2MUaaQOL9IhA" base_Element="__eBMk-gmEe2MUaaQOL9IhA">
    <annotations xmi:id="__eBzougmEe2MUaaQOL9IhA" name="Test"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="__eDo0OgmEe2MUaaQOL9IhA" base_Element="__eDBw-gmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Annotations xmi:id="__eDo0egmEe2MUaaQOL9IhA" base_Element="__eDBw-gmEe2MUaaQOL9IhA">
    <annotations xmi:id="__eDo0ugmEe2MUaaQOL9IhA" name="Test"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="__eEP4OgmEe2MUaaQOL9IhA" base_Element="__eDo0-gmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Annotations xmi:id="__eEP4egmEe2MUaaQOL9IhA" base_Element="__eDo0-gmEe2MUaaQOL9IhA">
    <annotations xmi:id="__eEP4ugmEe2MUaaQOL9IhA" name="Test"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="__eE28OgmEe2MUaaQOL9IhA" base_Element="__eEP4-gmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Annotations xmi:id="__eE28egmEe2MUaaQOL9IhA" base_Element="__eEP4-gmEe2MUaaQOL9IhA">
    <annotations xmi:id="__eE28ugmEe2MUaaQOL9IhA" name="BeforeEach"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="__eFeAegmEe2MUaaQOL9IhA" base_Element="__eFeAOgmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Annotations xmi:id="__eFeAugmEe2MUaaQOL9IhA" base_Element="__eFeAOgmEe2MUaaQOL9IhA">
    <annotations xmi:id="__eGFEOgmEe2MUaaQOL9IhA" name="Test"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="__eGFEugmEe2MUaaQOL9IhA" base_Element="__eGFEegmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Annotations xmi:id="__eGsIOgmEe2MUaaQOL9IhA" base_Element="__eGFEegmEe2MUaaQOL9IhA">
    <annotations xmi:id="__eGsIegmEe2MUaaQOL9IhA" name="Test"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="__eGsI-gmEe2MUaaQOL9IhA" base_Element="__eGsIugmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Annotations xmi:id="__eHTMOgmEe2MUaaQOL9IhA" base_Element="__eGsIugmEe2MUaaQOL9IhA">
    <annotations xmi:id="__eHTMegmEe2MUaaQOL9IhA" name="Test"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:Reference xmi:id="__oeJEOgmEe2MUaaQOL9IhA" base_Element="__oc68OgmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Reference xmi:id="__of-QOgmEe2MUaaQOL9IhA" base_Element="__ofXMOgmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Reference xmi:id="__ohzcOgmEe2MUaaQOL9IhA" base_Element="__ohMYOgmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Reference xmi:id="__oiagOgmEe2MUaaQOL9IhA" base_Element="__ohzcegmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="__ok2wOgmEe2MUaaQOL9IhA" base_Element="__okPsOgmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Annotations xmi:id="__ok2wegmEe2MUaaQOL9IhA" base_Element="__okPsOgmEe2MUaaQOL9IhA">
    <annotations xmi:id="__ok2wugmEe2MUaaQOL9IhA" name="Override"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="__old0ugmEe2MUaaQOL9IhA" base_Element="__old0OgmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Annotations xmi:id="__omE4OgmEe2MUaaQOL9IhA" base_Element="__old0OgmEe2MUaaQOL9IhA">
    <annotations xmi:id="__omE4egmEe2MUaaQOL9IhA" name="Override"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="__omr8OgmEe2MUaaQOL9IhA" base_Element="__omE4ugmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Annotations xmi:id="__onTAOgmEe2MUaaQOL9IhA" base_Element="__omE4ugmEe2MUaaQOL9IhA">
    <annotations xmi:id="__onTAegmEe2MUaaQOL9IhA" name="Override"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:Reference xmi:id="__opIMOgmEe2MUaaQOL9IhA" base_Element="__on6EOgmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Reference xmi:id="__opvQOgmEe2MUaaQOL9IhA" base_Element="__opIMegmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Reference xmi:id="__oqWUOgmEe2MUaaQOL9IhA" base_Element="__opvQegmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Reference xmi:id="__osykOgmEe2MUaaQOL9IhA" base_Element="__osLgOgmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Reference xmi:id="__otZoOgmEe2MUaaQOL9IhA" base_Element="__osykegmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Reference xmi:id="__ouAsOgmEe2MUaaQOL9IhA" base_Element="__otZoegmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Reference xmi:id="__oxEAOgmEe2MUaaQOL9IhA" base_Element="__owc8OgmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Reference xmi:id="__o0HUOgmEe2MUaaQOL9IhA" base_Element="__oy5MOgmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Reference xmi:id="__o1VcegmEe2MUaaQOL9IhA" base_Element="__o1VcOgmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Reference xmi:id="__o8qMOgmEe2MUaaQOL9IhA" base_Element="__o7cE-gmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="__pF0IOgmEe2MUaaQOL9IhA" base_Element="__pFNEOgmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Annotations xmi:id="__pGbMOgmEe2MUaaQOL9IhA" base_Element="__pFNEOgmEe2MUaaQOL9IhA">
    <annotations xmi:id="__pGbMegmEe2MUaaQOL9IhA" name="Override"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:Reference xmi:id="__pHpUOgmEe2MUaaQOL9IhA" base_Element="__pHCQOgmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Reference xmi:id="__pIQYOgmEe2MUaaQOL9IhA" base_Element="__pHpUegmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Reference xmi:id="__pVrwOgmEe2MUaaQOL9IhA" base_Element="__pVEsOgmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Reference xmi:id="__pWS0OgmEe2MUaaQOL9IhA" base_Element="__pVrwegmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Reference xmi:id="__pW54OgmEe2MUaaQOL9IhA" base_Element="__pWS0egmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Reference xmi:id="__pYIAOgmEe2MUaaQOL9IhA" base_Element="__pXg8OgmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Reference xmi:id="__pYvEOgmEe2MUaaQOL9IhA" base_Element="__pYIAegmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Reference xmi:id="__pZWIOgmEe2MUaaQOL9IhA" base_Element="__pYvEegmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Reference xmi:id="__pjHIOgmEe2MUaaQOL9IhA" base_Element="__ph5AOgmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Reference xmi:id="__pjHIugmEe2MUaaQOL9IhA" base_Element="__pjHIegmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Reference xmi:id="__pjuMOgmEe2MUaaQOL9IhA" base_Element="__pjHI-gmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Reference xmi:id="__pkVQegmEe2MUaaQOL9IhA" base_Element="__pkVQOgmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Reference xmi:id="__pljYegmEe2MUaaQOL9IhA" base_Element="__pljYOgmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Reference xmi:id="__pn_oOgmEe2MUaaQOL9IhA" base_Element="__pnYkOgmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="__ptfMOgmEe2MUaaQOL9IhA" base_Element="__ps4IOgmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Annotations xmi:id="__ptfMegmEe2MUaaQOL9IhA" base_Element="__ps4IOgmEe2MUaaQOL9IhA">
    <annotations xmi:id="__ptfMugmEe2MUaaQOL9IhA" name="Override"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="__p9W0OgmEe2MUaaQOL9IhA" base_Element="__p8IsOgmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="__p_zEOgmEe2MUaaQOL9IhA" base_Element="__p_MAOgmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Annotations xmi:id="__p_zEegmEe2MUaaQOL9IhA" base_Element="__p_MAOgmEe2MUaaQOL9IhA">
    <annotations xmi:id="__p_zEugmEe2MUaaQOL9IhA" name="Override"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="__qCPUOgmEe2MUaaQOL9IhA" base_Element="__qBoQOgmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Annotations xmi:id="__qCPUegmEe2MUaaQOL9IhA" base_Element="__qBoQOgmEe2MUaaQOL9IhA">
    <annotations xmi:id="__qCPUugmEe2MUaaQOL9IhA" name="Override"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="__qC2YugmEe2MUaaQOL9IhA" base_Element="__qC2YOgmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Reference xmi:id="__qHu4OgmEe2MUaaQOL9IhA" base_Element="__qHH0OgmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="__qIV8egmEe2MUaaQOL9IhA" base_Element="__qHu4egmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Annotations xmi:id="__qI9AOgmEe2MUaaQOL9IhA" base_Element="__qHu4egmEe2MUaaQOL9IhA">
    <annotations xmi:id="__qI9AegmEe2MUaaQOL9IhA" name="Override"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="__qLZQOgmEe2MUaaQOL9IhA" base_Element="__qKyMOgmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Annotations xmi:id="__qLZQegmEe2MUaaQOL9IhA" base_Element="__qKyMOgmEe2MUaaQOL9IhA">
    <annotations xmi:id="__qLZQugmEe2MUaaQOL9IhA" name="Override"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="__qPDoOgmEe2MUaaQOL9IhA" base_Element="__qOckOgmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Annotations xmi:id="__qPDoegmEe2MUaaQOL9IhA" base_Element="__qOckOgmEe2MUaaQOL9IhA">
    <annotations xmi:id="__qPDougmEe2MUaaQOL9IhA" name="Override"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="__qfiUOgmEe2MUaaQOL9IhA" base_Element="__qeUMOgmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="__qgwcOgmEe2MUaaQOL9IhA" base_Element="__qgJYOgmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="__qh-kOgmEe2MUaaQOL9IhA" base_Element="__qhXgOgmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="__qjMsOgmEe2MUaaQOL9IhA" base_Element="__qiloOgmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="__qjzwOgmEe2MUaaQOL9IhA" base_Element="__qjMsegmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="__qka0egmEe2MUaaQOL9IhA" base_Element="__qka0OgmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="__qlB4egmEe2MUaaQOL9IhA" base_Element="__qlB4OgmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="__qmQAOgmEe2MUaaQOL9IhA" base_Element="__qlo8OgmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="__qneIOgmEe2MUaaQOL9IhA" base_Element="__qm3EOgmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="__qoFMOgmEe2MUaaQOL9IhA" base_Element="__qneIegmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Array xmi:id="__qwoEegmEe2MUaaQOL9IhA" dimensions="2" base_Element="__qwBAOgmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="__q2HoegmEe2MUaaQOL9IhA" base_Element="__q2HoOgmEe2MUaaQOL9IhA">
    <associatedElement xmi:type="uml:Operation" xmi:id="__q3VwOgmEe2MUaaQOL9IhA" name="setMode" isStatic="true" method="__roKwugmEe2MUaaQOL9IhA">
      <ownedParameter xmi:id="__q3VwegmEe2MUaaQOL9IhA" name="mode">
        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
      </ownedParameter>
    </associatedElement>
    <associatedElement xmi:type="uml:Operation" xmi:id="__q380OgmEe2MUaaQOL9IhA" name="getMode" isStatic="true" method="__rox0OgmEe2MUaaQOL9IhA">
      <ownedParameter xmi:id="__q380egmEe2MUaaQOL9IhA" direction="return">
        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
      </ownedParameter>
    </associatedElement>
  </UMLLabProfile:LegacyStyledElement>
  <UMLLabProfile:LegacyStyledElement xmi:id="__q5K8OgmEe2MUaaQOL9IhA" base_Element="__q4j4OgmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="__q6ZEOgmEe2MUaaQOL9IhA" base_Element="__q5yAOgmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="__rGmUOgmEe2MUaaQOL9IhA" base_Element="__rF_QegmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="__rHNYOgmEe2MUaaQOL9IhA" base_Element="__rGmUegmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="__rH0cOgmEe2MUaaQOL9IhA" base_Element="__rHNYegmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="__rIbgOgmEe2MUaaQOL9IhA" base_Element="__rH0cegmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="__rJpoOgmEe2MUaaQOL9IhA" base_Element="__rJCkegmEe2MUaaQOL9IhA">
    <associatedElement xmi:type="uml:Operation" xmi:id="__rJpoegmEe2MUaaQOL9IhA" name="getVuePuits" method="__r3bVOgmEe2MUaaQOL9IhA">
      <ownedParameter xmi:id="__rKQsOgmEe2MUaaQOL9IhA" type="__eH6QOgmEe2MUaaQOL9IhA" direction="return"/>
    </associatedElement>
  </UMLLabProfile:LegacyStyledElement>
  <UMLLabProfile:LegacyStyledElement xmi:id="__rK3wegmEe2MUaaQOL9IhA" base_Element="__rK3wOgmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="__rMs8OgmEe2MUaaQOL9IhA" base_Element="__rMF4OgmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="__rPJMOgmEe2MUaaQOL9IhA" base_Element="__rOiIegmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="__rPJMugmEe2MUaaQOL9IhA" base_Element="__rPJMegmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="__rPwQegmEe2MUaaQOL9IhA" base_Element="__rPwQOgmEe2MUaaQOL9IhA"/>
  <uml:OpaqueBehavior xmi:id="__rj5UOgmEe2MUaaQOL9IhA" name="Couleur" specification="__o18gOgmEe2MUaaQOL9IhA">
    <ownedParameter xmi:id="__rj5UegmEe2MUaaQOL9IhA" name="couleurPourAffichage" type="__o1VcOgmEe2MUaaQOL9IhA"/>
    <ownedParameter xmi:id="__rj5UugmEe2MUaaQOL9IhA" type="__bp1EOgmEe2MUaaQOL9IhA" direction="return"/>
    <language>java</language>
    <body>this.couleurPourAffichage = couleurPourAffichage;&#xD;
	</body>
  </uml:OpaqueBehavior>
  <uml:OpaqueBehavior xmi:id="__roKwugmEe2MUaaQOL9IhA" name="setMode" specification="__q3VwOgmEe2MUaaQOL9IhA">
    <ownedParameter xmi:id="__roKw-gmEe2MUaaQOL9IhA" name="mode">
      <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
    </ownedParameter>
    <language>java</language>
    <body>UsineDePiece.mode = mode;&#xD;
	</body>
  </uml:OpaqueBehavior>
  <uml:OpaqueBehavior xmi:id="__rox0OgmEe2MUaaQOL9IhA" name="getMode" specification="__q380OgmEe2MUaaQOL9IhA">
    <ownedParameter xmi:id="__rox0egmEe2MUaaQOL9IhA" direction="return">
      <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
    </ownedParameter>
    <language>java</language>
    <body>return mode;&#xD;
	</body>
  </uml:OpaqueBehavior>
  <uml:OpaqueBehavior xmi:id="__r3bVOgmEe2MUaaQOL9IhA" name="getVuePuits" specification="__rJpoegmEe2MUaaQOL9IhA">
    <ownedParameter xmi:id="__r4CYOgmEe2MUaaQOL9IhA" type="__eH6QOgmEe2MUaaQOL9IhA" direction="return"/>
    <language>java</language>
    <body>return vuePuits;&#xD;
 </body>
  </uml:OpaqueBehavior>
  <UMLLabProfile:Reference xmi:id="__sftcOgmEe2MUaaQOL9IhA" base_Element="__sfGYOgmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Reference xmi:id="__sgUgOgmEe2MUaaQOL9IhA" base_Element="__sftcegmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Reference xmi:id="__sg7kOgmEe2MUaaQOL9IhA" base_Element="__sgUgegmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Reference xmi:id="__shioOgmEe2MUaaQOL9IhA" base_Element="__sg7kegmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Reference xmi:id="__siJsOgmEe2MUaaQOL9IhA" base_Element="__shioegmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Reference xmi:id="__siwwOgmEe2MUaaQOL9IhA" base_Element="__siJsegmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Reference xmi:id="__sjX0OgmEe2MUaaQOL9IhA" base_Element="__siwwegmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Reference xmi:id="__sjX0-gmEe2MUaaQOL9IhA" base_Element="__sjX0egmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Reference xmi:id="__sj-4OgmEe2MUaaQOL9IhA" base_Element="__sjX1OgmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Reference xmi:id="__skl8OgmEe2MUaaQOL9IhA" base_Element="__sj-4egmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Reference xmi:id="__slNAOgmEe2MUaaQOL9IhA" base_Element="__skl8egmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Reference xmi:id="__sl0EOgmEe2MUaaQOL9IhA" base_Element="__slNAegmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Reference xmi:id="__smbIOgmEe2MUaaQOL9IhA" base_Element="__sl0EegmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Reference xmi:id="__snCMOgmEe2MUaaQOL9IhA" base_Element="__smbIegmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Reference xmi:id="__snCM-gmEe2MUaaQOL9IhA" base_Element="__snCMegmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Reference xmi:id="__snpQOgmEe2MUaaQOL9IhA" base_Element="__snCNOgmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Reference xmi:id="__soQUOgmEe2MUaaQOL9IhA" base_Element="__snpQegmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Reference xmi:id="__so3YOgmEe2MUaaQOL9IhA" base_Element="__soQUegmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Reference xmi:id="__specOgmEe2MUaaQOL9IhA" base_Element="__so3YegmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Reference xmi:id="__sqFgOgmEe2MUaaQOL9IhA" base_Element="__specegmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Reference xmi:id="__sqFg-gmEe2MUaaQOL9IhA" base_Element="__sqFgegmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Reference xmi:id="__sqskugmEe2MUaaQOL9IhA" base_Element="__sqskOgmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Reference xmi:id="__srTougmEe2MUaaQOL9IhA" base_Element="__srToOgmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Reference xmi:id="__sr6sOgmEe2MUaaQOL9IhA" base_Element="__srTo-gmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Reference xmi:id="__sshwOgmEe2MUaaQOL9IhA" base_Element="__sr6segmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Reference xmi:id="__stI0OgmEe2MUaaQOL9IhA" base_Element="__sshwegmEe2MUaaQOL9IhA"/>
  <UMLLabProfile:Reference xmi:id="__stv4OgmEe2MUaaQOL9IhA" base_Element="__stI0egmEe2MUaaQOL9IhA"/>
</xmi:XMI>
