diff --git a/node_modules/get-stdin/index.js b/node_modules/get-stdin/index.js
new file mode 100644
index 0000000..0f1aeb3
--- /dev/null
+++ b/node_modules/get-stdin/index.js
@@ -0,0 +1,49 @@
+'use strict';
+
+module.exports = function (cb) {
+	var stdin = process.stdin;
+	var ret = '';
+
+	if (stdin.isTTY) {
+		setImmediate(cb, '');
+		return;
+	}
+
+	stdin.setEncoding('utf8');
+
+	stdin.on('readable', function () {
+		var chunk;
+
+		while (chunk = stdin.read()) {
+			ret += chunk;
+		}
+	});
+
+	stdin.on('end', function () {
+		cb(ret);
+	});
+};
+
+module.exports.buffer = function (cb) {
+	var stdin = process.stdin;
+	var ret = [];
+	var len = 0;
+
+	if (stdin.isTTY) {
+		setImmediate(cb, new Buffer(''));
+		return;
+	}
+
+	stdin.on('readable', function () {
+		var chunk;
+
+		while (chunk = stdin.read()) {
+			ret.push(chunk);
+			len += chunk.length;
+		}
+	});
+
+	stdin.on('end', function () {
+		cb(Buffer.concat(ret, len));
+	});
+};
diff --git a/node_modules/get-stdin/package.json b/node_modules/get-stdin/package.json
new file mode 100644
index 0000000..5ea4fc8
--- /dev/null
+++ b/node_modules/get-stdin/package.json
@@ -0,0 +1,68 @@
+{
+  "_from": "get-stdin@^4.0.1",
+  "_id": "get-stdin@4.0.1",
+  "_inBundle": false,
+  "_integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=",
+  "_location": "/get-stdin",
+  "_phantomChildren": {},
+  "_requested": {
+    "type": "range",
+    "registry": true,
+    "raw": "get-stdin@^4.0.1",
+    "name": "get-stdin",
+    "escapedName": "get-stdin",
+    "rawSpec": "^4.0.1",
+    "saveSpec": null,
+    "fetchSpec": "^4.0.1"
+  },
+  "_requiredBy": [
+    "/lpad-align",
+    "/strip-indent"
+  ],
+  "_resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz",
+  "_shasum": "b968c6b0a04384324902e8bf1a5df32579a450fe",
+  "_spec": "get-stdin@^4.0.1",
+  "_where": "C:\\Users\\marcr\\Desktop\\KorAp\\Git\\Kalamar\\node_modules\\lpad-align",
+  "author": {
+    "name": "Sindre Sorhus",
+    "email": "sindresorhus@gmail.com",
+    "url": "http://sindresorhus.com"
+  },
+  "bugs": {
+    "url": "https://github.com/sindresorhus/get-stdin/issues"
+  },
+  "bundleDependencies": false,
+  "deprecated": false,
+  "description": "Easier stdin",
+  "devDependencies": {
+    "ava": "0.0.4",
+    "buffer-equal": "0.0.1"
+  },
+  "engines": {
+    "node": ">=0.10.0"
+  },
+  "files": [
+    "index.js"
+  ],
+  "homepage": "https://github.com/sindresorhus/get-stdin#readme",
+  "keywords": [
+    "std",
+    "stdin",
+    "stdio",
+    "concat",
+    "buffer",
+    "stream",
+    "process",
+    "stream"
+  ],
+  "license": "MIT",
+  "name": "get-stdin",
+  "repository": {
+    "type": "git",
+    "url": "git+https://github.com/sindresorhus/get-stdin.git"
+  },
+  "scripts": {
+    "test": "node test.js && node test-buffer.js && echo unicorns | node test-real.js"
+  },
+  "version": "4.0.1"
+}
diff --git a/node_modules/get-stdin/readme.md b/node_modules/get-stdin/readme.md
new file mode 100644
index 0000000..bc1d32a
--- /dev/null
+++ b/node_modules/get-stdin/readme.md
@@ -0,0 +1,44 @@
+# get-stdin [![Build Status](https://travis-ci.org/sindresorhus/get-stdin.svg?branch=master)](https://travis-ci.org/sindresorhus/get-stdin)
+
+> Easier stdin
+
+
+## Install
+
+```sh
+$ npm install --save get-stdin
+```
+
+
+## Usage
+
+```js
+// example.js
+var stdin = require('get-stdin');
+
+stdin(function (data) {
+	console.log(data);
+	//=> unicorns
+});
+```
+
+```sh
+$ echo unicorns | node example.js
+unicorns
+```
+
+
+## API
+
+### stdin(callback)
+
+Get `stdin` as a string.
+
+### stdin.buffer(callback)
+
+Get `stdin` as a buffer.
+
+
+## License
+
+MIT © [Sindre Sorhus](http://sindresorhus.com)
