anchor.diff:  part of SBURBSim;
  -//TODO NOTE FROM JR: This is for the rare session finder and will be a BITCH to convert. wait on this.
   //how AuthorBot summarizes a session
   //eventually moon prophecies will use this.
   //a prophecy can be any of these values that don't match the values in the current session summary.
  
positive.code: class SessionSummary{ //since stats will be hash, don't need to make junior
    int session_id = null;
    Session parentSession; //pretty sure this has to be a full session so i can get lineage
    Map<String, bool> bool_stats; //most things
    Map<String, num> num_stats; //num_living etc
    String frog_status; //doesn't need to be in a hash.
    List<Map> miniPlayers = []; //array of hashes from players
    List<Player> players = []; //TODO do i need this AND that miniPlayers thing???
    Player mvp;
  
negative.code:     if (params == window.location.href) params = "";
      String html = "<div class = 'sessionSummary' id = 'summarizeSession" + this.session_id.toString() +"'>";
      html += generateNumHTML();
      html += generateBoolHTML();
      html += "<Br><b>Players</b>: " + getPlayersTitlesBasic(this.players);
      html += "<Br><b>mvp</b>: " + this.mvp.htmlTitle() + " With a Power of: " + this.mvp.getStat("power").toString();
      html += "<Br><b>Frog Level</b>: " + this.frogLevel.toString() + " (" + this.frogStatus +")";
      if(this.parentSession != null){
        html += this.decodeLineageGenerateHTML();
      }else{
        String scratch = "";
        if(this.scratched) scratch = "(scratched)";
  
        html += "<Br><b> Session</b>: <a href = 'index2.html?seed=" + this.session_id.toString() + "&"+params+"'>" +this.session_id.toString() + scratch +  "</a>";
      }
  
      html += "</div><br>";
  