diff --git a/node_modules/strip-eof/index.js b/node_modules/strip-eof/index.js
new file mode 100644
index 0000000..a17d0af
--- /dev/null
+++ b/node_modules/strip-eof/index.js
@@ -0,0 +1,15 @@
+'use strict';
+module.exports = function (x) {
+	var lf = typeof x === 'string' ? '\n' : '\n'.charCodeAt();
+	var cr = typeof x === 'string' ? '\r' : '\r'.charCodeAt();
+
+	if (x[x.length - 1] === lf) {
+		x = x.slice(0, x.length - 1);
+	}
+
+	if (x[x.length - 1] === cr) {
+		x = x.slice(0, x.length - 1);
+	}
+
+	return x;
+};
diff --git a/node_modules/strip-eof/license b/node_modules/strip-eof/license
new file mode 100644
index 0000000..654d0bf
--- /dev/null
+++ b/node_modules/strip-eof/license
@@ -0,0 +1,21 @@
+The MIT License (MIT)
+
+Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
diff --git a/node_modules/strip-eof/package.json b/node_modules/strip-eof/package.json
new file mode 100644
index 0000000..f20e91d
--- /dev/null
+++ b/node_modules/strip-eof/package.json
@@ -0,0 +1,73 @@
+{
+  "_from": "strip-eof@^1.0.0",
+  "_id": "strip-eof@1.0.0",
+  "_inBundle": false,
+  "_integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=",
+  "_location": "/strip-eof",
+  "_phantomChildren": {},
+  "_requested": {
+    "type": "range",
+    "registry": true,
+    "raw": "strip-eof@^1.0.0",
+    "name": "strip-eof",
+    "escapedName": "strip-eof",
+    "rawSpec": "^1.0.0",
+    "saveSpec": null,
+    "fetchSpec": "^1.0.0"
+  },
+  "_requiredBy": [
+    "/bin-version/execa",
+    "/execa",
+    "/gifsicle/execa"
+  ],
+  "_resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz",
+  "_shasum": "bb43ff5598a6eb05d89b59fcd129c983313606bf",
+  "_spec": "strip-eof@^1.0.0",
+  "_where": "C:\\Users\\marcr\\Desktop\\KorAp\\Git\\Kalamar\\node_modules\\execa",
+  "author": {
+    "name": "Sindre Sorhus",
+    "email": "sindresorhus@gmail.com",
+    "url": "sindresorhus.com"
+  },
+  "bugs": {
+    "url": "https://github.com/sindresorhus/strip-eof/issues"
+  },
+  "bundleDependencies": false,
+  "deprecated": false,
+  "description": "Strip the End-Of-File (EOF) character from a string/buffer",
+  "devDependencies": {
+    "ava": "*",
+    "xo": "*"
+  },
+  "engines": {
+    "node": ">=0.10.0"
+  },
+  "files": [
+    "index.js"
+  ],
+  "homepage": "https://github.com/sindresorhus/strip-eof#readme",
+  "keywords": [
+    "strip",
+    "trim",
+    "remove",
+    "delete",
+    "eof",
+    "end",
+    "file",
+    "newline",
+    "linebreak",
+    "character",
+    "string",
+    "buffer"
+  ],
+  "license": "MIT",
+  "name": "strip-eof",
+  "repository": {
+    "type": "git",
+    "url": "git+https://github.com/sindresorhus/strip-eof.git"
+  },
+  "scripts": {
+    "test": "xo && ava"
+  },
+  "version": "1.0.0"
+}
diff --git a/node_modules/strip-eof/readme.md b/node_modules/strip-eof/readme.md
new file mode 100644
index 0000000..45ffe04
--- /dev/null
+++ b/node_modules/strip-eof/readme.md
@@ -0,0 +1,28 @@
+# strip-eof [![Build Status](https://travis-ci.org/sindresorhus/strip-eof.svg?branch=master)](https://travis-ci.org/sindresorhus/strip-eof)
+
+> Strip the [End-Of-File](https://en.wikipedia.org/wiki/End-of-file) (EOF) character from a string/buffer
+
+
+## Install
+
+```
+$ npm install --save strip-eof
+```
+
+
+## Usage
+
+```js
+const stripEof = require('strip-eof');
+
+stripEof('foo\nbar\n\n');
+//=> 'foo\nbar\n'
+
+stripEof(new Buffer('foo\nbar\n\n')).toString();
+//=> 'foo\nbar\n'
+```
+
+
+## License
+
+MIT © [Sindre Sorhus](http://sindresorhus.com)
