anchor.diff:  Point mouse_position = null;
   
   void loadCountries(GElement countriesElement) {
  -  countriesElement.children.where((Element e) => e is GElement).forEach((Element continentElement) {
  +  countriesElement.children.where((Element e) => e is GElement).forEach((GElement continentElement) {
       String continentName = continentElement.getAttribute('inkscape:label');
       Continent continent = new Continent(continentName);
  -    continentElement.children.where((Element e) => e is GElement).forEach((Element countryElement) {
  +    continentElement.children.where((Element e) => e is GElement).forEach((GElement countryElement) {
         String countryName = countryElement.getAttribute('inkscape:label');
         String countryId = countryElement.getAttribute('id');
         List<CountryPart> parts = new List();
         String color;
  -      countryElement.children.where((Element e) => e is PathElement).forEach((Element pathElement) {
  +      Point middle;
  +      countryElement.children.where((Element e) => e is PathElement).forEach((PathElement pathElement) {
  +        if(pathElement.id == countryElement.id + "-0") {
  +          Rect bbox = pathElement.getBBox();
  +          middle = new Point(bbox.x + bbox.width/2, bbox.y + bbox.height/2);
  +        }
           Match match = regexp_stroke.firstMatch(pathElement.getAttribute('style'));
           if(match != null) {
             color = match.group(1);
  
positive.code: import 'dart:html' ;
  import 'dart:svg' show SvgSvgElement, GElement, PathElement;
  import 'dart:async';
  import 'dart:math' show Rectangle;
  
  import 'package:risk/communication/server.dart';
  import 'package:risk/communication/messages.dart';
  
negative.code:   final String id;
    final String name;
    final String color;
    final Point middle;
    bool isMouseOver = false;
    Country(this.id, this.name, this.color, this.middle);
    toString() => name;
  }
  
  