anchor.diff:  }
   
   class DrawnGrid {
  -    static const boxColor     = '#E8F1FA';
  -    static const boxLineColor = '#BED1E6';
  +    static const boxColor      = '#E8F1FA';
  +    static const boxLineColor  = '#BED1E6';
       static const boxBorderSize = 10;
  +    static const hlColor       = 'rgba(32,32,2,.1)';
   
       Grid grid;
       num xsize, ysize;
  
positive.code:         stepSizeY = ((ysize - boxBorderSize) / grid.y);
          boxDimX = stepSizeX - boxBorderSize;
          boxDimY = stepSizeY - boxBorderSize;
      }
  
      void drawGrid() {
  
negative.code:     }
  }
  
  
  class Elem {
      int level;
  
      Elem(this.level);
  
      bool isEmpty() {
          return level == 0;
      }
  
      String toString() {
          return level.toString();
      }
  }
  
  class Grid {
      final int x, y;
      List<Elem> elems;
  
      Grid(this.x, this.y) {
          elems = new List<Elem>.generate(x*y, (int _) => new Elem(0));
      }
  
      Elem getElem(int xi, int yi) {
          return elems[yi*x + xi];
      }
  
      void setElem(int xi, int yi, Elem e) {
         elems[yi*x + xi] = e;
      }
  
      void incElem(int xi, int yi, int lvl) {
         elems[yi*x + xi].level += 1;
      }
  }
  
  void prSquare(sq) {
  