define(['util'], function(util) {
    'use strict';

	var Parser = function () {
	}

	Parser.prototype.parse = function () {
		console.log('Error: Pure virtual parse called!');
		return {};
	}

	Parser.prototype.prepare = function (input) {
		input = input.split('\n');

		util.forEach(input, function (line, l) {
			var i;
			line = line.split(' ');
			i = 0;
			while(i < line.length) {
				if (line[i] == '') {
					line.splice(i, 1);
				} else {
					++i;
				}
			}
			input[l] = line;
		});

		return input;
	}

	return Parser;
});

@@ -234,16 +234,25 @@
 nput) %7B%0A
+%09%09var i;%0A
 %09%09input 
@@ -272,16 +272,16 @@
 ('%5Cn');%0A
-
 %0A%09%09util.
@@ -320,18 +320,8 @@
 ) %7B%0A
-%09%09%09var i;%0A
 %09%09%09l
@@ -488,15 +488,162 @@
 ne;%0A
-
 %09%09%7D);%0A%0A
+%09%09i = 0;%0A%09%09while (i %3C input.length) %7B%0A%09%09%09if (input%5Bi%5D.length == 0) %7B%0A%09%09%09%09input.splice(i, 1);%0A%09%09%09%7D else %7B%0A%09%09%09%09++i;%0A%09%09%09%7D%0A%09%09%7D%0A%0A%09%09console.log(input);%0A%0A
 %09%09re

Remove empty lines in preprocessing