anchor.diff:        update();
       }
   
  -
       // Returns a list of all nodes under the root.
       function flatten(root) {
         var nodes = [], i = 0;
  
positive.code:       return nodes.reverse(); // to control the z-indexes (done in order of append)
      }
  
      function viewPlan(d) {
        window.location = "/plans/" + d.guid + "/show";
      }
    }
  
  </script>
  
negative.code:     pointer-events: none;
      text-anchor: middle;
    }
  
    .view_node circle {
      visibility: hidden;
    }
    .view_node text {
      visibility: hidden;
    }
    .view_node a {
      font: 23px sans-serif;
      color: #3F9B0C;
      text-decoration: none;
    }
  
    .root_node text {
      stroke: #176E9B;
      fill: #176E9B;
      font: 20px sans-serif;
    }
  </style>
  
  <script type="text/javascript">
  
  