This project will be graded based on the functionality and clarity of the GUI components. We will also ask you to show us your code, pointing out where the State and Visitor patterns are used. If those elements are not present, you will not get any credit for the project. 1. Lines -- 18 points (3) draw lines (3) moving lines (3) copy lines (3) deleting lines (3) selecting color of lines (3) switch visual modes correctly 2. Rectangles -- 18 points (3) draw rectangles (3) moving rectangles (3) copy rectangles (3) deleting rectangles (3) selecting color of rectangles (3) switch visual modes correctly 3. Circles -- 18 points (3) draw circles (3) moving circles (3) copy circles (3) deleting circles (3) selecting color of circles (3) switch visual modes correctly 4. Group/Ungroup -- 30 points (4) group objects into a compound object (4) group, including a compound object in the group (4) move group (4) delete group (4) copy group (4) ungroup a compound object (3) ungroup a non-compound object (no effect) (3) switch visual modes correctly 5. Selection - 12 points (4) select a line/rectangle/circle in Student mode (4) select a line/rectangle/circle in Professor mode (4) multiple selections in Student and Professor mode 6. Exiting -- 4 points (4) exit cleanly, after a confirmation message Total : 100 Points.