diff --git a/node_modules/irregular-plurals/index.js b/node_modules/irregular-plurals/index.js
new file mode 100644
index 0000000..afe0e5c
--- /dev/null
+++ b/node_modules/irregular-plurals/index.js
@@ -0,0 +1,15 @@
+'use strict';
+const irregularPlurals = require('./irregular-plurals.json');
+
+const map = new Map();
+// TODO: Use Object.entries when targeting Node.js 8
+for (const key of Object.keys(irregularPlurals)) {
+	map.set(key, irregularPlurals[key]);
+}
+
+// Ensure nobody can modify each others Map
+Object.defineProperty(module, 'exports', {
+	get() {
+		return map;
+	}
+});
diff --git a/node_modules/irregular-plurals/irregular-plurals.json b/node_modules/irregular-plurals/irregular-plurals.json
new file mode 100644
index 0000000..4882d18
--- /dev/null
+++ b/node_modules/irregular-plurals/irregular-plurals.json
@@ -0,0 +1,146 @@
+{
+	"addendum": "addenda",
+	"aircraft": "aircraft",
+	"alga": "algae",
+	"alumna": "alumnae",
+	"alumnus": "alumni",
+	"amoeba": "amoebae",
+	"analysis": "analyses",
+	"antenna": "antennae",
+	"antithesis": "antitheses",
+	"apex": "apices",
+	"appendix": "appendices",
+	"automaton": "automata",
+	"axis": "axes",
+	"bacillus": "bacilli",
+	"bacterium": "bacteria",
+	"barracks": "barracks",
+	"basis": "bases",
+	"beau": "beaux",
+	"bison": "bison",
+	"buffalo": "buffalo",
+	"bureau": "bureaus",
+	"cactus": "cacti",
+	"calf": "calves",
+	"carp": "carp",
+	"census": "censuses",
+	"chassis": "chassis",
+	"cherub": "cherubim",
+	"child": "children",
+	"château": "châteaus",
+	"cod": "cod",
+	"codex": "codices",
+	"concerto": "concerti",
+	"corpus": "corpora",
+	"crisis": "crises",
+	"criterion": "criteria",
+	"curriculum": "curricula",
+	"datum": "data",
+	"deer": "deer",
+	"diagnosis": "diagnoses",
+	"die": "dice",
+	"dwarf": "dwarfs",
+	"echo": "echoes",
+	"elf": "elves",
+	"elk": "elk",
+	"ellipsis": "ellipses",
+	"embargo": "embargoes",
+	"emphasis": "emphases",
+	"erratum": "errata",
+	"faux pas": "faux pas",
+	"fez": "fezes",
+	"firmware": "firmware",
+	"fish": "fish",
+	"focus": "foci",
+	"foot": "feet",
+	"formula": "formulae",
+	"fungus": "fungi",
+	"gallows": "gallows",
+	"genus": "genera",
+	"goose": "geese",
+	"graffito": "graffiti",
+	"grouse": "grouse",
+	"half": "halves",
+	"hero": "heroes",
+	"hoof": "hooves",
+	"hovercraft": "hovercraft",
+	"hypothesis": "hypotheses",
+	"index": "indices",
+	"kakapo": "kakapo",
+	"knife": "knives",
+	"larva": "larvae",
+	"leaf": "leaves",
+	"libretto": "libretti",
+	"life": "lives",
+	"loaf": "loaves",
+	"locus": "loci",
+	"louse": "lice",
+	"man": "men",
+	"matrix": "matrices",
+	"means": "means",
+	"medium": "media",
+	"memorandum": "memoranda",
+	"millennium": "millennia",
+	"minutia": "minutiae",
+	"moose": "moose",
+	"mouse": "mice",
+	"nebula": "nebulae",
+	"nemesis": "nemeses",
+	"neurosis": "neuroses",
+	"news": "news",
+	"nucleus": "nuclei",
+	"oasis": "oases",
+	"offspring": "offspring",
+	"opus": "opera",
+	"ovum": "ova",
+	"ox": "oxen",
+	"paralysis": "paralyses",
+	"parenthesis": "parentheses",
+	"person": "people",
+	"phenomenon": "phenomena",
+	"phylum": "phyla",
+	"pike": "pike",
+	"polyhedron": "polyhedra",
+	"potato": "potatoes",
+	"prognosis": "prognoses",
+	"quiz": "quizzes",
+	"radius": "radii",
+	"referendum": "referenda",
+	"salmon": "salmon",
+	"scarf": "scarves",
+	"self": "selves",
+	"series": "series",
+	"sheep": "sheep",
+	"shelf": "shelves",
+	"shrimp": "shrimp",
+	"spacecraft": "spacecraft",
+	"species": "species",
+	"spectrum": "spectra",
+	"squid": "squid",
+	"stimulus": "stimuli",
+	"stratum": "strata",
+	"swine": "swine",
+	"syllabus": "syllabi",
+	"symposium": "symposia",
+	"synopsis": "synopses",
+	"synthesis": "syntheses",
+	"tableau": "tableaus",
+	"that": "those",
+	"thesis": "theses",
+	"thief": "thieves",
+	"this": "these",
+	"tomato": "tomatoes",
+	"tooth": "teeth",
+	"trout": "trout",
+	"tuna": "tuna",
+	"vertebra": "vertebrae",
+	"vertex": "vertices",
+	"veto": "vetoes",
+	"vita": "vitae",
+	"vortex": "vortices",
+	"watercraft": "watercraft",
+	"wharf": "wharves",
+	"wife": "wives",
+	"wolf": "wolves",
+	"woman": "women"
+}
diff --git a/node_modules/irregular-plurals/license b/node_modules/irregular-plurals/license
new file mode 100644
index 0000000..e7af2f7
--- /dev/null
+++ b/node_modules/irregular-plurals/license
@@ -0,0 +1,9 @@
+MIT License
+
+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/irregular-plurals/package.json b/node_modules/irregular-plurals/package.json
new file mode 100644
index 0000000..92cea7b
--- /dev/null
+++ b/node_modules/irregular-plurals/package.json
@@ -0,0 +1,71 @@
+{
+  "_from": "irregular-plurals@^2.0.0",
+  "_id": "irregular-plurals@2.0.0",
+  "_inBundle": false,
+  "_integrity": "sha512-Y75zBYLkh0lJ9qxeHlMjQ7bSbyiSqNW/UOPWDmzC7cXskL1hekSITh1Oc6JV0XCWWZ9DE8VYSB71xocLk3gmGw==",
+  "_location": "/irregular-plurals",
+  "_phantomChildren": {},
+  "_requested": {
+    "type": "range",
+    "registry": true,
+    "raw": "irregular-plurals@^2.0.0",
+    "name": "irregular-plurals",
+    "escapedName": "irregular-plurals",
+    "rawSpec": "^2.0.0",
+    "saveSpec": null,
+    "fetchSpec": "^2.0.0"
+  },
+  "_requiredBy": [
+    "/plur"
+  ],
+  "_resolved": "https://registry.npmjs.org/irregular-plurals/-/irregular-plurals-2.0.0.tgz",
+  "_shasum": "39d40f05b00f656d0b7fa471230dd3b714af2872",
+  "_spec": "irregular-plurals@^2.0.0",
+  "_where": "C:\\Users\\marcr\\Desktop\\KorAp\\Git\\Kalamar\\node_modules\\plur",
+  "author": {
+    "name": "Sindre Sorhus",
+    "email": "sindresorhus@gmail.com",
+    "url": "sindresorhus.com"
+  },
+  "bugs": {
+    "url": "https://github.com/sindresorhus/irregular-plurals/issues"
+  },
+  "bundleDependencies": false,
+  "deprecated": false,
+  "description": "Map of nouns to their irregular plural form",
+  "devDependencies": {
+    "ava": "*",
+    "xo": "*"
+  },
+  "engines": {
+    "node": ">=6"
+  },
+  "files": [
+    "index.js",
+    "irregular-plurals.json"
+  ],
+  "homepage": "https://github.com/sindresorhus/irregular-plurals#readme",
+  "keywords": [
+    "word",
+    "words",
+    "list",
+    "map",
+    "hash",
+    "json",
+    "irregular",
+    "plural",
+    "plurals",
+    "noun",
+    "nouns"
+  ],
+  "license": "MIT",
+  "name": "irregular-plurals",
+  "repository": {
+    "type": "git",
+    "url": "git+https://github.com/sindresorhus/irregular-plurals.git"
+  },
+  "scripts": {
+    "test": "xo && ava"
+  },
+  "version": "2.0.0"
+}
diff --git a/node_modules/irregular-plurals/readme.md b/node_modules/irregular-plurals/readme.md
new file mode 100644
index 0000000..9d49755
--- /dev/null
+++ b/node_modules/irregular-plurals/readme.md
@@ -0,0 +1,47 @@
+# irregular-plurals [![Build Status](https://travis-ci.org/sindresorhus/irregular-plurals.svg?branch=master)](https://travis-ci.org/sindresorhus/irregular-plurals)
+
+> Map of nouns to their irregular plural form
+
+
+> An irregular plural in this library is defined as a noun that cannot be made plural by applying these rules:
+> - If the noun ends in an "s", "x", "z", "ch" or "sh", add "es"
+> - If the noun ends in a "y" and is preceded by a consonant, drop the "y" and add "ies"
+> - If the noun ends in a "y" and is preceded by a vowel, add "s"
+
+The list is just a [JSON file](irregular-plurals.json) and can be used anywhere.
+
+
+## Install
+
+```
+$ npm install irregular-plurals
+```
+
+
+## Usage
+
+```js
+const irregularPlurals = require('irregular-plurals');
+
+console.log(irregularPlurals.get('cactus'));
+//=> 'cacti'
+
+console.log(irregularPlurals);
+/*
+Map {
+	[addendum, 'addenda'],
+	[alga, 'algae'],
+	…
+}
+*/
+```
+
+
+## Related
+
+- [plur](https://github.com/sindresorhus/plur) - Pluralize a word
+
+
+## License
+
+MIT © [Sindre Sorhus](https://sindresorhus.com)
