| <% if (typeof originalDate === "undefined") { %>
		No capture
		<% } else { %>
		Captured <%- formatDateTime(originalDate) %>
		<% } %> | Captured <%- formatDateTime(revisedDate) %> | 
<% _.each(deltas, function(deltaSet, item) { %>
| Differences on <%- item %> | 
|---|
<% var currentLine = 0; %>
<% var maxLine = 0; %>
<% _.each(deltaSet, function(delta) { %>
<%
	var oLine = delta.originalPosition - delta.preContext.length + 1;
	var rLine = delta.revisedPosition - delta.preContext.length + 1;
%>
<% if (oLine > maxLine + 1) { %>
 class="even"<% } %>>
	|  | ... |  | ... | 
<% } %>
<% _.each(delta.preContext, function(line) {
	if (oLine < maxLine) { oLine++; rLine++; return; }
%>
 class="even"<% } %>>
	| <%- oLine++ %> | <%- line.replace(/ /g, '\u00a0') %> | <%- rLine++ %> | <%- line.replace(/ /g, '\u00a0') %> | 
<% }); %>
<% if (delta.diffType == "CHANGE") { %>
<% for (var i = 0; i < Math.max(delta.originalLines.length, delta.revisedLines.length); i++) { %>
	<% if (i < delta.originalLines.length) { %>
	| <%- oLine++ %> | <%- delta.originalLines[i].replace(/ /g, '\u00a0') %><% } else { %> |  | <% } %>
	<% if (i < delta.revisedLines.length) { %> | <%- rLine++ %> | <%- delta.revisedLines[i].replace(/ /g, '\u00a0') %><% } else { %> |  | <% } %> | 
<% } %>
<% } %>
<% if (delta.diffType == "INSERT") { %>
<% _.each(delta.revisedLines, function(line) { %>
	|  |  | <%- rLine++ %> | <%- line.replace(/ /g, '\u00a0') %> | 
<% }); %>
<% } %>
<% if (delta.diffType == "DELETE") { %>
<% _.each(delta.originalLines, function(line) { %>
	| <%- oLine++ %> | <%- line.replace(/ /g, '\u00a0') %> |  |  | 
<% }); %>
<% } %>
<% _.each(delta.postContext, function(line) { %>
 class="even"<% } %>>
	| <%- oLine++ %> | <%- line.replace(/ /g, '\u00a0') %> | <%- rLine++ %> | <%- line.replace(/ /g, '\u00a0') %> | 
<% }); %>
<% maxLine = oLine; %>
<% }); %>
<% }); %>