From f709c34987e2d97e6e628e4ef395098f79529da7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Carl=20Johan=20G=C3=BCtzkow?= <carljgu@stud.ntnu.no>
Date: Sun, 1 May 2022 20:55:30 +0200
Subject: [PATCH] enhance: checklist of part 3, dialogs, file handler test, and
 removed unused methods

---
 .gitignore                                    |   4 -
 .gitlab-ci.yml                                |  11 +
 README.md                                     |  32 +
 javadoc/allclasses-index.html                 | 147 +++
 javadoc/allpackages-index.html                |  74 ++
 javadoc/constant-values.html                  |  79 ++
 .../idatt2001/carljgu/ArmyFileHandler.html    | 260 ++++++
 .../carljgu/FileExtensionException.html       | 164 ++++
 .../edu/ntnu/idatt2001/carljgu/Terrain.html   | 234 +++++
 .../ntnu/idatt2001/carljgu/battle/Battle.html | 278 ++++++
 .../carljgu/battle/SimulationAttack.html      | 322 +++++++
 .../carljgu/battle/package-summary.html       | 105 +++
 .../carljgu/battle/package-tree.html          |  72 ++
 .../ntnu/idatt2001/carljgu/client/App.html    | 235 +++++
 .../carljgu/client/BattleController.html      | 214 +++++
 .../ntnu/idatt2001/carljgu/client/Main.html   | 176 ++++
 .../carljgu/client/dialogs/DialogBox.html     | 187 ++++
 .../client/dialogs/DialogBoxBuilder.html      | 419 +++++++++
 .../client/dialogs/package-summary.html       | 102 +++
 .../carljgu/client/dialogs/package-tree.html  |  80 ++
 .../carljgu/client/package-summary.html       | 113 +++
 .../carljgu/client/package-tree.html          |  77 ++
 .../idatt2001/carljgu/package-summary.html    | 117 +++
 .../ntnu/idatt2001/carljgu/package-tree.html  | 102 +++
 .../ntnu/idatt2001/carljgu/units/Army.html    | 436 +++++++++
 .../ntnu/idatt2001/carljgu/units/Unit.html    | 344 +++++++
 .../idatt2001/carljgu/units/UnitFactory.html  | 252 +++++
 .../carljgu/units/package-summary.html        | 110 +++
 .../idatt2001/carljgu/units/package-tree.html |  73 ++
 .../units/specialized/CavalryUnit.html        | 255 ++++++
 .../units/specialized/CommanderUnit.html      | 187 ++++
 .../units/specialized/InfantryUnit.html       | 247 +++++
 .../carljgu/units/specialized/RangedUnit.html | 254 +++++
 .../units/specialized/package-summary.html    | 108 +++
 .../units/specialized/package-tree.html       |  81 ++
 .../module-summary.html                       |  95 ++
 javadoc/element-list                          |   7 +
 javadoc/help-doc.html                         | 191 ++++
 javadoc/index-files/index-1.html              | 121 +++
 javadoc/index-files/index-10.html             |  72 ++
 javadoc/index-files/index-11.html             |  63 ++
 javadoc/index-files/index-12.html             |  90 ++
 javadoc/index-files/index-13.html             |  82 ++
 javadoc/index-files/index-14.html             |  84 ++
 javadoc/index-files/index-15.html             |  75 ++
 javadoc/index-files/index-16.html             |  70 ++
 javadoc/index-files/index-17.html             |  65 ++
 javadoc/index-files/index-2.html              |  82 ++
 javadoc/index-files/index-3.html              |  97 ++
 javadoc/index-files/index-4.html              |  91 ++
 javadoc/index-files/index-5.html              |  79 ++
 javadoc/index-files/index-6.html              |  72 ++
 javadoc/index-files/index-7.html              | 223 +++++
 javadoc/index-files/index-8.html              |  71 ++
 javadoc/index-files/index-9.html              |  78 ++
 javadoc/index.html                            |  26 +
 javadoc/jquery-ui.overrides.css               |  34 +
 javadoc/legal/COPYRIGHT                       |   1 +
 javadoc/legal/LICENSE                         |   1 +
 javadoc/legal/jquery.md                       |  72 ++
 javadoc/legal/jqueryUI.md                     |  49 +
 javadoc/member-search-index.js                |   1 +
 javadoc/module-search-index.js                |   1 +
 javadoc/overview-tree.html                    | 139 +++
 javadoc/package-search-index.js               |   1 +
 javadoc/resources/glass.png                   | Bin 0 -> 499 bytes
 javadoc/resources/x.png                       | Bin 0 -> 394 bytes
 .../images/ui-bg_glass_55_fbf9ee_1x400.png    | Bin 0 -> 335 bytes
 .../images/ui-bg_glass_65_dadada_1x400.png    | Bin 0 -> 262 bytes
 .../images/ui-bg_glass_75_dadada_1x400.png    | Bin 0 -> 262 bytes
 .../images/ui-bg_glass_75_e6e6e6_1x400.png    | Bin 0 -> 262 bytes
 .../images/ui-bg_glass_95_fef1ec_1x400.png    | Bin 0 -> 332 bytes
 .../ui-bg_highlight-soft_75_cccccc_1x100.png  | Bin 0 -> 280 bytes
 .../images/ui-icons_222222_256x240.png        | Bin 0 -> 6922 bytes
 .../images/ui-icons_2e83ff_256x240.png        | Bin 0 -> 4549 bytes
 .../images/ui-icons_454545_256x240.png        | Bin 0 -> 6992 bytes
 .../images/ui-icons_888888_256x240.png        | Bin 0 -> 6999 bytes
 .../images/ui-icons_cd0a0a_256x240.png        | Bin 0 -> 4549 bytes
 javadoc/script-dir/jquery-3.5.1.min.js        |   2 +
 javadoc/script-dir/jquery-ui.min.css          |   7 +
 javadoc/script-dir/jquery-ui.min.js           |   6 +
 .../script-dir/jquery-ui.structure.min.css    |   5 +
 javadoc/script.js                             | 132 +++
 javadoc/search.js                             | 354 +++++++
 javadoc/serialized-form.html                  |  72 ++
 javadoc/stylesheet.css                        | 865 ++++++++++++++++++
 javadoc/tag-search-index.js                   |   1 +
 javadoc/type-search-index.js                  |   1 +
 .../idatt2001/carljgu/ArmyFileHandler.java    |  26 +-
 .../edu/ntnu/idatt2001/carljgu/Terrain.java   |   2 +-
 .../ntnu/idatt2001/carljgu/client/App.java    |  28 +-
 .../carljgu/client/BattleController.java      |  72 +-
 .../carljgu/client/dialogs/DialogBox.java     |  15 +-
 .../client/dialogs/DialogBoxBuilder.java      |  37 +-
 .../ntnu/idatt2001/carljgu/units/Army.java    |   6 +-
 .../ntnu/idatt2001/carljgu/units/Unit.java    |   9 -
 .../units/specialized/CavalryUnit.java        |  16 +-
 .../units/specialized/CommanderUnit.java      |  16 +-
 .../units/specialized/InfantryUnit.java       |  17 +-
 .../carljgu/units/specialized/RangedUnit.java |  36 +-
 src/main/java/module-info.java                |   2 +-
 src/main/resources/icons/corrupt-file.png     | Bin 0 -> 17416 bytes
 .../resources/{ => icons}/wargames-logo.png   | Bin
 src/main/resources/stylesheet.css             |   7 +-
 src/main/resources/wargames.fxml              |  22 +-
 .../carljgu/ArmyFileHandlerTest.java          |  60 +-
 .../ntnu/idatt2001/carljgu/WarUnitTest.java   |  10 -
 wargames.bmpr                                 | Bin 122880 -> 163840 bytes
 108 files changed, 9733 insertions(+), 177 deletions(-)
 create mode 100644 javadoc/allclasses-index.html
 create mode 100644 javadoc/allpackages-index.html
 create mode 100644 javadoc/constant-values.html
 create mode 100644 javadoc/edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/ArmyFileHandler.html
 create mode 100644 javadoc/edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/FileExtensionException.html
 create mode 100644 javadoc/edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/Terrain.html
 create mode 100644 javadoc/edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/battle/Battle.html
 create mode 100644 javadoc/edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/battle/SimulationAttack.html
 create mode 100644 javadoc/edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/battle/package-summary.html
 create mode 100644 javadoc/edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/battle/package-tree.html
 create mode 100644 javadoc/edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/client/App.html
 create mode 100644 javadoc/edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/client/BattleController.html
 create mode 100644 javadoc/edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/client/Main.html
 create mode 100644 javadoc/edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/client/dialogs/DialogBox.html
 create mode 100644 javadoc/edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/client/dialogs/DialogBoxBuilder.html
 create mode 100644 javadoc/edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/client/dialogs/package-summary.html
 create mode 100644 javadoc/edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/client/dialogs/package-tree.html
 create mode 100644 javadoc/edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/client/package-summary.html
 create mode 100644 javadoc/edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/client/package-tree.html
 create mode 100644 javadoc/edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/package-summary.html
 create mode 100644 javadoc/edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/package-tree.html
 create mode 100644 javadoc/edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/Army.html
 create mode 100644 javadoc/edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/Unit.html
 create mode 100644 javadoc/edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/UnitFactory.html
 create mode 100644 javadoc/edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/package-summary.html
 create mode 100644 javadoc/edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/package-tree.html
 create mode 100644 javadoc/edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/specialized/CavalryUnit.html
 create mode 100644 javadoc/edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/specialized/CommanderUnit.html
 create mode 100644 javadoc/edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/specialized/InfantryUnit.html
 create mode 100644 javadoc/edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/specialized/RangedUnit.html
 create mode 100644 javadoc/edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/specialized/package-summary.html
 create mode 100644 javadoc/edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/specialized/package-tree.html
 create mode 100644 javadoc/edu.ntnu.idatt2001.carljgu.client/module-summary.html
 create mode 100644 javadoc/element-list
 create mode 100644 javadoc/help-doc.html
 create mode 100644 javadoc/index-files/index-1.html
 create mode 100644 javadoc/index-files/index-10.html
 create mode 100644 javadoc/index-files/index-11.html
 create mode 100644 javadoc/index-files/index-12.html
 create mode 100644 javadoc/index-files/index-13.html
 create mode 100644 javadoc/index-files/index-14.html
 create mode 100644 javadoc/index-files/index-15.html
 create mode 100644 javadoc/index-files/index-16.html
 create mode 100644 javadoc/index-files/index-17.html
 create mode 100644 javadoc/index-files/index-2.html
 create mode 100644 javadoc/index-files/index-3.html
 create mode 100644 javadoc/index-files/index-4.html
 create mode 100644 javadoc/index-files/index-5.html
 create mode 100644 javadoc/index-files/index-6.html
 create mode 100644 javadoc/index-files/index-7.html
 create mode 100644 javadoc/index-files/index-8.html
 create mode 100644 javadoc/index-files/index-9.html
 create mode 100644 javadoc/index.html
 create mode 100644 javadoc/jquery-ui.overrides.css
 create mode 100644 javadoc/legal/COPYRIGHT
 create mode 100644 javadoc/legal/LICENSE
 create mode 100644 javadoc/legal/jquery.md
 create mode 100644 javadoc/legal/jqueryUI.md
 create mode 100644 javadoc/member-search-index.js
 create mode 100644 javadoc/module-search-index.js
 create mode 100644 javadoc/overview-tree.html
 create mode 100644 javadoc/package-search-index.js
 create mode 100644 javadoc/resources/glass.png
 create mode 100644 javadoc/resources/x.png
 create mode 100644 javadoc/script-dir/images/ui-bg_glass_55_fbf9ee_1x400.png
 create mode 100644 javadoc/script-dir/images/ui-bg_glass_65_dadada_1x400.png
 create mode 100644 javadoc/script-dir/images/ui-bg_glass_75_dadada_1x400.png
 create mode 100644 javadoc/script-dir/images/ui-bg_glass_75_e6e6e6_1x400.png
 create mode 100644 javadoc/script-dir/images/ui-bg_glass_95_fef1ec_1x400.png
 create mode 100644 javadoc/script-dir/images/ui-bg_highlight-soft_75_cccccc_1x100.png
 create mode 100644 javadoc/script-dir/images/ui-icons_222222_256x240.png
 create mode 100644 javadoc/script-dir/images/ui-icons_2e83ff_256x240.png
 create mode 100644 javadoc/script-dir/images/ui-icons_454545_256x240.png
 create mode 100644 javadoc/script-dir/images/ui-icons_888888_256x240.png
 create mode 100644 javadoc/script-dir/images/ui-icons_cd0a0a_256x240.png
 create mode 100644 javadoc/script-dir/jquery-3.5.1.min.js
 create mode 100644 javadoc/script-dir/jquery-ui.min.css
 create mode 100644 javadoc/script-dir/jquery-ui.min.js
 create mode 100644 javadoc/script-dir/jquery-ui.structure.min.css
 create mode 100644 javadoc/script.js
 create mode 100644 javadoc/search.js
 create mode 100644 javadoc/serialized-form.html
 create mode 100644 javadoc/stylesheet.css
 create mode 100644 javadoc/tag-search-index.js
 create mode 100644 javadoc/type-search-index.js
 create mode 100644 src/main/resources/icons/corrupt-file.png
 rename src/main/resources/{ => icons}/wargames-logo.png (100%)

diff --git a/.gitignore b/.gitignore
index 768a5c9..c758900 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,11 +1,7 @@
 # Default ignored files
 /shelf/
 /.idea/workspace.xml
-# Editor-based HTTP Client requests
-/httpRequests/
 # Datasource local storage ignored files
-/dataSources/
-/dataSources.local.xml
 /target/
 /.idea/
 wargames.iml
\ No newline at end of file
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 8334378..66c5961 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -10,3 +10,14 @@ test:
   script:
     - mvn clean test
 
+pages:
+  stage: deploy
+  script:
+    - mkdir .public
+    - cp -r javadoc/* .public
+    - mv .public public
+  artifacts:
+    paths:
+      - public
+  only:
+    - master
diff --git a/README.md b/README.md
index 1e9631e..cf80792 100644
--- a/README.md
+++ b/README.md
@@ -2,6 +2,22 @@
 
 A repository containing a simulation of two armies attacking each other. The project will be done in may.
 
+
+## Running the program
+
+To run the program you need jdk-17 and maven 3.8.5.
+If you need to use another jdk over 11, you can change the version in the pom.xml file.
+
+Change instances of 17, except javafx version, to your required version. (11 or above)
+
+Install the program by zip, tar or `git clone git@gitlab.stud.idi.ntnu.no:carljgu/Wargames.git`
+
+`cd Wargames`
+
+`mvn clean javafx:run`
+
+
+
 ## Release 1.0
 
 Added classes 
@@ -23,3 +39,19 @@ Added classes
 Added methods
 - get*Units: Methods using streams to get Infantry,
 Ranged, Cavalry and Commander units.
+
+## Realease 3.0
+
+Added a GUI to the program, a terrain enum, a unit factory and dialogbox with respective builder.
+
+Added classes
+- DialogBox: A dialog box that extends alert to use a builder to build a dialog box.
+- DialogBoxBuilder: A builder class which simplifies the creation process of a DialogBox object.
+- BattleController: A controller class which handles events in the fxml file.
+- App: Class that extends Application from javafx. Responsibility for creating the stage
+- Main: The main class that is run when the application is called upon.
+- UnitFactory: A class to simply and elegantly create units. Either one by one or many at once.
+- UnitFactoryTest: A test class to test the unit factory
+
+Added enums
+- Terrain: An enum that represents the different terrains
diff --git a/javadoc/allclasses-index.html b/javadoc/allclasses-index.html
new file mode 100644
index 0000000..127497e
--- /dev/null
+++ b/javadoc/allclasses-index.html
@@ -0,0 +1,147 @@
+<!DOCTYPE HTML>
+<html lang="en">
+<head>
+<!-- Generated by javadoc (17) on Sun May 01 19:43:43 CEST 2022 -->
+<title>All Classes and Interfaces</title>
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<meta name="dc.created" content="2022-05-01">
+<meta name="description" content="class index">
+<meta name="generator" content="javadoc/AllClassesIndexWriter">
+<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<link rel="stylesheet" type="text/css" href="script-dir/jquery-ui.min.css" title="Style">
+<link rel="stylesheet" type="text/css" href="jquery-ui.overrides.css" title="Style">
+<script type="text/javascript" src="script.js"></script>
+<script type="text/javascript" src="script-dir/jquery-3.5.1.min.js"></script>
+<script type="text/javascript" src="script-dir/jquery-ui.min.js"></script>
+</head>
+<body class="all-classes-index-page">
+<script type="text/javascript">var evenRowColor = "even-row-color";
+var oddRowColor = "odd-row-color";
+var tableTab = "table-tab";
+var activeTableTab = "active-table-tab";
+var pathtoroot = "./";
+loadScripts(document, 'script');</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<div class="flex-box">
+<header role="banner" class="flex-header">
+<nav role="navigation">
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="top-nav" id="navbar-top">
+<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
+<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
+<li><a href="edu.ntnu.idatt2001.carljgu.client/module-summary.html">Module</a></li>
+<li>Package</li>
+<li>Class</li>
+<li><a href="overview-tree.html">Tree</a></li>
+<li><a href="index-files/index-1.html">Index</a></li>
+<li><a href="help-doc.html#all-classes">Help</a></li>
+</ul>
+</div>
+<div class="sub-nav">
+<div class="nav-list-search"><label for="search-input">SEARCH:</label>
+<input type="text" id="search-input" value="search" disabled="disabled">
+<input type="reset" id="reset-button" value="reset" disabled="disabled">
+</div>
+</div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<span class="skip-nav" id="skip-navbar-top"></span></nav>
+</header>
+<div class="flex-content">
+<main role="main">
+<div class="header">
+<h1 title="All Classes and Interfaces" class="title">All Classes and Interfaces</h1>
+</div>
+<div id="all-classes-table">
+<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="all-classes-table-tab0" role="tab" aria-selected="true" aria-controls="all-classes-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('all-classes-table', 'all-classes-table', 2)" class="active-table-tab">All Classes and Interfaces</button><button id="all-classes-table-tab2" role="tab" aria-selected="false" aria-controls="all-classes-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('all-classes-table', 'all-classes-table-tab2', 2)" class="table-tab">Classes</button><button id="all-classes-table-tab3" role="tab" aria-selected="false" aria-controls="all-classes-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('all-classes-table', 'all-classes-table-tab3', 2)" class="table-tab">Enum Classes</button><button id="all-classes-table-tab5" role="tab" aria-selected="false" aria-controls="all-classes-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('all-classes-table', 'all-classes-table-tab5', 2)" class="table-tab">Exceptions</button></div>
+<div id="all-classes-table.tabpanel" role="tabpanel">
+<div class="summary-table two-column-summary" aria-labelledby="all-classes-table-tab0">
+<div class="table-header col-first">Class</div>
+<div class="table-header col-last">Description</div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/client/App.html" title="class in edu.ntnu.idatt2001.carljgu.client">App</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="block">Class that extends Application
+ from javafx.</div>
+</div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/Army.html" title="class in edu.ntnu.idatt2001.carljgu.units">Army</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="block">public class Army.</div>
+</div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/ArmyFileHandler.html" title="class in edu.ntnu.idatt2001.carljgu">ArmyFileHandler</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="block">Handles writing, reading and importing
+ armies to and from a file.</div>
+</div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/battle/Battle.html" title="class in edu.ntnu.idatt2001.carljgu.battle">Battle</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="block">Class Battle that simulates a battle between two armies.</div>
+</div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/client/BattleController.html" title="class in edu.ntnu.idatt2001.carljgu.client">BattleController</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="block">A controller class which
+ handles events in the fxml file.</div>
+</div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/specialized/CavalryUnit.html" title="class in edu.ntnu.idatt2001.carljgu.units.specialized">CavalryUnit</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="block">Class CavalryUnit that inherits from Unit.</div>
+</div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/specialized/CommanderUnit.html" title="class in edu.ntnu.idatt2001.carljgu.units.specialized">CommanderUnit</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="block">Class CommanderUnit that inherits from CavalryUnit.</div>
+</div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/client/dialogs/DialogBox.html" title="class in edu.ntnu.idatt2001.carljgu.client.dialogs">DialogBox</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="block">A dialog box that extends alert to use
+ a builder to build a dialog box.</div>
+</div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/client/dialogs/DialogBoxBuilder.html" title="class in edu.ntnu.idatt2001.carljgu.client.dialogs">DialogBoxBuilder</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="block">A builder class which simplifies the
+ DialogBox class.</div>
+</div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab5"><a href="edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/FileExtensionException.html" title="class in edu.ntnu.idatt2001.carljgu">FileExtensionException</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab5">
+<div class="block">Thrown if an extension of a file is invalid
+ The exception thrown needs to have a message</div>
+</div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/specialized/InfantryUnit.html" title="class in edu.ntnu.idatt2001.carljgu.units.specialized">InfantryUnit</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="block">Class InfantryUnit that inherits from Unit.</div>
+</div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/client/Main.html" title="class in edu.ntnu.idatt2001.carljgu.client">Main</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="block">The main class that is run when the application
+ is called upon.</div>
+</div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/specialized/RangedUnit.html" title="class in edu.ntnu.idatt2001.carljgu.units.specialized">RangedUnit</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="block">Class RangedUnit that inherits from Unit.</div>
+</div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/battle/SimulationAttack.html" title="class in edu.ntnu.idatt2001.carljgu.battle">SimulationAttack</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="block">A class for keeping track of which unit
+ has attacked which unit.</div>
+</div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab3"><a href="edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/Terrain.html" title="enum class in edu.ntnu.idatt2001.carljgu">Terrain</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab3">
+<div class="block">En enum that represents the different terrain
+ that the battles can occur on.</div>
+</div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/Unit.html" title="class in edu.ntnu.idatt2001.carljgu.units">Unit</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="block">The abstract class Unit.</div>
+</div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/UnitFactory.html" title="class in edu.ntnu.idatt2001.carljgu.units">UnitFactory</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="block">A class to simply and elegantly create units.</div>
+</div>
+</div>
+</div>
+</div>
+</main>
+</div>
+</div>
+</body>
+</html>
diff --git a/javadoc/allpackages-index.html b/javadoc/allpackages-index.html
new file mode 100644
index 0000000..44a4fe8
--- /dev/null
+++ b/javadoc/allpackages-index.html
@@ -0,0 +1,74 @@
+<!DOCTYPE HTML>
+<html lang="en">
+<head>
+<!-- Generated by javadoc (17) on Sun May 01 19:43:43 CEST 2022 -->
+<title>All Packages</title>
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<meta name="dc.created" content="2022-05-01">
+<meta name="description" content="package index">
+<meta name="generator" content="javadoc/AllPackagesIndexWriter">
+<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<link rel="stylesheet" type="text/css" href="script-dir/jquery-ui.min.css" title="Style">
+<link rel="stylesheet" type="text/css" href="jquery-ui.overrides.css" title="Style">
+<script type="text/javascript" src="script.js"></script>
+<script type="text/javascript" src="script-dir/jquery-3.5.1.min.js"></script>
+<script type="text/javascript" src="script-dir/jquery-ui.min.js"></script>
+</head>
+<body class="all-packages-index-page">
+<script type="text/javascript">var pathtoroot = "./";
+loadScripts(document, 'script');</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<div class="flex-box">
+<header role="banner" class="flex-header">
+<nav role="navigation">
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="top-nav" id="navbar-top">
+<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
+<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
+<li><a href="edu.ntnu.idatt2001.carljgu.client/module-summary.html">Module</a></li>
+<li>Package</li>
+<li>Class</li>
+<li><a href="overview-tree.html">Tree</a></li>
+<li><a href="index-files/index-1.html">Index</a></li>
+<li><a href="help-doc.html#all-packages">Help</a></li>
+</ul>
+</div>
+<div class="sub-nav">
+<div class="nav-list-search"><label for="search-input">SEARCH:</label>
+<input type="text" id="search-input" value="search" disabled="disabled">
+<input type="reset" id="reset-button" value="reset" disabled="disabled">
+</div>
+</div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<span class="skip-nav" id="skip-navbar-top"></span></nav>
+</header>
+<div class="flex-content">
+<main role="main">
+<div class="header">
+<h1 title="All&amp;nbsp;Packages" class="title">All&nbsp;Packages</h1>
+</div>
+<div class="caption"><span>Package Summary</span></div>
+<div class="summary-table two-column-summary">
+<div class="table-header col-first">Package</div>
+<div class="table-header col-last">Description</div>
+<div class="col-first even-row-color"><a href="edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/package-summary.html">edu.ntnu.idatt2001.carljgu</a></div>
+<div class="col-last even-row-color">&nbsp;</div>
+<div class="col-first odd-row-color"><a href="edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/battle/package-summary.html">edu.ntnu.idatt2001.carljgu.battle</a></div>
+<div class="col-last odd-row-color">&nbsp;</div>
+<div class="col-first even-row-color"><a href="edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/client/package-summary.html">edu.ntnu.idatt2001.carljgu.client</a></div>
+<div class="col-last even-row-color">&nbsp;</div>
+<div class="col-first odd-row-color"><a href="edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/client/dialogs/package-summary.html">edu.ntnu.idatt2001.carljgu.client.dialogs</a></div>
+<div class="col-last odd-row-color">&nbsp;</div>
+<div class="col-first even-row-color"><a href="edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/package-summary.html">edu.ntnu.idatt2001.carljgu.units</a></div>
+<div class="col-last even-row-color">&nbsp;</div>
+<div class="col-first odd-row-color"><a href="edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/specialized/package-summary.html">edu.ntnu.idatt2001.carljgu.units.specialized</a></div>
+<div class="col-last odd-row-color">&nbsp;</div>
+</div>
+</main>
+</div>
+</div>
+</body>
+</html>
diff --git a/javadoc/constant-values.html b/javadoc/constant-values.html
new file mode 100644
index 0000000..9da2488
--- /dev/null
+++ b/javadoc/constant-values.html
@@ -0,0 +1,79 @@
+<!DOCTYPE HTML>
+<html lang="en">
+<head>
+<!-- Generated by javadoc (17) on Sun May 01 19:43:43 CEST 2022 -->
+<title>Constant Field Values</title>
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<meta name="dc.created" content="2022-05-01">
+<meta name="description" content="summary of constants">
+<meta name="generator" content="javadoc/ConstantsSummaryWriterImpl">
+<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<link rel="stylesheet" type="text/css" href="script-dir/jquery-ui.min.css" title="Style">
+<link rel="stylesheet" type="text/css" href="jquery-ui.overrides.css" title="Style">
+<script type="text/javascript" src="script.js"></script>
+<script type="text/javascript" src="script-dir/jquery-3.5.1.min.js"></script>
+<script type="text/javascript" src="script-dir/jquery-ui.min.js"></script>
+</head>
+<body class="constants-summary-page">
+<script type="text/javascript">var pathtoroot = "./";
+loadScripts(document, 'script');</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<div class="flex-box">
+<header role="banner" class="flex-header">
+<nav role="navigation">
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="top-nav" id="navbar-top">
+<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
+<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
+<li><a href="edu.ntnu.idatt2001.carljgu.client/module-summary.html">Module</a></li>
+<li>Package</li>
+<li>Class</li>
+<li><a href="overview-tree.html">Tree</a></li>
+<li><a href="index-files/index-1.html">Index</a></li>
+<li><a href="help-doc.html#constant-values">Help</a></li>
+</ul>
+</div>
+<div class="sub-nav">
+<div class="nav-list-search"><label for="search-input">SEARCH:</label>
+<input type="text" id="search-input" value="search" disabled="disabled">
+<input type="reset" id="reset-button" value="reset" disabled="disabled">
+</div>
+</div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<span class="skip-nav" id="skip-navbar-top"></span></nav>
+</header>
+<div class="flex-content">
+<main role="main">
+<div class="header">
+<h1 title="Constant Field Values" class="title">Constant Field Values</h1>
+<section class="packages">
+<h2 title="Contents">Contents</h2>
+<ul>
+<li><a href="#edu.ntnu">edu.ntnu.*</a></li>
+</ul>
+</section>
+</div>
+<section class="constants-summary" id="edu.ntnu.idatt2001.carljgu.client.dialogs">
+<h2 title="edu.ntnu">edu.ntnu.*</h2>
+<ul class="block-list">
+<li>
+<div class="caption"><span>edu.ntnu.idatt2001.carljgu.client.dialogs.<a href="edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/client/dialogs/DialogBoxBuilder.html" title="class in edu.ntnu.idatt2001.carljgu.client.dialogs">DialogBoxBuilder</a></span></div>
+<div class="summary-table three-column-summary">
+<div class="table-header col-first">Modifier and Type</div>
+<div class="table-header col-second">Constant Field</div>
+<div class="table-header col-last">Value</div>
+<div class="col-first even-row-color"><code id="edu.ntnu.idatt2001.carljgu.client.dialogs.DialogBoxBuilder.recurringDialogMessage">public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
+<div class="col-second even-row-color"><code><a href="edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/client/dialogs/DialogBoxBuilder.html#recurringDialogMessage">recurringDialogMessage</a></code></div>
+<div class="col-last even-row-color"><code>"If this a recurring and unsolvable event, please contact the creator of this program."</code></div>
+</div>
+</li>
+</ul>
+</section>
+</main>
+</div>
+</div>
+</body>
+</html>
diff --git a/javadoc/edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/ArmyFileHandler.html b/javadoc/edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/ArmyFileHandler.html
new file mode 100644
index 0000000..fa5d5f9
--- /dev/null
+++ b/javadoc/edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/ArmyFileHandler.html
@@ -0,0 +1,260 @@
+<!DOCTYPE HTML>
+<html lang="en">
+<head>
+<!-- Generated by javadoc (17) on Sun May 01 19:43:43 CEST 2022 -->
+<title>ArmyFileHandler</title>
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<meta name="dc.created" content="2022-05-01">
+<meta name="description" content="declaration: module: edu.ntnu.idatt2001.carljgu.client, package: edu.ntnu.idatt2001.carljgu, class: ArmyFileHandler">
+<meta name="generator" content="javadoc/ClassWriterImpl">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../../../../../script-dir/jquery-ui.min.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../../../../../jquery-ui.overrides.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+<script type="text/javascript" src="../../../../../script-dir/jquery-3.5.1.min.js"></script>
+<script type="text/javascript" src="../../../../../script-dir/jquery-ui.min.js"></script>
+</head>
+<body class="class-declaration-page">
+<script type="text/javascript">var evenRowColor = "even-row-color";
+var oddRowColor = "odd-row-color";
+var tableTab = "table-tab";
+var activeTableTab = "active-table-tab";
+var pathtoroot = "../../../../../";
+loadScripts(document, 'script');</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<div class="flex-box">
+<header role="banner" class="flex-header">
+<nav role="navigation">
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="top-nav" id="navbar-top">
+<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
+<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
+<li><a href="../../../../module-summary.html">Module</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="nav-bar-cell1-rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../index-files/index-1.html">Index</a></li>
+<li><a href="../../../../../help-doc.html#class">Help</a></li>
+</ul>
+</div>
+<div class="sub-nav">
+<div>
+<ul class="sub-nav-list">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor-summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method-summary">Method</a></li>
+</ul>
+<ul class="sub-nav-list">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor-detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method-detail">Method</a></li>
+</ul>
+</div>
+<div class="nav-list-search"><label for="search-input">SEARCH:</label>
+<input type="text" id="search-input" value="search" disabled="disabled">
+<input type="reset" id="reset-button" value="reset" disabled="disabled">
+</div>
+</div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<span class="skip-nav" id="skip-navbar-top"></span></nav>
+</header>
+<div class="flex-content">
+<main role="main">
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="sub-title"><span class="module-label-in-type">Module</span>&nbsp;<a href="../../../../module-summary.html">edu.ntnu.idatt2001.carljgu.client</a></div>
+<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">edu.ntnu.idatt2001.carljgu</a></div>
+<h1 title="Class ArmyFileHandler" class="title">Class ArmyFileHandler</h1>
+</div>
+<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
+<div class="inheritance">edu.ntnu.idatt2001.carljgu.ArmyFileHandler</div>
+</div>
+<section class="class-description" id="class-description">
+<hr>
+<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">ArmyFileHandler</span>
+<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></span></div>
+<div class="block">Handles writing, reading and importing
+ armies to and from a file.</div>
+<dl class="notes">
+<dt>Version:</dt>
+<dd>1.4 1.05.2022</dd>
+<dt>Author:</dt>
+<dd>Carl Gützkow</dd>
+</dl>
+</section>
+<section class="summary">
+<ul class="summary-list">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<li>
+<section class="constructor-summary" id="constructor-summary">
+<h2>Constructor Summary</h2>
+<div class="caption"><span>Constructors</span></div>
+<div class="summary-table two-column-summary">
+<div class="table-header col-first">Constructor</div>
+<div class="table-header col-last">Description</div>
+<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E()" class="member-name-link">ArmyFileHandler</a>()</code></div>
+<div class="col-last even-row-color">
+<div class="block">Constructor which initiates the readLinesSkipped arraylist</div>
+</div>
+</div>
+</section>
+</li>
+<!-- ========== METHOD SUMMARY =========== -->
+<li>
+<section class="method-summary" id="method-summary">
+<h2>Method Summary</h2>
+<div id="method-summary-table">
+<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
+<div id="method-summary-table.tabpanel" role="tabpanel">
+<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
+<div class="table-header col-first">Modifier and Type</div>
+<div class="table-header col-second">Method</div>
+<div class="table-header col-last">Description</div>
+<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
+<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getFilePath()" class="member-name-link">getFilePath</a>()</code></div>
+<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
+<div class="block">Uses the system default file explorer to get
+ a file path of the user's choice.</div>
+</div>
+<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/ArrayList.html" title="class or interface in java.util" class="external-link">ArrayList</a>&lt;<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&gt;</code></div>
+<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getReadLinesSkipped()" class="member-name-link">getReadLinesSkipped</a>()</code></div>
+<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
+<div class="block">Gets the amount of units
+ that were skipped when reading from file.</div>
+</div>
+<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="units/Army.html" title="class in edu.ntnu.idatt2001.carljgu.units">Army</a></code></div>
+<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#readArmyFromFile(java.lang.String)" class="member-name-link">readArmyFromFile</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;filePath)</code></div>
+<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
+<div class="block">Finds a specified csv file
+ and converts it to an army if it can.</div>
+</div>
+<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
+<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#writeToFile(edu.ntnu.idatt2001.carljgu.units.Army,java.lang.String)" class="member-name-link">writeToFile</a><wbr>(<a href="units/Army.html" title="class in edu.ntnu.idatt2001.carljgu.units">Army</a>&nbsp;army,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;filePath)</code></div>
+<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
+<div class="block">Creates a file to write on or writes to an existing file.</div>
+</div>
+</div>
+</div>
+</div>
+<div class="inherited-list">
+<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
+<code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#toString()" title="class or interface in java.lang" class="external-link">toString</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
+</section>
+</li>
+</ul>
+</section>
+<section class="details">
+<ul class="details-list">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<li>
+<section class="constructor-details" id="constructor-detail">
+<h2>Constructor Details</h2>
+<ul class="member-list">
+<li>
+<section class="detail" id="&lt;init&gt;()">
+<h3>ArmyFileHandler</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">ArmyFileHandler</span>()</div>
+<div class="block">Constructor which initiates the readLinesSkipped arraylist</div>
+</section>
+</li>
+</ul>
+</section>
+</li>
+<!-- ============ METHOD DETAIL ========== -->
+<li>
+<section class="method-details" id="method-detail">
+<h2>Method Details</h2>
+<ul class="member-list">
+<li>
+<section class="detail" id="getReadLinesSkipped()">
+<h3>getReadLinesSkipped</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/ArrayList.html" title="class or interface in java.util" class="external-link">ArrayList</a>&lt;<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&gt;</span>&nbsp;<span class="element-name">getReadLinesSkipped</span>()</div>
+<div class="block">Gets the amount of units
+ that were skipped when reading from file.</div>
+<dl class="notes">
+<dt>Returns:</dt>
+<dd>readLinesSkipped - amount of lines skipped when
+ reading army from file because of invalid unit.</dd>
+</dl>
+</section>
+</li>
+<li>
+<section class="detail" id="writeToFile(edu.ntnu.idatt2001.carljgu.units.Army,java.lang.String)">
+<h3>writeToFile</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">writeToFile</span><wbr><span class="parameters">(<a href="units/Army.html" title="class in edu.ntnu.idatt2001.carljgu.units">Army</a>&nbsp;army,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;filePath)</span>
+                 throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/NullPointerException.html" title="class or interface in java.lang" class="external-link">NullPointerException</a>,
+<a href="FileExtensionException.html" title="class in edu.ntnu.idatt2001.carljgu">FileExtensionException</a>,
+<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></span></div>
+<div class="block">Creates a file to write on or writes to an existing file.
+ The client should handle any exception that is thrown
+ with an error message the client creates.</div>
+<dl class="notes">
+<dt>Parameters:</dt>
+<dd><code>army</code> - Army - A collection of units that is written to a file</dd>
+<dd><code>filePath</code> - String - name of the file and its full path</dd>
+<dt>Throws:</dt>
+<dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/NullPointerException.html" title="class or interface in java.lang" class="external-link">NullPointerException</a></code> - thrown if the army is a null object</dd>
+<dd><code><a href="FileExtensionException.html" title="class in edu.ntnu.idatt2001.carljgu">FileExtensionException</a></code> - thrown if the file extension is not csv
+ because of the file name</dd>
+<dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></code> - thrown if an I/O error occurs</dd>
+</dl>
+</section>
+</li>
+<li>
+<section class="detail" id="readArmyFromFile(java.lang.String)">
+<h3>readArmyFromFile</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="units/Army.html" title="class in edu.ntnu.idatt2001.carljgu.units">Army</a></span>&nbsp;<span class="element-name">readArmyFromFile</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;filePath)</span>
+                      throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a>,
+<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/FileNotFoundException.html" title="class or interface in java.io" class="external-link">FileNotFoundException</a>,
+<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/IllegalArgumentException.html" title="class or interface in java.lang" class="external-link">IllegalArgumentException</a></span></div>
+<div class="block">Finds a specified csv file
+ and converts it to an army if it can.
+ If there is a line which has an unreadable unit
+ it will continue on the next line
+ The client should handle any exception that is thrown
+ with an error message the client creates.</div>
+<dl class="notes">
+<dt>Parameters:</dt>
+<dd><code>filePath</code> - - String - name of the file path to read from</dd>
+<dt>Returns:</dt>
+<dd>army - Army - an army read from a csv file</dd>
+<dt>Throws:</dt>
+<dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></code> - thrown if an I/O error occurs</dd>
+<dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/FileNotFoundException.html" title="class or interface in java.io" class="external-link">FileNotFoundException</a></code> - thrown if the filepath was not found</dd>
+<dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/IllegalArgumentException.html" title="class or interface in java.lang" class="external-link">IllegalArgumentException</a></code> - thrown if file extension is not csv or if army could not be created.</dd>
+</dl>
+</section>
+</li>
+<li>
+<section class="detail" id="getFilePath()">
+<h3>getFilePath</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">getFilePath</span>()</div>
+<div class="block">Uses the system default file explorer to get
+ a file path of the user's choice.
+ If a user closes the file chooser,
+ null is returned.</div>
+<dl class="notes">
+<dt>Returns:</dt>
+<dd>filePath - String - the file path of a csv file for an army</dd>
+</dl>
+</section>
+</li>
+</ul>
+</section>
+</li>
+</ul>
+</section>
+<!-- ========= END OF CLASS DATA ========= -->
+</main>
+</div>
+</div>
+</body>
+</html>
diff --git a/javadoc/edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/FileExtensionException.html b/javadoc/edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/FileExtensionException.html
new file mode 100644
index 0000000..88e2df3
--- /dev/null
+++ b/javadoc/edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/FileExtensionException.html
@@ -0,0 +1,164 @@
+<!DOCTYPE HTML>
+<html lang="en">
+<head>
+<!-- Generated by javadoc (17) on Sun May 01 19:43:43 CEST 2022 -->
+<title>FileExtensionException</title>
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<meta name="dc.created" content="2022-05-01">
+<meta name="description" content="declaration: module: edu.ntnu.idatt2001.carljgu.client, package: edu.ntnu.idatt2001.carljgu, class: FileExtensionException">
+<meta name="generator" content="javadoc/ClassWriterImpl">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../../../../../script-dir/jquery-ui.min.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../../../../../jquery-ui.overrides.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+<script type="text/javascript" src="../../../../../script-dir/jquery-3.5.1.min.js"></script>
+<script type="text/javascript" src="../../../../../script-dir/jquery-ui.min.js"></script>
+</head>
+<body class="class-declaration-page">
+<script type="text/javascript">var pathtoroot = "../../../../../";
+loadScripts(document, 'script');</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<div class="flex-box">
+<header role="banner" class="flex-header">
+<nav role="navigation">
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="top-nav" id="navbar-top">
+<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
+<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
+<li><a href="../../../../module-summary.html">Module</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="nav-bar-cell1-rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../index-files/index-1.html">Index</a></li>
+<li><a href="../../../../../help-doc.html#class">Help</a></li>
+</ul>
+</div>
+<div class="sub-nav">
+<div>
+<ul class="sub-nav-list">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor-summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method-summary">Method</a></li>
+</ul>
+<ul class="sub-nav-list">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor-detail">Constr</a>&nbsp;|&nbsp;</li>
+<li>Method</li>
+</ul>
+</div>
+<div class="nav-list-search"><label for="search-input">SEARCH:</label>
+<input type="text" id="search-input" value="search" disabled="disabled">
+<input type="reset" id="reset-button" value="reset" disabled="disabled">
+</div>
+</div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<span class="skip-nav" id="skip-navbar-top"></span></nav>
+</header>
+<div class="flex-content">
+<main role="main">
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="sub-title"><span class="module-label-in-type">Module</span>&nbsp;<a href="../../../../module-summary.html">edu.ntnu.idatt2001.carljgu.client</a></div>
+<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">edu.ntnu.idatt2001.carljgu</a></div>
+<h1 title="Class FileExtensionException" class="title">Class FileExtensionException</h1>
+</div>
+<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
+<div class="inheritance"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Throwable.html" title="class or interface in java.lang" class="external-link">java.lang.Throwable</a>
+<div class="inheritance"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Exception.html" title="class or interface in java.lang" class="external-link">java.lang.Exception</a>
+<div class="inheritance"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/RuntimeException.html" title="class or interface in java.lang" class="external-link">java.lang.RuntimeException</a>
+<div class="inheritance"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/IllegalArgumentException.html" title="class or interface in java.lang" class="external-link">java.lang.IllegalArgumentException</a>
+<div class="inheritance">edu.ntnu.idatt2001.carljgu.FileExtensionException</div>
+</div>
+</div>
+</div>
+</div>
+</div>
+<section class="class-description" id="class-description">
+<dl class="notes">
+<dt>All Implemented Interfaces:</dt>
+<dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/Serializable.html" title="class or interface in java.io" class="external-link">Serializable</a></code></dd>
+</dl>
+<hr>
+<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">FileExtensionException</span>
+<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/IllegalArgumentException.html" title="class or interface in java.lang" class="external-link">IllegalArgumentException</a></span></div>
+<div class="block">Thrown if an extension of a file is invalid
+ The exception thrown needs to have a message</div>
+<dl class="notes">
+<dt>Version:</dt>
+<dd>1.1 20.03.2022</dd>
+<dt>Author:</dt>
+<dd>Carl Gützkow</dd>
+<dt>See Also:</dt>
+<dd>
+<ul class="see-list">
+<li><a href="../../../../../serialized-form.html#edu.ntnu.idatt2001.carljgu.FileExtensionException">Serialized Form</a></li>
+</ul>
+</dd>
+</dl>
+</section>
+<section class="summary">
+<ul class="summary-list">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<li>
+<section class="constructor-summary" id="constructor-summary">
+<h2>Constructor Summary</h2>
+<div class="caption"><span>Constructors</span></div>
+<div class="summary-table two-column-summary">
+<div class="table-header col-first">Constructor</div>
+<div class="table-header col-last">Description</div>
+<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E(java.lang.String)" class="member-name-link">FileExtensionException</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;message)</code></div>
+<div class="col-last even-row-color">
+<div class="block">Constructs an exception with a detail message</div>
+</div>
+</div>
+</section>
+</li>
+<!-- ========== METHOD SUMMARY =========== -->
+<li>
+<section class="method-summary" id="method-summary">
+<h2>Method Summary</h2>
+<div class="inherited-list">
+<h3 id="methods-inherited-from-class-java.lang.Throwable">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Throwable.html" title="class or interface in java.lang" class="external-link">Throwable</a></h3>
+<code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Throwable.html#addSuppressed(java.lang.Throwable)" title="class or interface in java.lang" class="external-link">addSuppressed</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Throwable.html#fillInStackTrace()" title="class or interface in java.lang" class="external-link">fillInStackTrace</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Throwable.html#getCause()" title="class or interface in java.lang" class="external-link">getCause</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Throwable.html#getLocalizedMessage()" title="class or interface in java.lang" class="external-link">getLocalizedMessage</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Throwable.html#getMessage()" title="class or interface in java.lang" class="external-link">getMessage</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Throwable.html#getStackTrace()" title="class or interface in java.lang" class="external-link">getStackTrace</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Throwable.html#getSuppressed()" title="class or interface in java.lang" class="external-link">getSuppressed</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Throwable.html#initCause(java.lang.Throwable)" title="class or interface in java.lang" class="external-link">initCause</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Throwable.html#printStackTrace()" title="class or interface in java.lang" class="external-link">printStackTrace</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Throwable.html#printStackTrace(java.io.PrintStream)" title="class or interface in java.lang" class="external-link">printStackTrace</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Throwable.html#printStackTrace(java.io.PrintWriter)" title="class or interface in java.lang" class="external-link">printStackTrace</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Throwable.html#setStackTrace(java.lang.StackTraceElement%5B%5D)" title="class or interface in java.lang" class="external-link">setStackTrace</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Throwable.html#toString()" title="class or interface in java.lang" class="external-link">toString</a></code></div>
+<div class="inherited-list">
+<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
+<code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
+</section>
+</li>
+</ul>
+</section>
+<section class="details">
+<ul class="details-list">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<li>
+<section class="constructor-details" id="constructor-detail">
+<h2>Constructor Details</h2>
+<ul class="member-list">
+<li>
+<section class="detail" id="&lt;init&gt;(java.lang.String)">
+<h3>FileExtensionException</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">FileExtensionException</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;message)</span></div>
+<div class="block">Constructs an exception with a detail message</div>
+<dl class="notes">
+<dt>Parameters:</dt>
+<dd><code>message</code> - the detail message to display</dd>
+</dl>
+</section>
+</li>
+</ul>
+</section>
+</li>
+</ul>
+</section>
+<!-- ========= END OF CLASS DATA ========= -->
+</main>
+</div>
+</div>
+</body>
+</html>
diff --git a/javadoc/edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/Terrain.html b/javadoc/edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/Terrain.html
new file mode 100644
index 0000000..fdc22d2
--- /dev/null
+++ b/javadoc/edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/Terrain.html
@@ -0,0 +1,234 @@
+<!DOCTYPE HTML>
+<html lang="en">
+<head>
+<!-- Generated by javadoc (17) on Sun May 01 19:43:43 CEST 2022 -->
+<title>Terrain</title>
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<meta name="dc.created" content="2022-05-01">
+<meta name="description" content="declaration: module: edu.ntnu.idatt2001.carljgu.client, package: edu.ntnu.idatt2001.carljgu, enum: Terrain">
+<meta name="generator" content="javadoc/ClassWriterImpl">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../../../../../script-dir/jquery-ui.min.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../../../../../jquery-ui.overrides.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+<script type="text/javascript" src="../../../../../script-dir/jquery-3.5.1.min.js"></script>
+<script type="text/javascript" src="../../../../../script-dir/jquery-ui.min.js"></script>
+</head>
+<body class="class-declaration-page">
+<script type="text/javascript">var evenRowColor = "even-row-color";
+var oddRowColor = "odd-row-color";
+var tableTab = "table-tab";
+var activeTableTab = "active-table-tab";
+var pathtoroot = "../../../../../";
+loadScripts(document, 'script');</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<div class="flex-box">
+<header role="banner" class="flex-header">
+<nav role="navigation">
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="top-nav" id="navbar-top">
+<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
+<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
+<li><a href="../../../../module-summary.html">Module</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="nav-bar-cell1-rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../index-files/index-1.html">Index</a></li>
+<li><a href="../../../../../help-doc.html#class">Help</a></li>
+</ul>
+</div>
+<div class="sub-nav">
+<div>
+<ul class="sub-nav-list">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested-class-summary">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#enum-constant-summary">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method-summary">Method</a></li>
+</ul>
+<ul class="sub-nav-list">
+<li>Detail:&nbsp;</li>
+<li><a href="#enum-constant-detail">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method-detail">Method</a></li>
+</ul>
+</div>
+<div class="nav-list-search"><label for="search-input">SEARCH:</label>
+<input type="text" id="search-input" value="search" disabled="disabled">
+<input type="reset" id="reset-button" value="reset" disabled="disabled">
+</div>
+</div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<span class="skip-nav" id="skip-navbar-top"></span></nav>
+</header>
+<div class="flex-content">
+<main role="main">
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="sub-title"><span class="module-label-in-type">Module</span>&nbsp;<a href="../../../../module-summary.html">edu.ntnu.idatt2001.carljgu.client</a></div>
+<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">edu.ntnu.idatt2001.carljgu</a></div>
+<h1 title="Enum Class Terrain" class="title">Enum Class Terrain</h1>
+</div>
+<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
+<div class="inheritance"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Enum.html" title="class or interface in java.lang" class="external-link">java.lang.Enum</a>&lt;<a href="Terrain.html" title="enum class in edu.ntnu.idatt2001.carljgu">Terrain</a>&gt;
+<div class="inheritance">edu.ntnu.idatt2001.carljgu.Terrain</div>
+</div>
+</div>
+<section class="class-description" id="class-description">
+<dl class="notes">
+<dt>All Implemented Interfaces:</dt>
+<dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/Serializable.html" title="class or interface in java.io" class="external-link">Serializable</a></code>, <code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Comparable.html" title="class or interface in java.lang" class="external-link">Comparable</a>&lt;<a href="Terrain.html" title="enum class in edu.ntnu.idatt2001.carljgu">Terrain</a>&gt;</code>, <code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/constant/Constable.html" title="class or interface in java.lang.constant" class="external-link">Constable</a></code></dd>
+</dl>
+<hr>
+<div class="type-signature"><span class="modifiers">public enum </span><span class="element-name type-name-label">Terrain</span>
+<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Enum.html" title="class or interface in java.lang" class="external-link">Enum</a>&lt;<a href="Terrain.html" title="enum class in edu.ntnu.idatt2001.carljgu">Terrain</a>&gt;</span></div>
+<div class="block">En enum that represents the different terrain
+ that the battles can occur on.</div>
+<dl class="notes">
+<dt>Version:</dt>
+<dd>1.1 09.04.2022</dd>
+<dt>Author:</dt>
+<dd>Carl Gützkow</dd>
+</dl>
+</section>
+<section class="summary">
+<ul class="summary-list">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<li>
+<section class="nested-class-summary" id="nested-class-summary">
+<h2>Nested Class Summary</h2>
+<div class="inherited-list">
+<h2 id="nested-classes-inherited-from-class-java.lang.Enum">Nested classes/interfaces inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Enum.html" title="class or interface in java.lang" class="external-link">Enum</a></h2>
+<code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Enum.EnumDesc.html" title="class or interface in java.lang" class="external-link">Enum.EnumDesc</a>&lt;<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Enum.EnumDesc.html" title="class or interface in java.lang" class="external-link">E</a> extends <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Enum.html" title="class or interface in java.lang" class="external-link">Enum</a>&lt;<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Enum.EnumDesc.html" title="class or interface in java.lang" class="external-link">E</a>&gt;&gt;</code></div>
+</section>
+</li>
+<!-- =========== ENUM CONSTANT SUMMARY =========== -->
+<li>
+<section class="constants-summary" id="enum-constant-summary">
+<h2>Enum Constant Summary</h2>
+<div class="caption"><span>Enum Constants</span></div>
+<div class="summary-table two-column-summary">
+<div class="table-header col-first">Enum Constant</div>
+<div class="table-header col-last">Description</div>
+<div class="col-first even-row-color"><code><a href="#FOREST" class="member-name-link">FOREST</a></code></div>
+<div class="col-last even-row-color">&nbsp;</div>
+<div class="col-first odd-row-color"><code><a href="#HILL" class="member-name-link">HILL</a></code></div>
+<div class="col-last odd-row-color">&nbsp;</div>
+<div class="col-first even-row-color"><code><a href="#PLAINS" class="member-name-link">PLAINS</a></code></div>
+<div class="col-last even-row-color">&nbsp;</div>
+</div>
+</section>
+</li>
+<!-- ========== METHOD SUMMARY =========== -->
+<li>
+<section class="method-summary" id="method-summary">
+<h2>Method Summary</h2>
+<div id="method-summary-table">
+<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab1" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab1', 3)" class="table-tab">Static Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
+<div id="method-summary-table.tabpanel" role="tabpanel">
+<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
+<div class="table-header col-first">Modifier and Type</div>
+<div class="table-header col-second">Method</div>
+<div class="table-header col-last">Description</div>
+<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="Terrain.html" title="enum class in edu.ntnu.idatt2001.carljgu">Terrain</a></code></div>
+<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#valueOf(java.lang.String)" class="member-name-link">valueOf</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name)</code></div>
+<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
+<div class="block">Returns the enum constant of this class with the specified name.</div>
+</div>
+<div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="Terrain.html" title="enum class in edu.ntnu.idatt2001.carljgu">Terrain</a>[]</code></div>
+<div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#values()" class="member-name-link">values</a>()</code></div>
+<div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
+<div class="block">Returns an array containing the constants of this enum class, in
+the order they are declared.</div>
+</div>
+</div>
+</div>
+</div>
+<div class="inherited-list">
+<h3 id="methods-inherited-from-class-java.lang.Enum">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Enum.html" title="class or interface in java.lang" class="external-link">Enum</a></h3>
+<code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Enum.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Enum.html#compareTo(E)" title="class or interface in java.lang" class="external-link">compareTo</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Enum.html#describeConstable()" title="class or interface in java.lang" class="external-link">describeConstable</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Enum.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Enum.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Enum.html#getDeclaringClass()" title="class or interface in java.lang" class="external-link">getDeclaringClass</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Enum.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Enum.html#name()" title="class or interface in java.lang" class="external-link">name</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Enum.html#ordinal()" title="class or interface in java.lang" class="external-link">ordinal</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Enum.html#toString()" title="class or interface in java.lang" class="external-link">toString</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Enum.html#valueOf(java.lang.Class,java.lang.String)" title="class or interface in java.lang" class="external-link">valueOf</a></code></div>
+<div class="inherited-list">
+<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
+<code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
+</section>
+</li>
+</ul>
+</section>
+<section class="details">
+<ul class="details-list">
+<!-- ============ ENUM CONSTANT DETAIL =========== -->
+<li>
+<section class="constant-details" id="enum-constant-detail">
+<h2>Enum Constant Details</h2>
+<ul class="member-list">
+<li>
+<section class="detail" id="HILL">
+<h3>HILL</h3>
+<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type"><a href="Terrain.html" title="enum class in edu.ntnu.idatt2001.carljgu">Terrain</a></span>&nbsp;<span class="element-name">HILL</span></div>
+</section>
+</li>
+<li>
+<section class="detail" id="PLAINS">
+<h3>PLAINS</h3>
+<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type"><a href="Terrain.html" title="enum class in edu.ntnu.idatt2001.carljgu">Terrain</a></span>&nbsp;<span class="element-name">PLAINS</span></div>
+</section>
+</li>
+<li>
+<section class="detail" id="FOREST">
+<h3>FOREST</h3>
+<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type"><a href="Terrain.html" title="enum class in edu.ntnu.idatt2001.carljgu">Terrain</a></span>&nbsp;<span class="element-name">FOREST</span></div>
+</section>
+</li>
+</ul>
+</section>
+</li>
+<!-- ============ METHOD DETAIL ========== -->
+<li>
+<section class="method-details" id="method-detail">
+<h2>Method Details</h2>
+<ul class="member-list">
+<li>
+<section class="detail" id="values()">
+<h3>values</h3>
+<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="Terrain.html" title="enum class in edu.ntnu.idatt2001.carljgu">Terrain</a>[]</span>&nbsp;<span class="element-name">values</span>()</div>
+<div class="block">Returns an array containing the constants of this enum class, in
+the order they are declared.</div>
+<dl class="notes">
+<dt>Returns:</dt>
+<dd>an array containing the constants of this enum class, in the order they are declared</dd>
+</dl>
+</section>
+</li>
+<li>
+<section class="detail" id="valueOf(java.lang.String)">
+<h3>valueOf</h3>
+<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="Terrain.html" title="enum class in edu.ntnu.idatt2001.carljgu">Terrain</a></span>&nbsp;<span class="element-name">valueOf</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name)</span></div>
+<div class="block">Returns the enum constant of this class with the specified name.
+The string must match <i>exactly</i> an identifier used to declare an
+enum constant in this class.  (Extraneous whitespace characters are 
+not permitted.)</div>
+<dl class="notes">
+<dt>Parameters:</dt>
+<dd><code>name</code> - the name of the enum constant to be returned.</dd>
+<dt>Returns:</dt>
+<dd>the enum constant with the specified name</dd>
+<dt>Throws:</dt>
+<dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/IllegalArgumentException.html" title="class or interface in java.lang" class="external-link">IllegalArgumentException</a></code> - if this enum class has no constant with the specified name</dd>
+<dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/NullPointerException.html" title="class or interface in java.lang" class="external-link">NullPointerException</a></code> - if the argument is null</dd>
+</dl>
+</section>
+</li>
+</ul>
+</section>
+</li>
+</ul>
+</section>
+<!-- ========= END OF CLASS DATA ========= -->
+</main>
+</div>
+</div>
+</body>
+</html>
diff --git a/javadoc/edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/battle/Battle.html b/javadoc/edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/battle/Battle.html
new file mode 100644
index 0000000..9e92798
--- /dev/null
+++ b/javadoc/edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/battle/Battle.html
@@ -0,0 +1,278 @@
+<!DOCTYPE HTML>
+<html lang="en">
+<head>
+<!-- Generated by javadoc (17) on Sun May 01 19:43:43 CEST 2022 -->
+<title>Battle</title>
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<meta name="dc.created" content="2022-05-01">
+<meta name="description" content="declaration: module: edu.ntnu.idatt2001.carljgu.client, package: edu.ntnu.idatt2001.carljgu.battle, class: Battle">
+<meta name="generator" content="javadoc/ClassWriterImpl">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../../../../../../script-dir/jquery-ui.min.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../../../../../../jquery-ui.overrides.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+<script type="text/javascript" src="../../../../../../script-dir/jquery-3.5.1.min.js"></script>
+<script type="text/javascript" src="../../../../../../script-dir/jquery-ui.min.js"></script>
+</head>
+<body class="class-declaration-page">
+<script type="text/javascript">var evenRowColor = "even-row-color";
+var oddRowColor = "odd-row-color";
+var tableTab = "table-tab";
+var activeTableTab = "active-table-tab";
+var pathtoroot = "../../../../../../";
+loadScripts(document, 'script');</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<div class="flex-box">
+<header role="banner" class="flex-header">
+<nav role="navigation">
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="top-nav" id="navbar-top">
+<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
+<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
+<li><a href="../../../../../module-summary.html">Module</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="nav-bar-cell1-rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../index-files/index-1.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html#class">Help</a></li>
+</ul>
+</div>
+<div class="sub-nav">
+<div>
+<ul class="sub-nav-list">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor-summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method-summary">Method</a></li>
+</ul>
+<ul class="sub-nav-list">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor-detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method-detail">Method</a></li>
+</ul>
+</div>
+<div class="nav-list-search"><label for="search-input">SEARCH:</label>
+<input type="text" id="search-input" value="search" disabled="disabled">
+<input type="reset" id="reset-button" value="reset" disabled="disabled">
+</div>
+</div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<span class="skip-nav" id="skip-navbar-top"></span></nav>
+</header>
+<div class="flex-content">
+<main role="main">
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="sub-title"><span class="module-label-in-type">Module</span>&nbsp;<a href="../../../../../module-summary.html">edu.ntnu.idatt2001.carljgu.client</a></div>
+<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">edu.ntnu.idatt2001.carljgu.battle</a></div>
+<h1 title="Class Battle" class="title">Class Battle</h1>
+</div>
+<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
+<div class="inheritance">edu.ntnu.idatt2001.carljgu.battle.Battle</div>
+</div>
+<section class="class-description" id="class-description">
+<hr>
+<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">Battle</span>
+<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></span></div>
+<div class="block">Class Battle that simulates a battle between two armies.</div>
+<dl class="notes">
+<dt>Version:</dt>
+<dd>1.3 30.04.2022</dd>
+<dt>Author:</dt>
+<dd>Carl Gützkow</dd>
+</dl>
+</section>
+<section class="summary">
+<ul class="summary-list">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<li>
+<section class="constructor-summary" id="constructor-summary">
+<h2>Constructor Summary</h2>
+<div class="caption"><span>Constructors</span></div>
+<div class="summary-table two-column-summary">
+<div class="table-header col-first">Constructor</div>
+<div class="table-header col-last">Description</div>
+<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E(edu.ntnu.idatt2001.carljgu.units.Army,edu.ntnu.idatt2001.carljgu.units.Army,edu.ntnu.idatt2001.carljgu.Terrain)" class="member-name-link">Battle</a><wbr>(<a href="../units/Army.html" title="class in edu.ntnu.idatt2001.carljgu.units">Army</a>&nbsp;armyOne,
+ <a href="../units/Army.html" title="class in edu.ntnu.idatt2001.carljgu.units">Army</a>&nbsp;armyTwo,
+ <a href="../Terrain.html" title="enum class in edu.ntnu.idatt2001.carljgu">Terrain</a>&nbsp;terrain)</code></div>
+<div class="col-last even-row-color">
+<div class="block">Instantiates a new Battle.</div>
+</div>
+</div>
+</section>
+</li>
+<!-- ========== METHOD SUMMARY =========== -->
+<li>
+<section class="method-summary" id="method-summary">
+<h2>Method Summary</h2>
+<div id="method-summary-table">
+<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
+<div id="method-summary-table.tabpanel" role="tabpanel">
+<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
+<div class="table-header col-first">Modifier and Type</div>
+<div class="table-header col-second">Method</div>
+<div class="table-header col-last">Description</div>
+<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/ArrayList.html" title="class or interface in java.util" class="external-link">ArrayList</a>&lt;<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&gt;</code></div>
+<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getAttackLog()" class="member-name-link">getAttackLog</a>()</code></div>
+<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
+<div class="block">Returns the log of attacks
+ to easily hold the information
+ about each attack.</div>
+</div>
+<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../Terrain.html" title="enum class in edu.ntnu.idatt2001.carljgu">Terrain</a></code></div>
+<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getTerrain()" class="member-name-link">getTerrain</a>()</code></div>
+<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
+<div class="block">Gets the terrain where
+ the battle occurs.</div>
+</div>
+<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../units/Army.html" title="class in edu.ntnu.idatt2001.carljgu.units">Army</a></code></div>
+<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getWinner()" class="member-name-link">getWinner</a>()</code></div>
+<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
+<div class="block">Gets the winner of the army
+ or a null object</div>
+</div>
+<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../units/Army.html" title="class in edu.ntnu.idatt2001.carljgu.units">Army</a></code></div>
+<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#simulate()" class="member-name-link">simulate</a>()</code></div>
+<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
+<div class="block">Simulate a battle.</div>
+</div>
+<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
+<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#toString()" class="member-name-link">toString</a>()</code></div>
+<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
+<div class="block">Overrides toString() method from Object.</div>
+</div>
+</div>
+</div>
+</div>
+<div class="inherited-list">
+<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
+<code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
+</section>
+</li>
+</ul>
+</section>
+<section class="details">
+<ul class="details-list">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<li>
+<section class="constructor-details" id="constructor-detail">
+<h2>Constructor Details</h2>
+<ul class="member-list">
+<li>
+<section class="detail" id="&lt;init&gt;(edu.ntnu.idatt2001.carljgu.units.Army,edu.ntnu.idatt2001.carljgu.units.Army,edu.ntnu.idatt2001.carljgu.Terrain)">
+<h3>Battle</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">Battle</span><wbr><span class="parameters">(<a href="../units/Army.html" title="class in edu.ntnu.idatt2001.carljgu.units">Army</a>&nbsp;armyOne,
+ <a href="../units/Army.html" title="class in edu.ntnu.idatt2001.carljgu.units">Army</a>&nbsp;armyTwo,
+ <a href="../Terrain.html" title="enum class in edu.ntnu.idatt2001.carljgu">Terrain</a>&nbsp;terrain)</span>
+       throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/IllegalArgumentException.html" title="class or interface in java.lang" class="external-link">IllegalArgumentException</a></span></div>
+<div class="block">Instantiates a new Battle.</div>
+<dl class="notes">
+<dt>Parameters:</dt>
+<dd><code>armyOne</code> - Army - the first army</dd>
+<dd><code>armyTwo</code> - Army - the second army</dd>
+<dd><code>terrain</code> - Terrain - on what terrain the battle is fought on.</dd>
+<dt>Throws:</dt>
+<dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/IllegalArgumentException.html" title="class or interface in java.lang" class="external-link">IllegalArgumentException</a></code> - thrown if one of the armies are empty,
+ if armies are equal or if terrain is not defined</dd>
+<dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/NullPointerException.html" title="class or interface in java.lang" class="external-link">NullPointerException</a></code> - thrown if one of the armies are null object</dd>
+</dl>
+</section>
+</li>
+</ul>
+</section>
+</li>
+<!-- ============ METHOD DETAIL ========== -->
+<li>
+<section class="method-details" id="method-detail">
+<h2>Method Details</h2>
+<ul class="member-list">
+<li>
+<section class="detail" id="getWinner()">
+<h3>getWinner</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../units/Army.html" title="class in edu.ntnu.idatt2001.carljgu.units">Army</a></span>&nbsp;<span class="element-name">getWinner</span>()</div>
+<div class="block">Gets the winner of the army
+ or a null object</div>
+<dl class="notes">
+<dt>Returns:</dt>
+<dd>winner - Army - winner of the simulated battle</dd>
+</dl>
+</section>
+</li>
+<li>
+<section class="detail" id="getAttackLog()">
+<h3>getAttackLog</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/ArrayList.html" title="class or interface in java.util" class="external-link">ArrayList</a>&lt;<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&gt;</span>&nbsp;<span class="element-name">getAttackLog</span>()</div>
+<div class="block">Returns the log of attacks
+ to easily hold the information
+ about each attack.</div>
+<dl class="notes">
+<dt>Returns:</dt>
+<dd>attackLog - ArrayList - a list of all the attacks
+ performed in the simulation.</dd>
+</dl>
+</section>
+</li>
+<li>
+<section class="detail" id="getTerrain()">
+<h3>getTerrain</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../Terrain.html" title="enum class in edu.ntnu.idatt2001.carljgu">Terrain</a></span>&nbsp;<span class="element-name">getTerrain</span>()</div>
+<div class="block">Gets the terrain where
+ the battle occurs.</div>
+<dl class="notes">
+<dt>Returns:</dt>
+<dd>terrain - Terrain - on what terrain the battle is fought on.</dd>
+</dl>
+</section>
+</li>
+<li>
+<section class="detail" id="simulate()">
+<h3>simulate</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../units/Army.html" title="class in edu.ntnu.idatt2001.carljgu.units">Army</a></span>&nbsp;<span class="element-name">simulate</span>()</div>
+<div class="block">Simulate a battle.
+ The attacking army is chosen at random.
+ One random unit from the attacking army attacks
+ a random unit from the defending army.
+ Uses the SimulationAttack class to simulate an attack
+ and puts that information in an arraylist.
+ If the defender has no health left it is removed.
+ The simulations run until one army
+ has no units left.
+ Since the chosen army to attack is random,
+ it is theoretically possible in all cases
+ for an army to win without taking any
+ causalities.</div>
+<dl class="notes">
+<dt>Returns:</dt>
+<dd>winner - Army - the army that won.</dd>
+</dl>
+</section>
+</li>
+<li>
+<section class="detail" id="toString()">
+<h3>toString</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">toString</span>()</div>
+<div class="block">Overrides toString() method from Object.</div>
+<dl class="notes">
+<dt>Overrides:</dt>
+<dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#toString()" title="class or interface in java.lang" class="external-link">toString</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></code></dd>
+<dt>Returns:</dt>
+<dd>String - string representation of the battle.</dd>
+</dl>
+</section>
+</li>
+</ul>
+</section>
+</li>
+</ul>
+</section>
+<!-- ========= END OF CLASS DATA ========= -->
+</main>
+</div>
+</div>
+</body>
+</html>
diff --git a/javadoc/edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/battle/SimulationAttack.html b/javadoc/edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/battle/SimulationAttack.html
new file mode 100644
index 0000000..0416ffc
--- /dev/null
+++ b/javadoc/edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/battle/SimulationAttack.html
@@ -0,0 +1,322 @@
+<!DOCTYPE HTML>
+<html lang="en">
+<head>
+<!-- Generated by javadoc (17) on Sun May 01 19:43:43 CEST 2022 -->
+<title>SimulationAttack</title>
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<meta name="dc.created" content="2022-05-01">
+<meta name="description" content="declaration: module: edu.ntnu.idatt2001.carljgu.client, package: edu.ntnu.idatt2001.carljgu.battle, class: SimulationAttack">
+<meta name="generator" content="javadoc/ClassWriterImpl">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../../../../../../script-dir/jquery-ui.min.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../../../../../../jquery-ui.overrides.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+<script type="text/javascript" src="../../../../../../script-dir/jquery-3.5.1.min.js"></script>
+<script type="text/javascript" src="../../../../../../script-dir/jquery-ui.min.js"></script>
+</head>
+<body class="class-declaration-page">
+<script type="text/javascript">var evenRowColor = "even-row-color";
+var oddRowColor = "odd-row-color";
+var tableTab = "table-tab";
+var activeTableTab = "active-table-tab";
+var pathtoroot = "../../../../../../";
+loadScripts(document, 'script');</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<div class="flex-box">
+<header role="banner" class="flex-header">
+<nav role="navigation">
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="top-nav" id="navbar-top">
+<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
+<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
+<li><a href="../../../../../module-summary.html">Module</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="nav-bar-cell1-rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../index-files/index-1.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html#class">Help</a></li>
+</ul>
+</div>
+<div class="sub-nav">
+<div>
+<ul class="sub-nav-list">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor-summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method-summary">Method</a></li>
+</ul>
+<ul class="sub-nav-list">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor-detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method-detail">Method</a></li>
+</ul>
+</div>
+<div class="nav-list-search"><label for="search-input">SEARCH:</label>
+<input type="text" id="search-input" value="search" disabled="disabled">
+<input type="reset" id="reset-button" value="reset" disabled="disabled">
+</div>
+</div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<span class="skip-nav" id="skip-navbar-top"></span></nav>
+</header>
+<div class="flex-content">
+<main role="main">
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="sub-title"><span class="module-label-in-type">Module</span>&nbsp;<a href="../../../../../module-summary.html">edu.ntnu.idatt2001.carljgu.client</a></div>
+<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">edu.ntnu.idatt2001.carljgu.battle</a></div>
+<h1 title="Class SimulationAttack" class="title">Class SimulationAttack</h1>
+</div>
+<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
+<div class="inheritance">edu.ntnu.idatt2001.carljgu.battle.SimulationAttack</div>
+</div>
+<section class="class-description" id="class-description">
+<hr>
+<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">SimulationAttack</span>
+<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></span></div>
+<div class="block">A class for keeping track of which unit
+ has attacked which unit. Helpful when
+ logging out this information.</div>
+<dl class="notes">
+<dt>Version:</dt>
+<dd>1.2 09.04.2022</dd>
+<dt>Author:</dt>
+<dd>Carl Gützkow</dd>
+</dl>
+</section>
+<section class="summary">
+<ul class="summary-list">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<li>
+<section class="constructor-summary" id="constructor-summary">
+<h2>Constructor Summary</h2>
+<div class="caption"><span>Constructors</span></div>
+<div class="summary-table two-column-summary">
+<div class="table-header col-first">Constructor</div>
+<div class="table-header col-last">Description</div>
+<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E(edu.ntnu.idatt2001.carljgu.units.Army,edu.ntnu.idatt2001.carljgu.units.Unit,edu.ntnu.idatt2001.carljgu.units.Army,edu.ntnu.idatt2001.carljgu.units.Unit,edu.ntnu.idatt2001.carljgu.Terrain)" class="member-name-link">SimulationAttack</a><wbr>(<a href="../units/Army.html" title="class in edu.ntnu.idatt2001.carljgu.units">Army</a>&nbsp;attackingArmy,
+ <a href="../units/Unit.html" title="class in edu.ntnu.idatt2001.carljgu.units">Unit</a>&nbsp;attacker,
+ <a href="../units/Army.html" title="class in edu.ntnu.idatt2001.carljgu.units">Army</a>&nbsp;defendingArmy,
+ <a href="../units/Unit.html" title="class in edu.ntnu.idatt2001.carljgu.units">Unit</a>&nbsp;defender,
+ <a href="../Terrain.html" title="enum class in edu.ntnu.idatt2001.carljgu">Terrain</a>&nbsp;terrain)</code></div>
+<div class="col-last even-row-color">
+<div class="block">The constructor for a simulation attack.</div>
+</div>
+</div>
+</section>
+</li>
+<!-- ========== METHOD SUMMARY =========== -->
+<li>
+<section class="method-summary" id="method-summary">
+<h2>Method Summary</h2>
+<div id="method-summary-table">
+<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
+<div id="method-summary-table.tabpanel" role="tabpanel">
+<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
+<div class="table-header col-first">Modifier and Type</div>
+<div class="table-header col-second">Method</div>
+<div class="table-header col-last">Description</div>
+<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../units/Unit.html" title="class in edu.ntnu.idatt2001.carljgu.units">Unit</a></code></div>
+<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getAttacker()" class="member-name-link">getAttacker</a>()</code></div>
+<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
+<div class="block">Gets the attacker.</div>
+</div>
+<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../units/Army.html" title="class in edu.ntnu.idatt2001.carljgu.units">Army</a></code></div>
+<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getAttackingArmy()" class="member-name-link">getAttackingArmy</a>()</code></div>
+<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
+<div class="block">Gets the attacking army with the
+ attacking unit.</div>
+</div>
+<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>int</code></div>
+<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getDamageDealt()" class="member-name-link">getDamageDealt</a>()</code></div>
+<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
+<div class="block">Gets the damage done by
+ the attacker to the defender.</div>
+</div>
+<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../units/Unit.html" title="class in edu.ntnu.idatt2001.carljgu.units">Unit</a></code></div>
+<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getDefender()" class="member-name-link">getDefender</a>()</code></div>
+<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
+<div class="block">Gets the defender.</div>
+</div>
+<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../units/Army.html" title="class in edu.ntnu.idatt2001.carljgu.units">Army</a></code></div>
+<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getDefendingArmy()" class="member-name-link">getDefendingArmy</a>()</code></div>
+<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
+<div class="block">Gets the defending army with the
+ defending unit.</div>
+</div>
+<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../Terrain.html" title="enum class in edu.ntnu.idatt2001.carljgu">Terrain</a></code></div>
+<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getTerrain()" class="member-name-link">getTerrain</a>()</code></div>
+<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
+<div class="block">Gets the terrain where
+ the attack occurs.</div>
+</div>
+<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
+<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#toString()" class="member-name-link">toString</a>()</code></div>
+<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
+<div class="block">Overrides the toString() method
+ and returns an output used in the
+ GUI.</div>
+</div>
+</div>
+</div>
+</div>
+<div class="inherited-list">
+<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
+<code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
+</section>
+</li>
+</ul>
+</section>
+<section class="details">
+<ul class="details-list">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<li>
+<section class="constructor-details" id="constructor-detail">
+<h2>Constructor Details</h2>
+<ul class="member-list">
+<li>
+<section class="detail" id="&lt;init&gt;(edu.ntnu.idatt2001.carljgu.units.Army,edu.ntnu.idatt2001.carljgu.units.Unit,edu.ntnu.idatt2001.carljgu.units.Army,edu.ntnu.idatt2001.carljgu.units.Unit,edu.ntnu.idatt2001.carljgu.Terrain)">
+<h3>SimulationAttack</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">SimulationAttack</span><wbr><span class="parameters">(<a href="../units/Army.html" title="class in edu.ntnu.idatt2001.carljgu.units">Army</a>&nbsp;attackingArmy,
+ <a href="../units/Unit.html" title="class in edu.ntnu.idatt2001.carljgu.units">Unit</a>&nbsp;attacker,
+ <a href="../units/Army.html" title="class in edu.ntnu.idatt2001.carljgu.units">Army</a>&nbsp;defendingArmy,
+ <a href="../units/Unit.html" title="class in edu.ntnu.idatt2001.carljgu.units">Unit</a>&nbsp;defender,
+ <a href="../Terrain.html" title="enum class in edu.ntnu.idatt2001.carljgu">Terrain</a>&nbsp;terrain)</span>
+                 throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/IllegalArgumentException.html" title="class or interface in java.lang" class="external-link">IllegalArgumentException</a></span></div>
+<div class="block">The constructor for a simulation attack.
+ After checking the units are actually
+ in their corresponding army, the attacker
+ will perform its attack on the defender.
+ The return value of this method is
+ then put into the damage attribute.
+ If the attack gets a defender to less
+ than zero health, it is removed from the army</div>
+<dl class="notes">
+<dt>Parameters:</dt>
+<dd><code>attackingArmy</code> - Army - the army with the unit attacking the defender</dd>
+<dd><code>attacker</code> - Unit - the attacker performing its attack on the defender</dd>
+<dd><code>defendingArmy</code> - Army - the army with the unit defending from the attacker</dd>
+<dd><code>defender</code> - Unit - the unit defending from the attackers attack</dd>
+<dd><code>terrain</code> - Terrain - the terrain where the attack occurs.</dd>
+<dt>Throws:</dt>
+<dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/IllegalArgumentException.html" title="class or interface in java.lang" class="external-link">IllegalArgumentException</a></code> - thrown if the attacker is not part of the attacking army or the defender is not part of the defending army.</dd>
+</dl>
+</section>
+</li>
+</ul>
+</section>
+</li>
+<!-- ============ METHOD DETAIL ========== -->
+<li>
+<section class="method-details" id="method-detail">
+<h2>Method Details</h2>
+<ul class="member-list">
+<li>
+<section class="detail" id="getAttackingArmy()">
+<h3>getAttackingArmy</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../units/Army.html" title="class in edu.ntnu.idatt2001.carljgu.units">Army</a></span>&nbsp;<span class="element-name">getAttackingArmy</span>()</div>
+<div class="block">Gets the attacking army with the
+ attacking unit.</div>
+<dl class="notes">
+<dt>Returns:</dt>
+<dd>attackingArmy - Army - the army with
+ the attacking unit.</dd>
+</dl>
+</section>
+</li>
+<li>
+<section class="detail" id="getAttacker()">
+<h3>getAttacker</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../units/Unit.html" title="class in edu.ntnu.idatt2001.carljgu.units">Unit</a></span>&nbsp;<span class="element-name">getAttacker</span>()</div>
+<div class="block">Gets the attacker.</div>
+<dl class="notes">
+<dt>Returns:</dt>
+<dd>attacker - Unit - the attacker</dd>
+</dl>
+</section>
+</li>
+<li>
+<section class="detail" id="getDefendingArmy()">
+<h3>getDefendingArmy</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../units/Army.html" title="class in edu.ntnu.idatt2001.carljgu.units">Army</a></span>&nbsp;<span class="element-name">getDefendingArmy</span>()</div>
+<div class="block">Gets the defending army with the
+ defending unit.</div>
+<dl class="notes">
+<dt>Returns:</dt>
+<dd>defendingArmy - Army - the army with
+ the defending unit.</dd>
+</dl>
+</section>
+</li>
+<li>
+<section class="detail" id="getDefender()">
+<h3>getDefender</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../units/Unit.html" title="class in edu.ntnu.idatt2001.carljgu.units">Unit</a></span>&nbsp;<span class="element-name">getDefender</span>()</div>
+<div class="block">Gets the defender.</div>
+<dl class="notes">
+<dt>Returns:</dt>
+<dd>defender - Unit - the defender</dd>
+</dl>
+</section>
+</li>
+<li>
+<section class="detail" id="getDamageDealt()">
+<h3>getDamageDealt</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">getDamageDealt</span>()</div>
+<div class="block">Gets the damage done by
+ the attacker to the defender.</div>
+<dl class="notes">
+<dt>Returns:</dt>
+<dd>damageDone - int - the
+ damage done by the attacker
+ to the defender</dd>
+</dl>
+</section>
+</li>
+<li>
+<section class="detail" id="getTerrain()">
+<h3>getTerrain</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../Terrain.html" title="enum class in edu.ntnu.idatt2001.carljgu">Terrain</a></span>&nbsp;<span class="element-name">getTerrain</span>()</div>
+<div class="block">Gets the terrain where
+ the attack occurs.</div>
+<dl class="notes">
+<dt>Returns:</dt>
+<dd>terrain - Terrain - the specified terrain.</dd>
+</dl>
+</section>
+</li>
+<li>
+<section class="detail" id="toString()">
+<h3>toString</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">toString</span>()</div>
+<div class="block">Overrides the toString() method
+ and returns an output used in the
+ GUI. Information displayed is the
+ name of the attacking and defending army,
+ unit information like name and class
+ as well as how much damage was outputted
+ from the attack. In addition, the
+ defender's health after the attack is shown</div>
+<dl class="notes">
+<dt>Overrides:</dt>
+<dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#toString()" title="class or interface in java.lang" class="external-link">toString</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></code></dd>
+<dt>Returns:</dt>
+</dl>
+</section>
+</li>
+</ul>
+</section>
+</li>
+</ul>
+</section>
+<!-- ========= END OF CLASS DATA ========= -->
+</main>
+</div>
+</div>
+</body>
+</html>
diff --git a/javadoc/edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/battle/package-summary.html b/javadoc/edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/battle/package-summary.html
new file mode 100644
index 0000000..038ac3e
--- /dev/null
+++ b/javadoc/edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/battle/package-summary.html
@@ -0,0 +1,105 @@
+<!DOCTYPE HTML>
+<html lang="en">
+<head>
+<!-- Generated by javadoc (17) on Sun May 01 19:43:43 CEST 2022 -->
+<title>edu.ntnu.idatt2001.carljgu.battle</title>
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<meta name="dc.created" content="2022-05-01">
+<meta name="description" content="declaration: module: edu.ntnu.idatt2001.carljgu.client, package: edu.ntnu.idatt2001.carljgu.battle">
+<meta name="generator" content="javadoc/PackageWriterImpl">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../../../../../../script-dir/jquery-ui.min.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../../../../../../jquery-ui.overrides.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+<script type="text/javascript" src="../../../../../../script-dir/jquery-3.5.1.min.js"></script>
+<script type="text/javascript" src="../../../../../../script-dir/jquery-ui.min.js"></script>
+</head>
+<body class="package-declaration-page">
+<script type="text/javascript">var pathtoroot = "../../../../../../";
+loadScripts(document, 'script');</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<div class="flex-box">
+<header role="banner" class="flex-header">
+<nav role="navigation">
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="top-nav" id="navbar-top">
+<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
+<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
+<li><a href="../../../../../module-summary.html">Module</a></li>
+<li class="nav-bar-cell1-rev">Package</li>
+<li>Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../index-files/index-1.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html#package">Help</a></li>
+</ul>
+</div>
+<div class="sub-nav">
+<div>
+<ul class="sub-nav-list">
+<li>Package:&nbsp;</li>
+<li>Description&nbsp;|&nbsp;</li>
+<li><a href="#related-package-summary">Related Packages</a>&nbsp;|&nbsp;</li>
+<li><a href="#class-summary">Classes and Interfaces</a></li>
+</ul>
+</div>
+<div class="nav-list-search"><label for="search-input">SEARCH:</label>
+<input type="text" id="search-input" value="search" disabled="disabled">
+<input type="reset" id="reset-button" value="reset" disabled="disabled">
+</div>
+</div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<span class="skip-nav" id="skip-navbar-top"></span></nav>
+</header>
+<div class="flex-content">
+<main role="main">
+<div class="header">
+<div class="sub-title"><span class="module-label-in-package">Module</span>&nbsp;<a href="../../../../../module-summary.html">edu.ntnu.idatt2001.carljgu.client</a></div>
+<h1 title="Package edu.ntnu.idatt2001.carljgu.battle" class="title">Package edu.ntnu.idatt2001.carljgu.battle</h1>
+</div>
+<hr>
+<div class="package-signature">package <span class="element-name">edu.ntnu.idatt2001.carljgu.battle</span></div>
+<section class="summary">
+<ul class="summary-list">
+<li>
+<div id="related-package-summary">
+<div class="caption"><span>Related Packages</span></div>
+<div class="summary-table two-column-summary">
+<div class="table-header col-first">Package</div>
+<div class="table-header col-last">Description</div>
+<div class="col-first even-row-color"><a href="../package-summary.html">edu.ntnu.idatt2001.carljgu</a></div>
+<div class="col-last even-row-color">&nbsp;</div>
+<div class="col-first odd-row-color"><a href="../client/package-summary.html">edu.ntnu.idatt2001.carljgu.client</a></div>
+<div class="col-last odd-row-color">&nbsp;</div>
+<div class="col-first even-row-color"><a href="../units/package-summary.html">edu.ntnu.idatt2001.carljgu.units</a></div>
+<div class="col-last even-row-color">&nbsp;</div>
+</div>
+</div>
+</li>
+<li>
+<div id="class-summary">
+<div class="caption"><span>Classes</span></div>
+<div class="summary-table two-column-summary">
+<div class="table-header col-first">Class</div>
+<div class="table-header col-last">Description</div>
+<div class="col-first even-row-color class-summary class-summary-tab2"><a href="Battle.html" title="class in edu.ntnu.idatt2001.carljgu.battle">Battle</a></div>
+<div class="col-last even-row-color class-summary class-summary-tab2">
+<div class="block">Class Battle that simulates a battle between two armies.</div>
+</div>
+<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="SimulationAttack.html" title="class in edu.ntnu.idatt2001.carljgu.battle">SimulationAttack</a></div>
+<div class="col-last odd-row-color class-summary class-summary-tab2">
+<div class="block">A class for keeping track of which unit
+ has attacked which unit.</div>
+</div>
+</div>
+</div>
+</li>
+</ul>
+</section>
+</main>
+</div>
+</div>
+</body>
+</html>
diff --git a/javadoc/edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/battle/package-tree.html b/javadoc/edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/battle/package-tree.html
new file mode 100644
index 0000000..0c4cbf5
--- /dev/null
+++ b/javadoc/edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/battle/package-tree.html
@@ -0,0 +1,72 @@
+<!DOCTYPE HTML>
+<html lang="en">
+<head>
+<!-- Generated by javadoc (17) on Sun May 01 19:43:43 CEST 2022 -->
+<title>edu.ntnu.idatt2001.carljgu.battle Class Hierarchy</title>
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<meta name="dc.created" content="2022-05-01">
+<meta name="description" content="tree: module: edu.ntnu.idatt2001.carljgu.client, package: edu.ntnu.idatt2001.carljgu.battle">
+<meta name="generator" content="javadoc/PackageTreeWriter">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../../../../../../script-dir/jquery-ui.min.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../../../../../../jquery-ui.overrides.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+<script type="text/javascript" src="../../../../../../script-dir/jquery-3.5.1.min.js"></script>
+<script type="text/javascript" src="../../../../../../script-dir/jquery-ui.min.js"></script>
+</head>
+<body class="package-tree-page">
+<script type="text/javascript">var pathtoroot = "../../../../../../";
+loadScripts(document, 'script');</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<div class="flex-box">
+<header role="banner" class="flex-header">
+<nav role="navigation">
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="top-nav" id="navbar-top">
+<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
+<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
+<li><a href="../../../../../module-summary.html">Module</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="nav-bar-cell1-rev">Tree</li>
+<li><a href="../../../../../../index-files/index-1.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html#tree">Help</a></li>
+</ul>
+</div>
+<div class="sub-nav">
+<div class="nav-list-search"><label for="search-input">SEARCH:</label>
+<input type="text" id="search-input" value="search" disabled="disabled">
+<input type="reset" id="reset-button" value="reset" disabled="disabled">
+</div>
+</div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<span class="skip-nav" id="skip-navbar-top"></span></nav>
+</header>
+<div class="flex-content">
+<main role="main">
+<div class="header">
+<h1 class="title">Hierarchy For Package edu.ntnu.idatt2001.carljgu.battle</h1>
+<span class="package-hierarchy-label">Package Hierarchies:</span>
+<ul class="horizontal">
+<li><a href="../../../../../../overview-tree.html">All Packages</a></li>
+</ul>
+</div>
+<section class="hierarchy">
+<h2 title="Class Hierarchy">Class Hierarchy</h2>
+<ul>
+<li class="circle">java.lang.<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" class="type-name-link external-link" title="class or interface in java.lang">Object</a>
+<ul>
+<li class="circle">edu.ntnu.idatt2001.carljgu.battle.<a href="Battle.html" class="type-name-link" title="class in edu.ntnu.idatt2001.carljgu.battle">Battle</a></li>
+<li class="circle">edu.ntnu.idatt2001.carljgu.battle.<a href="SimulationAttack.html" class="type-name-link" title="class in edu.ntnu.idatt2001.carljgu.battle">SimulationAttack</a></li>
+</ul>
+</li>
+</ul>
+</section>
+</main>
+</div>
+</div>
+</body>
+</html>
diff --git a/javadoc/edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/client/App.html b/javadoc/edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/client/App.html
new file mode 100644
index 0000000..754174d
--- /dev/null
+++ b/javadoc/edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/client/App.html
@@ -0,0 +1,235 @@
+<!DOCTYPE HTML>
+<html lang="en">
+<head>
+<!-- Generated by javadoc (17) on Sun May 01 19:43:43 CEST 2022 -->
+<title>App</title>
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<meta name="dc.created" content="2022-05-01">
+<meta name="description" content="declaration: module: edu.ntnu.idatt2001.carljgu.client, package: edu.ntnu.idatt2001.carljgu.client, class: App">
+<meta name="generator" content="javadoc/ClassWriterImpl">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../../../../../../script-dir/jquery-ui.min.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../../../../../../jquery-ui.overrides.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+<script type="text/javascript" src="../../../../../../script-dir/jquery-3.5.1.min.js"></script>
+<script type="text/javascript" src="../../../../../../script-dir/jquery-ui.min.js"></script>
+</head>
+<body class="class-declaration-page">
+<script type="text/javascript">var evenRowColor = "even-row-color";
+var oddRowColor = "odd-row-color";
+var tableTab = "table-tab";
+var activeTableTab = "active-table-tab";
+var pathtoroot = "../../../../../../";
+loadScripts(document, 'script');</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<div class="flex-box">
+<header role="banner" class="flex-header">
+<nav role="navigation">
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="top-nav" id="navbar-top">
+<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
+<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
+<li><a href="../../../../../module-summary.html">Module</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="nav-bar-cell1-rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../index-files/index-1.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html#class">Help</a></li>
+</ul>
+</div>
+<div class="sub-nav">
+<div>
+<ul class="sub-nav-list">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested-class-summary">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#field-summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor-summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method-summary">Method</a></li>
+</ul>
+<ul class="sub-nav-list">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor-detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method-detail">Method</a></li>
+</ul>
+</div>
+<div class="nav-list-search"><label for="search-input">SEARCH:</label>
+<input type="text" id="search-input" value="search" disabled="disabled">
+<input type="reset" id="reset-button" value="reset" disabled="disabled">
+</div>
+</div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<span class="skip-nav" id="skip-navbar-top"></span></nav>
+</header>
+<div class="flex-content">
+<main role="main">
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="sub-title"><span class="module-label-in-type">Module</span>&nbsp;<a href="../../../../../module-summary.html">edu.ntnu.idatt2001.carljgu.client</a></div>
+<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">edu.ntnu.idatt2001.carljgu.client</a></div>
+<h1 title="Class App" class="title">Class App</h1>
+</div>
+<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
+<div class="inheritance">javafx.application.Application
+<div class="inheritance">edu.ntnu.idatt2001.carljgu.client.App</div>
+</div>
+</div>
+<section class="class-description" id="class-description">
+<hr>
+<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">App</span>
+<span class="extends-implements">extends javafx.application.Application</span></div>
+<div class="block">Class that extends Application
+ from javafx.
+ Responsibility for configuring the stage.</div>
+<dl class="notes">
+<dt>Version:</dt>
+<dd>1.1 27.03.2022</dd>
+<dt>Author:</dt>
+<dd>Carl Gützkow</dd>
+</dl>
+</section>
+<section class="summary">
+<ul class="summary-list">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<li>
+<section class="nested-class-summary" id="nested-class-summary">
+<h2>Nested Class Summary</h2>
+<div class="inherited-list">
+<h2 id="nested-classes-inherited-from-class-javafx.application.Application">Nested classes/interfaces inherited from class&nbsp;javafx.application.Application</h2>
+<code>javafx.application.Application.Parameters</code></div>
+</section>
+</li>
+<!-- =========== FIELD SUMMARY =========== -->
+<li>
+<section class="field-summary" id="field-summary">
+<h2>Field Summary</h2>
+<div class="inherited-list">
+<h3 id="fields-inherited-from-class-javafx.application.Application">Fields inherited from class&nbsp;javafx.application.Application</h3>
+<code>STYLESHEET_CASPIAN, STYLESHEET_MODENA</code></div>
+</section>
+</li>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<li>
+<section class="constructor-summary" id="constructor-summary">
+<h2>Constructor Summary</h2>
+<div class="caption"><span>Constructors</span></div>
+<div class="summary-table two-column-summary">
+<div class="table-header col-first">Constructor</div>
+<div class="table-header col-last">Description</div>
+<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E()" class="member-name-link">App</a>()</code></div>
+<div class="col-last even-row-color">&nbsp;</div>
+</div>
+</section>
+</li>
+<!-- ========== METHOD SUMMARY =========== -->
+<li>
+<section class="method-summary" id="method-summary">
+<h2>Method Summary</h2>
+<div id="method-summary-table">
+<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab1" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab1', 3)" class="table-tab">Static Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
+<div id="method-summary-table.tabpanel" role="tabpanel">
+<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
+<div class="table-header col-first">Modifier and Type</div>
+<div class="table-header col-second">Method</div>
+<div class="table-header col-last">Description</div>
+<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static javafx.stage.Stage</code></div>
+<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#getStage()" class="member-name-link">getStage</a>()</code></div>
+<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
+<div class="block">Gets the main stage for the program</div>
+</div>
+<div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static void</code></div>
+<div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#run(java.lang.String%5B%5D)" class="member-name-link">run</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>[]&nbsp;args)</code></div>
+<div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
+<div class="block">Method called from Main when the program is run
+ Calls on launch in Application</div>
+</div>
+<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
+<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#start(javafx.stage.Stage)" class="member-name-link">start</a><wbr>(javafx.stage.Stage&nbsp;startStage)</code></div>
+<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
+<div class="block">Overridden from Application.</div>
+</div>
+</div>
+</div>
+</div>
+<div class="inherited-list">
+<h3 id="methods-inherited-from-class-javafx.application.Application">Methods inherited from class&nbsp;javafx.application.Application</h3>
+<code>getHostServices, getParameters, getUserAgentStylesheet, init, launch, launch, notifyPreloader, setUserAgentStylesheet, stop</code></div>
+<div class="inherited-list">
+<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
+<code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#toString()" title="class or interface in java.lang" class="external-link">toString</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
+</section>
+</li>
+</ul>
+</section>
+<section class="details">
+<ul class="details-list">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<li>
+<section class="constructor-details" id="constructor-detail">
+<h2>Constructor Details</h2>
+<ul class="member-list">
+<li>
+<section class="detail" id="&lt;init&gt;()">
+<h3>App</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">App</span>()</div>
+</section>
+</li>
+</ul>
+</section>
+</li>
+<!-- ============ METHOD DETAIL ========== -->
+<li>
+<section class="method-details" id="method-detail">
+<h2>Method Details</h2>
+<ul class="member-list">
+<li>
+<section class="detail" id="start(javafx.stage.Stage)">
+<h3>start</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">start</span><wbr><span class="parameters">(javafx.stage.Stage&nbsp;startStage)</span></div>
+<div class="block">Overridden from Application.
+ Loads in the scene and configures the stage.</div>
+<dl class="notes">
+<dt>Specified by:</dt>
+<dd><code>start</code>&nbsp;in class&nbsp;<code>javafx.application.Application</code></dd>
+<dt>Parameters:</dt>
+<dd><code>startStage</code> - - Stage - the stage provided by javaFX</dd>
+</dl>
+</section>
+</li>
+<li>
+<section class="detail" id="run(java.lang.String[])">
+<h3>run</h3>
+<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">run</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>[]&nbsp;args)</span></div>
+<div class="block">Method called from Main when the program is run
+ Calls on launch in Application</div>
+<dl class="notes">
+<dt>Parameters:</dt>
+<dd><code>args</code> - - String[] - commandline arguments</dd>
+</dl>
+</section>
+</li>
+<li>
+<section class="detail" id="getStage()">
+<h3>getStage</h3>
+<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type">javafx.stage.Stage</span>&nbsp;<span class="element-name">getStage</span>()</div>
+<div class="block">Gets the main stage for the program</div>
+<dl class="notes">
+<dt>Returns:</dt>
+<dd>stage - Stage - the starting program stage</dd>
+</dl>
+</section>
+</li>
+</ul>
+</section>
+</li>
+</ul>
+</section>
+<!-- ========= END OF CLASS DATA ========= -->
+</main>
+</div>
+</div>
+</body>
+</html>
diff --git a/javadoc/edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/client/BattleController.html b/javadoc/edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/client/BattleController.html
new file mode 100644
index 0000000..6543656
--- /dev/null
+++ b/javadoc/edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/client/BattleController.html
@@ -0,0 +1,214 @@
+<!DOCTYPE HTML>
+<html lang="en">
+<head>
+<!-- Generated by javadoc (17) on Sun May 01 19:43:43 CEST 2022 -->
+<title>BattleController</title>
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<meta name="dc.created" content="2022-05-01">
+<meta name="description" content="declaration: module: edu.ntnu.idatt2001.carljgu.client, package: edu.ntnu.idatt2001.carljgu.client, class: BattleController">
+<meta name="generator" content="javadoc/ClassWriterImpl">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../../../../../../script-dir/jquery-ui.min.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../../../../../../jquery-ui.overrides.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+<script type="text/javascript" src="../../../../../../script-dir/jquery-3.5.1.min.js"></script>
+<script type="text/javascript" src="../../../../../../script-dir/jquery-ui.min.js"></script>
+</head>
+<body class="class-declaration-page">
+<script type="text/javascript">var evenRowColor = "even-row-color";
+var oddRowColor = "odd-row-color";
+var tableTab = "table-tab";
+var activeTableTab = "active-table-tab";
+var pathtoroot = "../../../../../../";
+loadScripts(document, 'script');</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<div class="flex-box">
+<header role="banner" class="flex-header">
+<nav role="navigation">
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="top-nav" id="navbar-top">
+<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
+<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
+<li><a href="../../../../../module-summary.html">Module</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="nav-bar-cell1-rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../index-files/index-1.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html#class">Help</a></li>
+</ul>
+</div>
+<div class="sub-nav">
+<div>
+<ul class="sub-nav-list">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor-summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method-summary">Method</a></li>
+</ul>
+<ul class="sub-nav-list">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor-detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method-detail">Method</a></li>
+</ul>
+</div>
+<div class="nav-list-search"><label for="search-input">SEARCH:</label>
+<input type="text" id="search-input" value="search" disabled="disabled">
+<input type="reset" id="reset-button" value="reset" disabled="disabled">
+</div>
+</div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<span class="skip-nav" id="skip-navbar-top"></span></nav>
+</header>
+<div class="flex-content">
+<main role="main">
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="sub-title"><span class="module-label-in-type">Module</span>&nbsp;<a href="../../../../../module-summary.html">edu.ntnu.idatt2001.carljgu.client</a></div>
+<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">edu.ntnu.idatt2001.carljgu.client</a></div>
+<h1 title="Class BattleController" class="title">Class BattleController</h1>
+</div>
+<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
+<div class="inheritance">edu.ntnu.idatt2001.carljgu.client.BattleController</div>
+</div>
+<section class="class-description" id="class-description">
+<dl class="notes">
+<dt>All Implemented Interfaces:</dt>
+<dd><code>javafx.fxml.Initializable</code></dd>
+</dl>
+<hr>
+<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">BattleController</span>
+<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>
+implements javafx.fxml.Initializable</span></div>
+<div class="block">A controller class which
+ handles events in the fxml file.
+ This includes requesting to import
+ armies and simulate the battle</div>
+<dl class="notes">
+<dt>Version:</dt>
+<dd>1.7 01.05.2022</dd>
+<dt>Author:</dt>
+<dd>Carl Gützkow</dd>
+</dl>
+</section>
+<section class="summary">
+<ul class="summary-list">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<li>
+<section class="constructor-summary" id="constructor-summary">
+<h2>Constructor Summary</h2>
+<div class="caption"><span>Constructors</span></div>
+<div class="summary-table two-column-summary">
+<div class="table-header col-first">Constructor</div>
+<div class="table-header col-last">Description</div>
+<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E()" class="member-name-link">BattleController</a>()</code></div>
+<div class="col-last even-row-color">&nbsp;</div>
+</div>
+</section>
+</li>
+<!-- ========== METHOD SUMMARY =========== -->
+<li>
+<section class="method-summary" id="method-summary">
+<h2>Method Summary</h2>
+<div id="method-summary-table">
+<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
+<div id="method-summary-table.tabpanel" role="tabpanel">
+<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
+<div class="table-header col-first">Modifier and Type</div>
+<div class="table-header col-second">Method</div>
+<div class="table-header col-last">Description</div>
+<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
+<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#displayArmy(int,edu.ntnu.idatt2001.carljgu.units.Army)" class="member-name-link">displayArmy</a><wbr>(int&nbsp;armyNumber,
+ <a href="../units/Army.html" title="class in edu.ntnu.idatt2001.carljgu.units">Army</a>&nbsp;army)</code></div>
+<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
+<div class="block">Updates the information about an army
+ in the chosen elements.</div>
+</div>
+<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
+<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#initialize(java.net.URL,java.util.ResourceBundle)" class="member-name-link">initialize</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/net/URL.html" title="class or interface in java.net" class="external-link">URL</a>&nbsp;url,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/ResourceBundle.html" title="class or interface in java.util" class="external-link">ResourceBundle</a>&nbsp;resourceBundle)</code></div>
+<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
+<div class="block">Run when the fxml file is first loaded.</div>
+</div>
+</div>
+</div>
+</div>
+<div class="inherited-list">
+<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
+<code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#toString()" title="class or interface in java.lang" class="external-link">toString</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
+</section>
+</li>
+</ul>
+</section>
+<section class="details">
+<ul class="details-list">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<li>
+<section class="constructor-details" id="constructor-detail">
+<h2>Constructor Details</h2>
+<ul class="member-list">
+<li>
+<section class="detail" id="&lt;init&gt;()">
+<h3>BattleController</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">BattleController</span>()</div>
+</section>
+</li>
+</ul>
+</section>
+</li>
+<!-- ============ METHOD DETAIL ========== -->
+<li>
+<section class="method-details" id="method-detail">
+<h2>Method Details</h2>
+<ul class="member-list">
+<li>
+<section class="detail" id="displayArmy(int,edu.ntnu.idatt2001.carljgu.units.Army)">
+<h3>displayArmy</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">displayArmy</span><wbr><span class="parameters">(int&nbsp;armyNumber,
+ <a href="../units/Army.html" title="class in edu.ntnu.idatt2001.carljgu.units">Army</a>&nbsp;army)</span>
+                 throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/NullPointerException.html" title="class or interface in java.lang" class="external-link">NullPointerException</a></span></div>
+<div class="block">Updates the information about an army
+ in the chosen elements.
+ Uses both armyNumber and army to be able to display armies that are not
+ the have been changed. For example after a battle.</div>
+<dl class="notes">
+<dt>Parameters:</dt>
+<dd><code>armyNumber</code> - int - 0 or 1 depending on which elements to use to display an army.</dd>
+<dd><code>army</code> - Army - the army to display.</dd>
+<dt>Throws:</dt>
+<dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/NullPointerException.html" title="class or interface in java.lang" class="external-link">NullPointerException</a></code> - thrown if the army is null</dd>
+</dl>
+</section>
+</li>
+<li>
+<section class="detail" id="initialize(java.net.URL,java.util.ResourceBundle)">
+<h3>initialize</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">initialize</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/net/URL.html" title="class or interface in java.net" class="external-link">URL</a>&nbsp;url,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/ResourceBundle.html" title="class or interface in java.util" class="external-link">ResourceBundle</a>&nbsp;resourceBundle)</span></div>
+<div class="block">Run when the fxml file is first loaded.
+ Fills in the tables of information for the armies
+ and sets a double click selection model.</div>
+<dl class="notes">
+<dt>Specified by:</dt>
+<dd><code>initialize</code>&nbsp;in interface&nbsp;<code>javafx.fxml.Initializable</code></dd>
+<dt>Parameters:</dt>
+<dd><code>url</code> - - URL - a Uniform Resource Loader</dd>
+<dd><code>resourceBundle</code> - - ResourceBundle</dd>
+</dl>
+</section>
+</li>
+</ul>
+</section>
+</li>
+</ul>
+</section>
+<!-- ========= END OF CLASS DATA ========= -->
+</main>
+</div>
+</div>
+</body>
+</html>
diff --git a/javadoc/edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/client/Main.html b/javadoc/edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/client/Main.html
new file mode 100644
index 0000000..6c2133e
--- /dev/null
+++ b/javadoc/edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/client/Main.html
@@ -0,0 +1,176 @@
+<!DOCTYPE HTML>
+<html lang="en">
+<head>
+<!-- Generated by javadoc (17) on Sun May 01 19:43:43 CEST 2022 -->
+<title>Main</title>
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<meta name="dc.created" content="2022-05-01">
+<meta name="description" content="declaration: module: edu.ntnu.idatt2001.carljgu.client, package: edu.ntnu.idatt2001.carljgu.client, class: Main">
+<meta name="generator" content="javadoc/ClassWriterImpl">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../../../../../../script-dir/jquery-ui.min.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../../../../../../jquery-ui.overrides.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+<script type="text/javascript" src="../../../../../../script-dir/jquery-3.5.1.min.js"></script>
+<script type="text/javascript" src="../../../../../../script-dir/jquery-ui.min.js"></script>
+</head>
+<body class="class-declaration-page">
+<script type="text/javascript">var evenRowColor = "even-row-color";
+var oddRowColor = "odd-row-color";
+var tableTab = "table-tab";
+var activeTableTab = "active-table-tab";
+var pathtoroot = "../../../../../../";
+loadScripts(document, 'script');</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<div class="flex-box">
+<header role="banner" class="flex-header">
+<nav role="navigation">
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="top-nav" id="navbar-top">
+<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
+<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
+<li><a href="../../../../../module-summary.html">Module</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="nav-bar-cell1-rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../index-files/index-1.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html#class">Help</a></li>
+</ul>
+</div>
+<div class="sub-nav">
+<div>
+<ul class="sub-nav-list">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor-summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method-summary">Method</a></li>
+</ul>
+<ul class="sub-nav-list">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor-detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method-detail">Method</a></li>
+</ul>
+</div>
+<div class="nav-list-search"><label for="search-input">SEARCH:</label>
+<input type="text" id="search-input" value="search" disabled="disabled">
+<input type="reset" id="reset-button" value="reset" disabled="disabled">
+</div>
+</div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<span class="skip-nav" id="skip-navbar-top"></span></nav>
+</header>
+<div class="flex-content">
+<main role="main">
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="sub-title"><span class="module-label-in-type">Module</span>&nbsp;<a href="../../../../../module-summary.html">edu.ntnu.idatt2001.carljgu.client</a></div>
+<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">edu.ntnu.idatt2001.carljgu.client</a></div>
+<h1 title="Class Main" class="title">Class Main</h1>
+</div>
+<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
+<div class="inheritance">edu.ntnu.idatt2001.carljgu.client.Main</div>
+</div>
+<section class="class-description" id="class-description">
+<hr>
+<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">Main</span>
+<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></span></div>
+<div class="block">The main class that is run when the application
+ is called upon. Calls on the main method in App.
+ This class exists to have separate the main method
+ from javaFX when creating for example JLink.</div>
+<dl class="notes">
+<dt>Version:</dt>
+<dd>1.1 27.03.2022</dd>
+<dt>Author:</dt>
+<dd>Carl Gützkow</dd>
+</dl>
+</section>
+<section class="summary">
+<ul class="summary-list">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<li>
+<section class="constructor-summary" id="constructor-summary">
+<h2>Constructor Summary</h2>
+<div class="caption"><span>Constructors</span></div>
+<div class="summary-table two-column-summary">
+<div class="table-header col-first">Constructor</div>
+<div class="table-header col-last">Description</div>
+<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E()" class="member-name-link">Main</a>()</code></div>
+<div class="col-last even-row-color">&nbsp;</div>
+</div>
+</section>
+</li>
+<!-- ========== METHOD SUMMARY =========== -->
+<li>
+<section class="method-summary" id="method-summary">
+<h2>Method Summary</h2>
+<div id="method-summary-table">
+<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab1" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab1', 3)" class="table-tab">Static Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
+<div id="method-summary-table.tabpanel" role="tabpanel">
+<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
+<div class="table-header col-first">Modifier and Type</div>
+<div class="table-header col-second">Method</div>
+<div class="table-header col-last">Description</div>
+<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static void</code></div>
+<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#main(java.lang.String%5B%5D)" class="member-name-link">main</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>[]&nbsp;args)</code></div>
+<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
+<div class="block">Method to first be launched when the program is run</div>
+</div>
+</div>
+</div>
+</div>
+<div class="inherited-list">
+<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
+<code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#toString()" title="class or interface in java.lang" class="external-link">toString</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
+</section>
+</li>
+</ul>
+</section>
+<section class="details">
+<ul class="details-list">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<li>
+<section class="constructor-details" id="constructor-detail">
+<h2>Constructor Details</h2>
+<ul class="member-list">
+<li>
+<section class="detail" id="&lt;init&gt;()">
+<h3>Main</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">Main</span>()</div>
+</section>
+</li>
+</ul>
+</section>
+</li>
+<!-- ============ METHOD DETAIL ========== -->
+<li>
+<section class="method-details" id="method-detail">
+<h2>Method Details</h2>
+<ul class="member-list">
+<li>
+<section class="detail" id="main(java.lang.String[])">
+<h3>main</h3>
+<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">main</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>[]&nbsp;args)</span></div>
+<div class="block">Method to first be launched when the program is run</div>
+<dl class="notes">
+<dt>Parameters:</dt>
+<dd><code>args</code> - - String[] - commandline arguments</dd>
+</dl>
+</section>
+</li>
+</ul>
+</section>
+</li>
+</ul>
+</section>
+<!-- ========= END OF CLASS DATA ========= -->
+</main>
+</div>
+</div>
+</body>
+</html>
diff --git a/javadoc/edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/client/dialogs/DialogBox.html b/javadoc/edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/client/dialogs/DialogBox.html
new file mode 100644
index 0000000..92b9e7c
--- /dev/null
+++ b/javadoc/edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/client/dialogs/DialogBox.html
@@ -0,0 +1,187 @@
+<!DOCTYPE HTML>
+<html lang="en">
+<head>
+<!-- Generated by javadoc (17) on Sun May 01 19:43:43 CEST 2022 -->
+<title>DialogBox</title>
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<meta name="dc.created" content="2022-05-01">
+<meta name="description" content="declaration: module: edu.ntnu.idatt2001.carljgu.client, package: edu.ntnu.idatt2001.carljgu.client.dialogs, class: DialogBox">
+<meta name="generator" content="javadoc/ClassWriterImpl">
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../../../../../../../script-dir/jquery-ui.min.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../../../../../../../jquery-ui.overrides.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+<script type="text/javascript" src="../../../../../../../script-dir/jquery-3.5.1.min.js"></script>
+<script type="text/javascript" src="../../../../../../../script-dir/jquery-ui.min.js"></script>
+</head>
+<body class="class-declaration-page">
+<script type="text/javascript">var pathtoroot = "../../../../../../../";
+loadScripts(document, 'script');</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<div class="flex-box">
+<header role="banner" class="flex-header">
+<nav role="navigation">
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="top-nav" id="navbar-top">
+<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
+<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
+<li><a href="../../../../../../module-summary.html">Module</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="nav-bar-cell1-rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../index-files/index-1.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html#class">Help</a></li>
+</ul>
+</div>
+<div class="sub-nav">
+<div>
+<ul class="sub-nav-list">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested-class-summary">Nested</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor-summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method-summary">Method</a></li>
+</ul>
+<ul class="sub-nav-list">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor-detail">Constr</a>&nbsp;|&nbsp;</li>
+<li>Method</li>
+</ul>
+</div>
+<div class="nav-list-search"><label for="search-input">SEARCH:</label>
+<input type="text" id="search-input" value="search" disabled="disabled">
+<input type="reset" id="reset-button" value="reset" disabled="disabled">
+</div>
+</div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<span class="skip-nav" id="skip-navbar-top"></span></nav>
+</header>
+<div class="flex-content">
+<main role="main">
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="sub-title"><span class="module-label-in-type">Module</span>&nbsp;<a href="../../../../../../module-summary.html">edu.ntnu.idatt2001.carljgu.client</a></div>
+<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">edu.ntnu.idatt2001.carljgu.client.dialogs</a></div>
+<h1 title="Class DialogBox" class="title">Class DialogBox</h1>
+</div>
+<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
+<div class="inheritance">javafx.scene.control.Dialog&lt;javafx.scene.control.ButtonType&gt;
+<div class="inheritance">javafx.scene.control.Alert
+<div class="inheritance">edu.ntnu.idatt2001.carljgu.client.dialogs.DialogBox</div>
+</div>
+</div>
+</div>
+<section class="class-description" id="class-description">
+<dl class="notes">
+<dt>All Implemented Interfaces:</dt>
+<dd><code>javafx.event.EventTarget</code></dd>
+</dl>
+<hr>
+<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">DialogBox</span>
+<span class="extends-implements">extends javafx.scene.control.Alert</span></div>
+<div class="block">A dialog box that extends alert to use
+ a builder to build a dialog box.</div>
+<dl class="notes">
+<dt>Version:</dt>
+<dd>1.2 01.05.2022</dd>
+<dt>Author:</dt>
+<dd>Carl Gützkow</dd>
+</dl>
+</section>
+<section class="summary">
+<ul class="summary-list">
+<!-- =========== PROPERTY SUMMARY =========== -->
+<li>
+<section class="property-summary" id="property-summary">
+<h2>Property Summary</h2>
+<div class="inherited-list">
+<h3 id="properties-inherited-from-class-javafx.scene.control.Alert">Properties inherited from class&nbsp;javafx.scene.control.Alert</h3>
+<code>alertType</code></div>
+<div class="inherited-list">
+<h3 id="properties-inherited-from-class-javafx.scene.control.Dialog">Properties inherited from class&nbsp;javafx.scene.control.Dialog</h3>
+<code>contentText, dialogPane, graphic, headerText, height, onCloseRequest, onHidden, onHiding, onShowing, onShown, resizable, resultConverter, result, showing, title, width, x, y</code></div>
+</section>
+</li>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<li>
+<section class="nested-class-summary" id="nested-class-summary">
+<h2>Nested Class Summary</h2>
+<div class="inherited-list">
+<h2 id="nested-classes-inherited-from-class-javafx.scene.control.Alert">Nested classes/interfaces inherited from class&nbsp;javafx.scene.control.Alert</h2>
+<code>javafx.scene.control.Alert.AlertType</code></div>
+</section>
+</li>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<li>
+<section class="constructor-summary" id="constructor-summary">
+<h2>Constructor Summary</h2>
+<div class="caption"><span>Constructors</span></div>
+<div class="summary-table two-column-summary">
+<div class="table-header col-first">Constructor</div>
+<div class="table-header col-last">Description</div>
+<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E(edu.ntnu.idatt2001.carljgu.client.dialogs.DialogBoxBuilder)" class="member-name-link">DialogBox</a><wbr>(<a href="DialogBoxBuilder.html" title="class in edu.ntnu.idatt2001.carljgu.client.dialogs">DialogBoxBuilder</a>&nbsp;builder)</code></div>
+<div class="col-last even-row-color">
+<div class="block">Constructor for a dialog box
+ that uses a builder to set
+ attributes.</div>
+</div>
+</div>
+</section>
+</li>
+<!-- ========== METHOD SUMMARY =========== -->
+<li>
+<section class="method-summary" id="method-summary">
+<h2>Method Summary</h2>
+<div class="inherited-list">
+<h3 id="methods-inherited-from-class-javafx.scene.control.Alert">Methods inherited from class&nbsp;javafx.scene.control.Alert</h3>
+<code>alertTypeProperty, getAlertType, getButtonTypes, setAlertType</code></div>
+<div class="inherited-list">
+<h3 id="methods-inherited-from-class-javafx.scene.control.Dialog">Methods inherited from class&nbsp;javafx.scene.control.Dialog</h3>
+<code>buildEventDispatchChain, close, contentTextProperty, dialogPaneProperty, getContentText, getDialogPane, getGraphic, getHeaderText, getHeight, getModality, getOnCloseRequest, getOnHidden, getOnHiding, getOnShowing, getOnShown, getOwner, getResult, getResultConverter, getTitle, getWidth, getX, getY, graphicProperty, headerTextProperty, heightProperty, hide, initModality, initOwner, initStyle, isResizable, isShowing, onCloseRequestProperty, onHiddenProperty, onHidingProperty, onShowingProperty, onShownProperty, resizableProperty, resultConverterProperty, resultProperty, setContentText, setDialogPane, setGraphic, setHeaderText, setHeight, setOnCloseRequest, setOnHidden, setOnHiding, setOnShowing, setOnShown, setResizable, setResult, setResultConverter, setTitle, setWidth, setX, setY, show, showAndWait, showingProperty, titleProperty, widthProperty, xProperty, yProperty</code></div>
+<div class="inherited-list">
+<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
+<code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#toString()" title="class or interface in java.lang" class="external-link">toString</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
+</section>
+</li>
+</ul>
+</section>
+<section class="details">
+<ul class="details-list">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<li>
+<section class="constructor-details" id="constructor-detail">
+<h2>Constructor Details</h2>
+<ul class="member-list">
+<li>
+<section class="detail" id="&lt;init&gt;(edu.ntnu.idatt2001.carljgu.client.dialogs.DialogBoxBuilder)">
+<h3>DialogBox</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">DialogBox</span><wbr><span class="parameters">(<a href="DialogBoxBuilder.html" title="class in edu.ntnu.idatt2001.carljgu.client.dialogs">DialogBoxBuilder</a>&nbsp;builder)</span></div>
+<div class="block">Constructor for a dialog box
+ that uses a builder to set
+ attributes. If the alert type is NONE,
+ the window will only close if there is at
+ least one button.
+ If the builder has no image defined, then
+ the default image is used. Otherwise, this
+ constructor will add image from resource folder.</div>
+<dl class="notes">
+<dt>Parameters:</dt>
+<dd><code>builder</code> - DialogBoxBuilder - a builder class to configure a dialog box</dd>
+</dl>
+</section>
+</li>
+</ul>
+</section>
+</li>
+</ul>
+</section>
+<!-- ========= END OF CLASS DATA ========= -->
+</main>
+</div>
+</div>
+</body>
+</html>
diff --git a/javadoc/edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/client/dialogs/DialogBoxBuilder.html b/javadoc/edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/client/dialogs/DialogBoxBuilder.html
new file mode 100644
index 0000000..e956e88
--- /dev/null
+++ b/javadoc/edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/client/dialogs/DialogBoxBuilder.html
@@ -0,0 +1,419 @@
+<!DOCTYPE HTML>
+<html lang="en">
+<head>
+<!-- Generated by javadoc (17) on Sun May 01 19:43:43 CEST 2022 -->
+<title>DialogBoxBuilder</title>
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<meta name="dc.created" content="2022-05-01">
+<meta name="description" content="declaration: module: edu.ntnu.idatt2001.carljgu.client, package: edu.ntnu.idatt2001.carljgu.client.dialogs, class: DialogBoxBuilder">
+<meta name="generator" content="javadoc/ClassWriterImpl">
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../../../../../../../script-dir/jquery-ui.min.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../../../../../../../jquery-ui.overrides.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+<script type="text/javascript" src="../../../../../../../script-dir/jquery-3.5.1.min.js"></script>
+<script type="text/javascript" src="../../../../../../../script-dir/jquery-ui.min.js"></script>
+</head>
+<body class="class-declaration-page">
+<script type="text/javascript">var evenRowColor = "even-row-color";
+var oddRowColor = "odd-row-color";
+var tableTab = "table-tab";
+var activeTableTab = "active-table-tab";
+var pathtoroot = "../../../../../../../";
+loadScripts(document, 'script');</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<div class="flex-box">
+<header role="banner" class="flex-header">
+<nav role="navigation">
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="top-nav" id="navbar-top">
+<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
+<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
+<li><a href="../../../../../../module-summary.html">Module</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="nav-bar-cell1-rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../index-files/index-1.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html#class">Help</a></li>
+</ul>
+</div>
+<div class="sub-nav">
+<div>
+<ul class="sub-nav-list">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#field-summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor-summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method-summary">Method</a></li>
+</ul>
+<ul class="sub-nav-list">
+<li>Detail:&nbsp;</li>
+<li><a href="#field-detail">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor-detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method-detail">Method</a></li>
+</ul>
+</div>
+<div class="nav-list-search"><label for="search-input">SEARCH:</label>
+<input type="text" id="search-input" value="search" disabled="disabled">
+<input type="reset" id="reset-button" value="reset" disabled="disabled">
+</div>
+</div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<span class="skip-nav" id="skip-navbar-top"></span></nav>
+</header>
+<div class="flex-content">
+<main role="main">
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="sub-title"><span class="module-label-in-type">Module</span>&nbsp;<a href="../../../../../../module-summary.html">edu.ntnu.idatt2001.carljgu.client</a></div>
+<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">edu.ntnu.idatt2001.carljgu.client.dialogs</a></div>
+<h1 title="Class DialogBoxBuilder" class="title">Class DialogBoxBuilder</h1>
+</div>
+<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
+<div class="inheritance">edu.ntnu.idatt2001.carljgu.client.dialogs.DialogBoxBuilder</div>
+</div>
+<section class="class-description" id="class-description">
+<hr>
+<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">DialogBoxBuilder</span>
+<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></span></div>
+<div class="block">A builder class which simplifies the
+ DialogBox class. Using a builder makes it easy
+ to create complex dialogs while still avoiding
+ the telescoping constructors problem.
+ It also makes it easier to add attributes in the future.</div>
+<dl class="notes">
+<dt>Version:</dt>
+<dd>1.2 01.05.2022</dd>
+<dt>Author:</dt>
+<dd>Carl Gützkow</dd>
+</dl>
+</section>
+<section class="summary">
+<ul class="summary-list">
+<!-- =========== FIELD SUMMARY =========== -->
+<li>
+<section class="field-summary" id="field-summary">
+<h2>Field Summary</h2>
+<div class="caption"><span>Fields</span></div>
+<div class="summary-table three-column-summary">
+<div class="table-header col-first">Modifier and Type</div>
+<div class="table-header col-second">Field</div>
+<div class="table-header col-last">Description</div>
+<div class="col-first even-row-color"><code>static final <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
+<div class="col-second even-row-color"><code><a href="#recurringDialogMessage" class="member-name-link">recurringDialogMessage</a></code></div>
+<div class="col-last even-row-color">&nbsp;</div>
+</div>
+</section>
+</li>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<li>
+<section class="constructor-summary" id="constructor-summary">
+<h2>Constructor Summary</h2>
+<div class="caption"><span>Constructors</span></div>
+<div class="summary-table two-column-summary">
+<div class="table-header col-first">Constructor</div>
+<div class="table-header col-last">Description</div>
+<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E(javafx.scene.control.Alert.AlertType)" class="member-name-link">DialogBoxBuilder</a><wbr>(javafx.scene.control.Alert.AlertType&nbsp;alertType)</code></div>
+<div class="col-last even-row-color">
+<div class="block">Instantiates a new dialog box builder.</div>
+</div>
+</div>
+</section>
+</li>
+<!-- ========== METHOD SUMMARY =========== -->
+<li>
+<section class="method-summary" id="method-summary">
+<h2>Method Summary</h2>
+<div id="method-summary-table">
+<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
+<div id="method-summary-table.tabpanel" role="tabpanel">
+<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
+<div class="table-header col-first">Modifier and Type</div>
+<div class="table-header col-second">Method</div>
+<div class="table-header col-last">Description</div>
+<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="DialogBoxBuilder.html" title="class in edu.ntnu.idatt2001.carljgu.client.dialogs">DialogBoxBuilder</a></code></div>
+<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#addHeader(java.lang.String)" class="member-name-link">addHeader</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;header)</code></div>
+<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
+<div class="block">Add header to the dialog box builder configuration.</div>
+</div>
+<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="DialogBoxBuilder.html" title="class in edu.ntnu.idatt2001.carljgu.client.dialogs">DialogBoxBuilder</a></code></div>
+<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#addImage(java.lang.String)" class="member-name-link">addImage</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;imageName)</code></div>
+<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
+<div class="block">Add image to the dialog box builder configuration.</div>
+</div>
+<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="DialogBoxBuilder.html" title="class in edu.ntnu.idatt2001.carljgu.client.dialogs">DialogBoxBuilder</a></code></div>
+<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#addListMessage(java.util.ArrayList)" class="member-name-link">addListMessage</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/ArrayList.html" title="class or interface in java.util" class="external-link">ArrayList</a>&lt;<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&gt;&nbsp;listMessages)</code></div>
+<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
+<div class="block">Adds a list message for the dialog box.</div>
+</div>
+<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="DialogBoxBuilder.html" title="class in edu.ntnu.idatt2001.carljgu.client.dialogs">DialogBoxBuilder</a></code></div>
+<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#addMessage(java.lang.String)" class="member-name-link">addMessage</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;message)</code></div>
+<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
+<div class="block">Add message to the dialog box builder configuration.</div>
+</div>
+<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="DialogBoxBuilder.html" title="class in edu.ntnu.idatt2001.carljgu.client.dialogs">DialogBoxBuilder</a></code></div>
+<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#addTitle(java.lang.String)" class="member-name-link">addTitle</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;title)</code></div>
+<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
+<div class="block">Add title to the dialog box builder configuration.</div>
+</div>
+<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="DialogBox.html" title="class in edu.ntnu.idatt2001.carljgu.client.dialogs">DialogBox</a></code></div>
+<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#build()" class="member-name-link">build</a>()</code></div>
+<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
+<div class="block">Create the dialog box with the
+ current configurations from this
+ builder object.</div>
+</div>
+<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>javafx.scene.control.Alert.AlertType</code></div>
+<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getAlertType()" class="member-name-link">getAlertType</a>()</code></div>
+<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
+<div class="block">Gets the alert type for the dialog box.</div>
+</div>
+<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
+<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getHeader()" class="member-name-link">getHeader</a>()</code></div>
+<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
+<div class="block">Gets the header for the dialog box.</div>
+</div>
+<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>javafx.scene.image.Image</code></div>
+<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getImage()" class="member-name-link">getImage</a>()</code></div>
+<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
+<div class="block">Gets the image for the dialog box.</div>
+</div>
+<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/ArrayList.html" title="class or interface in java.util" class="external-link">ArrayList</a>&lt;<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&gt;</code></div>
+<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getListMessages()" class="member-name-link">getListMessages</a>()</code></div>
+<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
+<div class="block">Gets the list message for the dialog box.</div>
+</div>
+<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
+<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getMessage()" class="member-name-link">getMessage</a>()</code></div>
+<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
+<div class="block">Gets the message for the dialog box.</div>
+</div>
+<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
+<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getTitle()" class="member-name-link">getTitle</a>()</code></div>
+<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
+<div class="block">Gets the title of the dialog box.</div>
+</div>
+</div>
+</div>
+</div>
+<div class="inherited-list">
+<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
+<code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#toString()" title="class or interface in java.lang" class="external-link">toString</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
+</section>
+</li>
+</ul>
+</section>
+<section class="details">
+<ul class="details-list">
+<!-- ============ FIELD DETAIL =========== -->
+<li>
+<section class="field-details" id="field-detail">
+<h2>Field Details</h2>
+<ul class="member-list">
+<li>
+<section class="detail" id="recurringDialogMessage">
+<h3>recurringDialogMessage</h3>
+<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">recurringDialogMessage</span></div>
+<dl class="notes">
+<dt>See Also:</dt>
+<dd>
+<ul class="see-list">
+<li><a href="../../../../../../../constant-values.html#edu.ntnu.idatt2001.carljgu.client.dialogs.DialogBoxBuilder.recurringDialogMessage">Constant Field Values</a></li>
+</ul>
+</dd>
+</dl>
+</section>
+</li>
+</ul>
+</section>
+</li>
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<li>
+<section class="constructor-details" id="constructor-detail">
+<h2>Constructor Details</h2>
+<ul class="member-list">
+<li>
+<section class="detail" id="&lt;init&gt;(javafx.scene.control.Alert.AlertType)">
+<h3>DialogBoxBuilder</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">DialogBoxBuilder</span><wbr><span class="parameters">(javafx.scene.control.Alert.AlertType&nbsp;alertType)</span></div>
+<div class="block">Instantiates a new dialog box builder.
+ Sets the title and message to a default.
+ They are still optional to set.</div>
+<dl class="notes">
+<dt>Parameters:</dt>
+<dd><code>alertType</code> - AlertType - enum from inside the Alert class.
+                  Either ERROR, INFORMATION, NONE, CONFIRMATION or WARNING</dd>
+</dl>
+</section>
+</li>
+</ul>
+</section>
+</li>
+<!-- ============ METHOD DETAIL ========== -->
+<li>
+<section class="method-details" id="method-detail">
+<h2>Method Details</h2>
+<ul class="member-list">
+<li>
+<section class="detail" id="build()">
+<h3>build</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="DialogBox.html" title="class in edu.ntnu.idatt2001.carljgu.client.dialogs">DialogBox</a></span>&nbsp;<span class="element-name">build</span>()</div>
+<div class="block">Create the dialog box with the
+ current configurations from this
+ builder object.</div>
+<dl class="notes">
+<dt>Returns:</dt>
+<dd>dialogBox - DialogBox - a dialog box with this builder's configurations.</dd>
+</dl>
+</section>
+</li>
+<li>
+<section class="detail" id="addTitle(java.lang.String)">
+<h3>addTitle</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="DialogBoxBuilder.html" title="class in edu.ntnu.idatt2001.carljgu.client.dialogs">DialogBoxBuilder</a></span>&nbsp;<span class="element-name">addTitle</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;title)</span></div>
+<div class="block">Add title to the dialog box builder configuration.
+ The title is displayed on the top of the window.</div>
+<dl class="notes">
+<dt>Parameters:</dt>
+<dd><code>title</code> - String - the title of the dialog box</dd>
+<dt>Returns:</dt>
+<dd>dialogBoxBuilder - DialogBoxBuilder - returned to add further configurations.</dd>
+</dl>
+</section>
+</li>
+<li>
+<section class="detail" id="addHeader(java.lang.String)">
+<h3>addHeader</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="DialogBoxBuilder.html" title="class in edu.ntnu.idatt2001.carljgu.client.dialogs">DialogBoxBuilder</a></span>&nbsp;<span class="element-name">addHeader</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;header)</span></div>
+<div class="block">Add header to the dialog box builder configuration.
+ A header is displayed above the message</div>
+<dl class="notes">
+<dt>Parameters:</dt>
+<dd><code>header</code> - String - the header of the dialog box</dd>
+<dt>Returns:</dt>
+<dd>dialogBoxBuilder - DialogBoxBuilder - returned to add further configurations.</dd>
+</dl>
+</section>
+</li>
+<li>
+<section class="detail" id="addMessage(java.lang.String)">
+<h3>addMessage</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="DialogBoxBuilder.html" title="class in edu.ntnu.idatt2001.carljgu.client.dialogs">DialogBoxBuilder</a></span>&nbsp;<span class="element-name">addMessage</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;message)</span></div>
+<div class="block">Add message to the dialog box builder configuration.</div>
+<dl class="notes">
+<dt>Parameters:</dt>
+<dd><code>message</code> - String - the message of the dialog box</dd>
+<dt>Returns:</dt>
+<dd>dialogBoxBuilder - DialogBoxBuilder - returned to add further configurations.</dd>
+</dl>
+</section>
+</li>
+<li>
+<section class="detail" id="addImage(java.lang.String)">
+<h3>addImage</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="DialogBoxBuilder.html" title="class in edu.ntnu.idatt2001.carljgu.client.dialogs">DialogBoxBuilder</a></span>&nbsp;<span class="element-name">addImage</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;imageName)</span></div>
+<div class="block">Add image to the dialog box builder configuration.
+ The image is displayed as both the window icon
+ and on the actual scene.</div>
+<dl class="notes">
+<dt>Parameters:</dt>
+<dd><code>imageName</code> - String - the name of the image to display.</dd>
+<dt>Returns:</dt>
+<dd>dialogBoxBuilder - DialogBoxBuilder - returned to add further configurations.</dd>
+</dl>
+</section>
+</li>
+<li>
+<section class="detail" id="addListMessage(java.util.ArrayList)">
+<h3>addListMessage</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="DialogBoxBuilder.html" title="class in edu.ntnu.idatt2001.carljgu.client.dialogs">DialogBoxBuilder</a></span>&nbsp;<span class="element-name">addListMessage</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/ArrayList.html" title="class or interface in java.util" class="external-link">ArrayList</a>&lt;<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&gt;&nbsp;listMessages)</span></div>
+<div class="block">Adds a list message for the dialog box.</div>
+<dl class="notes">
+<dt>Parameters:</dt>
+<dd><code>listMessages</code> - - ArrayList - the dialog box' list of messages</dd>
+<dt>Returns:</dt>
+<dd>dialogBoxBuilder - DialogBoxBuilder - returned to add further configurations.</dd>
+</dl>
+</section>
+</li>
+<li>
+<section class="detail" id="getAlertType()">
+<h3>getAlertType</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">javafx.scene.control.Alert.AlertType</span>&nbsp;<span class="element-name">getAlertType</span>()</div>
+<div class="block">Gets the alert type for the dialog box.</div>
+<dl class="notes">
+<dt>Returns:</dt>
+<dd>alertType - AlertType - enum from inside the Alert class.
+                                Either ERROR, INFORMATION, NONE, CONFIRMATION or WARNING</dd>
+</dl>
+</section>
+</li>
+<li>
+<section class="detail" id="getTitle()">
+<h3>getTitle</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">getTitle</span>()</div>
+<div class="block">Gets the title of the dialog box.</div>
+<dl class="notes">
+<dt>Returns:</dt>
+<dd>title - String - the dialog box' title</dd>
+</dl>
+</section>
+</li>
+<li>
+<section class="detail" id="getHeader()">
+<h3>getHeader</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">getHeader</span>()</div>
+<div class="block">Gets the header for the dialog box.</div>
+<dl class="notes">
+<dt>Returns:</dt>
+<dd>header - String - the dialog box' header</dd>
+</dl>
+</section>
+</li>
+<li>
+<section class="detail" id="getMessage()">
+<h3>getMessage</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">getMessage</span>()</div>
+<div class="block">Gets the message for the dialog box.</div>
+<dl class="notes">
+<dt>Returns:</dt>
+<dd>message - String - the dialog box' message</dd>
+</dl>
+</section>
+</li>
+<li>
+<section class="detail" id="getImage()">
+<h3>getImage</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">javafx.scene.image.Image</span>&nbsp;<span class="element-name">getImage</span>()</div>
+<div class="block">Gets the image for the dialog box.</div>
+<dl class="notes">
+<dt>Returns:</dt>
+<dd>image - Image - the dialog box' icon and image</dd>
+</dl>
+</section>
+</li>
+<li>
+<section class="detail" id="getListMessages()">
+<h3>getListMessages</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/ArrayList.html" title="class or interface in java.util" class="external-link">ArrayList</a>&lt;<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&gt;</span>&nbsp;<span class="element-name">getListMessages</span>()</div>
+<div class="block">Gets the list message for the dialog box.</div>
+<dl class="notes">
+<dt>Returns:</dt>
+<dd>listMessages - ArrayList - the dialog box' list of messages</dd>
+</dl>
+</section>
+</li>
+</ul>
+</section>
+</li>
+</ul>
+</section>
+<!-- ========= END OF CLASS DATA ========= -->
+</main>
+</div>
+</div>
+</body>
+</html>
diff --git a/javadoc/edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/client/dialogs/package-summary.html b/javadoc/edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/client/dialogs/package-summary.html
new file mode 100644
index 0000000..ea582dc
--- /dev/null
+++ b/javadoc/edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/client/dialogs/package-summary.html
@@ -0,0 +1,102 @@
+<!DOCTYPE HTML>
+<html lang="en">
+<head>
+<!-- Generated by javadoc (17) on Sun May 01 19:43:43 CEST 2022 -->
+<title>edu.ntnu.idatt2001.carljgu.client.dialogs</title>
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<meta name="dc.created" content="2022-05-01">
+<meta name="description" content="declaration: module: edu.ntnu.idatt2001.carljgu.client, package: edu.ntnu.idatt2001.carljgu.client.dialogs">
+<meta name="generator" content="javadoc/PackageWriterImpl">
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../../../../../../../script-dir/jquery-ui.min.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../../../../../../../jquery-ui.overrides.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+<script type="text/javascript" src="../../../../../../../script-dir/jquery-3.5.1.min.js"></script>
+<script type="text/javascript" src="../../../../../../../script-dir/jquery-ui.min.js"></script>
+</head>
+<body class="package-declaration-page">
+<script type="text/javascript">var pathtoroot = "../../../../../../../";
+loadScripts(document, 'script');</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<div class="flex-box">
+<header role="banner" class="flex-header">
+<nav role="navigation">
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="top-nav" id="navbar-top">
+<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
+<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
+<li><a href="../../../../../../module-summary.html">Module</a></li>
+<li class="nav-bar-cell1-rev">Package</li>
+<li>Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../index-files/index-1.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html#package">Help</a></li>
+</ul>
+</div>
+<div class="sub-nav">
+<div>
+<ul class="sub-nav-list">
+<li>Package:&nbsp;</li>
+<li>Description&nbsp;|&nbsp;</li>
+<li><a href="#related-package-summary">Related Packages</a>&nbsp;|&nbsp;</li>
+<li><a href="#class-summary">Classes and Interfaces</a></li>
+</ul>
+</div>
+<div class="nav-list-search"><label for="search-input">SEARCH:</label>
+<input type="text" id="search-input" value="search" disabled="disabled">
+<input type="reset" id="reset-button" value="reset" disabled="disabled">
+</div>
+</div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<span class="skip-nav" id="skip-navbar-top"></span></nav>
+</header>
+<div class="flex-content">
+<main role="main">
+<div class="header">
+<div class="sub-title"><span class="module-label-in-package">Module</span>&nbsp;<a href="../../../../../../module-summary.html">edu.ntnu.idatt2001.carljgu.client</a></div>
+<h1 title="Package edu.ntnu.idatt2001.carljgu.client.dialogs" class="title">Package edu.ntnu.idatt2001.carljgu.client.dialogs</h1>
+</div>
+<hr>
+<div class="package-signature">package <span class="element-name">edu.ntnu.idatt2001.carljgu.client.dialogs</span></div>
+<section class="summary">
+<ul class="summary-list">
+<li>
+<div id="related-package-summary">
+<div class="caption"><span>Related Packages</span></div>
+<div class="summary-table two-column-summary">
+<div class="table-header col-first">Package</div>
+<div class="table-header col-last">Description</div>
+<div class="col-first even-row-color"><a href="../package-summary.html">edu.ntnu.idatt2001.carljgu.client</a></div>
+<div class="col-last even-row-color">&nbsp;</div>
+</div>
+</div>
+</li>
+<li>
+<div id="class-summary">
+<div class="caption"><span>Classes</span></div>
+<div class="summary-table two-column-summary">
+<div class="table-header col-first">Class</div>
+<div class="table-header col-last">Description</div>
+<div class="col-first even-row-color class-summary class-summary-tab2"><a href="DialogBox.html" title="class in edu.ntnu.idatt2001.carljgu.client.dialogs">DialogBox</a></div>
+<div class="col-last even-row-color class-summary class-summary-tab2">
+<div class="block">A dialog box that extends alert to use
+ a builder to build a dialog box.</div>
+</div>
+<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="DialogBoxBuilder.html" title="class in edu.ntnu.idatt2001.carljgu.client.dialogs">DialogBoxBuilder</a></div>
+<div class="col-last odd-row-color class-summary class-summary-tab2">
+<div class="block">A builder class which simplifies the
+ DialogBox class.</div>
+</div>
+</div>
+</div>
+</li>
+</ul>
+</section>
+</main>
+</div>
+</div>
+</body>
+</html>
diff --git a/javadoc/edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/client/dialogs/package-tree.html b/javadoc/edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/client/dialogs/package-tree.html
new file mode 100644
index 0000000..6c9b53f
--- /dev/null
+++ b/javadoc/edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/client/dialogs/package-tree.html
@@ -0,0 +1,80 @@
+<!DOCTYPE HTML>
+<html lang="en">
+<head>
+<!-- Generated by javadoc (17) on Sun May 01 19:43:43 CEST 2022 -->
+<title>edu.ntnu.idatt2001.carljgu.client.dialogs Class Hierarchy</title>
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<meta name="dc.created" content="2022-05-01">
+<meta name="description" content="tree: module: edu.ntnu.idatt2001.carljgu.client, package: edu.ntnu.idatt2001.carljgu.client.dialogs">
+<meta name="generator" content="javadoc/PackageTreeWriter">
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../../../../../../../script-dir/jquery-ui.min.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../../../../../../../jquery-ui.overrides.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+<script type="text/javascript" src="../../../../../../../script-dir/jquery-3.5.1.min.js"></script>
+<script type="text/javascript" src="../../../../../../../script-dir/jquery-ui.min.js"></script>
+</head>
+<body class="package-tree-page">
+<script type="text/javascript">var pathtoroot = "../../../../../../../";
+loadScripts(document, 'script');</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<div class="flex-box">
+<header role="banner" class="flex-header">
+<nav role="navigation">
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="top-nav" id="navbar-top">
+<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
+<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
+<li><a href="../../../../../../module-summary.html">Module</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="nav-bar-cell1-rev">Tree</li>
+<li><a href="../../../../../../../index-files/index-1.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html#tree">Help</a></li>
+</ul>
+</div>
+<div class="sub-nav">
+<div class="nav-list-search"><label for="search-input">SEARCH:</label>
+<input type="text" id="search-input" value="search" disabled="disabled">
+<input type="reset" id="reset-button" value="reset" disabled="disabled">
+</div>
+</div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<span class="skip-nav" id="skip-navbar-top"></span></nav>
+</header>
+<div class="flex-content">
+<main role="main">
+<div class="header">
+<h1 class="title">Hierarchy For Package edu.ntnu.idatt2001.carljgu.client.dialogs</h1>
+<span class="package-hierarchy-label">Package Hierarchies:</span>
+<ul class="horizontal">
+<li><a href="../../../../../../../overview-tree.html">All Packages</a></li>
+</ul>
+</div>
+<section class="hierarchy">
+<h2 title="Class Hierarchy">Class Hierarchy</h2>
+<ul>
+<li class="circle">java.lang.<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" class="type-name-link external-link" title="class or interface in java.lang">Object</a>
+<ul>
+<li class="circle">javafx.scene.control.Dialog&lt;R&gt; (implements javafx.event.EventTarget)
+<ul>
+<li class="circle">javafx.scene.control.Alert
+<ul>
+<li class="circle">edu.ntnu.idatt2001.carljgu.client.dialogs.<a href="DialogBox.html" class="type-name-link" title="class in edu.ntnu.idatt2001.carljgu.client.dialogs">DialogBox</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="circle">edu.ntnu.idatt2001.carljgu.client.dialogs.<a href="DialogBoxBuilder.html" class="type-name-link" title="class in edu.ntnu.idatt2001.carljgu.client.dialogs">DialogBoxBuilder</a></li>
+</ul>
+</li>
+</ul>
+</section>
+</main>
+</div>
+</div>
+</body>
+</html>
diff --git a/javadoc/edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/client/package-summary.html b/javadoc/edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/client/package-summary.html
new file mode 100644
index 0000000..2bb2183
--- /dev/null
+++ b/javadoc/edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/client/package-summary.html
@@ -0,0 +1,113 @@
+<!DOCTYPE HTML>
+<html lang="en">
+<head>
+<!-- Generated by javadoc (17) on Sun May 01 19:43:43 CEST 2022 -->
+<title>edu.ntnu.idatt2001.carljgu.client</title>
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<meta name="dc.created" content="2022-05-01">
+<meta name="description" content="declaration: module: edu.ntnu.idatt2001.carljgu.client, package: edu.ntnu.idatt2001.carljgu.client">
+<meta name="generator" content="javadoc/PackageWriterImpl">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../../../../../../script-dir/jquery-ui.min.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../../../../../../jquery-ui.overrides.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+<script type="text/javascript" src="../../../../../../script-dir/jquery-3.5.1.min.js"></script>
+<script type="text/javascript" src="../../../../../../script-dir/jquery-ui.min.js"></script>
+</head>
+<body class="package-declaration-page">
+<script type="text/javascript">var pathtoroot = "../../../../../../";
+loadScripts(document, 'script');</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<div class="flex-box">
+<header role="banner" class="flex-header">
+<nav role="navigation">
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="top-nav" id="navbar-top">
+<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
+<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
+<li><a href="../../../../../module-summary.html">Module</a></li>
+<li class="nav-bar-cell1-rev">Package</li>
+<li>Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../index-files/index-1.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html#package">Help</a></li>
+</ul>
+</div>
+<div class="sub-nav">
+<div>
+<ul class="sub-nav-list">
+<li>Package:&nbsp;</li>
+<li>Description&nbsp;|&nbsp;</li>
+<li><a href="#related-package-summary">Related Packages</a>&nbsp;|&nbsp;</li>
+<li><a href="#class-summary">Classes and Interfaces</a></li>
+</ul>
+</div>
+<div class="nav-list-search"><label for="search-input">SEARCH:</label>
+<input type="text" id="search-input" value="search" disabled="disabled">
+<input type="reset" id="reset-button" value="reset" disabled="disabled">
+</div>
+</div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<span class="skip-nav" id="skip-navbar-top"></span></nav>
+</header>
+<div class="flex-content">
+<main role="main">
+<div class="header">
+<div class="sub-title"><span class="module-label-in-package">Module</span>&nbsp;<a href="../../../../../module-summary.html">edu.ntnu.idatt2001.carljgu.client</a></div>
+<h1 title="Package edu.ntnu.idatt2001.carljgu.client" class="title">Package edu.ntnu.idatt2001.carljgu.client</h1>
+</div>
+<hr>
+<div class="package-signature">package <span class="element-name">edu.ntnu.idatt2001.carljgu.client</span></div>
+<section class="summary">
+<ul class="summary-list">
+<li>
+<div id="related-package-summary">
+<div class="caption"><span>Related Packages</span></div>
+<div class="summary-table two-column-summary">
+<div class="table-header col-first">Package</div>
+<div class="table-header col-last">Description</div>
+<div class="col-first even-row-color"><a href="../package-summary.html">edu.ntnu.idatt2001.carljgu</a></div>
+<div class="col-last even-row-color">&nbsp;</div>
+<div class="col-first odd-row-color"><a href="dialogs/package-summary.html">edu.ntnu.idatt2001.carljgu.client.dialogs</a></div>
+<div class="col-last odd-row-color">&nbsp;</div>
+<div class="col-first even-row-color"><a href="../battle/package-summary.html">edu.ntnu.idatt2001.carljgu.battle</a></div>
+<div class="col-last even-row-color">&nbsp;</div>
+<div class="col-first odd-row-color"><a href="../units/package-summary.html">edu.ntnu.idatt2001.carljgu.units</a></div>
+<div class="col-last odd-row-color">&nbsp;</div>
+</div>
+</div>
+</li>
+<li>
+<div id="class-summary">
+<div class="caption"><span>Classes</span></div>
+<div class="summary-table two-column-summary">
+<div class="table-header col-first">Class</div>
+<div class="table-header col-last">Description</div>
+<div class="col-first even-row-color class-summary class-summary-tab2"><a href="App.html" title="class in edu.ntnu.idatt2001.carljgu.client">App</a></div>
+<div class="col-last even-row-color class-summary class-summary-tab2">
+<div class="block">Class that extends Application
+ from javafx.</div>
+</div>
+<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="BattleController.html" title="class in edu.ntnu.idatt2001.carljgu.client">BattleController</a></div>
+<div class="col-last odd-row-color class-summary class-summary-tab2">
+<div class="block">A controller class which
+ handles events in the fxml file.</div>
+</div>
+<div class="col-first even-row-color class-summary class-summary-tab2"><a href="Main.html" title="class in edu.ntnu.idatt2001.carljgu.client">Main</a></div>
+<div class="col-last even-row-color class-summary class-summary-tab2">
+<div class="block">The main class that is run when the application
+ is called upon.</div>
+</div>
+</div>
+</div>
+</li>
+</ul>
+</section>
+</main>
+</div>
+</div>
+</body>
+</html>
diff --git a/javadoc/edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/client/package-tree.html b/javadoc/edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/client/package-tree.html
new file mode 100644
index 0000000..4fc123d
--- /dev/null
+++ b/javadoc/edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/client/package-tree.html
@@ -0,0 +1,77 @@
+<!DOCTYPE HTML>
+<html lang="en">
+<head>
+<!-- Generated by javadoc (17) on Sun May 01 19:43:43 CEST 2022 -->
+<title>edu.ntnu.idatt2001.carljgu.client Class Hierarchy</title>
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<meta name="dc.created" content="2022-05-01">
+<meta name="description" content="tree: module: edu.ntnu.idatt2001.carljgu.client, package: edu.ntnu.idatt2001.carljgu.client">
+<meta name="generator" content="javadoc/PackageTreeWriter">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../../../../../../script-dir/jquery-ui.min.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../../../../../../jquery-ui.overrides.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+<script type="text/javascript" src="../../../../../../script-dir/jquery-3.5.1.min.js"></script>
+<script type="text/javascript" src="../../../../../../script-dir/jquery-ui.min.js"></script>
+</head>
+<body class="package-tree-page">
+<script type="text/javascript">var pathtoroot = "../../../../../../";
+loadScripts(document, 'script');</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<div class="flex-box">
+<header role="banner" class="flex-header">
+<nav role="navigation">
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="top-nav" id="navbar-top">
+<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
+<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
+<li><a href="../../../../../module-summary.html">Module</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="nav-bar-cell1-rev">Tree</li>
+<li><a href="../../../../../../index-files/index-1.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html#tree">Help</a></li>
+</ul>
+</div>
+<div class="sub-nav">
+<div class="nav-list-search"><label for="search-input">SEARCH:</label>
+<input type="text" id="search-input" value="search" disabled="disabled">
+<input type="reset" id="reset-button" value="reset" disabled="disabled">
+</div>
+</div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<span class="skip-nav" id="skip-navbar-top"></span></nav>
+</header>
+<div class="flex-content">
+<main role="main">
+<div class="header">
+<h1 class="title">Hierarchy For Package edu.ntnu.idatt2001.carljgu.client</h1>
+<span class="package-hierarchy-label">Package Hierarchies:</span>
+<ul class="horizontal">
+<li><a href="../../../../../../overview-tree.html">All Packages</a></li>
+</ul>
+</div>
+<section class="hierarchy">
+<h2 title="Class Hierarchy">Class Hierarchy</h2>
+<ul>
+<li class="circle">java.lang.<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" class="type-name-link external-link" title="class or interface in java.lang">Object</a>
+<ul>
+<li class="circle">javafx.application.Application
+<ul>
+<li class="circle">edu.ntnu.idatt2001.carljgu.client.<a href="App.html" class="type-name-link" title="class in edu.ntnu.idatt2001.carljgu.client">App</a></li>
+</ul>
+</li>
+<li class="circle">edu.ntnu.idatt2001.carljgu.client.<a href="BattleController.html" class="type-name-link" title="class in edu.ntnu.idatt2001.carljgu.client">BattleController</a> (implements javafx.fxml.Initializable)</li>
+<li class="circle">edu.ntnu.idatt2001.carljgu.client.<a href="Main.html" class="type-name-link" title="class in edu.ntnu.idatt2001.carljgu.client">Main</a></li>
+</ul>
+</li>
+</ul>
+</section>
+</main>
+</div>
+</div>
+</body>
+</html>
diff --git a/javadoc/edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/package-summary.html b/javadoc/edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/package-summary.html
new file mode 100644
index 0000000..8924d69
--- /dev/null
+++ b/javadoc/edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/package-summary.html
@@ -0,0 +1,117 @@
+<!DOCTYPE HTML>
+<html lang="en">
+<head>
+<!-- Generated by javadoc (17) on Sun May 01 19:43:43 CEST 2022 -->
+<title>edu.ntnu.idatt2001.carljgu</title>
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<meta name="dc.created" content="2022-05-01">
+<meta name="description" content="declaration: module: edu.ntnu.idatt2001.carljgu.client, package: edu.ntnu.idatt2001.carljgu">
+<meta name="generator" content="javadoc/PackageWriterImpl">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../../../../../script-dir/jquery-ui.min.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../../../../../jquery-ui.overrides.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+<script type="text/javascript" src="../../../../../script-dir/jquery-3.5.1.min.js"></script>
+<script type="text/javascript" src="../../../../../script-dir/jquery-ui.min.js"></script>
+</head>
+<body class="package-declaration-page">
+<script type="text/javascript">var evenRowColor = "even-row-color";
+var oddRowColor = "odd-row-color";
+var tableTab = "table-tab";
+var activeTableTab = "active-table-tab";
+var pathtoroot = "../../../../../";
+loadScripts(document, 'script');</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<div class="flex-box">
+<header role="banner" class="flex-header">
+<nav role="navigation">
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="top-nav" id="navbar-top">
+<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
+<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
+<li><a href="../../../../module-summary.html">Module</a></li>
+<li class="nav-bar-cell1-rev">Package</li>
+<li>Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../index-files/index-1.html">Index</a></li>
+<li><a href="../../../../../help-doc.html#package">Help</a></li>
+</ul>
+</div>
+<div class="sub-nav">
+<div>
+<ul class="sub-nav-list">
+<li>Package:&nbsp;</li>
+<li>Description&nbsp;|&nbsp;</li>
+<li><a href="#related-package-summary">Related Packages</a>&nbsp;|&nbsp;</li>
+<li><a href="#class-summary">Classes and Interfaces</a></li>
+</ul>
+</div>
+<div class="nav-list-search"><label for="search-input">SEARCH:</label>
+<input type="text" id="search-input" value="search" disabled="disabled">
+<input type="reset" id="reset-button" value="reset" disabled="disabled">
+</div>
+</div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<span class="skip-nav" id="skip-navbar-top"></span></nav>
+</header>
+<div class="flex-content">
+<main role="main">
+<div class="header">
+<div class="sub-title"><span class="module-label-in-package">Module</span>&nbsp;<a href="../../../../module-summary.html">edu.ntnu.idatt2001.carljgu.client</a></div>
+<h1 title="Package edu.ntnu.idatt2001.carljgu" class="title">Package edu.ntnu.idatt2001.carljgu</h1>
+</div>
+<hr>
+<div class="package-signature">package <span class="element-name">edu.ntnu.idatt2001.carljgu</span></div>
+<section class="summary">
+<ul class="summary-list">
+<li>
+<div id="related-package-summary">
+<div class="caption"><span>Related Packages</span></div>
+<div class="summary-table two-column-summary">
+<div class="table-header col-first">Package</div>
+<div class="table-header col-last">Description</div>
+<div class="col-first even-row-color"><a href="battle/package-summary.html">edu.ntnu.idatt2001.carljgu.battle</a></div>
+<div class="col-last even-row-color">&nbsp;</div>
+<div class="col-first odd-row-color"><a href="client/package-summary.html">edu.ntnu.idatt2001.carljgu.client</a></div>
+<div class="col-last odd-row-color">&nbsp;</div>
+<div class="col-first even-row-color"><a href="units/package-summary.html">edu.ntnu.idatt2001.carljgu.units</a></div>
+<div class="col-last even-row-color">&nbsp;</div>
+</div>
+</div>
+</li>
+<li>
+<div id="class-summary">
+<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="class-summary-tab0" role="tab" aria-selected="true" aria-controls="class-summary.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('class-summary', 'class-summary', 2)" class="active-table-tab">All Classes and Interfaces</button><button id="class-summary-tab2" role="tab" aria-selected="false" aria-controls="class-summary.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('class-summary', 'class-summary-tab2', 2)" class="table-tab">Classes</button><button id="class-summary-tab3" role="tab" aria-selected="false" aria-controls="class-summary.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('class-summary', 'class-summary-tab3', 2)" class="table-tab">Enum Classes</button><button id="class-summary-tab5" role="tab" aria-selected="false" aria-controls="class-summary.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('class-summary', 'class-summary-tab5', 2)" class="table-tab">Exceptions</button></div>
+<div id="class-summary.tabpanel" role="tabpanel">
+<div class="summary-table two-column-summary" aria-labelledby="class-summary-tab0">
+<div class="table-header col-first">Class</div>
+<div class="table-header col-last">Description</div>
+<div class="col-first even-row-color class-summary class-summary-tab2"><a href="ArmyFileHandler.html" title="class in edu.ntnu.idatt2001.carljgu">ArmyFileHandler</a></div>
+<div class="col-last even-row-color class-summary class-summary-tab2">
+<div class="block">Handles writing, reading and importing
+ armies to and from a file.</div>
+</div>
+<div class="col-first odd-row-color class-summary class-summary-tab5"><a href="FileExtensionException.html" title="class in edu.ntnu.idatt2001.carljgu">FileExtensionException</a></div>
+<div class="col-last odd-row-color class-summary class-summary-tab5">
+<div class="block">Thrown if an extension of a file is invalid
+ The exception thrown needs to have a message</div>
+</div>
+<div class="col-first even-row-color class-summary class-summary-tab3"><a href="Terrain.html" title="enum class in edu.ntnu.idatt2001.carljgu">Terrain</a></div>
+<div class="col-last even-row-color class-summary class-summary-tab3">
+<div class="block">En enum that represents the different terrain
+ that the battles can occur on.</div>
+</div>
+</div>
+</div>
+</div>
+</li>
+</ul>
+</section>
+</main>
+</div>
+</div>
+</body>
+</html>
diff --git a/javadoc/edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/package-tree.html b/javadoc/edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/package-tree.html
new file mode 100644
index 0000000..72fcf71
--- /dev/null
+++ b/javadoc/edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/package-tree.html
@@ -0,0 +1,102 @@
+<!DOCTYPE HTML>
+<html lang="en">
+<head>
+<!-- Generated by javadoc (17) on Sun May 01 19:43:43 CEST 2022 -->
+<title>edu.ntnu.idatt2001.carljgu Class Hierarchy</title>
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<meta name="dc.created" content="2022-05-01">
+<meta name="description" content="tree: module: edu.ntnu.idatt2001.carljgu.client, package: edu.ntnu.idatt2001.carljgu">
+<meta name="generator" content="javadoc/PackageTreeWriter">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../../../../../script-dir/jquery-ui.min.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../../../../../jquery-ui.overrides.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+<script type="text/javascript" src="../../../../../script-dir/jquery-3.5.1.min.js"></script>
+<script type="text/javascript" src="../../../../../script-dir/jquery-ui.min.js"></script>
+</head>
+<body class="package-tree-page">
+<script type="text/javascript">var pathtoroot = "../../../../../";
+loadScripts(document, 'script');</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<div class="flex-box">
+<header role="banner" class="flex-header">
+<nav role="navigation">
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="top-nav" id="navbar-top">
+<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
+<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
+<li><a href="../../../../module-summary.html">Module</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="nav-bar-cell1-rev">Tree</li>
+<li><a href="../../../../../index-files/index-1.html">Index</a></li>
+<li><a href="../../../../../help-doc.html#tree">Help</a></li>
+</ul>
+</div>
+<div class="sub-nav">
+<div class="nav-list-search"><label for="search-input">SEARCH:</label>
+<input type="text" id="search-input" value="search" disabled="disabled">
+<input type="reset" id="reset-button" value="reset" disabled="disabled">
+</div>
+</div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<span class="skip-nav" id="skip-navbar-top"></span></nav>
+</header>
+<div class="flex-content">
+<main role="main">
+<div class="header">
+<h1 class="title">Hierarchy For Package edu.ntnu.idatt2001.carljgu</h1>
+<span class="package-hierarchy-label">Package Hierarchies:</span>
+<ul class="horizontal">
+<li><a href="../../../../../overview-tree.html">All Packages</a></li>
+</ul>
+</div>
+<section class="hierarchy">
+<h2 title="Class Hierarchy">Class Hierarchy</h2>
+<ul>
+<li class="circle">java.lang.<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" class="type-name-link external-link" title="class or interface in java.lang">Object</a>
+<ul>
+<li class="circle">edu.ntnu.idatt2001.carljgu.<a href="ArmyFileHandler.html" class="type-name-link" title="class in edu.ntnu.idatt2001.carljgu">ArmyFileHandler</a></li>
+<li class="circle">java.lang.<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Throwable.html" class="type-name-link external-link" title="class or interface in java.lang">Throwable</a> (implements java.io.<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/Serializable.html" title="class or interface in java.io" class="external-link">Serializable</a>)
+<ul>
+<li class="circle">java.lang.<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Exception.html" class="type-name-link external-link" title="class or interface in java.lang">Exception</a>
+<ul>
+<li class="circle">java.lang.<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/RuntimeException.html" class="type-name-link external-link" title="class or interface in java.lang">RuntimeException</a>
+<ul>
+<li class="circle">java.lang.<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/IllegalArgumentException.html" class="type-name-link external-link" title="class or interface in java.lang">IllegalArgumentException</a>
+<ul>
+<li class="circle">edu.ntnu.idatt2001.carljgu.<a href="FileExtensionException.html" class="type-name-link" title="class in edu.ntnu.idatt2001.carljgu">FileExtensionException</a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</section>
+<section class="hierarchy">
+<h2 title="Enum Class Hierarchy">Enum Class Hierarchy</h2>
+<ul>
+<li class="circle">java.lang.<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" class="type-name-link external-link" title="class or interface in java.lang">Object</a>
+<ul>
+<li class="circle">java.lang.<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Enum.html" class="type-name-link external-link" title="class or interface in java.lang">Enum</a>&lt;E&gt; (implements java.lang.<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Comparable.html" title="class or interface in java.lang" class="external-link">Comparable</a>&lt;T&gt;, java.lang.constant.<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/constant/Constable.html" title="class or interface in java.lang.constant" class="external-link">Constable</a>, java.io.<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/Serializable.html" title="class or interface in java.io" class="external-link">Serializable</a>)
+<ul>
+<li class="circle">edu.ntnu.idatt2001.carljgu.<a href="Terrain.html" class="type-name-link" title="enum class in edu.ntnu.idatt2001.carljgu">Terrain</a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</section>
+</main>
+</div>
+</div>
+</body>
+</html>
diff --git a/javadoc/edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/Army.html b/javadoc/edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/Army.html
new file mode 100644
index 0000000..2eb483f
--- /dev/null
+++ b/javadoc/edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/Army.html
@@ -0,0 +1,436 @@
+<!DOCTYPE HTML>
+<html lang="en">
+<head>
+<!-- Generated by javadoc (17) on Sun May 01 19:43:43 CEST 2022 -->
+<title>Army</title>
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<meta name="dc.created" content="2022-05-01">
+<meta name="description" content="declaration: module: edu.ntnu.idatt2001.carljgu.client, package: edu.ntnu.idatt2001.carljgu.units, class: Army">
+<meta name="generator" content="javadoc/ClassWriterImpl">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../../../../../../script-dir/jquery-ui.min.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../../../../../../jquery-ui.overrides.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+<script type="text/javascript" src="../../../../../../script-dir/jquery-3.5.1.min.js"></script>
+<script type="text/javascript" src="../../../../../../script-dir/jquery-ui.min.js"></script>
+</head>
+<body class="class-declaration-page">
+<script type="text/javascript">var evenRowColor = "even-row-color";
+var oddRowColor = "odd-row-color";
+var tableTab = "table-tab";
+var activeTableTab = "active-table-tab";
+var pathtoroot = "../../../../../../";
+loadScripts(document, 'script');</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<div class="flex-box">
+<header role="banner" class="flex-header">
+<nav role="navigation">
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="top-nav" id="navbar-top">
+<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
+<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
+<li><a href="../../../../../module-summary.html">Module</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="nav-bar-cell1-rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../index-files/index-1.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html#class">Help</a></li>
+</ul>
+</div>
+<div class="sub-nav">
+<div>
+<ul class="sub-nav-list">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor-summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method-summary">Method</a></li>
+</ul>
+<ul class="sub-nav-list">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor-detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method-detail">Method</a></li>
+</ul>
+</div>
+<div class="nav-list-search"><label for="search-input">SEARCH:</label>
+<input type="text" id="search-input" value="search" disabled="disabled">
+<input type="reset" id="reset-button" value="reset" disabled="disabled">
+</div>
+</div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<span class="skip-nav" id="skip-navbar-top"></span></nav>
+</header>
+<div class="flex-content">
+<main role="main">
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="sub-title"><span class="module-label-in-type">Module</span>&nbsp;<a href="../../../../../module-summary.html">edu.ntnu.idatt2001.carljgu.client</a></div>
+<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">edu.ntnu.idatt2001.carljgu.units</a></div>
+<h1 title="Class Army" class="title">Class Army</h1>
+</div>
+<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
+<div class="inheritance">edu.ntnu.idatt2001.carljgu.units.Army</div>
+</div>
+<section class="class-description" id="class-description">
+<hr>
+<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">Army</span>
+<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></span></div>
+<div class="block">public class Army.
+ An army object stores a list of units
+ meant to fight another army.</div>
+<dl class="notes">
+<dt>Version:</dt>
+<dd>1.1 07.02.2022</dd>
+<dt>Author:</dt>
+<dd>Carl Gützkow</dd>
+</dl>
+</section>
+<section class="summary">
+<ul class="summary-list">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<li>
+<section class="constructor-summary" id="constructor-summary">
+<h2>Constructor Summary</h2>
+<div class="caption"><span>Constructors</span></div>
+<div class="summary-table two-column-summary">
+<div class="table-header col-first">Constructor</div>
+<div class="table-header col-last">Description</div>
+<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E(java.lang.String)" class="member-name-link">Army</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name)</code></div>
+<div class="col-last even-row-color">
+<div class="block">Instantiates a new Army.</div>
+</div>
+<div class="col-constructor-name odd-row-color"><code><a href="#%3Cinit%3E(java.lang.String,java.util.ArrayList)" class="member-name-link">Army</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/ArrayList.html" title="class or interface in java.util" class="external-link">ArrayList</a>&lt;<a href="Unit.html" title="class in edu.ntnu.idatt2001.carljgu.units">Unit</a>&gt;&nbsp;units)</code></div>
+<div class="col-last odd-row-color">
+<div class="block">Instantiates a new Army.</div>
+</div>
+</div>
+</section>
+</li>
+<!-- ========== METHOD SUMMARY =========== -->
+<li>
+<section class="method-summary" id="method-summary">
+<h2>Method Summary</h2>
+<div id="method-summary-table">
+<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
+<div id="method-summary-table.tabpanel" role="tabpanel">
+<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
+<div class="table-header col-first">Modifier and Type</div>
+<div class="table-header col-second">Method</div>
+<div class="table-header col-last">Description</div>
+<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
+<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#addUnit(edu.ntnu.idatt2001.carljgu.units.Unit)" class="member-name-link">addUnit</a><wbr>(<a href="Unit.html" title="class in edu.ntnu.idatt2001.carljgu.units">Unit</a>&nbsp;unit)</code></div>
+<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
+<div class="block">Add unit if it does not exist from before.</div>
+</div>
+<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
+<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#addUnits(java.util.ArrayList)" class="member-name-link">addUnits</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/ArrayList.html" title="class or interface in java.util" class="external-link">ArrayList</a>&lt;<a href="Unit.html" title="class in edu.ntnu.idatt2001.carljgu.units">Unit</a>&gt;&nbsp;units)</code></div>
+<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
+<div class="block">Add units.</div>
+</div>
+<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>boolean</code></div>
+<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#equals(java.lang.Object)" class="member-name-link">equals</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;o)</code></div>
+<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
+<div class="block">Checks if two armies are equal based on name and list of units.</div>
+</div>
+<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/ArrayList.html" title="class or interface in java.util" class="external-link">ArrayList</a>&lt;<a href="Unit.html" title="class in edu.ntnu.idatt2001.carljgu.units">Unit</a>&gt;</code></div>
+<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getAllUnits()" class="member-name-link">getAllUnits</a>()</code></div>
+<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
+<div class="block">Gets all units.</div>
+</div>
+<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/ArrayList.html" title="class or interface in java.util" class="external-link">ArrayList</a>&lt;<a href="Unit.html" title="class in edu.ntnu.idatt2001.carljgu.units">Unit</a>&gt;</code></div>
+<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getCavalryUnits()" class="member-name-link">getCavalryUnits</a>()</code></div>
+<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
+<div class="block">Returns an arraylist of cavalry units
+ using stream and filter.</div>
+</div>
+<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/ArrayList.html" title="class or interface in java.util" class="external-link">ArrayList</a>&lt;<a href="Unit.html" title="class in edu.ntnu.idatt2001.carljgu.units">Unit</a>&gt;</code></div>
+<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getCommanderUnits()" class="member-name-link">getCommanderUnits</a>()</code></div>
+<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
+<div class="block">Returns an arraylist of commander units
+ using stream and filter.</div>
+</div>
+<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/ArrayList.html" title="class or interface in java.util" class="external-link">ArrayList</a>&lt;<a href="Unit.html" title="class in edu.ntnu.idatt2001.carljgu.units">Unit</a>&gt;</code></div>
+<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getInfantryUnits()" class="member-name-link">getInfantryUnits</a>()</code></div>
+<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
+<div class="block">Returns an arraylist of infantry units
+ using stream and filter.</div>
+</div>
+<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
+<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getName()" class="member-name-link">getName</a>()</code></div>
+<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
+<div class="block">Gets name.</div>
+</div>
+<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="Unit.html" title="class in edu.ntnu.idatt2001.carljgu.units">Unit</a></code></div>
+<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getRandom()" class="member-name-link">getRandom</a>()</code></div>
+<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
+<div class="block">Gets a random unit from the list.</div>
+</div>
+<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/ArrayList.html" title="class or interface in java.util" class="external-link">ArrayList</a>&lt;<a href="Unit.html" title="class in edu.ntnu.idatt2001.carljgu.units">Unit</a>&gt;</code></div>
+<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getRangedUnits()" class="member-name-link">getRangedUnits</a>()</code></div>
+<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
+<div class="block">Returns an arraylist of ranged units
+ using stream and filter.</div>
+</div>
+<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>int</code></div>
+<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#hashCode()" class="member-name-link">hashCode</a>()</code></div>
+<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
+<div class="block">Hashes name and units for the equals method</div>
+</div>
+<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>boolean</code></div>
+<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#hasUnits()" class="member-name-link">hasUnits</a>()</code></div>
+<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
+<div class="block">Checks if the list of units is empty</div>
+</div>
+<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
+<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#remove(edu.ntnu.idatt2001.carljgu.units.Unit)" class="member-name-link">remove</a><wbr>(<a href="Unit.html" title="class in edu.ntnu.idatt2001.carljgu.units">Unit</a>&nbsp;unit)</code></div>
+<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
+<div class="block">Remove a specified unit.</div>
+</div>
+<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
+<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#toString()" class="member-name-link">toString</a>()</code></div>
+<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
+<div class="block">Overrides the toString() method from Object.</div>
+</div>
+</div>
+</div>
+</div>
+<div class="inherited-list">
+<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
+<code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
+</section>
+</li>
+</ul>
+</section>
+<section class="details">
+<ul class="details-list">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<li>
+<section class="constructor-details" id="constructor-detail">
+<h2>Constructor Details</h2>
+<ul class="member-list">
+<li>
+<section class="detail" id="&lt;init&gt;(java.lang.String,java.util.ArrayList)">
+<h3>Army</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">Army</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/ArrayList.html" title="class or interface in java.util" class="external-link">ArrayList</a>&lt;<a href="Unit.html" title="class in edu.ntnu.idatt2001.carljgu.units">Unit</a>&gt;&nbsp;units)</span>
+     throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/IllegalArgumentException.html" title="class or interface in java.lang" class="external-link">IllegalArgumentException</a></span></div>
+<div class="block">Instantiates a new Army.
+ Used if a list of units already exists.</div>
+<dl class="notes">
+<dt>Parameters:</dt>
+<dd><code>name</code> - String - the name of the army.</dd>
+<dd><code>units</code> - ArrayList - the units of the army.</dd>
+<dt>Throws:</dt>
+<dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/IllegalArgumentException.html" title="class or interface in java.lang" class="external-link">IllegalArgumentException</a></code> - thrown if name is not valid.</dd>
+</dl>
+</section>
+</li>
+<li>
+<section class="detail" id="&lt;init&gt;(java.lang.String)">
+<h3>Army</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">Army</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name)</span></div>
+<div class="block">Instantiates a new Army.
+ Second constructor if a list of units does not
+ exist from before.</div>
+<dl class="notes">
+<dt>Parameters:</dt>
+<dd><code>name</code> - String - the name of the army</dd>
+</dl>
+</section>
+</li>
+</ul>
+</section>
+</li>
+<!-- ============ METHOD DETAIL ========== -->
+<li>
+<section class="method-details" id="method-detail">
+<h2>Method Details</h2>
+<ul class="member-list">
+<li>
+<section class="detail" id="getName()">
+<h3>getName</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">getName</span>()</div>
+<div class="block">Gets name.</div>
+<dl class="notes">
+<dt>Returns:</dt>
+<dd>name - String - the name of the army.</dd>
+</dl>
+</section>
+</li>
+<li>
+<section class="detail" id="addUnit(edu.ntnu.idatt2001.carljgu.units.Unit)">
+<h3>addUnit</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">addUnit</span><wbr><span class="parameters">(<a href="Unit.html" title="class in edu.ntnu.idatt2001.carljgu.units">Unit</a>&nbsp;unit)</span></div>
+<div class="block">Add unit if it does not exist from before.</div>
+<dl class="notes">
+<dt>Parameters:</dt>
+<dd><code>unit</code> - Unit - an instance of Unit.</dd>
+</dl>
+</section>
+</li>
+<li>
+<section class="detail" id="addUnits(java.util.ArrayList)">
+<h3>addUnits</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">addUnits</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/ArrayList.html" title="class or interface in java.util" class="external-link">ArrayList</a>&lt;<a href="Unit.html" title="class in edu.ntnu.idatt2001.carljgu.units">Unit</a>&gt;&nbsp;units)</span></div>
+<div class="block">Add units.
+ Iterates over units and adds them if
+ they do not exist from before.</div>
+<dl class="notes">
+<dt>Parameters:</dt>
+<dd><code>units</code> - ArrayList - a list of units.</dd>
+</dl>
+</section>
+</li>
+<li>
+<section class="detail" id="remove(edu.ntnu.idatt2001.carljgu.units.Unit)">
+<h3>remove</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">remove</span><wbr><span class="parameters">(<a href="Unit.html" title="class in edu.ntnu.idatt2001.carljgu.units">Unit</a>&nbsp;unit)</span></div>
+<div class="block">Remove a specified unit.</div>
+<dl class="notes">
+<dt>Parameters:</dt>
+<dd><code>unit</code> - Unit - an instance of Unit.</dd>
+</dl>
+</section>
+</li>
+<li>
+<section class="detail" id="hasUnits()">
+<h3>hasUnits</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">hasUnits</span>()</div>
+<div class="block">Checks if the list of units is empty</div>
+<dl class="notes">
+<dt>Returns:</dt>
+<dd>boolean - true if the list is not empty.</dd>
+</dl>
+</section>
+</li>
+<li>
+<section class="detail" id="getAllUnits()">
+<h3>getAllUnits</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/ArrayList.html" title="class or interface in java.util" class="external-link">ArrayList</a>&lt;<a href="Unit.html" title="class in edu.ntnu.idatt2001.carljgu.units">Unit</a>&gt;</span>&nbsp;<span class="element-name">getAllUnits</span>()</div>
+<div class="block">Gets all units.</div>
+<dl class="notes">
+<dt>Returns:</dt>
+<dd>units - ArrayList - a list of units.</dd>
+</dl>
+</section>
+</li>
+<li>
+<section class="detail" id="getInfantryUnits()">
+<h3>getInfantryUnits</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/ArrayList.html" title="class or interface in java.util" class="external-link">ArrayList</a>&lt;<a href="Unit.html" title="class in edu.ntnu.idatt2001.carljgu.units">Unit</a>&gt;</span>&nbsp;<span class="element-name">getInfantryUnits</span>()</div>
+<div class="block">Returns an arraylist of infantry units
+ using stream and filter.</div>
+<dl class="notes">
+<dt>Returns:</dt>
+<dd>ArrayList - a list of infantry units</dd>
+</dl>
+</section>
+</li>
+<li>
+<section class="detail" id="getRangedUnits()">
+<h3>getRangedUnits</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/ArrayList.html" title="class or interface in java.util" class="external-link">ArrayList</a>&lt;<a href="Unit.html" title="class in edu.ntnu.idatt2001.carljgu.units">Unit</a>&gt;</span>&nbsp;<span class="element-name">getRangedUnits</span>()</div>
+<div class="block">Returns an arraylist of ranged units
+ using stream and filter.</div>
+<dl class="notes">
+<dt>Returns:</dt>
+<dd>ArrayList - a list of ranged units</dd>
+</dl>
+</section>
+</li>
+<li>
+<section class="detail" id="getCavalryUnits()">
+<h3>getCavalryUnits</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/ArrayList.html" title="class or interface in java.util" class="external-link">ArrayList</a>&lt;<a href="Unit.html" title="class in edu.ntnu.idatt2001.carljgu.units">Unit</a>&gt;</span>&nbsp;<span class="element-name">getCavalryUnits</span>()</div>
+<div class="block">Returns an arraylist of cavalry units
+ using stream and filter.
+ Makes sure units are not commander units</div>
+<dl class="notes">
+<dt>Returns:</dt>
+<dd>ArrayList - a list of cavalry units</dd>
+</dl>
+</section>
+</li>
+<li>
+<section class="detail" id="getCommanderUnits()">
+<h3>getCommanderUnits</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/ArrayList.html" title="class or interface in java.util" class="external-link">ArrayList</a>&lt;<a href="Unit.html" title="class in edu.ntnu.idatt2001.carljgu.units">Unit</a>&gt;</span>&nbsp;<span class="element-name">getCommanderUnits</span>()</div>
+<div class="block">Returns an arraylist of commander units
+ using stream and filter.</div>
+<dl class="notes">
+<dt>Returns:</dt>
+<dd>ArrayList - a list of commander units</dd>
+</dl>
+</section>
+</li>
+<li>
+<section class="detail" id="getRandom()">
+<h3>getRandom</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="Unit.html" title="class in edu.ntnu.idatt2001.carljgu.units">Unit</a></span>&nbsp;<span class="element-name">getRandom</span>()</div>
+<div class="block">Gets a random unit from the list.
+ If there are no units it returns a null object.</div>
+<dl class="notes">
+<dt>Returns:</dt>
+<dd>unit - Unit - an instance of Unit.</dd>
+</dl>
+</section>
+</li>
+<li>
+<section class="detail" id="toString()">
+<h3>toString</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">toString</span>()</div>
+<div class="block">Overrides the toString() method from Object.
+ iterates over all units and calls their toString() method.
+ Uses StringBuilder to avoid making new Strings.</div>
+<dl class="notes">
+<dt>Overrides:</dt>
+<dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#toString()" title="class or interface in java.lang" class="external-link">toString</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></code></dd>
+<dt>Returns:</dt>
+<dd>String - representation of the army.</dd>
+</dl>
+</section>
+</li>
+<li>
+<section class="detail" id="equals(java.lang.Object)">
+<h3>equals</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">equals</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;o)</span></div>
+<div class="block">Checks if two armies are equal based on name and list of units.</div>
+<dl class="notes">
+<dt>Overrides:</dt>
+<dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></code></dd>
+<dt>Parameters:</dt>
+<dd><code>o</code> - Object - object checking validity to.</dd>
+<dt>Returns:</dt>
+<dd>boolean - true if name and list of units are equal.</dd>
+</dl>
+</section>
+</li>
+<li>
+<section class="detail" id="hashCode()">
+<h3>hashCode</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">hashCode</span>()</div>
+<div class="block">Hashes name and units for the equals method</div>
+<dl class="notes">
+<dt>Overrides:</dt>
+<dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></code></dd>
+<dt>Returns:</dt>
+<dd>int - hashcode to the army</dd>
+</dl>
+</section>
+</li>
+</ul>
+</section>
+</li>
+</ul>
+</section>
+<!-- ========= END OF CLASS DATA ========= -->
+</main>
+</div>
+</div>
+</body>
+</html>
diff --git a/javadoc/edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/Unit.html b/javadoc/edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/Unit.html
new file mode 100644
index 0000000..fec7665
--- /dev/null
+++ b/javadoc/edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/Unit.html
@@ -0,0 +1,344 @@
+<!DOCTYPE HTML>
+<html lang="en">
+<head>
+<!-- Generated by javadoc (17) on Sun May 01 19:43:43 CEST 2022 -->
+<title>Unit</title>
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<meta name="dc.created" content="2022-05-01">
+<meta name="description" content="declaration: module: edu.ntnu.idatt2001.carljgu.client, package: edu.ntnu.idatt2001.carljgu.units, class: Unit">
+<meta name="generator" content="javadoc/ClassWriterImpl">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../../../../../../script-dir/jquery-ui.min.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../../../../../../jquery-ui.overrides.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+<script type="text/javascript" src="../../../../../../script-dir/jquery-3.5.1.min.js"></script>
+<script type="text/javascript" src="../../../../../../script-dir/jquery-ui.min.js"></script>
+</head>
+<body class="class-declaration-page">
+<script type="text/javascript">var evenRowColor = "even-row-color";
+var oddRowColor = "odd-row-color";
+var tableTab = "table-tab";
+var activeTableTab = "active-table-tab";
+var pathtoroot = "../../../../../../";
+loadScripts(document, 'script');</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<div class="flex-box">
+<header role="banner" class="flex-header">
+<nav role="navigation">
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="top-nav" id="navbar-top">
+<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
+<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
+<li><a href="../../../../../module-summary.html">Module</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="nav-bar-cell1-rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../index-files/index-1.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html#class">Help</a></li>
+</ul>
+</div>
+<div class="sub-nav">
+<div>
+<ul class="sub-nav-list">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor-summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method-summary">Method</a></li>
+</ul>
+<ul class="sub-nav-list">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor-detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method-detail">Method</a></li>
+</ul>
+</div>
+<div class="nav-list-search"><label for="search-input">SEARCH:</label>
+<input type="text" id="search-input" value="search" disabled="disabled">
+<input type="reset" id="reset-button" value="reset" disabled="disabled">
+</div>
+</div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<span class="skip-nav" id="skip-navbar-top"></span></nav>
+</header>
+<div class="flex-content">
+<main role="main">
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="sub-title"><span class="module-label-in-type">Module</span>&nbsp;<a href="../../../../../module-summary.html">edu.ntnu.idatt2001.carljgu.client</a></div>
+<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">edu.ntnu.idatt2001.carljgu.units</a></div>
+<h1 title="Class Unit" class="title">Class Unit</h1>
+</div>
+<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
+<div class="inheritance">edu.ntnu.idatt2001.carljgu.units.Unit</div>
+</div>
+<section class="class-description" id="class-description">
+<dl class="notes">
+<dt>Direct Known Subclasses:</dt>
+<dd><code><a href="specialized/CavalryUnit.html" title="class in edu.ntnu.idatt2001.carljgu.units.specialized">CavalryUnit</a></code>, <code><a href="specialized/InfantryUnit.html" title="class in edu.ntnu.idatt2001.carljgu.units.specialized">InfantryUnit</a></code>, <code><a href="specialized/RangedUnit.html" title="class in edu.ntnu.idatt2001.carljgu.units.specialized">RangedUnit</a></code></dd>
+</dl>
+<hr>
+<div class="type-signature"><span class="modifiers">public abstract class </span><span class="element-name type-name-label">Unit</span>
+<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></span></div>
+<div class="block">The abstract class Unit.
+ A unit object should not be created because all units
+ that are used in the simulations are subclasses of Unit.
+ Since it is abstract a Unit object can not be created.</div>
+<dl class="notes">
+<dt>Version:</dt>
+<dd>1.4 09.04.2022</dd>
+<dt>Author:</dt>
+<dd>Carl Gützkow</dd>
+</dl>
+</section>
+<section class="summary">
+<ul class="summary-list">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<li>
+<section class="constructor-summary" id="constructor-summary">
+<h2>Constructor Summary</h2>
+<div class="caption"><span>Constructors</span></div>
+<div class="summary-table two-column-summary">
+<div class="table-header col-first">Constructor</div>
+<div class="table-header col-last">Description</div>
+<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E(java.lang.String,int,int,int)" class="member-name-link">Unit</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name,
+ int&nbsp;health,
+ int&nbsp;attack,
+ int&nbsp;armor)</code></div>
+<div class="col-last even-row-color">
+<div class="block">Checks validity of name and health.</div>
+</div>
+</div>
+</section>
+</li>
+<!-- ========== METHOD SUMMARY =========== -->
+<li>
+<section class="method-summary" id="method-summary">
+<h2>Method Summary</h2>
+<div id="method-summary-table">
+<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab3" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab3', 3)" class="table-tab">Abstract Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
+<div id="method-summary-table.tabpanel" role="tabpanel">
+<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
+<div class="table-header col-first">Modifier and Type</div>
+<div class="table-header col-second">Method</div>
+<div class="table-header col-last">Description</div>
+<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>int</code></div>
+<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#attack(edu.ntnu.idatt2001.carljgu.units.Unit,edu.ntnu.idatt2001.carljgu.Terrain)" class="member-name-link">attack</a><wbr>(<a href="Unit.html" title="class in edu.ntnu.idatt2001.carljgu.units">Unit</a>&nbsp;unit,
+ <a href="../Terrain.html" title="enum class in edu.ntnu.idatt2001.carljgu">Terrain</a>&nbsp;terrain)</code></div>
+<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
+<div class="block">Method for dealing damage to another unit.</div>
+</div>
+<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>int</code></div>
+<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getArmor()" class="member-name-link">getArmor</a>()</code></div>
+<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
+<div class="block">Gets armor.</div>
+</div>
+<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>int</code></div>
+<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getAttack()" class="member-name-link">getAttack</a>()</code></div>
+<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
+<div class="block">Gets attack.</div>
+</div>
+<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>abstract int</code></div>
+<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getAttackBonus(edu.ntnu.idatt2001.carljgu.Terrain)" class="member-name-link">getAttackBonus</a><wbr>(<a href="../Terrain.html" title="enum class in edu.ntnu.idatt2001.carljgu">Terrain</a>&nbsp;terrain)</code></div>
+<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
+<div class="block">Gets attack bonus.</div>
+</div>
+<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>int</code></div>
+<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getHealth()" class="member-name-link">getHealth</a>()</code></div>
+<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
+<div class="block">Gets health.</div>
+</div>
+<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
+<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getName()" class="member-name-link">getName</a>()</code></div>
+<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
+<div class="block">Gets name.</div>
+</div>
+<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>abstract int</code></div>
+<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getResistBonus(edu.ntnu.idatt2001.carljgu.Terrain)" class="member-name-link">getResistBonus</a><wbr>(<a href="../Terrain.html" title="enum class in edu.ntnu.idatt2001.carljgu">Terrain</a>&nbsp;terrain)</code></div>
+<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
+<div class="block">Gets resist bonus.</div>
+</div>
+<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
+<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setHealth(int)" class="member-name-link">setHealth</a><wbr>(int&nbsp;health)</code></div>
+<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
+<div class="block">Sets health.</div>
+</div>
+<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
+<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#toString()" class="member-name-link">toString</a>()</code></div>
+<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
+<div class="block">Overrides toString() method from Object.</div>
+</div>
+</div>
+</div>
+</div>
+<div class="inherited-list">
+<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
+<code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
+</section>
+</li>
+</ul>
+</section>
+<section class="details">
+<ul class="details-list">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<li>
+<section class="constructor-details" id="constructor-detail">
+<h2>Constructor Details</h2>
+<ul class="member-list">
+<li>
+<section class="detail" id="&lt;init&gt;(java.lang.String,int,int,int)">
+<h3>Unit</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">Unit</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name,
+ int&nbsp;health,
+ int&nbsp;attack,
+ int&nbsp;armor)</span>
+     throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/IllegalArgumentException.html" title="class or interface in java.lang" class="external-link">IllegalArgumentException</a></span></div>
+<div class="block">Checks validity of name and health. Health can not be less than or equal to zero.
+ Attack and armor can not be negative, but can be equal to zero.</div>
+<dl class="notes">
+<dt>Parameters:</dt>
+<dd><code>name</code> - String - a short name of the unit that can't be left with whitespace or empty.</dd>
+<dd><code>health</code> - int - HP - amount of health unit has. If it hits zero or more, the unit is dead.</dd>
+<dd><code>attack</code> - int - damage done, excluding attack bonus, on an enemy unit.</dd>
+<dd><code>armor</code> - int - damage resisted, excluding resist bonus, from an enemy unit.</dd>
+<dt>Throws:</dt>
+<dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/IllegalArgumentException.html" title="class or interface in java.lang" class="external-link">IllegalArgumentException</a></code> - thrown if name is empty or whitespace only or if health starts at zero or less.</dd>
+</dl>
+</section>
+</li>
+</ul>
+</section>
+</li>
+<!-- ============ METHOD DETAIL ========== -->
+<li>
+<section class="method-details" id="method-detail">
+<h2>Method Details</h2>
+<ul class="member-list">
+<li>
+<section class="detail" id="attack(edu.ntnu.idatt2001.carljgu.units.Unit,edu.ntnu.idatt2001.carljgu.Terrain)">
+<h3>attack</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">attack</span><wbr><span class="parameters">(<a href="Unit.html" title="class in edu.ntnu.idatt2001.carljgu.units">Unit</a>&nbsp;unit,
+ <a href="../Terrain.html" title="enum class in edu.ntnu.idatt2001.carljgu">Terrain</a>&nbsp;terrain)</span></div>
+<div class="block">Method for dealing damage to another unit.
+ It uses the enemy unit's attributes like health, resist bonus and armor
+ to calculate its remaining health.
+ If the total damage dealt is less than the armor and resistance bonus
+ for the defender, the unit's health is unaffected.</div>
+<dl class="notes">
+<dt>Parameters:</dt>
+<dd><code>unit</code> - Unit - enemy of any unit subclass.</dd>
+<dt>Returns:</dt>
+<dd>totalDamage - int - the amount of damage the attacker inflicted</dd>
+</dl>
+</section>
+</li>
+<li>
+<section class="detail" id="getName()">
+<h3>getName</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">getName</span>()</div>
+<div class="block">Gets name.</div>
+<dl class="notes">
+<dt>Returns:</dt>
+<dd>name - String - a short name of the unit that can't be left with whitespace or empty.</dd>
+</dl>
+</section>
+</li>
+<li>
+<section class="detail" id="getHealth()">
+<h3>getHealth</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">getHealth</span>()</div>
+<div class="block">Gets health.</div>
+<dl class="notes">
+<dt>Returns:</dt>
+<dd>health - int - HP - amount of health unit has. If it hits zero or more, the unit is dead.</dd>
+</dl>
+</section>
+</li>
+<li>
+<section class="detail" id="getAttack()">
+<h3>getAttack</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">getAttack</span>()</div>
+<div class="block">Gets attack.</div>
+<dl class="notes">
+<dt>Returns:</dt>
+<dd>attack - int - damage done, excluding attack bonus, on an enemy unit.</dd>
+</dl>
+</section>
+</li>
+<li>
+<section class="detail" id="getArmor()">
+<h3>getArmor</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">getArmor</span>()</div>
+<div class="block">Gets armor.</div>
+<dl class="notes">
+<dt>Returns:</dt>
+<dd>armor - int - damage resisted, excluding resist bonus, from an enemy unit.</dd>
+</dl>
+</section>
+</li>
+<li>
+<section class="detail" id="setHealth(int)">
+<h3>setHealth</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">setHealth</span><wbr><span class="parameters">(int&nbsp;health)</span></div>
+<div class="block">Sets health.</div>
+<dl class="notes">
+<dt>Parameters:</dt>
+<dd><code>health</code> - - int - HP - amount of health unit has. If it hits zero or more, the unit is dead.</dd>
+</dl>
+</section>
+</li>
+<li>
+<section class="detail" id="toString()">
+<h3>toString</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">toString</span>()</div>
+<div class="block">Overrides toString() method from Object.</div>
+<dl class="notes">
+<dt>Overrides:</dt>
+<dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#toString()" title="class or interface in java.lang" class="external-link">toString</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></code></dd>
+<dt>Returns:</dt>
+<dd>String - string representation of object</dd>
+</dl>
+</section>
+</li>
+<li>
+<section class="detail" id="getAttackBonus(edu.ntnu.idatt2001.carljgu.Terrain)">
+<h3>getAttackBonus</h3>
+<div class="member-signature"><span class="modifiers">public abstract</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">getAttackBonus</span><wbr><span class="parameters">(<a href="../Terrain.html" title="enum class in edu.ntnu.idatt2001.carljgu">Terrain</a>&nbsp;terrain)</span></div>
+<div class="block">Gets attack bonus.
+ Abstract method that is to be defined in subclasses.</div>
+<dl class="notes">
+<dt>Parameters:</dt>
+<dd><code>terrain</code> - Terrain - the terrain of the attack</dd>
+<dt>Returns:</dt>
+<dd>the attack bonus</dd>
+</dl>
+</section>
+</li>
+<li>
+<section class="detail" id="getResistBonus(edu.ntnu.idatt2001.carljgu.Terrain)">
+<h3>getResistBonus</h3>
+<div class="member-signature"><span class="modifiers">public abstract</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">getResistBonus</span><wbr><span class="parameters">(<a href="../Terrain.html" title="enum class in edu.ntnu.idatt2001.carljgu">Terrain</a>&nbsp;terrain)</span></div>
+<div class="block">Gets resist bonus.
+ Abstract method that is to be defined in subclasses.</div>
+<dl class="notes">
+<dt>Parameters:</dt>
+<dd><code>terrain</code> - Terrain - the terrain of the attack</dd>
+<dt>Returns:</dt>
+<dd>the resist bonus</dd>
+</dl>
+</section>
+</li>
+</ul>
+</section>
+</li>
+</ul>
+</section>
+<!-- ========= END OF CLASS DATA ========= -->
+</main>
+</div>
+</div>
+</body>
+</html>
diff --git a/javadoc/edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/UnitFactory.html b/javadoc/edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/UnitFactory.html
new file mode 100644
index 0000000..98c95e3
--- /dev/null
+++ b/javadoc/edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/UnitFactory.html
@@ -0,0 +1,252 @@
+<!DOCTYPE HTML>
+<html lang="en">
+<head>
+<!-- Generated by javadoc (17) on Sun May 01 19:43:43 CEST 2022 -->
+<title>UnitFactory</title>
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<meta name="dc.created" content="2022-05-01">
+<meta name="description" content="declaration: module: edu.ntnu.idatt2001.carljgu.client, package: edu.ntnu.idatt2001.carljgu.units, class: UnitFactory">
+<meta name="generator" content="javadoc/ClassWriterImpl">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../../../../../../script-dir/jquery-ui.min.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../../../../../../jquery-ui.overrides.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+<script type="text/javascript" src="../../../../../../script-dir/jquery-3.5.1.min.js"></script>
+<script type="text/javascript" src="../../../../../../script-dir/jquery-ui.min.js"></script>
+</head>
+<body class="class-declaration-page">
+<script type="text/javascript">var evenRowColor = "even-row-color";
+var oddRowColor = "odd-row-color";
+var tableTab = "table-tab";
+var activeTableTab = "active-table-tab";
+var pathtoroot = "../../../../../../";
+loadScripts(document, 'script');</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<div class="flex-box">
+<header role="banner" class="flex-header">
+<nav role="navigation">
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="top-nav" id="navbar-top">
+<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
+<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
+<li><a href="../../../../../module-summary.html">Module</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="nav-bar-cell1-rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../index-files/index-1.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html#class">Help</a></li>
+</ul>
+</div>
+<div class="sub-nav">
+<div>
+<ul class="sub-nav-list">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor-summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method-summary">Method</a></li>
+</ul>
+<ul class="sub-nav-list">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor-detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method-detail">Method</a></li>
+</ul>
+</div>
+<div class="nav-list-search"><label for="search-input">SEARCH:</label>
+<input type="text" id="search-input" value="search" disabled="disabled">
+<input type="reset" id="reset-button" value="reset" disabled="disabled">
+</div>
+</div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<span class="skip-nav" id="skip-navbar-top"></span></nav>
+</header>
+<div class="flex-content">
+<main role="main">
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="sub-title"><span class="module-label-in-type">Module</span>&nbsp;<a href="../../../../../module-summary.html">edu.ntnu.idatt2001.carljgu.client</a></div>
+<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">edu.ntnu.idatt2001.carljgu.units</a></div>
+<h1 title="Class UnitFactory" class="title">Class UnitFactory</h1>
+</div>
+<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
+<div class="inheritance">edu.ntnu.idatt2001.carljgu.units.UnitFactory</div>
+</div>
+<section class="class-description" id="class-description">
+<hr>
+<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">UnitFactory</span>
+<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></span></div>
+<div class="block">A class to simply and elegantly create units.
+ Either one by one or many at once. Uses string
+ instead of enums to directly insert the
+ unit type from the file reader. In addition,
+ the exception is handled in the factory.</div>
+<dl class="notes">
+<dt>Version:</dt>
+<dd>1.3 13.04.2022</dd>
+<dt>Author:</dt>
+<dd>Carl Gützkow</dd>
+</dl>
+</section>
+<section class="summary">
+<ul class="summary-list">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<li>
+<section class="constructor-summary" id="constructor-summary">
+<h2>Constructor Summary</h2>
+<div class="caption"><span>Constructors</span></div>
+<div class="summary-table two-column-summary">
+<div class="table-header col-first">Constructor</div>
+<div class="table-header col-last">Description</div>
+<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E()" class="member-name-link">UnitFactory</a>()</code></div>
+<div class="col-last even-row-color">&nbsp;</div>
+</div>
+</section>
+</li>
+<!-- ========== METHOD SUMMARY =========== -->
+<li>
+<section class="method-summary" id="method-summary">
+<h2>Method Summary</h2>
+<div id="method-summary-table">
+<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
+<div id="method-summary-table.tabpanel" role="tabpanel">
+<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
+<div class="table-header col-first">Modifier and Type</div>
+<div class="table-header col-second">Method</div>
+<div class="table-header col-last">Description</div>
+<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/ArrayList.html" title="class or interface in java.util" class="external-link">ArrayList</a>&lt;<a href="Unit.html" title="class in edu.ntnu.idatt2001.carljgu.units">Unit</a>&gt;</code></div>
+<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#createListOfUnits(int,java.lang.String,java.lang.String,int)" class="member-name-link">createListOfUnits</a><wbr>(int&nbsp;amount,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;unitType,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name,
+ int&nbsp;health)</code></div>
+<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
+<div class="block">Returns a list of units.</div>
+</div>
+<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="Unit.html" title="class in edu.ntnu.idatt2001.carljgu.units">Unit</a></code></div>
+<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#createUnit(java.lang.String,java.lang.String,int)" class="member-name-link">createUnit</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;unitType,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name,
+ int&nbsp;health)</code></div>
+<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
+<div class="block">Creates a unit between
+ InfantryUnit, RangedUnit,
+ CavalryUnit or CommanderUnit.</div>
+</div>
+<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/ArrayList.html" title="class or interface in java.util" class="external-link">ArrayList</a>&lt;<a href="Unit.html" title="class in edu.ntnu.idatt2001.carljgu.units">Unit</a>&gt;</code></div>
+<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#deepCopyBasicUnits(java.util.ArrayList)" class="member-name-link">deepCopyBasicUnits</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/ArrayList.html" title="class or interface in java.util" class="external-link">ArrayList</a>&lt;<a href="Unit.html" title="class in edu.ntnu.idatt2001.carljgu.units">Unit</a>&gt;&nbsp;units)</code></div>
+<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
+<div class="block">Deep copies units, but ignores overridden
+ attack and armor points.</div>
+</div>
+</div>
+</div>
+</div>
+<div class="inherited-list">
+<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
+<code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#toString()" title="class or interface in java.lang" class="external-link">toString</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
+</section>
+</li>
+</ul>
+</section>
+<section class="details">
+<ul class="details-list">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<li>
+<section class="constructor-details" id="constructor-detail">
+<h2>Constructor Details</h2>
+<ul class="member-list">
+<li>
+<section class="detail" id="&lt;init&gt;()">
+<h3>UnitFactory</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">UnitFactory</span>()</div>
+</section>
+</li>
+</ul>
+</section>
+</li>
+<!-- ============ METHOD DETAIL ========== -->
+<li>
+<section class="method-details" id="method-detail">
+<h2>Method Details</h2>
+<ul class="member-list">
+<li>
+<section class="detail" id="createUnit(java.lang.String,java.lang.String,int)">
+<h3>createUnit</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="Unit.html" title="class in edu.ntnu.idatt2001.carljgu.units">Unit</a></span>&nbsp;<span class="element-name">createUnit</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;unitType,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name,
+ int&nbsp;health)</span>
+                throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/IllegalArgumentException.html" title="class or interface in java.lang" class="external-link">IllegalArgumentException</a></span></div>
+<div class="block">Creates a unit between
+ InfantryUnit, RangedUnit,
+ CavalryUnit or CommanderUnit.
+ If the unit type could not be
+ found, it will return null instead.</div>
+<dl class="notes">
+<dt>Parameters:</dt>
+<dd><code>unitType</code> - String - the type of unit to create.</dd>
+<dd><code>name</code> - String - name of the created unit.</dd>
+<dd><code>health</code> - int - amount of health the unit starts width</dd>
+<dt>Returns:</dt>
+<dd>unit - Unit - an instance of specialized unit with name and health specified</dd>
+<dt>Throws:</dt>
+<dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/IllegalArgumentException.html" title="class or interface in java.lang" class="external-link">IllegalArgumentException</a></code> - thrown if the unit could not be created or
+ if the type of unit does not exist.</dd>
+</dl>
+</section>
+</li>
+<li>
+<section class="detail" id="createListOfUnits(int,java.lang.String,java.lang.String,int)">
+<h3>createListOfUnits</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/ArrayList.html" title="class or interface in java.util" class="external-link">ArrayList</a>&lt;<a href="Unit.html" title="class in edu.ntnu.idatt2001.carljgu.units">Unit</a>&gt;</span>&nbsp;<span class="element-name">createListOfUnits</span><wbr><span class="parameters">(int&nbsp;amount,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;unitType,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name,
+ int&nbsp;health)</span>
+                                  throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/IllegalArgumentException.html" title="class or interface in java.lang" class="external-link">IllegalArgumentException</a></span></div>
+<div class="block">Returns a list of units.
+ Uses the createUnit method to create a
+ list of "amount" units with the same name and health.</div>
+<dl class="notes">
+<dt>Parameters:</dt>
+<dd><code>amount</code> - int - amount of units to create.</dd>
+<dd><code>unitType</code> - String - the type of unit to create.</dd>
+<dd><code>name</code> - String - name of the created unit.</dd>
+<dd><code>health</code> - int - amount of health the unit starts width</dd>
+<dt>Returns:</dt>
+<dd>units - ArrayList - a list of units with the equal attributes.</dd>
+<dt>Throws:</dt>
+<dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/IllegalArgumentException.html" title="class or interface in java.lang" class="external-link">IllegalArgumentException</a></code> - thrown if amount is a negative number, if
+ unit could not be created or if unit type does not exist.</dd>
+</dl>
+</section>
+</li>
+<li>
+<section class="detail" id="deepCopyBasicUnits(java.util.ArrayList)">
+<h3>deepCopyBasicUnits</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/ArrayList.html" title="class or interface in java.util" class="external-link">ArrayList</a>&lt;<a href="Unit.html" title="class in edu.ntnu.idatt2001.carljgu.units">Unit</a>&gt;</span>&nbsp;<span class="element-name">deepCopyBasicUnits</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/ArrayList.html" title="class or interface in java.util" class="external-link">ArrayList</a>&lt;<a href="Unit.html" title="class in edu.ntnu.idatt2001.carljgu.units">Unit</a>&gt;&nbsp;units)</span>
+                                   throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/IllegalArgumentException.html" title="class or interface in java.lang" class="external-link">IllegalArgumentException</a></span></div>
+<div class="block">Deep copies units, but ignores overridden
+ attack and armor points.</div>
+<dl class="notes">
+<dt>Parameters:</dt>
+<dd><code>units</code> - ArrayList - a list of units.</dd>
+<dt>Returns:</dt>
+<dd>new_units - ArrayList - a deep copied list of all units</dd>
+<dt>Throws:</dt>
+<dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/IllegalArgumentException.html" title="class or interface in java.lang" class="external-link">IllegalArgumentException</a></code> - thrown if any units could not be
+ created or if unit type does not exist.</dd>
+</dl>
+</section>
+</li>
+</ul>
+</section>
+</li>
+</ul>
+</section>
+<!-- ========= END OF CLASS DATA ========= -->
+</main>
+</div>
+</div>
+</body>
+</html>
diff --git a/javadoc/edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/package-summary.html b/javadoc/edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/package-summary.html
new file mode 100644
index 0000000..b2f6847
--- /dev/null
+++ b/javadoc/edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/package-summary.html
@@ -0,0 +1,110 @@
+<!DOCTYPE HTML>
+<html lang="en">
+<head>
+<!-- Generated by javadoc (17) on Sun May 01 19:43:43 CEST 2022 -->
+<title>edu.ntnu.idatt2001.carljgu.units</title>
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<meta name="dc.created" content="2022-05-01">
+<meta name="description" content="declaration: module: edu.ntnu.idatt2001.carljgu.client, package: edu.ntnu.idatt2001.carljgu.units">
+<meta name="generator" content="javadoc/PackageWriterImpl">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../../../../../../script-dir/jquery-ui.min.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../../../../../../jquery-ui.overrides.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+<script type="text/javascript" src="../../../../../../script-dir/jquery-3.5.1.min.js"></script>
+<script type="text/javascript" src="../../../../../../script-dir/jquery-ui.min.js"></script>
+</head>
+<body class="package-declaration-page">
+<script type="text/javascript">var pathtoroot = "../../../../../../";
+loadScripts(document, 'script');</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<div class="flex-box">
+<header role="banner" class="flex-header">
+<nav role="navigation">
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="top-nav" id="navbar-top">
+<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
+<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
+<li><a href="../../../../../module-summary.html">Module</a></li>
+<li class="nav-bar-cell1-rev">Package</li>
+<li>Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../index-files/index-1.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html#package">Help</a></li>
+</ul>
+</div>
+<div class="sub-nav">
+<div>
+<ul class="sub-nav-list">
+<li>Package:&nbsp;</li>
+<li>Description&nbsp;|&nbsp;</li>
+<li><a href="#related-package-summary">Related Packages</a>&nbsp;|&nbsp;</li>
+<li><a href="#class-summary">Classes and Interfaces</a></li>
+</ul>
+</div>
+<div class="nav-list-search"><label for="search-input">SEARCH:</label>
+<input type="text" id="search-input" value="search" disabled="disabled">
+<input type="reset" id="reset-button" value="reset" disabled="disabled">
+</div>
+</div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<span class="skip-nav" id="skip-navbar-top"></span></nav>
+</header>
+<div class="flex-content">
+<main role="main">
+<div class="header">
+<div class="sub-title"><span class="module-label-in-package">Module</span>&nbsp;<a href="../../../../../module-summary.html">edu.ntnu.idatt2001.carljgu.client</a></div>
+<h1 title="Package edu.ntnu.idatt2001.carljgu.units" class="title">Package edu.ntnu.idatt2001.carljgu.units</h1>
+</div>
+<hr>
+<div class="package-signature">package <span class="element-name">edu.ntnu.idatt2001.carljgu.units</span></div>
+<section class="summary">
+<ul class="summary-list">
+<li>
+<div id="related-package-summary">
+<div class="caption"><span>Related Packages</span></div>
+<div class="summary-table two-column-summary">
+<div class="table-header col-first">Package</div>
+<div class="table-header col-last">Description</div>
+<div class="col-first even-row-color"><a href="../package-summary.html">edu.ntnu.idatt2001.carljgu</a></div>
+<div class="col-last even-row-color">&nbsp;</div>
+<div class="col-first odd-row-color"><a href="specialized/package-summary.html">edu.ntnu.idatt2001.carljgu.units.specialized</a></div>
+<div class="col-last odd-row-color">&nbsp;</div>
+<div class="col-first even-row-color"><a href="../battle/package-summary.html">edu.ntnu.idatt2001.carljgu.battle</a></div>
+<div class="col-last even-row-color">&nbsp;</div>
+<div class="col-first odd-row-color"><a href="../client/package-summary.html">edu.ntnu.idatt2001.carljgu.client</a></div>
+<div class="col-last odd-row-color">&nbsp;</div>
+</div>
+</div>
+</li>
+<li>
+<div id="class-summary">
+<div class="caption"><span>Classes</span></div>
+<div class="summary-table two-column-summary">
+<div class="table-header col-first">Class</div>
+<div class="table-header col-last">Description</div>
+<div class="col-first even-row-color class-summary class-summary-tab2"><a href="Army.html" title="class in edu.ntnu.idatt2001.carljgu.units">Army</a></div>
+<div class="col-last even-row-color class-summary class-summary-tab2">
+<div class="block">public class Army.</div>
+</div>
+<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="Unit.html" title="class in edu.ntnu.idatt2001.carljgu.units">Unit</a></div>
+<div class="col-last odd-row-color class-summary class-summary-tab2">
+<div class="block">The abstract class Unit.</div>
+</div>
+<div class="col-first even-row-color class-summary class-summary-tab2"><a href="UnitFactory.html" title="class in edu.ntnu.idatt2001.carljgu.units">UnitFactory</a></div>
+<div class="col-last even-row-color class-summary class-summary-tab2">
+<div class="block">A class to simply and elegantly create units.</div>
+</div>
+</div>
+</div>
+</li>
+</ul>
+</section>
+</main>
+</div>
+</div>
+</body>
+</html>
diff --git a/javadoc/edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/package-tree.html b/javadoc/edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/package-tree.html
new file mode 100644
index 0000000..86cd86f
--- /dev/null
+++ b/javadoc/edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/package-tree.html
@@ -0,0 +1,73 @@
+<!DOCTYPE HTML>
+<html lang="en">
+<head>
+<!-- Generated by javadoc (17) on Sun May 01 19:43:43 CEST 2022 -->
+<title>edu.ntnu.idatt2001.carljgu.units Class Hierarchy</title>
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<meta name="dc.created" content="2022-05-01">
+<meta name="description" content="tree: module: edu.ntnu.idatt2001.carljgu.client, package: edu.ntnu.idatt2001.carljgu.units">
+<meta name="generator" content="javadoc/PackageTreeWriter">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../../../../../../script-dir/jquery-ui.min.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../../../../../../jquery-ui.overrides.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+<script type="text/javascript" src="../../../../../../script-dir/jquery-3.5.1.min.js"></script>
+<script type="text/javascript" src="../../../../../../script-dir/jquery-ui.min.js"></script>
+</head>
+<body class="package-tree-page">
+<script type="text/javascript">var pathtoroot = "../../../../../../";
+loadScripts(document, 'script');</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<div class="flex-box">
+<header role="banner" class="flex-header">
+<nav role="navigation">
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="top-nav" id="navbar-top">
+<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
+<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
+<li><a href="../../../../../module-summary.html">Module</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="nav-bar-cell1-rev">Tree</li>
+<li><a href="../../../../../../index-files/index-1.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html#tree">Help</a></li>
+</ul>
+</div>
+<div class="sub-nav">
+<div class="nav-list-search"><label for="search-input">SEARCH:</label>
+<input type="text" id="search-input" value="search" disabled="disabled">
+<input type="reset" id="reset-button" value="reset" disabled="disabled">
+</div>
+</div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<span class="skip-nav" id="skip-navbar-top"></span></nav>
+</header>
+<div class="flex-content">
+<main role="main">
+<div class="header">
+<h1 class="title">Hierarchy For Package edu.ntnu.idatt2001.carljgu.units</h1>
+<span class="package-hierarchy-label">Package Hierarchies:</span>
+<ul class="horizontal">
+<li><a href="../../../../../../overview-tree.html">All Packages</a></li>
+</ul>
+</div>
+<section class="hierarchy">
+<h2 title="Class Hierarchy">Class Hierarchy</h2>
+<ul>
+<li class="circle">java.lang.<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" class="type-name-link external-link" title="class or interface in java.lang">Object</a>
+<ul>
+<li class="circle">edu.ntnu.idatt2001.carljgu.units.<a href="Army.html" class="type-name-link" title="class in edu.ntnu.idatt2001.carljgu.units">Army</a></li>
+<li class="circle">edu.ntnu.idatt2001.carljgu.units.<a href="Unit.html" class="type-name-link" title="class in edu.ntnu.idatt2001.carljgu.units">Unit</a></li>
+<li class="circle">edu.ntnu.idatt2001.carljgu.units.<a href="UnitFactory.html" class="type-name-link" title="class in edu.ntnu.idatt2001.carljgu.units">UnitFactory</a></li>
+</ul>
+</li>
+</ul>
+</section>
+</main>
+</div>
+</div>
+</body>
+</html>
diff --git a/javadoc/edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/specialized/CavalryUnit.html b/javadoc/edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/specialized/CavalryUnit.html
new file mode 100644
index 0000000..e67ccba
--- /dev/null
+++ b/javadoc/edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/specialized/CavalryUnit.html
@@ -0,0 +1,255 @@
+<!DOCTYPE HTML>
+<html lang="en">
+<head>
+<!-- Generated by javadoc (17) on Sun May 01 19:43:43 CEST 2022 -->
+<title>CavalryUnit</title>
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<meta name="dc.created" content="2022-05-01">
+<meta name="description" content="declaration: module: edu.ntnu.idatt2001.carljgu.client, package: edu.ntnu.idatt2001.carljgu.units.specialized, class: CavalryUnit">
+<meta name="generator" content="javadoc/ClassWriterImpl">
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../../../../../../../script-dir/jquery-ui.min.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../../../../../../../jquery-ui.overrides.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+<script type="text/javascript" src="../../../../../../../script-dir/jquery-3.5.1.min.js"></script>
+<script type="text/javascript" src="../../../../../../../script-dir/jquery-ui.min.js"></script>
+</head>
+<body class="class-declaration-page">
+<script type="text/javascript">var evenRowColor = "even-row-color";
+var oddRowColor = "odd-row-color";
+var tableTab = "table-tab";
+var activeTableTab = "active-table-tab";
+var pathtoroot = "../../../../../../../";
+loadScripts(document, 'script');</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<div class="flex-box">
+<header role="banner" class="flex-header">
+<nav role="navigation">
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="top-nav" id="navbar-top">
+<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
+<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
+<li><a href="../../../../../../module-summary.html">Module</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="nav-bar-cell1-rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../index-files/index-1.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html#class">Help</a></li>
+</ul>
+</div>
+<div class="sub-nav">
+<div>
+<ul class="sub-nav-list">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor-summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method-summary">Method</a></li>
+</ul>
+<ul class="sub-nav-list">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor-detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method-detail">Method</a></li>
+</ul>
+</div>
+<div class="nav-list-search"><label for="search-input">SEARCH:</label>
+<input type="text" id="search-input" value="search" disabled="disabled">
+<input type="reset" id="reset-button" value="reset" disabled="disabled">
+</div>
+</div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<span class="skip-nav" id="skip-navbar-top"></span></nav>
+</header>
+<div class="flex-content">
+<main role="main">
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="sub-title"><span class="module-label-in-type">Module</span>&nbsp;<a href="../../../../../../module-summary.html">edu.ntnu.idatt2001.carljgu.client</a></div>
+<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">edu.ntnu.idatt2001.carljgu.units.specialized</a></div>
+<h1 title="Class CavalryUnit" class="title">Class CavalryUnit</h1>
+</div>
+<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
+<div class="inheritance"><a href="../Unit.html" title="class in edu.ntnu.idatt2001.carljgu.units">edu.ntnu.idatt2001.carljgu.units.Unit</a>
+<div class="inheritance">edu.ntnu.idatt2001.carljgu.units.specialized.CavalryUnit</div>
+</div>
+</div>
+<section class="class-description" id="class-description">
+<dl class="notes">
+<dt>Direct Known Subclasses:</dt>
+<dd><code><a href="CommanderUnit.html" title="class in edu.ntnu.idatt2001.carljgu.units.specialized">CommanderUnit</a></code></dd>
+</dl>
+<hr>
+<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">CavalryUnit</span>
+<span class="extends-implements">extends <a href="../Unit.html" title="class in edu.ntnu.idatt2001.carljgu.units">Unit</a></span></div>
+<div class="block">Class CavalryUnit that inherits from Unit.
+ CavalryUnit objects implements methods from
+ the superclass.</div>
+<dl class="notes">
+<dt>Version:</dt>
+<dd>1.4 01.05.2022</dd>
+<dt>Author:</dt>
+<dd>Carl Gützkow</dd>
+</dl>
+</section>
+<section class="summary">
+<ul class="summary-list">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<li>
+<section class="constructor-summary" id="constructor-summary">
+<h2>Constructor Summary</h2>
+<div class="caption"><span>Constructors</span></div>
+<div class="summary-table two-column-summary">
+<div class="table-header col-first">Constructor</div>
+<div class="table-header col-last">Description</div>
+<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E(java.lang.String,int)" class="member-name-link">CavalryUnit</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name,
+ int&nbsp;health)</code></div>
+<div class="col-last even-row-color">
+<div class="block">Instantiates a new Cavalry unit with
+ a simplified constructor.</div>
+</div>
+<div class="col-constructor-name odd-row-color"><code><a href="#%3Cinit%3E(java.lang.String,int,int,int)" class="member-name-link">CavalryUnit</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name,
+ int&nbsp;health,
+ int&nbsp;attack,
+ int&nbsp;armor)</code></div>
+<div class="col-last odd-row-color">
+<div class="block">Instantiates a new Cavalry unit.</div>
+</div>
+</div>
+</section>
+</li>
+<!-- ========== METHOD SUMMARY =========== -->
+<li>
+<section class="method-summary" id="method-summary">
+<h2>Method Summary</h2>
+<div id="method-summary-table">
+<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
+<div id="method-summary-table.tabpanel" role="tabpanel">
+<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
+<div class="table-header col-first">Modifier and Type</div>
+<div class="table-header col-second">Method</div>
+<div class="table-header col-last">Description</div>
+<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>int</code></div>
+<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getAttackBonus(edu.ntnu.idatt2001.carljgu.Terrain)" class="member-name-link">getAttackBonus</a><wbr>(<a href="../../Terrain.html" title="enum class in edu.ntnu.idatt2001.carljgu">Terrain</a>&nbsp;terrain)</code></div>
+<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
+<div class="block">Overrides the abstract method getAttackBonus from Unit.</div>
+</div>
+<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>int</code></div>
+<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getResistBonus(edu.ntnu.idatt2001.carljgu.Terrain)" class="member-name-link">getResistBonus</a><wbr>(<a href="../../Terrain.html" title="enum class in edu.ntnu.idatt2001.carljgu">Terrain</a>&nbsp;terrain)</code></div>
+<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
+<div class="block">Overrides the abstract method getResistBonus from Unit.</div>
+</div>
+</div>
+</div>
+</div>
+<div class="inherited-list">
+<h3 id="methods-inherited-from-class-edu.ntnu.idatt2001.carljgu.units.Unit">Methods inherited from class&nbsp;edu.ntnu.idatt2001.carljgu.units.<a href="../Unit.html" title="class in edu.ntnu.idatt2001.carljgu.units">Unit</a></h3>
+<code><a href="../Unit.html#attack(edu.ntnu.idatt2001.carljgu.units.Unit,edu.ntnu.idatt2001.carljgu.Terrain)">attack</a>, <a href="../Unit.html#getArmor()">getArmor</a>, <a href="../Unit.html#getAttack()">getAttack</a>, <a href="../Unit.html#getHealth()">getHealth</a>, <a href="../Unit.html#getName()">getName</a>, <a href="../Unit.html#setHealth(int)">setHealth</a>, <a href="../Unit.html#toString()">toString</a></code></div>
+<div class="inherited-list">
+<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
+<code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
+</section>
+</li>
+</ul>
+</section>
+<section class="details">
+<ul class="details-list">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<li>
+<section class="constructor-details" id="constructor-detail">
+<h2>Constructor Details</h2>
+<ul class="member-list">
+<li>
+<section class="detail" id="&lt;init&gt;(java.lang.String,int,int,int)">
+<h3>CavalryUnit</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">CavalryUnit</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name,
+ int&nbsp;health,
+ int&nbsp;attack,
+ int&nbsp;armor)</span></div>
+<div class="block">Instantiates a new Cavalry unit.
+ Uses the constructor of its superclass Unit.</div>
+<dl class="notes">
+<dt>Parameters:</dt>
+<dd><code>name</code> - String - a short name of the unit that can't be left with whitespace or empty.</dd>
+<dd><code>health</code> - int - HP - amount of health unit has. If it hits zero or more, the unit is dead.</dd>
+<dd><code>attack</code> - int - damage done, excluding attack bonus, on an enemy unit.</dd>
+<dd><code>armor</code> - int - damage resisted, excluding resist bonus, from an enemy unit.</dd>
+</dl>
+</section>
+</li>
+<li>
+<section class="detail" id="&lt;init&gt;(java.lang.String,int)">
+<h3>CavalryUnit</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">CavalryUnit</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name,
+ int&nbsp;health)</span></div>
+<div class="block">Instantiates a new Cavalry unit with
+ a simplified constructor.
+ Attack is set to 20 and health is set to 12
+ Uses the constructor over since it instantiates other variables</div>
+<dl class="notes">
+<dt>Parameters:</dt>
+<dd><code>name</code> - String - a short name of the unit that can't be left with whitespace or empty.</dd>
+<dd><code>health</code> - int - HP - amount of health unit has. If it hits zero or more, the unit is dead.</dd>
+</dl>
+</section>
+</li>
+</ul>
+</section>
+</li>
+<!-- ============ METHOD DETAIL ========== -->
+<li>
+<section class="method-details" id="method-detail">
+<h2>Method Details</h2>
+<ul class="member-list">
+<li>
+<section class="detail" id="getAttackBonus(edu.ntnu.idatt2001.carljgu.Terrain)">
+<h3>getAttackBonus</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">getAttackBonus</span><wbr><span class="parameters">(<a href="../../Terrain.html" title="enum class in edu.ntnu.idatt2001.carljgu">Terrain</a>&nbsp;terrain)</span></div>
+<div class="block">Overrides the abstract method getAttackBonus from Unit.
+ The first time it is run, the default usedAttackBonus
+ is used to simulate the first charge. After that the
+ attack bonus for melee is used instead throughout
+ the CavalryUnit's lifetime.
+ The bonus is also increased if the terrain is plains.</div>
+<dl class="notes">
+<dt>Specified by:</dt>
+<dd><code><a href="../Unit.html#getAttackBonus(edu.ntnu.idatt2001.carljgu.Terrain)">getAttackBonus</a></code>&nbsp;in class&nbsp;<code><a href="../Unit.html" title="class in edu.ntnu.idatt2001.carljgu.units">Unit</a></code></dd>
+<dt>Parameters:</dt>
+<dd><code>terrain</code> - Terrain - the terrain where the attack occurs.</dd>
+<dt>Returns:</dt>
+<dd>attackBonus - int - value of the attack bonus
+ used when calculating an enemy unit's health in an attack.</dd>
+</dl>
+</section>
+</li>
+<li>
+<section class="detail" id="getResistBonus(edu.ntnu.idatt2001.carljgu.Terrain)">
+<h3>getResistBonus</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">getResistBonus</span><wbr><span class="parameters">(<a href="../../Terrain.html" title="enum class in edu.ntnu.idatt2001.carljgu">Terrain</a>&nbsp;terrain)</span></div>
+<div class="block">Overrides the abstract method getResistBonus from Unit.
+ The resist bonus is increased if the terrain is forest.</div>
+<dl class="notes">
+<dt>Specified by:</dt>
+<dd><code><a href="../Unit.html#getResistBonus(edu.ntnu.idatt2001.carljgu.Terrain)">getResistBonus</a></code>&nbsp;in class&nbsp;<code><a href="../Unit.html" title="class in edu.ntnu.idatt2001.carljgu.units">Unit</a></code></dd>
+<dt>Parameters:</dt>
+<dd><code>terrain</code> - Terrain - the terrain where the attack occurs.</dd>
+<dt>Returns:</dt>
+<dd>resistBonus - int - value of the resist bonus
+ used when calculating this object's health in an attack.</dd>
+</dl>
+</section>
+</li>
+</ul>
+</section>
+</li>
+</ul>
+</section>
+<!-- ========= END OF CLASS DATA ========= -->
+</main>
+</div>
+</div>
+</body>
+</html>
diff --git a/javadoc/edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/specialized/CommanderUnit.html b/javadoc/edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/specialized/CommanderUnit.html
new file mode 100644
index 0000000..502e6d6
--- /dev/null
+++ b/javadoc/edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/specialized/CommanderUnit.html
@@ -0,0 +1,187 @@
+<!DOCTYPE HTML>
+<html lang="en">
+<head>
+<!-- Generated by javadoc (17) on Sun May 01 19:43:43 CEST 2022 -->
+<title>CommanderUnit</title>
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<meta name="dc.created" content="2022-05-01">
+<meta name="description" content="declaration: module: edu.ntnu.idatt2001.carljgu.client, package: edu.ntnu.idatt2001.carljgu.units.specialized, class: CommanderUnit">
+<meta name="generator" content="javadoc/ClassWriterImpl">
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../../../../../../../script-dir/jquery-ui.min.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../../../../../../../jquery-ui.overrides.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+<script type="text/javascript" src="../../../../../../../script-dir/jquery-3.5.1.min.js"></script>
+<script type="text/javascript" src="../../../../../../../script-dir/jquery-ui.min.js"></script>
+</head>
+<body class="class-declaration-page">
+<script type="text/javascript">var pathtoroot = "../../../../../../../";
+loadScripts(document, 'script');</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<div class="flex-box">
+<header role="banner" class="flex-header">
+<nav role="navigation">
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="top-nav" id="navbar-top">
+<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
+<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
+<li><a href="../../../../../../module-summary.html">Module</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="nav-bar-cell1-rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../index-files/index-1.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html#class">Help</a></li>
+</ul>
+</div>
+<div class="sub-nav">
+<div>
+<ul class="sub-nav-list">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor-summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method-summary">Method</a></li>
+</ul>
+<ul class="sub-nav-list">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor-detail">Constr</a>&nbsp;|&nbsp;</li>
+<li>Method</li>
+</ul>
+</div>
+<div class="nav-list-search"><label for="search-input">SEARCH:</label>
+<input type="text" id="search-input" value="search" disabled="disabled">
+<input type="reset" id="reset-button" value="reset" disabled="disabled">
+</div>
+</div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<span class="skip-nav" id="skip-navbar-top"></span></nav>
+</header>
+<div class="flex-content">
+<main role="main">
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="sub-title"><span class="module-label-in-type">Module</span>&nbsp;<a href="../../../../../../module-summary.html">edu.ntnu.idatt2001.carljgu.client</a></div>
+<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">edu.ntnu.idatt2001.carljgu.units.specialized</a></div>
+<h1 title="Class CommanderUnit" class="title">Class CommanderUnit</h1>
+</div>
+<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
+<div class="inheritance"><a href="../Unit.html" title="class in edu.ntnu.idatt2001.carljgu.units">edu.ntnu.idatt2001.carljgu.units.Unit</a>
+<div class="inheritance"><a href="CavalryUnit.html" title="class in edu.ntnu.idatt2001.carljgu.units.specialized">edu.ntnu.idatt2001.carljgu.units.specialized.CavalryUnit</a>
+<div class="inheritance">edu.ntnu.idatt2001.carljgu.units.specialized.CommanderUnit</div>
+</div>
+</div>
+</div>
+<section class="class-description" id="class-description">
+<hr>
+<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">CommanderUnit</span>
+<span class="extends-implements">extends <a href="CavalryUnit.html" title="class in edu.ntnu.idatt2001.carljgu.units.specialized">CavalryUnit</a></span></div>
+<div class="block">Class CommanderUnit that inherits from CavalryUnit.
+ CommanderUnit objects does not implement methods from
+ the superclass Unit as they are defined in CavalryUnit.</div>
+<dl class="notes">
+<dt>Version:</dt>
+<dd>1.4 01.05.2022</dd>
+<dt>Author:</dt>
+<dd>Carl Gützkow</dd>
+</dl>
+</section>
+<section class="summary">
+<ul class="summary-list">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<li>
+<section class="constructor-summary" id="constructor-summary">
+<h2>Constructor Summary</h2>
+<div class="caption"><span>Constructors</span></div>
+<div class="summary-table two-column-summary">
+<div class="table-header col-first">Constructor</div>
+<div class="table-header col-last">Description</div>
+<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E(java.lang.String,int)" class="member-name-link">CommanderUnit</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name,
+ int&nbsp;health)</code></div>
+<div class="col-last even-row-color">
+<div class="block">Instantiates a new CommanderUnit unit with
+ a simplified constructor.</div>
+</div>
+<div class="col-constructor-name odd-row-color"><code><a href="#%3Cinit%3E(java.lang.String,int,int,int)" class="member-name-link">CommanderUnit</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name,
+ int&nbsp;health,
+ int&nbsp;attack,
+ int&nbsp;armor)</code></div>
+<div class="col-last odd-row-color">
+<div class="block">Instantiates a new CommanderUnit unit.</div>
+</div>
+</div>
+</section>
+</li>
+<!-- ========== METHOD SUMMARY =========== -->
+<li>
+<section class="method-summary" id="method-summary">
+<h2>Method Summary</h2>
+<div class="inherited-list">
+<h3 id="methods-inherited-from-class-edu.ntnu.idatt2001.carljgu.units.specialized.CavalryUnit">Methods inherited from class&nbsp;edu.ntnu.idatt2001.carljgu.units.specialized.<a href="CavalryUnit.html" title="class in edu.ntnu.idatt2001.carljgu.units.specialized">CavalryUnit</a></h3>
+<code><a href="CavalryUnit.html#getAttackBonus(edu.ntnu.idatt2001.carljgu.Terrain)">getAttackBonus</a>, <a href="CavalryUnit.html#getResistBonus(edu.ntnu.idatt2001.carljgu.Terrain)">getResistBonus</a></code></div>
+<div class="inherited-list">
+<h3 id="methods-inherited-from-class-edu.ntnu.idatt2001.carljgu.units.Unit">Methods inherited from class&nbsp;edu.ntnu.idatt2001.carljgu.units.<a href="../Unit.html" title="class in edu.ntnu.idatt2001.carljgu.units">Unit</a></h3>
+<code><a href="../Unit.html#attack(edu.ntnu.idatt2001.carljgu.units.Unit,edu.ntnu.idatt2001.carljgu.Terrain)">attack</a>, <a href="../Unit.html#getArmor()">getArmor</a>, <a href="../Unit.html#getAttack()">getAttack</a>, <a href="../Unit.html#getHealth()">getHealth</a>, <a href="../Unit.html#getName()">getName</a>, <a href="../Unit.html#setHealth(int)">setHealth</a>, <a href="../Unit.html#toString()">toString</a></code></div>
+<div class="inherited-list">
+<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
+<code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
+</section>
+</li>
+</ul>
+</section>
+<section class="details">
+<ul class="details-list">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<li>
+<section class="constructor-details" id="constructor-detail">
+<h2>Constructor Details</h2>
+<ul class="member-list">
+<li>
+<section class="detail" id="&lt;init&gt;(java.lang.String,int,int,int)">
+<h3>CommanderUnit</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">CommanderUnit</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name,
+ int&nbsp;health,
+ int&nbsp;attack,
+ int&nbsp;armor)</span></div>
+<div class="block">Instantiates a new CommanderUnit unit.
+ Uses the constructor of its superclass CavalryUnit</div>
+<dl class="notes">
+<dt>Parameters:</dt>
+<dd><code>name</code> - String - a short name of the unit that can't be left with whitespace or empty.</dd>
+<dd><code>health</code> - int - HP - amount of health unit has. If it hits zero or more, the unit is dead.</dd>
+<dd><code>attack</code> - int - damage done, excluding attack bonus, on an enemy unit.</dd>
+<dd><code>armor</code> - int - damage resisted, excluding resist bonus, from an enemy unit.</dd>
+</dl>
+</section>
+</li>
+<li>
+<section class="detail" id="&lt;init&gt;(java.lang.String,int)">
+<h3>CommanderUnit</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">CommanderUnit</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name,
+ int&nbsp;health)</span></div>
+<div class="block">Instantiates a new CommanderUnit unit with
+ a simplified constructor.
+ Attack is set to 25 and health is set to 15
+ Uses the constructor of its superclass CavalryUnit since the constructor gives
+ no other value.</div>
+<dl class="notes">
+<dt>Parameters:</dt>
+<dd><code>name</code> - String - a short name of the unit that can't be left with whitespace or empty.</dd>
+<dd><code>health</code> - int - HP - amount of health unit has. If it hits zero or more, the unit is dead.</dd>
+</dl>
+</section>
+</li>
+</ul>
+</section>
+</li>
+</ul>
+</section>
+<!-- ========= END OF CLASS DATA ========= -->
+</main>
+</div>
+</div>
+</body>
+</html>
diff --git a/javadoc/edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/specialized/InfantryUnit.html b/javadoc/edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/specialized/InfantryUnit.html
new file mode 100644
index 0000000..85397c3
--- /dev/null
+++ b/javadoc/edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/specialized/InfantryUnit.html
@@ -0,0 +1,247 @@
+<!DOCTYPE HTML>
+<html lang="en">
+<head>
+<!-- Generated by javadoc (17) on Sun May 01 19:43:43 CEST 2022 -->
+<title>InfantryUnit</title>
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<meta name="dc.created" content="2022-05-01">
+<meta name="description" content="declaration: module: edu.ntnu.idatt2001.carljgu.client, package: edu.ntnu.idatt2001.carljgu.units.specialized, class: InfantryUnit">
+<meta name="generator" content="javadoc/ClassWriterImpl">
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../../../../../../../script-dir/jquery-ui.min.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../../../../../../../jquery-ui.overrides.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+<script type="text/javascript" src="../../../../../../../script-dir/jquery-3.5.1.min.js"></script>
+<script type="text/javascript" src="../../../../../../../script-dir/jquery-ui.min.js"></script>
+</head>
+<body class="class-declaration-page">
+<script type="text/javascript">var evenRowColor = "even-row-color";
+var oddRowColor = "odd-row-color";
+var tableTab = "table-tab";
+var activeTableTab = "active-table-tab";
+var pathtoroot = "../../../../../../../";
+loadScripts(document, 'script');</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<div class="flex-box">
+<header role="banner" class="flex-header">
+<nav role="navigation">
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="top-nav" id="navbar-top">
+<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
+<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
+<li><a href="../../../../../../module-summary.html">Module</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="nav-bar-cell1-rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../index-files/index-1.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html#class">Help</a></li>
+</ul>
+</div>
+<div class="sub-nav">
+<div>
+<ul class="sub-nav-list">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor-summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method-summary">Method</a></li>
+</ul>
+<ul class="sub-nav-list">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor-detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method-detail">Method</a></li>
+</ul>
+</div>
+<div class="nav-list-search"><label for="search-input">SEARCH:</label>
+<input type="text" id="search-input" value="search" disabled="disabled">
+<input type="reset" id="reset-button" value="reset" disabled="disabled">
+</div>
+</div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<span class="skip-nav" id="skip-navbar-top"></span></nav>
+</header>
+<div class="flex-content">
+<main role="main">
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="sub-title"><span class="module-label-in-type">Module</span>&nbsp;<a href="../../../../../../module-summary.html">edu.ntnu.idatt2001.carljgu.client</a></div>
+<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">edu.ntnu.idatt2001.carljgu.units.specialized</a></div>
+<h1 title="Class InfantryUnit" class="title">Class InfantryUnit</h1>
+</div>
+<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
+<div class="inheritance"><a href="../Unit.html" title="class in edu.ntnu.idatt2001.carljgu.units">edu.ntnu.idatt2001.carljgu.units.Unit</a>
+<div class="inheritance">edu.ntnu.idatt2001.carljgu.units.specialized.InfantryUnit</div>
+</div>
+</div>
+<section class="class-description" id="class-description">
+<hr>
+<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">InfantryUnit</span>
+<span class="extends-implements">extends <a href="../Unit.html" title="class in edu.ntnu.idatt2001.carljgu.units">Unit</a></span></div>
+<div class="block">Class InfantryUnit that inherits from Unit.
+ InfantryUnit objects implements methods from
+ the superclass.</div>
+<dl class="notes">
+<dt>Version:</dt>
+<dd>1.4 01.05.2022</dd>
+<dt>Author:</dt>
+<dd>Carl Gützkow</dd>
+</dl>
+</section>
+<section class="summary">
+<ul class="summary-list">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<li>
+<section class="constructor-summary" id="constructor-summary">
+<h2>Constructor Summary</h2>
+<div class="caption"><span>Constructors</span></div>
+<div class="summary-table two-column-summary">
+<div class="table-header col-first">Constructor</div>
+<div class="table-header col-last">Description</div>
+<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E(java.lang.String,int)" class="member-name-link">InfantryUnit</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name,
+ int&nbsp;health)</code></div>
+<div class="col-last even-row-color">
+<div class="block">Instantiates a new Infantry unit with
+ a simplified constructor.</div>
+</div>
+<div class="col-constructor-name odd-row-color"><code><a href="#%3Cinit%3E(java.lang.String,int,int,int)" class="member-name-link">InfantryUnit</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name,
+ int&nbsp;health,
+ int&nbsp;attack,
+ int&nbsp;armor)</code></div>
+<div class="col-last odd-row-color">
+<div class="block">Instantiates a new Infantry unit.</div>
+</div>
+</div>
+</section>
+</li>
+<!-- ========== METHOD SUMMARY =========== -->
+<li>
+<section class="method-summary" id="method-summary">
+<h2>Method Summary</h2>
+<div id="method-summary-table">
+<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
+<div id="method-summary-table.tabpanel" role="tabpanel">
+<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
+<div class="table-header col-first">Modifier and Type</div>
+<div class="table-header col-second">Method</div>
+<div class="table-header col-last">Description</div>
+<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>int</code></div>
+<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getAttackBonus(edu.ntnu.idatt2001.carljgu.Terrain)" class="member-name-link">getAttackBonus</a><wbr>(<a href="../../Terrain.html" title="enum class in edu.ntnu.idatt2001.carljgu">Terrain</a>&nbsp;terrain)</code></div>
+<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
+<div class="block">Overrides the abstract method getAttackBonus from Unit.</div>
+</div>
+<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>int</code></div>
+<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getResistBonus(edu.ntnu.idatt2001.carljgu.Terrain)" class="member-name-link">getResistBonus</a><wbr>(<a href="../../Terrain.html" title="enum class in edu.ntnu.idatt2001.carljgu">Terrain</a>&nbsp;terrain)</code></div>
+<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
+<div class="block">Overrides the abstract method getResistBonus from Unit.</div>
+</div>
+</div>
+</div>
+</div>
+<div class="inherited-list">
+<h3 id="methods-inherited-from-class-edu.ntnu.idatt2001.carljgu.units.Unit">Methods inherited from class&nbsp;edu.ntnu.idatt2001.carljgu.units.<a href="../Unit.html" title="class in edu.ntnu.idatt2001.carljgu.units">Unit</a></h3>
+<code><a href="../Unit.html#attack(edu.ntnu.idatt2001.carljgu.units.Unit,edu.ntnu.idatt2001.carljgu.Terrain)">attack</a>, <a href="../Unit.html#getArmor()">getArmor</a>, <a href="../Unit.html#getAttack()">getAttack</a>, <a href="../Unit.html#getHealth()">getHealth</a>, <a href="../Unit.html#getName()">getName</a>, <a href="../Unit.html#setHealth(int)">setHealth</a>, <a href="../Unit.html#toString()">toString</a></code></div>
+<div class="inherited-list">
+<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
+<code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
+</section>
+</li>
+</ul>
+</section>
+<section class="details">
+<ul class="details-list">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<li>
+<section class="constructor-details" id="constructor-detail">
+<h2>Constructor Details</h2>
+<ul class="member-list">
+<li>
+<section class="detail" id="&lt;init&gt;(java.lang.String,int,int,int)">
+<h3>InfantryUnit</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">InfantryUnit</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name,
+ int&nbsp;health,
+ int&nbsp;attack,
+ int&nbsp;armor)</span></div>
+<div class="block">Instantiates a new Infantry unit.
+ Uses the constructor of its superclass Unit</div>
+<dl class="notes">
+<dt>Parameters:</dt>
+<dd><code>name</code> - String - a short name of the unit that can't be left with whitespace or empty.</dd>
+<dd><code>health</code> - int - HP - amount of health unit has. If it hits zero or more, the unit is dead.</dd>
+<dd><code>attack</code> - int - damage done, excluding attack bonus, on an enemy unit.</dd>
+<dd><code>armor</code> - int - damage resisted, excluding resist bonus, from an enemy unit.</dd>
+</dl>
+</section>
+</li>
+<li>
+<section class="detail" id="&lt;init&gt;(java.lang.String,int)">
+<h3>InfantryUnit</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">InfantryUnit</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name,
+ int&nbsp;health)</span></div>
+<div class="block">Instantiates a new Infantry unit with
+ a simplified constructor.
+ Attack is set to 15 and health is set to 10
+ Uses the constructor over since it instantiates other variables</div>
+<dl class="notes">
+<dt>Parameters:</dt>
+<dd><code>name</code> - String - a short name of the unit that can't be left with whitespace or empty.</dd>
+<dd><code>health</code> - int - HP - amount of health unit has. If it hits zero or more, the unit is dead.</dd>
+</dl>
+</section>
+</li>
+</ul>
+</section>
+</li>
+<!-- ============ METHOD DETAIL ========== -->
+<li>
+<section class="method-details" id="method-detail">
+<h2>Method Details</h2>
+<ul class="member-list">
+<li>
+<section class="detail" id="getAttackBonus(edu.ntnu.idatt2001.carljgu.Terrain)">
+<h3>getAttackBonus</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">getAttackBonus</span><wbr><span class="parameters">(<a href="../../Terrain.html" title="enum class in edu.ntnu.idatt2001.carljgu">Terrain</a>&nbsp;terrain)</span></div>
+<div class="block">Overrides the abstract method getAttackBonus from Unit.
+ The attack bonus is increased if the terrain is forest.</div>
+<dl class="notes">
+<dt>Specified by:</dt>
+<dd><code><a href="../Unit.html#getAttackBonus(edu.ntnu.idatt2001.carljgu.Terrain)">getAttackBonus</a></code>&nbsp;in class&nbsp;<code><a href="../Unit.html" title="class in edu.ntnu.idatt2001.carljgu.units">Unit</a></code></dd>
+<dt>Parameters:</dt>
+<dd><code>terrain</code> - Terrain - the terrain where the attack occurs.</dd>
+<dt>Returns:</dt>
+<dd>attackBonus - int - value of the attack bonus
+ used when calculating an enemy unit's health in an attack.</dd>
+</dl>
+</section>
+</li>
+<li>
+<section class="detail" id="getResistBonus(edu.ntnu.idatt2001.carljgu.Terrain)">
+<h3>getResistBonus</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">getResistBonus</span><wbr><span class="parameters">(<a href="../../Terrain.html" title="enum class in edu.ntnu.idatt2001.carljgu">Terrain</a>&nbsp;terrain)</span></div>
+<div class="block">Overrides the abstract method getResistBonus from Unit.
+ The resistance bonus is increased if the terrain is forest.</div>
+<dl class="notes">
+<dt>Specified by:</dt>
+<dd><code><a href="../Unit.html#getResistBonus(edu.ntnu.idatt2001.carljgu.Terrain)">getResistBonus</a></code>&nbsp;in class&nbsp;<code><a href="../Unit.html" title="class in edu.ntnu.idatt2001.carljgu.units">Unit</a></code></dd>
+<dt>Parameters:</dt>
+<dd><code>terrain</code> - Terrain - the terrain where the attack occurs.</dd>
+<dt>Returns:</dt>
+<dd>resistBonus - int - value of the resist bonus
+ used when calculating this object's health in an attack.</dd>
+</dl>
+</section>
+</li>
+</ul>
+</section>
+</li>
+</ul>
+</section>
+<!-- ========= END OF CLASS DATA ========= -->
+</main>
+</div>
+</div>
+</body>
+</html>
diff --git a/javadoc/edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/specialized/RangedUnit.html b/javadoc/edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/specialized/RangedUnit.html
new file mode 100644
index 0000000..8e70cad
--- /dev/null
+++ b/javadoc/edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/specialized/RangedUnit.html
@@ -0,0 +1,254 @@
+<!DOCTYPE HTML>
+<html lang="en">
+<head>
+<!-- Generated by javadoc (17) on Sun May 01 19:43:43 CEST 2022 -->
+<title>RangedUnit</title>
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<meta name="dc.created" content="2022-05-01">
+<meta name="description" content="declaration: module: edu.ntnu.idatt2001.carljgu.client, package: edu.ntnu.idatt2001.carljgu.units.specialized, class: RangedUnit">
+<meta name="generator" content="javadoc/ClassWriterImpl">
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../../../../../../../script-dir/jquery-ui.min.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../../../../../../../jquery-ui.overrides.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+<script type="text/javascript" src="../../../../../../../script-dir/jquery-3.5.1.min.js"></script>
+<script type="text/javascript" src="../../../../../../../script-dir/jquery-ui.min.js"></script>
+</head>
+<body class="class-declaration-page">
+<script type="text/javascript">var evenRowColor = "even-row-color";
+var oddRowColor = "odd-row-color";
+var tableTab = "table-tab";
+var activeTableTab = "active-table-tab";
+var pathtoroot = "../../../../../../../";
+loadScripts(document, 'script');</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<div class="flex-box">
+<header role="banner" class="flex-header">
+<nav role="navigation">
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="top-nav" id="navbar-top">
+<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
+<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
+<li><a href="../../../../../../module-summary.html">Module</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="nav-bar-cell1-rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../index-files/index-1.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html#class">Help</a></li>
+</ul>
+</div>
+<div class="sub-nav">
+<div>
+<ul class="sub-nav-list">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor-summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method-summary">Method</a></li>
+</ul>
+<ul class="sub-nav-list">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor-detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method-detail">Method</a></li>
+</ul>
+</div>
+<div class="nav-list-search"><label for="search-input">SEARCH:</label>
+<input type="text" id="search-input" value="search" disabled="disabled">
+<input type="reset" id="reset-button" value="reset" disabled="disabled">
+</div>
+</div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<span class="skip-nav" id="skip-navbar-top"></span></nav>
+</header>
+<div class="flex-content">
+<main role="main">
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="sub-title"><span class="module-label-in-type">Module</span>&nbsp;<a href="../../../../../../module-summary.html">edu.ntnu.idatt2001.carljgu.client</a></div>
+<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">edu.ntnu.idatt2001.carljgu.units.specialized</a></div>
+<h1 title="Class RangedUnit" class="title">Class RangedUnit</h1>
+</div>
+<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
+<div class="inheritance"><a href="../Unit.html" title="class in edu.ntnu.idatt2001.carljgu.units">edu.ntnu.idatt2001.carljgu.units.Unit</a>
+<div class="inheritance">edu.ntnu.idatt2001.carljgu.units.specialized.RangedUnit</div>
+</div>
+</div>
+<section class="class-description" id="class-description">
+<hr>
+<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">RangedUnit</span>
+<span class="extends-implements">extends <a href="../Unit.html" title="class in edu.ntnu.idatt2001.carljgu.units">Unit</a></span></div>
+<div class="block">Class RangedUnit that inherits from Unit.
+ RangedUnit objects implements methods from
+ the superclass.</div>
+<dl class="notes">
+<dt>Version:</dt>
+<dd>1.4 01.05.2022</dd>
+<dt>Author:</dt>
+<dd>Carl Gützkow</dd>
+</dl>
+</section>
+<section class="summary">
+<ul class="summary-list">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<li>
+<section class="constructor-summary" id="constructor-summary">
+<h2>Constructor Summary</h2>
+<div class="caption"><span>Constructors</span></div>
+<div class="summary-table two-column-summary">
+<div class="table-header col-first">Constructor</div>
+<div class="table-header col-last">Description</div>
+<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E(java.lang.String,int)" class="member-name-link">RangedUnit</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name,
+ int&nbsp;health)</code></div>
+<div class="col-last even-row-color">
+<div class="block">Instantiates a new Ranged unit with
+ a simplified constructor.</div>
+</div>
+<div class="col-constructor-name odd-row-color"><code><a href="#%3Cinit%3E(java.lang.String,int,int,int)" class="member-name-link">RangedUnit</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name,
+ int&nbsp;health,
+ int&nbsp;attack,
+ int&nbsp;armor)</code></div>
+<div class="col-last odd-row-color">
+<div class="block">Instantiates a new Ranged unit.</div>
+</div>
+</div>
+</section>
+</li>
+<!-- ========== METHOD SUMMARY =========== -->
+<li>
+<section class="method-summary" id="method-summary">
+<h2>Method Summary</h2>
+<div id="method-summary-table">
+<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
+<div id="method-summary-table.tabpanel" role="tabpanel">
+<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
+<div class="table-header col-first">Modifier and Type</div>
+<div class="table-header col-second">Method</div>
+<div class="table-header col-last">Description</div>
+<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>int</code></div>
+<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getAttackBonus(edu.ntnu.idatt2001.carljgu.Terrain)" class="member-name-link">getAttackBonus</a><wbr>(<a href="../../Terrain.html" title="enum class in edu.ntnu.idatt2001.carljgu">Terrain</a>&nbsp;terrain)</code></div>
+<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
+<div class="block">Overrides the abstract method getAttackBonus from Unit.</div>
+</div>
+<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>int</code></div>
+<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getResistBonus(edu.ntnu.idatt2001.carljgu.Terrain)" class="member-name-link">getResistBonus</a><wbr>(<a href="../../Terrain.html" title="enum class in edu.ntnu.idatt2001.carljgu">Terrain</a>&nbsp;terrain)</code></div>
+<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
+<div class="block">Overrides the abstract method getAttackBonus from Unit.</div>
+</div>
+</div>
+</div>
+</div>
+<div class="inherited-list">
+<h3 id="methods-inherited-from-class-edu.ntnu.idatt2001.carljgu.units.Unit">Methods inherited from class&nbsp;edu.ntnu.idatt2001.carljgu.units.<a href="../Unit.html" title="class in edu.ntnu.idatt2001.carljgu.units">Unit</a></h3>
+<code><a href="../Unit.html#attack(edu.ntnu.idatt2001.carljgu.units.Unit,edu.ntnu.idatt2001.carljgu.Terrain)">attack</a>, <a href="../Unit.html#getArmor()">getArmor</a>, <a href="../Unit.html#getAttack()">getAttack</a>, <a href="../Unit.html#getHealth()">getHealth</a>, <a href="../Unit.html#getName()">getName</a>, <a href="../Unit.html#setHealth(int)">setHealth</a>, <a href="../Unit.html#toString()">toString</a></code></div>
+<div class="inherited-list">
+<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
+<code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
+</section>
+</li>
+</ul>
+</section>
+<section class="details">
+<ul class="details-list">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<li>
+<section class="constructor-details" id="constructor-detail">
+<h2>Constructor Details</h2>
+<ul class="member-list">
+<li>
+<section class="detail" id="&lt;init&gt;(java.lang.String,int,int,int)">
+<h3>RangedUnit</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">RangedUnit</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name,
+ int&nbsp;health,
+ int&nbsp;attack,
+ int&nbsp;armor)</span></div>
+<div class="block">Instantiates a new Ranged unit.
+ Uses the constructor of its superclass Unit</div>
+<dl class="notes">
+<dt>Parameters:</dt>
+<dd><code>name</code> - String - a short name of the unit that can't be left with whitespace or empty.</dd>
+<dd><code>health</code> - int - HP - amount of health unit has. If it hits zero or more, the unit is dead.</dd>
+<dd><code>attack</code> - int - damage done, excluding attack bonus, on an enemy unit.</dd>
+<dd><code>armor</code> - int - damage resisted, excluding resist bonus, from an enemy unit.</dd>
+</dl>
+</section>
+</li>
+<li>
+<section class="detail" id="&lt;init&gt;(java.lang.String,int)">
+<h3>RangedUnit</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">RangedUnit</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name,
+ int&nbsp;health)</span></div>
+<div class="block">Instantiates a new Ranged unit with
+ a simplified constructor.
+ Attack is set to 15 and health is set to 8
+ Uses the constructor over since it instantiates other variables</div>
+<dl class="notes">
+<dt>Parameters:</dt>
+<dd><code>name</code> - String - a short name of the unit that can't be left with whitespace or empty.</dd>
+<dd><code>health</code> - int - HP - amount of health unit has. If it hits zero or more, the unit is dead.</dd>
+</dl>
+</section>
+</li>
+</ul>
+</section>
+</li>
+<!-- ============ METHOD DETAIL ========== -->
+<li>
+<section class="method-details" id="method-detail">
+<h2>Method Details</h2>
+<ul class="member-list">
+<li>
+<section class="detail" id="getAttackBonus(edu.ntnu.idatt2001.carljgu.Terrain)">
+<h3>getAttackBonus</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">getAttackBonus</span><wbr><span class="parameters">(<a href="../../Terrain.html" title="enum class in edu.ntnu.idatt2001.carljgu">Terrain</a>&nbsp;terrain)</span></div>
+<div class="block">Overrides the abstract method getAttackBonus from Unit.
+ The attack bonus is decreased if the terrain is forest
+ and increased if the terrain is hills.</div>
+<dl class="notes">
+<dt>Specified by:</dt>
+<dd><code><a href="../Unit.html#getAttackBonus(edu.ntnu.idatt2001.carljgu.Terrain)">getAttackBonus</a></code>&nbsp;in class&nbsp;<code><a href="../Unit.html" title="class in edu.ntnu.idatt2001.carljgu.units">Unit</a></code></dd>
+<dt>Parameters:</dt>
+<dd><code>terrain</code> - Terrain - the terrain where the attack occurs.</dd>
+<dt>Returns:</dt>
+<dd>attackBonus - int - value of the attack bonus
+ used when calculating an enemy unit's health in an attack.</dd>
+</dl>
+</section>
+</li>
+<li>
+<section class="detail" id="getResistBonus(edu.ntnu.idatt2001.carljgu.Terrain)">
+<h3>getResistBonus</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">getResistBonus</span><wbr><span class="parameters">(<a href="../../Terrain.html" title="enum class in edu.ntnu.idatt2001.carljgu">Terrain</a>&nbsp;terrain)</span></div>
+<div class="block">Overrides the abstract method getAttackBonus from Unit.
+ The first time it is run, times resisted is less than 2
+ and therefore returns the initial resist bonus.
+ The second time resisted is still less than 2, but
+ the initial resist bonus is subtracted by 2.
+ (initialResistBonus - 2 * timesResisted (1)).
+ The third time and all other times this method is,
+ the default finalResistBonus is used.</div>
+<dl class="notes">
+<dt>Specified by:</dt>
+<dd><code><a href="../Unit.html#getResistBonus(edu.ntnu.idatt2001.carljgu.Terrain)">getResistBonus</a></code>&nbsp;in class&nbsp;<code><a href="../Unit.html" title="class in edu.ntnu.idatt2001.carljgu.units">Unit</a></code></dd>
+<dt>Parameters:</dt>
+<dd><code>terrain</code> - Terrain - the terrain where the attack occurs.</dd>
+<dt>Returns:</dt>
+<dd>resistBonus - int - value of the resist bonus
+ used when calculating this object's health in an attack.</dd>
+</dl>
+</section>
+</li>
+</ul>
+</section>
+</li>
+</ul>
+</section>
+<!-- ========= END OF CLASS DATA ========= -->
+</main>
+</div>
+</div>
+</body>
+</html>
diff --git a/javadoc/edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/specialized/package-summary.html b/javadoc/edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/specialized/package-summary.html
new file mode 100644
index 0000000..6bd86c4
--- /dev/null
+++ b/javadoc/edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/specialized/package-summary.html
@@ -0,0 +1,108 @@
+<!DOCTYPE HTML>
+<html lang="en">
+<head>
+<!-- Generated by javadoc (17) on Sun May 01 19:43:43 CEST 2022 -->
+<title>edu.ntnu.idatt2001.carljgu.units.specialized</title>
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<meta name="dc.created" content="2022-05-01">
+<meta name="description" content="declaration: module: edu.ntnu.idatt2001.carljgu.client, package: edu.ntnu.idatt2001.carljgu.units.specialized">
+<meta name="generator" content="javadoc/PackageWriterImpl">
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../../../../../../../script-dir/jquery-ui.min.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../../../../../../../jquery-ui.overrides.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+<script type="text/javascript" src="../../../../../../../script-dir/jquery-3.5.1.min.js"></script>
+<script type="text/javascript" src="../../../../../../../script-dir/jquery-ui.min.js"></script>
+</head>
+<body class="package-declaration-page">
+<script type="text/javascript">var pathtoroot = "../../../../../../../";
+loadScripts(document, 'script');</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<div class="flex-box">
+<header role="banner" class="flex-header">
+<nav role="navigation">
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="top-nav" id="navbar-top">
+<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
+<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
+<li><a href="../../../../../../module-summary.html">Module</a></li>
+<li class="nav-bar-cell1-rev">Package</li>
+<li>Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../index-files/index-1.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html#package">Help</a></li>
+</ul>
+</div>
+<div class="sub-nav">
+<div>
+<ul class="sub-nav-list">
+<li>Package:&nbsp;</li>
+<li>Description&nbsp;|&nbsp;</li>
+<li><a href="#related-package-summary">Related Packages</a>&nbsp;|&nbsp;</li>
+<li><a href="#class-summary">Classes and Interfaces</a></li>
+</ul>
+</div>
+<div class="nav-list-search"><label for="search-input">SEARCH:</label>
+<input type="text" id="search-input" value="search" disabled="disabled">
+<input type="reset" id="reset-button" value="reset" disabled="disabled">
+</div>
+</div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<span class="skip-nav" id="skip-navbar-top"></span></nav>
+</header>
+<div class="flex-content">
+<main role="main">
+<div class="header">
+<div class="sub-title"><span class="module-label-in-package">Module</span>&nbsp;<a href="../../../../../../module-summary.html">edu.ntnu.idatt2001.carljgu.client</a></div>
+<h1 title="Package edu.ntnu.idatt2001.carljgu.units.specialized" class="title">Package edu.ntnu.idatt2001.carljgu.units.specialized</h1>
+</div>
+<hr>
+<div class="package-signature">package <span class="element-name">edu.ntnu.idatt2001.carljgu.units.specialized</span></div>
+<section class="summary">
+<ul class="summary-list">
+<li>
+<div id="related-package-summary">
+<div class="caption"><span>Related Packages</span></div>
+<div class="summary-table two-column-summary">
+<div class="table-header col-first">Package</div>
+<div class="table-header col-last">Description</div>
+<div class="col-first even-row-color"><a href="../package-summary.html">edu.ntnu.idatt2001.carljgu.units</a></div>
+<div class="col-last even-row-color">&nbsp;</div>
+</div>
+</div>
+</li>
+<li>
+<div id="class-summary">
+<div class="caption"><span>Classes</span></div>
+<div class="summary-table two-column-summary">
+<div class="table-header col-first">Class</div>
+<div class="table-header col-last">Description</div>
+<div class="col-first even-row-color class-summary class-summary-tab2"><a href="CavalryUnit.html" title="class in edu.ntnu.idatt2001.carljgu.units.specialized">CavalryUnit</a></div>
+<div class="col-last even-row-color class-summary class-summary-tab2">
+<div class="block">Class CavalryUnit that inherits from Unit.</div>
+</div>
+<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="CommanderUnit.html" title="class in edu.ntnu.idatt2001.carljgu.units.specialized">CommanderUnit</a></div>
+<div class="col-last odd-row-color class-summary class-summary-tab2">
+<div class="block">Class CommanderUnit that inherits from CavalryUnit.</div>
+</div>
+<div class="col-first even-row-color class-summary class-summary-tab2"><a href="InfantryUnit.html" title="class in edu.ntnu.idatt2001.carljgu.units.specialized">InfantryUnit</a></div>
+<div class="col-last even-row-color class-summary class-summary-tab2">
+<div class="block">Class InfantryUnit that inherits from Unit.</div>
+</div>
+<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="RangedUnit.html" title="class in edu.ntnu.idatt2001.carljgu.units.specialized">RangedUnit</a></div>
+<div class="col-last odd-row-color class-summary class-summary-tab2">
+<div class="block">Class RangedUnit that inherits from Unit.</div>
+</div>
+</div>
+</div>
+</li>
+</ul>
+</section>
+</main>
+</div>
+</div>
+</body>
+</html>
diff --git a/javadoc/edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/specialized/package-tree.html b/javadoc/edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/specialized/package-tree.html
new file mode 100644
index 0000000..2de87d1
--- /dev/null
+++ b/javadoc/edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/specialized/package-tree.html
@@ -0,0 +1,81 @@
+<!DOCTYPE HTML>
+<html lang="en">
+<head>
+<!-- Generated by javadoc (17) on Sun May 01 19:43:43 CEST 2022 -->
+<title>edu.ntnu.idatt2001.carljgu.units.specialized Class Hierarchy</title>
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<meta name="dc.created" content="2022-05-01">
+<meta name="description" content="tree: module: edu.ntnu.idatt2001.carljgu.client, package: edu.ntnu.idatt2001.carljgu.units.specialized">
+<meta name="generator" content="javadoc/PackageTreeWriter">
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../../../../../../../script-dir/jquery-ui.min.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../../../../../../../jquery-ui.overrides.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+<script type="text/javascript" src="../../../../../../../script-dir/jquery-3.5.1.min.js"></script>
+<script type="text/javascript" src="../../../../../../../script-dir/jquery-ui.min.js"></script>
+</head>
+<body class="package-tree-page">
+<script type="text/javascript">var pathtoroot = "../../../../../../../";
+loadScripts(document, 'script');</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<div class="flex-box">
+<header role="banner" class="flex-header">
+<nav role="navigation">
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="top-nav" id="navbar-top">
+<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
+<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
+<li><a href="../../../../../../module-summary.html">Module</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="nav-bar-cell1-rev">Tree</li>
+<li><a href="../../../../../../../index-files/index-1.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html#tree">Help</a></li>
+</ul>
+</div>
+<div class="sub-nav">
+<div class="nav-list-search"><label for="search-input">SEARCH:</label>
+<input type="text" id="search-input" value="search" disabled="disabled">
+<input type="reset" id="reset-button" value="reset" disabled="disabled">
+</div>
+</div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<span class="skip-nav" id="skip-navbar-top"></span></nav>
+</header>
+<div class="flex-content">
+<main role="main">
+<div class="header">
+<h1 class="title">Hierarchy For Package edu.ntnu.idatt2001.carljgu.units.specialized</h1>
+<span class="package-hierarchy-label">Package Hierarchies:</span>
+<ul class="horizontal">
+<li><a href="../../../../../../../overview-tree.html">All Packages</a></li>
+</ul>
+</div>
+<section class="hierarchy">
+<h2 title="Class Hierarchy">Class Hierarchy</h2>
+<ul>
+<li class="circle">java.lang.<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" class="type-name-link external-link" title="class or interface in java.lang">Object</a>
+<ul>
+<li class="circle">edu.ntnu.idatt2001.carljgu.units.<a href="../Unit.html" class="type-name-link" title="class in edu.ntnu.idatt2001.carljgu.units">Unit</a>
+<ul>
+<li class="circle">edu.ntnu.idatt2001.carljgu.units.specialized.<a href="CavalryUnit.html" class="type-name-link" title="class in edu.ntnu.idatt2001.carljgu.units.specialized">CavalryUnit</a>
+<ul>
+<li class="circle">edu.ntnu.idatt2001.carljgu.units.specialized.<a href="CommanderUnit.html" class="type-name-link" title="class in edu.ntnu.idatt2001.carljgu.units.specialized">CommanderUnit</a></li>
+</ul>
+</li>
+<li class="circle">edu.ntnu.idatt2001.carljgu.units.specialized.<a href="InfantryUnit.html" class="type-name-link" title="class in edu.ntnu.idatt2001.carljgu.units.specialized">InfantryUnit</a></li>
+<li class="circle">edu.ntnu.idatt2001.carljgu.units.specialized.<a href="RangedUnit.html" class="type-name-link" title="class in edu.ntnu.idatt2001.carljgu.units.specialized">RangedUnit</a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</section>
+</main>
+</div>
+</div>
+</body>
+</html>
diff --git a/javadoc/edu.ntnu.idatt2001.carljgu.client/module-summary.html b/javadoc/edu.ntnu.idatt2001.carljgu.client/module-summary.html
new file mode 100644
index 0000000..c0cf82e
--- /dev/null
+++ b/javadoc/edu.ntnu.idatt2001.carljgu.client/module-summary.html
@@ -0,0 +1,95 @@
+<!DOCTYPE HTML>
+<html lang="en">
+<head>
+<!-- Generated by javadoc (17) on Sun May 01 19:43:43 CEST 2022 -->
+<title>edu.ntnu.idatt2001.carljgu.client</title>
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<meta name="dc.created" content="2022-05-01">
+<meta name="description" content="declaration: module: edu.ntnu.idatt2001.carljgu.client">
+<meta name="generator" content="javadoc/ModuleWriterImpl">
+<link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../script-dir/jquery-ui.min.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../jquery-ui.overrides.css" title="Style">
+<script type="text/javascript" src="../script.js"></script>
+<script type="text/javascript" src="../script-dir/jquery-3.5.1.min.js"></script>
+<script type="text/javascript" src="../script-dir/jquery-ui.min.js"></script>
+</head>
+<body class="module-declaration-page">
+<script type="text/javascript">var pathtoroot = "../";
+loadScripts(document, 'script');</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<div class="flex-box">
+<header role="banner" class="flex-header">
+<nav role="navigation">
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="top-nav" id="navbar-top">
+<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
+<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
+<li class="nav-bar-cell1-rev">Module</li>
+<li>Package</li>
+<li>Class</li>
+<li><a href="../overview-tree.html">Tree</a></li>
+<li><a href="../index-files/index-1.html">Index</a></li>
+<li><a href="../help-doc.html#module">Help</a></li>
+</ul>
+</div>
+<div class="sub-nav">
+<div>
+<ul class="sub-nav-list">
+<li>Module:&nbsp;</li>
+<li>Description&nbsp;|&nbsp;</li>
+<li>Modules&nbsp;|&nbsp;</li>
+<li><a href="#packages-summary">Packages</a>&nbsp;|&nbsp;</li>
+<li>Services</li>
+</ul>
+</div>
+<div class="nav-list-search"><label for="search-input">SEARCH:</label>
+<input type="text" id="search-input" value="search" disabled="disabled">
+<input type="reset" id="reset-button" value="reset" disabled="disabled">
+</div>
+</div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<span class="skip-nav" id="skip-navbar-top"></span></nav>
+</header>
+<div class="flex-content">
+<main role="main">
+<div class="header">
+<h1 title="Module edu.ntnu.idatt2001.carljgu.client" class="title">Module edu.ntnu.idatt2001.carljgu.client</h1>
+</div>
+<hr>
+<div class="module-signature">module <span class="element-name">edu.ntnu.idatt2001.carljgu.client</span></div>
+<section class="summary">
+<ul class="summary-list">
+<li>
+<section class="packages-summary" id="packages-summary">
+<!-- ============ PACKAGES SUMMARY =========== -->
+<h2>Packages</h2>
+<div id="package-summary-table">
+<div class="caption"><span>Exports</span></div>
+<div class="summary-table two-column-summary">
+<div class="table-header col-first">Package</div>
+<div class="table-header col-last">Description</div>
+<div class="col-first even-row-color package-summary-table package-summary-table-tab1"><a href="edu/ntnu/idatt2001/carljgu/package-summary.html">edu.ntnu.idatt2001.carljgu</a></div>
+<div class="col-last even-row-color package-summary-table package-summary-table-tab1">&nbsp;</div>
+<div class="col-first odd-row-color package-summary-table package-summary-table-tab1"><a href="edu/ntnu/idatt2001/carljgu/battle/package-summary.html">edu.ntnu.idatt2001.carljgu.battle</a></div>
+<div class="col-last odd-row-color package-summary-table package-summary-table-tab1">&nbsp;</div>
+<div class="col-first even-row-color package-summary-table package-summary-table-tab1"><a href="edu/ntnu/idatt2001/carljgu/client/package-summary.html">edu.ntnu.idatt2001.carljgu.client</a></div>
+<div class="col-last even-row-color package-summary-table package-summary-table-tab1">&nbsp;</div>
+<div class="col-first odd-row-color package-summary-table package-summary-table-tab1"><a href="edu/ntnu/idatt2001/carljgu/client/dialogs/package-summary.html">edu.ntnu.idatt2001.carljgu.client.dialogs</a></div>
+<div class="col-last odd-row-color package-summary-table package-summary-table-tab1">&nbsp;</div>
+<div class="col-first even-row-color package-summary-table package-summary-table-tab1"><a href="edu/ntnu/idatt2001/carljgu/units/package-summary.html">edu.ntnu.idatt2001.carljgu.units</a></div>
+<div class="col-last even-row-color package-summary-table package-summary-table-tab1">&nbsp;</div>
+</div>
+</div>
+</section>
+</li>
+</ul>
+</section>
+</main>
+</div>
+</div>
+</body>
+</html>
diff --git a/javadoc/element-list b/javadoc/element-list
new file mode 100644
index 0000000..1b9710d
--- /dev/null
+++ b/javadoc/element-list
@@ -0,0 +1,7 @@
+module:edu.ntnu.idatt2001.carljgu.client
+edu.ntnu.idatt2001.carljgu
+edu.ntnu.idatt2001.carljgu.battle
+edu.ntnu.idatt2001.carljgu.client
+edu.ntnu.idatt2001.carljgu.client.dialogs
+edu.ntnu.idatt2001.carljgu.units
+edu.ntnu.idatt2001.carljgu.units.specialized
diff --git a/javadoc/help-doc.html b/javadoc/help-doc.html
new file mode 100644
index 0000000..6646000
--- /dev/null
+++ b/javadoc/help-doc.html
@@ -0,0 +1,191 @@
+<!DOCTYPE HTML>
+<html lang="en">
+<head>
+<!-- Generated by javadoc (17) on Sun May 01 19:43:43 CEST 2022 -->
+<title>API Help</title>
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<meta name="dc.created" content="2022-05-01">
+<meta name="description" content="help">
+<meta name="generator" content="javadoc/HelpWriter">
+<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<link rel="stylesheet" type="text/css" href="script-dir/jquery-ui.min.css" title="Style">
+<link rel="stylesheet" type="text/css" href="jquery-ui.overrides.css" title="Style">
+<script type="text/javascript" src="script.js"></script>
+<script type="text/javascript" src="script-dir/jquery-3.5.1.min.js"></script>
+<script type="text/javascript" src="script-dir/jquery-ui.min.js"></script>
+</head>
+<body class="help-page">
+<script type="text/javascript">var pathtoroot = "./";
+loadScripts(document, 'script');</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<div class="flex-box">
+<header role="banner" class="flex-header">
+<nav role="navigation">
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="top-nav" id="navbar-top">
+<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
+<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
+<li><a href="edu.ntnu.idatt2001.carljgu.client/module-summary.html">Module</a></li>
+<li>Package</li>
+<li>Class</li>
+<li><a href="overview-tree.html">Tree</a></li>
+<li><a href="index-files/index-1.html">Index</a></li>
+<li class="nav-bar-cell1-rev">Help</li>
+</ul>
+</div>
+<div class="sub-nav">
+<div>
+<ul class="sub-nav-list">
+<li>Help:&nbsp;</li>
+<li><a href="#help-navigation">Navigation</a>&nbsp;|&nbsp;</li>
+<li><a href="#help-pages">Pages</a></li>
+</ul>
+</div>
+<div class="nav-list-search"><label for="search-input">SEARCH:</label>
+<input type="text" id="search-input" value="search" disabled="disabled">
+<input type="reset" id="reset-button" value="reset" disabled="disabled">
+</div>
+</div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<span class="skip-nav" id="skip-navbar-top"></span></nav>
+</header>
+<div class="flex-content">
+<main role="main">
+<h1 class="title">JavaDoc Help</h1>
+<ul class="help-toc">
+<li><a href="#help-navigation">Navigation</a>: 
+<ul class="help-subtoc">
+<li><a href="#help-search">Search</a></li>
+</ul>
+</li>
+<li><a href="#help-pages">Kinds of Pages</a>: 
+<ul class="help-subtoc">
+<li><a href="#module">Module</a></li>
+<li><a href="#package">Package</a></li>
+<li><a href="#class">Class or Interface</a></li>
+<li><a href="#doc-file">Other Files</a></li>
+<li><a href="#tree">Tree (Class Hierarchy)</a></li>
+<li><a href="#constant-values">Constant Field Values</a></li>
+<li><a href="#serialized-form">Serialized Form</a></li>
+<li><a href="#all-packages">All Packages</a></li>
+<li><a href="#all-classes">All Classes and Interfaces</a></li>
+<li><a href="#index">Index</a></li>
+</ul>
+</li>
+</ul>
+<hr>
+<div class="sub-title">
+<h2 id="help-navigation">Navigation</h2>
+Starting from the <a href="index.html">Overview</a> page, you can browse the documentation using the links in each page, and in the navigation bar at the top of each page. The <a href="index-files/index-1.html">Index</a> and Search box allow you to navigate to specific declarations and summary pages, including: <a href="allpackages-index.html">All Packages</a>, <a href="allclasses-index.html">All Classes and Interfaces</a>
+<section class="help-section" id="help-search">
+<h3>Search</h3>
+<p>You can search for definitions of modules, packages, types, fields, methods, system properties and other terms defined in the API, using some or all of the name, optionally using "camelCase" abbreviations. For example:</p>
+<ul class="help-section-list">
+<li><code>j.l.obj</code> will match "java.lang.Object"</li>
+<li><code>InpStr</code> will match "java.io.InputStream"</li>
+<li><code>HM.cK</code> will match "java.util.HashMap.containsKey(Object)"</li>
+</ul>
+<p>Refer to the <a href="https://docs.oracle.com/en/java/javase/17/docs/specs/javadoc/javadoc-search-spec.html">Javadoc Search Specification</a> for a full description of search features.</p>
+</section>
+</div>
+<hr>
+<div class="sub-title">
+<h2 id="help-pages">Kinds of Pages</h2>
+The following sections describe the different kinds of pages in this collection.
+<section class="help-section" id="module">
+<h3>Module</h3>
+<p>Each module has a page that contains a list of its packages, dependencies on other modules, and services, with a summary for each. These pages may contain the following categories:</p>
+<ul class="help-section-list">
+<li>Packages</li>
+<li>Modules</li>
+<li>Services</li>
+</ul>
+</section>
+<section class="help-section" id="package">
+<h3>Package</h3>
+<p>Each package has a page that contains a list of its classes and interfaces, with a summary for each. These pages may contain the following categories:</p>
+<ul class="help-section-list">
+<li>Interfaces</li>
+<li>Classes</li>
+<li>Enum Classes</li>
+<li>Exceptions</li>
+<li>Errors</li>
+<li>Annotation Interfaces</li>
+</ul>
+</section>
+<section class="help-section" id="class">
+<h3>Class or Interface</h3>
+<p>Each class, interface, nested class and nested interface has its own separate page. Each of these pages has three sections consisting of a declaration and description, member summary tables, and detailed member descriptions. Entries in each of these sections are omitted if they are empty or not applicable.</p>
+<ul class="help-section-list">
+<li>Class Inheritance Diagram</li>
+<li>Direct Subclasses</li>
+<li>All Known Subinterfaces</li>
+<li>All Known Implementing Classes</li>
+<li>Class or Interface Declaration</li>
+<li>Class or Interface Description</li>
+</ul>
+<br>
+<ul class="help-section-list">
+<li>Nested Class Summary</li>
+<li>Enum Constant Summary</li>
+<li>Field Summary</li>
+<li>Property Summary</li>
+<li>Constructor Summary</li>
+<li>Method Summary</li>
+<li>Required Element Summary</li>
+<li>Optional Element Summary</li>
+</ul>
+<br>
+<ul class="help-section-list">
+<li>Enum Constant Details</li>
+<li>Field Details</li>
+<li>Property Details</li>
+<li>Constructor Details</li>
+<li>Method Details</li>
+<li>Element Details</li>
+</ul>
+<p><span class="help-note">Note:</span> Annotation interfaces have required and optional elements, but not methods. Only enum classes have enum constants. The components of a record class are displayed as part of the declaration of the record class. Properties are a feature of JavaFX.</p>
+<p>The summary entries are alphabetical, while the detailed descriptions are in the order they appear in the source code. This preserves the logical groupings established by the programmer.</p>
+</section>
+<section class="help-section" id="doc-file">
+<h3>Other Files</h3>
+<p>Packages and modules may contain pages with additional information related to the declarations nearby.</p>
+</section>
+<section class="help-section" id="tree">
+<h3>Tree (Class Hierarchy)</h3>
+<p>There is a <a href="overview-tree.html">Class Hierarchy</a> page for all packages, plus a hierarchy for each package. Each hierarchy page contains a list of classes and a list of interfaces. Classes are organized by inheritance structure starting with <code>java.lang.Object</code>. Interfaces do not inherit from <code>java.lang.Object</code>.</p>
+<ul class="help-section-list">
+<li>When viewing the Overview page, clicking on TREE displays the hierarchy for all packages.</li>
+<li>When viewing a particular package, class or interface page, clicking on TREE displays the hierarchy for only that package.</li>
+</ul>
+</section>
+<section class="help-section" id="constant-values">
+<h3>Constant Field Values</h3>
+<p>The <a href="constant-values.html">Constant Field Values</a> page lists the static final fields and their values.</p>
+</section>
+<section class="help-section" id="serialized-form">
+<h3>Serialized Form</h3>
+<p>Each serializable or externalizable class has a description of its serialization fields and methods. This information is of interest to those who implement rather than use the API. While there is no link in the navigation bar, you can get to this information by going to any serialized class and clicking "Serialized Form" in the "See Also" section of the class description.</p>
+</section>
+<section class="help-section" id="all-packages">
+<h3>All Packages</h3>
+<p>The <a href="allpackages-index.html">All Packages</a> page contains an alphabetic index of all packages contained in the documentation.</p>
+</section>
+<section class="help-section" id="all-classes">
+<h3>All Classes and Interfaces</h3>
+<p>The <a href="allclasses-index.html">All Classes and Interfaces</a> page contains an alphabetic index of all classes and interfaces contained in the documentation, including annotation interfaces, enum classes, and record classes.</p>
+</section>
+<section class="help-section" id="index">
+<h3>Index</h3>
+<p>The <a href="index-files/index-1.html">Index</a> contains an alphabetic index of all classes, interfaces, constructors, methods, and fields in the documentation, as well as summary pages such as <a href="allpackages-index.html">All Packages</a>, <a href="allclasses-index.html">All Classes and Interfaces</a>.</p>
+</section>
+</div>
+<hr>
+<span class="help-footnote">This help file applies to API documentation generated by the standard doclet.</span></main>
+</div>
+</div>
+</body>
+</html>
diff --git a/javadoc/index-files/index-1.html b/javadoc/index-files/index-1.html
new file mode 100644
index 0000000..aabbe92
--- /dev/null
+++ b/javadoc/index-files/index-1.html
@@ -0,0 +1,121 @@
+<!DOCTYPE HTML>
+<html lang="en">
+<head>
+<!-- Generated by javadoc (17) on Sun May 01 19:43:43 CEST 2022 -->
+<title>A-Index</title>
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<meta name="dc.created" content="2022-05-01">
+<meta name="description" content="index: A">
+<meta name="generator" content="javadoc/IndexWriter">
+<link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../script-dir/jquery-ui.min.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../jquery-ui.overrides.css" title="Style">
+<script type="text/javascript" src="../script.js"></script>
+<script type="text/javascript" src="../script-dir/jquery-3.5.1.min.js"></script>
+<script type="text/javascript" src="../script-dir/jquery-ui.min.js"></script>
+</head>
+<body class="index-page">
+<script type="text/javascript">var pathtoroot = "../";
+loadScripts(document, 'script');</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<div class="flex-box">
+<header role="banner" class="flex-header">
+<nav role="navigation">
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="top-nav" id="navbar-top">
+<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
+<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
+<li><a href="../edu.ntnu.idatt2001.carljgu.client/module-summary.html">Module</a></li>
+<li>Package</li>
+<li>Class</li>
+<li><a href="../overview-tree.html">Tree</a></li>
+<li class="nav-bar-cell1-rev">Index</li>
+<li><a href="../help-doc.html#index">Help</a></li>
+</ul>
+</div>
+<div class="sub-nav">
+<div class="nav-list-search"><label for="search-input">SEARCH:</label>
+<input type="text" id="search-input" value="search" disabled="disabled">
+<input type="reset" id="reset-button" value="reset" disabled="disabled">
+</div>
+</div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<span class="skip-nav" id="skip-navbar-top"></span></nav>
+</header>
+<div class="flex-content">
+<main role="main">
+<div class="header">
+<h1>Index</h1>
+</div>
+<a href="index-1.html">A</a>&nbsp;<a href="index-2.html">B</a>&nbsp;<a href="index-3.html">C</a>&nbsp;<a href="index-4.html">D</a>&nbsp;<a href="index-5.html">E</a>&nbsp;<a href="index-6.html">F</a>&nbsp;<a href="index-7.html">G</a>&nbsp;<a href="index-8.html">H</a>&nbsp;<a href="index-9.html">I</a>&nbsp;<a href="index-10.html">M</a>&nbsp;<a href="index-11.html">P</a>&nbsp;<a href="index-12.html">R</a>&nbsp;<a href="index-13.html">S</a>&nbsp;<a href="index-14.html">T</a>&nbsp;<a href="index-15.html">U</a>&nbsp;<a href="index-16.html">V</a>&nbsp;<a href="index-17.html">W</a>&nbsp;<br><a href="../allclasses-index.html">All&nbsp;Classes&nbsp;and&nbsp;Interfaces</a><span class="vertical-separator">|</span><a href="../allpackages-index.html">All&nbsp;Packages</a><span class="vertical-separator">|</span><a href="../constant-values.html">Constant&nbsp;Field&nbsp;Values</a><span class="vertical-separator">|</span><a href="../serialized-form.html">Serialized&nbsp;Form</a>
+<h2 class="title" id="I:A">A</h2>
+<dl class="index">
+<dt><a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/client/dialogs/DialogBoxBuilder.html#addHeader(java.lang.String)" class="member-name-link">addHeader(String)</a> - Method in class edu.ntnu.idatt2001.carljgu.client.dialogs.<a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/client/dialogs/DialogBoxBuilder.html" title="class in edu.ntnu.idatt2001.carljgu.client.dialogs">DialogBoxBuilder</a></dt>
+<dd>
+<div class="block">Add header to the dialog box builder configuration.</div>
+</dd>
+<dt><a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/client/dialogs/DialogBoxBuilder.html#addImage(java.lang.String)" class="member-name-link">addImage(String)</a> - Method in class edu.ntnu.idatt2001.carljgu.client.dialogs.<a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/client/dialogs/DialogBoxBuilder.html" title="class in edu.ntnu.idatt2001.carljgu.client.dialogs">DialogBoxBuilder</a></dt>
+<dd>
+<div class="block">Add image to the dialog box builder configuration.</div>
+</dd>
+<dt><a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/client/dialogs/DialogBoxBuilder.html#addListMessage(java.util.ArrayList)" class="member-name-link">addListMessage(ArrayList&lt;String&gt;)</a> - Method in class edu.ntnu.idatt2001.carljgu.client.dialogs.<a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/client/dialogs/DialogBoxBuilder.html" title="class in edu.ntnu.idatt2001.carljgu.client.dialogs">DialogBoxBuilder</a></dt>
+<dd>
+<div class="block">Adds a list message for the dialog box.</div>
+</dd>
+<dt><a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/client/dialogs/DialogBoxBuilder.html#addMessage(java.lang.String)" class="member-name-link">addMessage(String)</a> - Method in class edu.ntnu.idatt2001.carljgu.client.dialogs.<a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/client/dialogs/DialogBoxBuilder.html" title="class in edu.ntnu.idatt2001.carljgu.client.dialogs">DialogBoxBuilder</a></dt>
+<dd>
+<div class="block">Add message to the dialog box builder configuration.</div>
+</dd>
+<dt><a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/client/dialogs/DialogBoxBuilder.html#addTitle(java.lang.String)" class="member-name-link">addTitle(String)</a> - Method in class edu.ntnu.idatt2001.carljgu.client.dialogs.<a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/client/dialogs/DialogBoxBuilder.html" title="class in edu.ntnu.idatt2001.carljgu.client.dialogs">DialogBoxBuilder</a></dt>
+<dd>
+<div class="block">Add title to the dialog box builder configuration.</div>
+</dd>
+<dt><a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/Army.html#addUnit(edu.ntnu.idatt2001.carljgu.units.Unit)" class="member-name-link">addUnit(Unit)</a> - Method in class edu.ntnu.idatt2001.carljgu.units.<a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/Army.html" title="class in edu.ntnu.idatt2001.carljgu.units">Army</a></dt>
+<dd>
+<div class="block">Add unit if it does not exist from before.</div>
+</dd>
+<dt><a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/Army.html#addUnits(java.util.ArrayList)" class="member-name-link">addUnits(ArrayList&lt;Unit&gt;)</a> - Method in class edu.ntnu.idatt2001.carljgu.units.<a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/Army.html" title="class in edu.ntnu.idatt2001.carljgu.units">Army</a></dt>
+<dd>
+<div class="block">Add units.</div>
+</dd>
+<dt><a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/client/App.html" class="type-name-link" title="class in edu.ntnu.idatt2001.carljgu.client">App</a> - Class in <a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/client/package-summary.html">edu.ntnu.idatt2001.carljgu.client</a></dt>
+<dd>
+<div class="block">Class that extends Application
+ from javafx.</div>
+</dd>
+<dt><a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/client/App.html#%3Cinit%3E()" class="member-name-link">App()</a> - Constructor for class edu.ntnu.idatt2001.carljgu.client.<a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/client/App.html" title="class in edu.ntnu.idatt2001.carljgu.client">App</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/Army.html" class="type-name-link" title="class in edu.ntnu.idatt2001.carljgu.units">Army</a> - Class in <a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/package-summary.html">edu.ntnu.idatt2001.carljgu.units</a></dt>
+<dd>
+<div class="block">public class Army.</div>
+</dd>
+<dt><a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/Army.html#%3Cinit%3E(java.lang.String)" class="member-name-link">Army(String)</a> - Constructor for class edu.ntnu.idatt2001.carljgu.units.<a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/Army.html" title="class in edu.ntnu.idatt2001.carljgu.units">Army</a></dt>
+<dd>
+<div class="block">Instantiates a new Army.</div>
+</dd>
+<dt><a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/Army.html#%3Cinit%3E(java.lang.String,java.util.ArrayList)" class="member-name-link">Army(String, ArrayList&lt;Unit&gt;)</a> - Constructor for class edu.ntnu.idatt2001.carljgu.units.<a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/Army.html" title="class in edu.ntnu.idatt2001.carljgu.units">Army</a></dt>
+<dd>
+<div class="block">Instantiates a new Army.</div>
+</dd>
+<dt><a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/ArmyFileHandler.html" class="type-name-link" title="class in edu.ntnu.idatt2001.carljgu">ArmyFileHandler</a> - Class in <a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/package-summary.html">edu.ntnu.idatt2001.carljgu</a></dt>
+<dd>
+<div class="block">Handles writing, reading and importing
+ armies to and from a file.</div>
+</dd>
+<dt><a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/ArmyFileHandler.html#%3Cinit%3E()" class="member-name-link">ArmyFileHandler()</a> - Constructor for class edu.ntnu.idatt2001.carljgu.<a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/ArmyFileHandler.html" title="class in edu.ntnu.idatt2001.carljgu">ArmyFileHandler</a></dt>
+<dd>
+<div class="block">Constructor which initiates the readLinesSkipped arraylist</div>
+</dd>
+<dt><a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/Unit.html#attack(edu.ntnu.idatt2001.carljgu.units.Unit,edu.ntnu.idatt2001.carljgu.Terrain)" class="member-name-link">attack(Unit, Terrain)</a> - Method in class edu.ntnu.idatt2001.carljgu.units.<a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/Unit.html" title="class in edu.ntnu.idatt2001.carljgu.units">Unit</a></dt>
+<dd>
+<div class="block">Method for dealing damage to another unit.</div>
+</dd>
+</dl>
+<a href="index-1.html">A</a>&nbsp;<a href="index-2.html">B</a>&nbsp;<a href="index-3.html">C</a>&nbsp;<a href="index-4.html">D</a>&nbsp;<a href="index-5.html">E</a>&nbsp;<a href="index-6.html">F</a>&nbsp;<a href="index-7.html">G</a>&nbsp;<a href="index-8.html">H</a>&nbsp;<a href="index-9.html">I</a>&nbsp;<a href="index-10.html">M</a>&nbsp;<a href="index-11.html">P</a>&nbsp;<a href="index-12.html">R</a>&nbsp;<a href="index-13.html">S</a>&nbsp;<a href="index-14.html">T</a>&nbsp;<a href="index-15.html">U</a>&nbsp;<a href="index-16.html">V</a>&nbsp;<a href="index-17.html">W</a>&nbsp;<br><a href="../allclasses-index.html">All&nbsp;Classes&nbsp;and&nbsp;Interfaces</a><span class="vertical-separator">|</span><a href="../allpackages-index.html">All&nbsp;Packages</a><span class="vertical-separator">|</span><a href="../constant-values.html">Constant&nbsp;Field&nbsp;Values</a><span class="vertical-separator">|</span><a href="../serialized-form.html">Serialized&nbsp;Form</a></main>
+</div>
+</div>
+</body>
+</html>
diff --git a/javadoc/index-files/index-10.html b/javadoc/index-files/index-10.html
new file mode 100644
index 0000000..ce4e00c
--- /dev/null
+++ b/javadoc/index-files/index-10.html
@@ -0,0 +1,72 @@
+<!DOCTYPE HTML>
+<html lang="en">
+<head>
+<!-- Generated by javadoc (17) on Sun May 01 19:43:43 CEST 2022 -->
+<title>M-Index</title>
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<meta name="dc.created" content="2022-05-01">
+<meta name="description" content="index: M">
+<meta name="generator" content="javadoc/IndexWriter">
+<link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../script-dir/jquery-ui.min.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../jquery-ui.overrides.css" title="Style">
+<script type="text/javascript" src="../script.js"></script>
+<script type="text/javascript" src="../script-dir/jquery-3.5.1.min.js"></script>
+<script type="text/javascript" src="../script-dir/jquery-ui.min.js"></script>
+</head>
+<body class="index-page">
+<script type="text/javascript">var pathtoroot = "../";
+loadScripts(document, 'script');</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<div class="flex-box">
+<header role="banner" class="flex-header">
+<nav role="navigation">
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="top-nav" id="navbar-top">
+<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
+<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
+<li><a href="../edu.ntnu.idatt2001.carljgu.client/module-summary.html">Module</a></li>
+<li>Package</li>
+<li>Class</li>
+<li><a href="../overview-tree.html">Tree</a></li>
+<li class="nav-bar-cell1-rev">Index</li>
+<li><a href="../help-doc.html#index">Help</a></li>
+</ul>
+</div>
+<div class="sub-nav">
+<div class="nav-list-search"><label for="search-input">SEARCH:</label>
+<input type="text" id="search-input" value="search" disabled="disabled">
+<input type="reset" id="reset-button" value="reset" disabled="disabled">
+</div>
+</div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<span class="skip-nav" id="skip-navbar-top"></span></nav>
+</header>
+<div class="flex-content">
+<main role="main">
+<div class="header">
+<h1>Index</h1>
+</div>
+<a href="index-1.html">A</a>&nbsp;<a href="index-2.html">B</a>&nbsp;<a href="index-3.html">C</a>&nbsp;<a href="index-4.html">D</a>&nbsp;<a href="index-5.html">E</a>&nbsp;<a href="index-6.html">F</a>&nbsp;<a href="index-7.html">G</a>&nbsp;<a href="index-8.html">H</a>&nbsp;<a href="index-9.html">I</a>&nbsp;<a href="index-10.html">M</a>&nbsp;<a href="index-11.html">P</a>&nbsp;<a href="index-12.html">R</a>&nbsp;<a href="index-13.html">S</a>&nbsp;<a href="index-14.html">T</a>&nbsp;<a href="index-15.html">U</a>&nbsp;<a href="index-16.html">V</a>&nbsp;<a href="index-17.html">W</a>&nbsp;<br><a href="../allclasses-index.html">All&nbsp;Classes&nbsp;and&nbsp;Interfaces</a><span class="vertical-separator">|</span><a href="../allpackages-index.html">All&nbsp;Packages</a><span class="vertical-separator">|</span><a href="../constant-values.html">Constant&nbsp;Field&nbsp;Values</a><span class="vertical-separator">|</span><a href="../serialized-form.html">Serialized&nbsp;Form</a>
+<h2 class="title" id="I:M">M</h2>
+<dl class="index">
+<dt><a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/client/Main.html#main(java.lang.String%5B%5D)" class="member-name-link">main(String[])</a> - Static method in class edu.ntnu.idatt2001.carljgu.client.<a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/client/Main.html" title="class in edu.ntnu.idatt2001.carljgu.client">Main</a></dt>
+<dd>
+<div class="block">Method to first be launched when the program is run</div>
+</dd>
+<dt><a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/client/Main.html" class="type-name-link" title="class in edu.ntnu.idatt2001.carljgu.client">Main</a> - Class in <a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/client/package-summary.html">edu.ntnu.idatt2001.carljgu.client</a></dt>
+<dd>
+<div class="block">The main class that is run when the application
+ is called upon.</div>
+</dd>
+<dt><a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/client/Main.html#%3Cinit%3E()" class="member-name-link">Main()</a> - Constructor for class edu.ntnu.idatt2001.carljgu.client.<a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/client/Main.html" title="class in edu.ntnu.idatt2001.carljgu.client">Main</a></dt>
+<dd>&nbsp;</dd>
+</dl>
+<a href="index-1.html">A</a>&nbsp;<a href="index-2.html">B</a>&nbsp;<a href="index-3.html">C</a>&nbsp;<a href="index-4.html">D</a>&nbsp;<a href="index-5.html">E</a>&nbsp;<a href="index-6.html">F</a>&nbsp;<a href="index-7.html">G</a>&nbsp;<a href="index-8.html">H</a>&nbsp;<a href="index-9.html">I</a>&nbsp;<a href="index-10.html">M</a>&nbsp;<a href="index-11.html">P</a>&nbsp;<a href="index-12.html">R</a>&nbsp;<a href="index-13.html">S</a>&nbsp;<a href="index-14.html">T</a>&nbsp;<a href="index-15.html">U</a>&nbsp;<a href="index-16.html">V</a>&nbsp;<a href="index-17.html">W</a>&nbsp;<br><a href="../allclasses-index.html">All&nbsp;Classes&nbsp;and&nbsp;Interfaces</a><span class="vertical-separator">|</span><a href="../allpackages-index.html">All&nbsp;Packages</a><span class="vertical-separator">|</span><a href="../constant-values.html">Constant&nbsp;Field&nbsp;Values</a><span class="vertical-separator">|</span><a href="../serialized-form.html">Serialized&nbsp;Form</a></main>
+</div>
+</div>
+</body>
+</html>
diff --git a/javadoc/index-files/index-11.html b/javadoc/index-files/index-11.html
new file mode 100644
index 0000000..dc0107e
--- /dev/null
+++ b/javadoc/index-files/index-11.html
@@ -0,0 +1,63 @@
+<!DOCTYPE HTML>
+<html lang="en">
+<head>
+<!-- Generated by javadoc (17) on Sun May 01 19:43:43 CEST 2022 -->
+<title>P-Index</title>
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<meta name="dc.created" content="2022-05-01">
+<meta name="description" content="index: P">
+<meta name="generator" content="javadoc/IndexWriter">
+<link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../script-dir/jquery-ui.min.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../jquery-ui.overrides.css" title="Style">
+<script type="text/javascript" src="../script.js"></script>
+<script type="text/javascript" src="../script-dir/jquery-3.5.1.min.js"></script>
+<script type="text/javascript" src="../script-dir/jquery-ui.min.js"></script>
+</head>
+<body class="index-page">
+<script type="text/javascript">var pathtoroot = "../";
+loadScripts(document, 'script');</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<div class="flex-box">
+<header role="banner" class="flex-header">
+<nav role="navigation">
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="top-nav" id="navbar-top">
+<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
+<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
+<li><a href="../edu.ntnu.idatt2001.carljgu.client/module-summary.html">Module</a></li>
+<li>Package</li>
+<li>Class</li>
+<li><a href="../overview-tree.html">Tree</a></li>
+<li class="nav-bar-cell1-rev">Index</li>
+<li><a href="../help-doc.html#index">Help</a></li>
+</ul>
+</div>
+<div class="sub-nav">
+<div class="nav-list-search"><label for="search-input">SEARCH:</label>
+<input type="text" id="search-input" value="search" disabled="disabled">
+<input type="reset" id="reset-button" value="reset" disabled="disabled">
+</div>
+</div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<span class="skip-nav" id="skip-navbar-top"></span></nav>
+</header>
+<div class="flex-content">
+<main role="main">
+<div class="header">
+<h1>Index</h1>
+</div>
+<a href="index-1.html">A</a>&nbsp;<a href="index-2.html">B</a>&nbsp;<a href="index-3.html">C</a>&nbsp;<a href="index-4.html">D</a>&nbsp;<a href="index-5.html">E</a>&nbsp;<a href="index-6.html">F</a>&nbsp;<a href="index-7.html">G</a>&nbsp;<a href="index-8.html">H</a>&nbsp;<a href="index-9.html">I</a>&nbsp;<a href="index-10.html">M</a>&nbsp;<a href="index-11.html">P</a>&nbsp;<a href="index-12.html">R</a>&nbsp;<a href="index-13.html">S</a>&nbsp;<a href="index-14.html">T</a>&nbsp;<a href="index-15.html">U</a>&nbsp;<a href="index-16.html">V</a>&nbsp;<a href="index-17.html">W</a>&nbsp;<br><a href="../allclasses-index.html">All&nbsp;Classes&nbsp;and&nbsp;Interfaces</a><span class="vertical-separator">|</span><a href="../allpackages-index.html">All&nbsp;Packages</a><span class="vertical-separator">|</span><a href="../constant-values.html">Constant&nbsp;Field&nbsp;Values</a><span class="vertical-separator">|</span><a href="../serialized-form.html">Serialized&nbsp;Form</a>
+<h2 class="title" id="I:P">P</h2>
+<dl class="index">
+<dt><a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/Terrain.html#PLAINS" class="member-name-link">PLAINS</a> - Enum constant in enum class edu.ntnu.idatt2001.carljgu.<a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/Terrain.html" title="enum class in edu.ntnu.idatt2001.carljgu">Terrain</a></dt>
+<dd>&nbsp;</dd>
+</dl>
+<a href="index-1.html">A</a>&nbsp;<a href="index-2.html">B</a>&nbsp;<a href="index-3.html">C</a>&nbsp;<a href="index-4.html">D</a>&nbsp;<a href="index-5.html">E</a>&nbsp;<a href="index-6.html">F</a>&nbsp;<a href="index-7.html">G</a>&nbsp;<a href="index-8.html">H</a>&nbsp;<a href="index-9.html">I</a>&nbsp;<a href="index-10.html">M</a>&nbsp;<a href="index-11.html">P</a>&nbsp;<a href="index-12.html">R</a>&nbsp;<a href="index-13.html">S</a>&nbsp;<a href="index-14.html">T</a>&nbsp;<a href="index-15.html">U</a>&nbsp;<a href="index-16.html">V</a>&nbsp;<a href="index-17.html">W</a>&nbsp;<br><a href="../allclasses-index.html">All&nbsp;Classes&nbsp;and&nbsp;Interfaces</a><span class="vertical-separator">|</span><a href="../allpackages-index.html">All&nbsp;Packages</a><span class="vertical-separator">|</span><a href="../constant-values.html">Constant&nbsp;Field&nbsp;Values</a><span class="vertical-separator">|</span><a href="../serialized-form.html">Serialized&nbsp;Form</a></main>
+</div>
+</div>
+</body>
+</html>
diff --git a/javadoc/index-files/index-12.html b/javadoc/index-files/index-12.html
new file mode 100644
index 0000000..dc8bded
--- /dev/null
+++ b/javadoc/index-files/index-12.html
@@ -0,0 +1,90 @@
+<!DOCTYPE HTML>
+<html lang="en">
+<head>
+<!-- Generated by javadoc (17) on Sun May 01 19:43:43 CEST 2022 -->
+<title>R-Index</title>
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<meta name="dc.created" content="2022-05-01">
+<meta name="description" content="index: R">
+<meta name="generator" content="javadoc/IndexWriter">
+<link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../script-dir/jquery-ui.min.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../jquery-ui.overrides.css" title="Style">
+<script type="text/javascript" src="../script.js"></script>
+<script type="text/javascript" src="../script-dir/jquery-3.5.1.min.js"></script>
+<script type="text/javascript" src="../script-dir/jquery-ui.min.js"></script>
+</head>
+<body class="index-page">
+<script type="text/javascript">var pathtoroot = "../";
+loadScripts(document, 'script');</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<div class="flex-box">
+<header role="banner" class="flex-header">
+<nav role="navigation">
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="top-nav" id="navbar-top">
+<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
+<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
+<li><a href="../edu.ntnu.idatt2001.carljgu.client/module-summary.html">Module</a></li>
+<li>Package</li>
+<li>Class</li>
+<li><a href="../overview-tree.html">Tree</a></li>
+<li class="nav-bar-cell1-rev">Index</li>
+<li><a href="../help-doc.html#index">Help</a></li>
+</ul>
+</div>
+<div class="sub-nav">
+<div class="nav-list-search"><label for="search-input">SEARCH:</label>
+<input type="text" id="search-input" value="search" disabled="disabled">
+<input type="reset" id="reset-button" value="reset" disabled="disabled">
+</div>
+</div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<span class="skip-nav" id="skip-navbar-top"></span></nav>
+</header>
+<div class="flex-content">
+<main role="main">
+<div class="header">
+<h1>Index</h1>
+</div>
+<a href="index-1.html">A</a>&nbsp;<a href="index-2.html">B</a>&nbsp;<a href="index-3.html">C</a>&nbsp;<a href="index-4.html">D</a>&nbsp;<a href="index-5.html">E</a>&nbsp;<a href="index-6.html">F</a>&nbsp;<a href="index-7.html">G</a>&nbsp;<a href="index-8.html">H</a>&nbsp;<a href="index-9.html">I</a>&nbsp;<a href="index-10.html">M</a>&nbsp;<a href="index-11.html">P</a>&nbsp;<a href="index-12.html">R</a>&nbsp;<a href="index-13.html">S</a>&nbsp;<a href="index-14.html">T</a>&nbsp;<a href="index-15.html">U</a>&nbsp;<a href="index-16.html">V</a>&nbsp;<a href="index-17.html">W</a>&nbsp;<br><a href="../allclasses-index.html">All&nbsp;Classes&nbsp;and&nbsp;Interfaces</a><span class="vertical-separator">|</span><a href="../allpackages-index.html">All&nbsp;Packages</a><span class="vertical-separator">|</span><a href="../constant-values.html">Constant&nbsp;Field&nbsp;Values</a><span class="vertical-separator">|</span><a href="../serialized-form.html">Serialized&nbsp;Form</a>
+<h2 class="title" id="I:R">R</h2>
+<dl class="index">
+<dt><a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/specialized/RangedUnit.html" class="type-name-link" title="class in edu.ntnu.idatt2001.carljgu.units.specialized">RangedUnit</a> - Class in <a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/specialized/package-summary.html">edu.ntnu.idatt2001.carljgu.units.specialized</a></dt>
+<dd>
+<div class="block">Class RangedUnit that inherits from Unit.</div>
+</dd>
+<dt><a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/specialized/RangedUnit.html#%3Cinit%3E(java.lang.String,int)" class="member-name-link">RangedUnit(String, int)</a> - Constructor for class edu.ntnu.idatt2001.carljgu.units.specialized.<a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/specialized/RangedUnit.html" title="class in edu.ntnu.idatt2001.carljgu.units.specialized">RangedUnit</a></dt>
+<dd>
+<div class="block">Instantiates a new Ranged unit with
+ a simplified constructor.</div>
+</dd>
+<dt><a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/specialized/RangedUnit.html#%3Cinit%3E(java.lang.String,int,int,int)" class="member-name-link">RangedUnit(String, int, int, int)</a> - Constructor for class edu.ntnu.idatt2001.carljgu.units.specialized.<a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/specialized/RangedUnit.html" title="class in edu.ntnu.idatt2001.carljgu.units.specialized">RangedUnit</a></dt>
+<dd>
+<div class="block">Instantiates a new Ranged unit.</div>
+</dd>
+<dt><a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/ArmyFileHandler.html#readArmyFromFile(java.lang.String)" class="member-name-link">readArmyFromFile(String)</a> - Method in class edu.ntnu.idatt2001.carljgu.<a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/ArmyFileHandler.html" title="class in edu.ntnu.idatt2001.carljgu">ArmyFileHandler</a></dt>
+<dd>
+<div class="block">Finds a specified csv file
+ and converts it to an army if it can.</div>
+</dd>
+<dt><a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/client/dialogs/DialogBoxBuilder.html#recurringDialogMessage" class="member-name-link">recurringDialogMessage</a> - Static variable in class edu.ntnu.idatt2001.carljgu.client.dialogs.<a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/client/dialogs/DialogBoxBuilder.html" title="class in edu.ntnu.idatt2001.carljgu.client.dialogs">DialogBoxBuilder</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/Army.html#remove(edu.ntnu.idatt2001.carljgu.units.Unit)" class="member-name-link">remove(Unit)</a> - Method in class edu.ntnu.idatt2001.carljgu.units.<a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/Army.html" title="class in edu.ntnu.idatt2001.carljgu.units">Army</a></dt>
+<dd>
+<div class="block">Remove a specified unit.</div>
+</dd>
+<dt><a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/client/App.html#run(java.lang.String%5B%5D)" class="member-name-link">run(String[])</a> - Static method in class edu.ntnu.idatt2001.carljgu.client.<a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/client/App.html" title="class in edu.ntnu.idatt2001.carljgu.client">App</a></dt>
+<dd>
+<div class="block">Method called from Main when the program is run
+ Calls on launch in Application</div>
+</dd>
+</dl>
+<a href="index-1.html">A</a>&nbsp;<a href="index-2.html">B</a>&nbsp;<a href="index-3.html">C</a>&nbsp;<a href="index-4.html">D</a>&nbsp;<a href="index-5.html">E</a>&nbsp;<a href="index-6.html">F</a>&nbsp;<a href="index-7.html">G</a>&nbsp;<a href="index-8.html">H</a>&nbsp;<a href="index-9.html">I</a>&nbsp;<a href="index-10.html">M</a>&nbsp;<a href="index-11.html">P</a>&nbsp;<a href="index-12.html">R</a>&nbsp;<a href="index-13.html">S</a>&nbsp;<a href="index-14.html">T</a>&nbsp;<a href="index-15.html">U</a>&nbsp;<a href="index-16.html">V</a>&nbsp;<a href="index-17.html">W</a>&nbsp;<br><a href="../allclasses-index.html">All&nbsp;Classes&nbsp;and&nbsp;Interfaces</a><span class="vertical-separator">|</span><a href="../allpackages-index.html">All&nbsp;Packages</a><span class="vertical-separator">|</span><a href="../constant-values.html">Constant&nbsp;Field&nbsp;Values</a><span class="vertical-separator">|</span><a href="../serialized-form.html">Serialized&nbsp;Form</a></main>
+</div>
+</div>
+</body>
+</html>
diff --git a/javadoc/index-files/index-13.html b/javadoc/index-files/index-13.html
new file mode 100644
index 0000000..52a043f
--- /dev/null
+++ b/javadoc/index-files/index-13.html
@@ -0,0 +1,82 @@
+<!DOCTYPE HTML>
+<html lang="en">
+<head>
+<!-- Generated by javadoc (17) on Sun May 01 19:43:43 CEST 2022 -->
+<title>S-Index</title>
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<meta name="dc.created" content="2022-05-01">
+<meta name="description" content="index: S">
+<meta name="generator" content="javadoc/IndexWriter">
+<link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../script-dir/jquery-ui.min.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../jquery-ui.overrides.css" title="Style">
+<script type="text/javascript" src="../script.js"></script>
+<script type="text/javascript" src="../script-dir/jquery-3.5.1.min.js"></script>
+<script type="text/javascript" src="../script-dir/jquery-ui.min.js"></script>
+</head>
+<body class="index-page">
+<script type="text/javascript">var pathtoroot = "../";
+loadScripts(document, 'script');</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<div class="flex-box">
+<header role="banner" class="flex-header">
+<nav role="navigation">
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="top-nav" id="navbar-top">
+<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
+<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
+<li><a href="../edu.ntnu.idatt2001.carljgu.client/module-summary.html">Module</a></li>
+<li>Package</li>
+<li>Class</li>
+<li><a href="../overview-tree.html">Tree</a></li>
+<li class="nav-bar-cell1-rev">Index</li>
+<li><a href="../help-doc.html#index">Help</a></li>
+</ul>
+</div>
+<div class="sub-nav">
+<div class="nav-list-search"><label for="search-input">SEARCH:</label>
+<input type="text" id="search-input" value="search" disabled="disabled">
+<input type="reset" id="reset-button" value="reset" disabled="disabled">
+</div>
+</div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<span class="skip-nav" id="skip-navbar-top"></span></nav>
+</header>
+<div class="flex-content">
+<main role="main">
+<div class="header">
+<h1>Index</h1>
+</div>
+<a href="index-1.html">A</a>&nbsp;<a href="index-2.html">B</a>&nbsp;<a href="index-3.html">C</a>&nbsp;<a href="index-4.html">D</a>&nbsp;<a href="index-5.html">E</a>&nbsp;<a href="index-6.html">F</a>&nbsp;<a href="index-7.html">G</a>&nbsp;<a href="index-8.html">H</a>&nbsp;<a href="index-9.html">I</a>&nbsp;<a href="index-10.html">M</a>&nbsp;<a href="index-11.html">P</a>&nbsp;<a href="index-12.html">R</a>&nbsp;<a href="index-13.html">S</a>&nbsp;<a href="index-14.html">T</a>&nbsp;<a href="index-15.html">U</a>&nbsp;<a href="index-16.html">V</a>&nbsp;<a href="index-17.html">W</a>&nbsp;<br><a href="../allclasses-index.html">All&nbsp;Classes&nbsp;and&nbsp;Interfaces</a><span class="vertical-separator">|</span><a href="../allpackages-index.html">All&nbsp;Packages</a><span class="vertical-separator">|</span><a href="../constant-values.html">Constant&nbsp;Field&nbsp;Values</a><span class="vertical-separator">|</span><a href="../serialized-form.html">Serialized&nbsp;Form</a>
+<h2 class="title" id="I:S">S</h2>
+<dl class="index">
+<dt><a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/Unit.html#setHealth(int)" class="member-name-link">setHealth(int)</a> - Method in class edu.ntnu.idatt2001.carljgu.units.<a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/Unit.html" title="class in edu.ntnu.idatt2001.carljgu.units">Unit</a></dt>
+<dd>
+<div class="block">Sets health.</div>
+</dd>
+<dt><a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/battle/Battle.html#simulate()" class="member-name-link">simulate()</a> - Method in class edu.ntnu.idatt2001.carljgu.battle.<a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/battle/Battle.html" title="class in edu.ntnu.idatt2001.carljgu.battle">Battle</a></dt>
+<dd>
+<div class="block">Simulate a battle.</div>
+</dd>
+<dt><a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/battle/SimulationAttack.html" class="type-name-link" title="class in edu.ntnu.idatt2001.carljgu.battle">SimulationAttack</a> - Class in <a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/battle/package-summary.html">edu.ntnu.idatt2001.carljgu.battle</a></dt>
+<dd>
+<div class="block">A class for keeping track of which unit
+ has attacked which unit.</div>
+</dd>
+<dt><a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/battle/SimulationAttack.html#%3Cinit%3E(edu.ntnu.idatt2001.carljgu.units.Army,edu.ntnu.idatt2001.carljgu.units.Unit,edu.ntnu.idatt2001.carljgu.units.Army,edu.ntnu.idatt2001.carljgu.units.Unit,edu.ntnu.idatt2001.carljgu.Terrain)" class="member-name-link">SimulationAttack(Army, Unit, Army, Unit, Terrain)</a> - Constructor for class edu.ntnu.idatt2001.carljgu.battle.<a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/battle/SimulationAttack.html" title="class in edu.ntnu.idatt2001.carljgu.battle">SimulationAttack</a></dt>
+<dd>
+<div class="block">The constructor for a simulation attack.</div>
+</dd>
+<dt><a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/client/App.html#start(javafx.stage.Stage)" class="member-name-link">start(Stage)</a> - Method in class edu.ntnu.idatt2001.carljgu.client.<a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/client/App.html" title="class in edu.ntnu.idatt2001.carljgu.client">App</a></dt>
+<dd>
+<div class="block">Overridden from Application.</div>
+</dd>
+</dl>
+<a href="index-1.html">A</a>&nbsp;<a href="index-2.html">B</a>&nbsp;<a href="index-3.html">C</a>&nbsp;<a href="index-4.html">D</a>&nbsp;<a href="index-5.html">E</a>&nbsp;<a href="index-6.html">F</a>&nbsp;<a href="index-7.html">G</a>&nbsp;<a href="index-8.html">H</a>&nbsp;<a href="index-9.html">I</a>&nbsp;<a href="index-10.html">M</a>&nbsp;<a href="index-11.html">P</a>&nbsp;<a href="index-12.html">R</a>&nbsp;<a href="index-13.html">S</a>&nbsp;<a href="index-14.html">T</a>&nbsp;<a href="index-15.html">U</a>&nbsp;<a href="index-16.html">V</a>&nbsp;<a href="index-17.html">W</a>&nbsp;<br><a href="../allclasses-index.html">All&nbsp;Classes&nbsp;and&nbsp;Interfaces</a><span class="vertical-separator">|</span><a href="../allpackages-index.html">All&nbsp;Packages</a><span class="vertical-separator">|</span><a href="../constant-values.html">Constant&nbsp;Field&nbsp;Values</a><span class="vertical-separator">|</span><a href="../serialized-form.html">Serialized&nbsp;Form</a></main>
+</div>
+</div>
+</body>
+</html>
diff --git a/javadoc/index-files/index-14.html b/javadoc/index-files/index-14.html
new file mode 100644
index 0000000..86a460c
--- /dev/null
+++ b/javadoc/index-files/index-14.html
@@ -0,0 +1,84 @@
+<!DOCTYPE HTML>
+<html lang="en">
+<head>
+<!-- Generated by javadoc (17) on Sun May 01 19:43:43 CEST 2022 -->
+<title>T-Index</title>
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<meta name="dc.created" content="2022-05-01">
+<meta name="description" content="index: T">
+<meta name="generator" content="javadoc/IndexWriter">
+<link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../script-dir/jquery-ui.min.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../jquery-ui.overrides.css" title="Style">
+<script type="text/javascript" src="../script.js"></script>
+<script type="text/javascript" src="../script-dir/jquery-3.5.1.min.js"></script>
+<script type="text/javascript" src="../script-dir/jquery-ui.min.js"></script>
+</head>
+<body class="index-page">
+<script type="text/javascript">var pathtoroot = "../";
+loadScripts(document, 'script');</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<div class="flex-box">
+<header role="banner" class="flex-header">
+<nav role="navigation">
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="top-nav" id="navbar-top">
+<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
+<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
+<li><a href="../edu.ntnu.idatt2001.carljgu.client/module-summary.html">Module</a></li>
+<li>Package</li>
+<li>Class</li>
+<li><a href="../overview-tree.html">Tree</a></li>
+<li class="nav-bar-cell1-rev">Index</li>
+<li><a href="../help-doc.html#index">Help</a></li>
+</ul>
+</div>
+<div class="sub-nav">
+<div class="nav-list-search"><label for="search-input">SEARCH:</label>
+<input type="text" id="search-input" value="search" disabled="disabled">
+<input type="reset" id="reset-button" value="reset" disabled="disabled">
+</div>
+</div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<span class="skip-nav" id="skip-navbar-top"></span></nav>
+</header>
+<div class="flex-content">
+<main role="main">
+<div class="header">
+<h1>Index</h1>
+</div>
+<a href="index-1.html">A</a>&nbsp;<a href="index-2.html">B</a>&nbsp;<a href="index-3.html">C</a>&nbsp;<a href="index-4.html">D</a>&nbsp;<a href="index-5.html">E</a>&nbsp;<a href="index-6.html">F</a>&nbsp;<a href="index-7.html">G</a>&nbsp;<a href="index-8.html">H</a>&nbsp;<a href="index-9.html">I</a>&nbsp;<a href="index-10.html">M</a>&nbsp;<a href="index-11.html">P</a>&nbsp;<a href="index-12.html">R</a>&nbsp;<a href="index-13.html">S</a>&nbsp;<a href="index-14.html">T</a>&nbsp;<a href="index-15.html">U</a>&nbsp;<a href="index-16.html">V</a>&nbsp;<a href="index-17.html">W</a>&nbsp;<br><a href="../allclasses-index.html">All&nbsp;Classes&nbsp;and&nbsp;Interfaces</a><span class="vertical-separator">|</span><a href="../allpackages-index.html">All&nbsp;Packages</a><span class="vertical-separator">|</span><a href="../constant-values.html">Constant&nbsp;Field&nbsp;Values</a><span class="vertical-separator">|</span><a href="../serialized-form.html">Serialized&nbsp;Form</a>
+<h2 class="title" id="I:T">T</h2>
+<dl class="index">
+<dt><a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/Terrain.html" class="type-name-link" title="enum class in edu.ntnu.idatt2001.carljgu">Terrain</a> - Enum Class in <a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/package-summary.html">edu.ntnu.idatt2001.carljgu</a></dt>
+<dd>
+<div class="block">En enum that represents the different terrain
+ that the battles can occur on.</div>
+</dd>
+<dt><a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/battle/Battle.html#toString()" class="member-name-link">toString()</a> - Method in class edu.ntnu.idatt2001.carljgu.battle.<a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/battle/Battle.html" title="class in edu.ntnu.idatt2001.carljgu.battle">Battle</a></dt>
+<dd>
+<div class="block">Overrides toString() method from Object.</div>
+</dd>
+<dt><a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/battle/SimulationAttack.html#toString()" class="member-name-link">toString()</a> - Method in class edu.ntnu.idatt2001.carljgu.battle.<a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/battle/SimulationAttack.html" title="class in edu.ntnu.idatt2001.carljgu.battle">SimulationAttack</a></dt>
+<dd>
+<div class="block">Overrides the toString() method
+ and returns an output used in the
+ GUI.</div>
+</dd>
+<dt><a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/Army.html#toString()" class="member-name-link">toString()</a> - Method in class edu.ntnu.idatt2001.carljgu.units.<a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/Army.html" title="class in edu.ntnu.idatt2001.carljgu.units">Army</a></dt>
+<dd>
+<div class="block">Overrides the toString() method from Object.</div>
+</dd>
+<dt><a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/Unit.html#toString()" class="member-name-link">toString()</a> - Method in class edu.ntnu.idatt2001.carljgu.units.<a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/Unit.html" title="class in edu.ntnu.idatt2001.carljgu.units">Unit</a></dt>
+<dd>
+<div class="block">Overrides toString() method from Object.</div>
+</dd>
+</dl>
+<a href="index-1.html">A</a>&nbsp;<a href="index-2.html">B</a>&nbsp;<a href="index-3.html">C</a>&nbsp;<a href="index-4.html">D</a>&nbsp;<a href="index-5.html">E</a>&nbsp;<a href="index-6.html">F</a>&nbsp;<a href="index-7.html">G</a>&nbsp;<a href="index-8.html">H</a>&nbsp;<a href="index-9.html">I</a>&nbsp;<a href="index-10.html">M</a>&nbsp;<a href="index-11.html">P</a>&nbsp;<a href="index-12.html">R</a>&nbsp;<a href="index-13.html">S</a>&nbsp;<a href="index-14.html">T</a>&nbsp;<a href="index-15.html">U</a>&nbsp;<a href="index-16.html">V</a>&nbsp;<a href="index-17.html">W</a>&nbsp;<br><a href="../allclasses-index.html">All&nbsp;Classes&nbsp;and&nbsp;Interfaces</a><span class="vertical-separator">|</span><a href="../allpackages-index.html">All&nbsp;Packages</a><span class="vertical-separator">|</span><a href="../constant-values.html">Constant&nbsp;Field&nbsp;Values</a><span class="vertical-separator">|</span><a href="../serialized-form.html">Serialized&nbsp;Form</a></main>
+</div>
+</div>
+</body>
+</html>
diff --git a/javadoc/index-files/index-15.html b/javadoc/index-files/index-15.html
new file mode 100644
index 0000000..04e6d6b
--- /dev/null
+++ b/javadoc/index-files/index-15.html
@@ -0,0 +1,75 @@
+<!DOCTYPE HTML>
+<html lang="en">
+<head>
+<!-- Generated by javadoc (17) on Sun May 01 19:43:43 CEST 2022 -->
+<title>U-Index</title>
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<meta name="dc.created" content="2022-05-01">
+<meta name="description" content="index: U">
+<meta name="generator" content="javadoc/IndexWriter">
+<link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../script-dir/jquery-ui.min.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../jquery-ui.overrides.css" title="Style">
+<script type="text/javascript" src="../script.js"></script>
+<script type="text/javascript" src="../script-dir/jquery-3.5.1.min.js"></script>
+<script type="text/javascript" src="../script-dir/jquery-ui.min.js"></script>
+</head>
+<body class="index-page">
+<script type="text/javascript">var pathtoroot = "../";
+loadScripts(document, 'script');</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<div class="flex-box">
+<header role="banner" class="flex-header">
+<nav role="navigation">
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="top-nav" id="navbar-top">
+<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
+<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
+<li><a href="../edu.ntnu.idatt2001.carljgu.client/module-summary.html">Module</a></li>
+<li>Package</li>
+<li>Class</li>
+<li><a href="../overview-tree.html">Tree</a></li>
+<li class="nav-bar-cell1-rev">Index</li>
+<li><a href="../help-doc.html#index">Help</a></li>
+</ul>
+</div>
+<div class="sub-nav">
+<div class="nav-list-search"><label for="search-input">SEARCH:</label>
+<input type="text" id="search-input" value="search" disabled="disabled">
+<input type="reset" id="reset-button" value="reset" disabled="disabled">
+</div>
+</div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<span class="skip-nav" id="skip-navbar-top"></span></nav>
+</header>
+<div class="flex-content">
+<main role="main">
+<div class="header">
+<h1>Index</h1>
+</div>
+<a href="index-1.html">A</a>&nbsp;<a href="index-2.html">B</a>&nbsp;<a href="index-3.html">C</a>&nbsp;<a href="index-4.html">D</a>&nbsp;<a href="index-5.html">E</a>&nbsp;<a href="index-6.html">F</a>&nbsp;<a href="index-7.html">G</a>&nbsp;<a href="index-8.html">H</a>&nbsp;<a href="index-9.html">I</a>&nbsp;<a href="index-10.html">M</a>&nbsp;<a href="index-11.html">P</a>&nbsp;<a href="index-12.html">R</a>&nbsp;<a href="index-13.html">S</a>&nbsp;<a href="index-14.html">T</a>&nbsp;<a href="index-15.html">U</a>&nbsp;<a href="index-16.html">V</a>&nbsp;<a href="index-17.html">W</a>&nbsp;<br><a href="../allclasses-index.html">All&nbsp;Classes&nbsp;and&nbsp;Interfaces</a><span class="vertical-separator">|</span><a href="../allpackages-index.html">All&nbsp;Packages</a><span class="vertical-separator">|</span><a href="../constant-values.html">Constant&nbsp;Field&nbsp;Values</a><span class="vertical-separator">|</span><a href="../serialized-form.html">Serialized&nbsp;Form</a>
+<h2 class="title" id="I:U">U</h2>
+<dl class="index">
+<dt><a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/Unit.html" class="type-name-link" title="class in edu.ntnu.idatt2001.carljgu.units">Unit</a> - Class in <a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/package-summary.html">edu.ntnu.idatt2001.carljgu.units</a></dt>
+<dd>
+<div class="block">The abstract class Unit.</div>
+</dd>
+<dt><a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/Unit.html#%3Cinit%3E(java.lang.String,int,int,int)" class="member-name-link">Unit(String, int, int, int)</a> - Constructor for class edu.ntnu.idatt2001.carljgu.units.<a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/Unit.html" title="class in edu.ntnu.idatt2001.carljgu.units">Unit</a></dt>
+<dd>
+<div class="block">Checks validity of name and health.</div>
+</dd>
+<dt><a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/UnitFactory.html" class="type-name-link" title="class in edu.ntnu.idatt2001.carljgu.units">UnitFactory</a> - Class in <a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/package-summary.html">edu.ntnu.idatt2001.carljgu.units</a></dt>
+<dd>
+<div class="block">A class to simply and elegantly create units.</div>
+</dd>
+<dt><a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/UnitFactory.html#%3Cinit%3E()" class="member-name-link">UnitFactory()</a> - Constructor for class edu.ntnu.idatt2001.carljgu.units.<a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/UnitFactory.html" title="class in edu.ntnu.idatt2001.carljgu.units">UnitFactory</a></dt>
+<dd>&nbsp;</dd>
+</dl>
+<a href="index-1.html">A</a>&nbsp;<a href="index-2.html">B</a>&nbsp;<a href="index-3.html">C</a>&nbsp;<a href="index-4.html">D</a>&nbsp;<a href="index-5.html">E</a>&nbsp;<a href="index-6.html">F</a>&nbsp;<a href="index-7.html">G</a>&nbsp;<a href="index-8.html">H</a>&nbsp;<a href="index-9.html">I</a>&nbsp;<a href="index-10.html">M</a>&nbsp;<a href="index-11.html">P</a>&nbsp;<a href="index-12.html">R</a>&nbsp;<a href="index-13.html">S</a>&nbsp;<a href="index-14.html">T</a>&nbsp;<a href="index-15.html">U</a>&nbsp;<a href="index-16.html">V</a>&nbsp;<a href="index-17.html">W</a>&nbsp;<br><a href="../allclasses-index.html">All&nbsp;Classes&nbsp;and&nbsp;Interfaces</a><span class="vertical-separator">|</span><a href="../allpackages-index.html">All&nbsp;Packages</a><span class="vertical-separator">|</span><a href="../constant-values.html">Constant&nbsp;Field&nbsp;Values</a><span class="vertical-separator">|</span><a href="../serialized-form.html">Serialized&nbsp;Form</a></main>
+</div>
+</div>
+</body>
+</html>
diff --git a/javadoc/index-files/index-16.html b/javadoc/index-files/index-16.html
new file mode 100644
index 0000000..991023f
--- /dev/null
+++ b/javadoc/index-files/index-16.html
@@ -0,0 +1,70 @@
+<!DOCTYPE HTML>
+<html lang="en">
+<head>
+<!-- Generated by javadoc (17) on Sun May 01 19:43:43 CEST 2022 -->
+<title>V-Index</title>
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<meta name="dc.created" content="2022-05-01">
+<meta name="description" content="index: V">
+<meta name="generator" content="javadoc/IndexWriter">
+<link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../script-dir/jquery-ui.min.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../jquery-ui.overrides.css" title="Style">
+<script type="text/javascript" src="../script.js"></script>
+<script type="text/javascript" src="../script-dir/jquery-3.5.1.min.js"></script>
+<script type="text/javascript" src="../script-dir/jquery-ui.min.js"></script>
+</head>
+<body class="index-page">
+<script type="text/javascript">var pathtoroot = "../";
+loadScripts(document, 'script');</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<div class="flex-box">
+<header role="banner" class="flex-header">
+<nav role="navigation">
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="top-nav" id="navbar-top">
+<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
+<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
+<li><a href="../edu.ntnu.idatt2001.carljgu.client/module-summary.html">Module</a></li>
+<li>Package</li>
+<li>Class</li>
+<li><a href="../overview-tree.html">Tree</a></li>
+<li class="nav-bar-cell1-rev">Index</li>
+<li><a href="../help-doc.html#index">Help</a></li>
+</ul>
+</div>
+<div class="sub-nav">
+<div class="nav-list-search"><label for="search-input">SEARCH:</label>
+<input type="text" id="search-input" value="search" disabled="disabled">
+<input type="reset" id="reset-button" value="reset" disabled="disabled">
+</div>
+</div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<span class="skip-nav" id="skip-navbar-top"></span></nav>
+</header>
+<div class="flex-content">
+<main role="main">
+<div class="header">
+<h1>Index</h1>
+</div>
+<a href="index-1.html">A</a>&nbsp;<a href="index-2.html">B</a>&nbsp;<a href="index-3.html">C</a>&nbsp;<a href="index-4.html">D</a>&nbsp;<a href="index-5.html">E</a>&nbsp;<a href="index-6.html">F</a>&nbsp;<a href="index-7.html">G</a>&nbsp;<a href="index-8.html">H</a>&nbsp;<a href="index-9.html">I</a>&nbsp;<a href="index-10.html">M</a>&nbsp;<a href="index-11.html">P</a>&nbsp;<a href="index-12.html">R</a>&nbsp;<a href="index-13.html">S</a>&nbsp;<a href="index-14.html">T</a>&nbsp;<a href="index-15.html">U</a>&nbsp;<a href="index-16.html">V</a>&nbsp;<a href="index-17.html">W</a>&nbsp;<br><a href="../allclasses-index.html">All&nbsp;Classes&nbsp;and&nbsp;Interfaces</a><span class="vertical-separator">|</span><a href="../allpackages-index.html">All&nbsp;Packages</a><span class="vertical-separator">|</span><a href="../constant-values.html">Constant&nbsp;Field&nbsp;Values</a><span class="vertical-separator">|</span><a href="../serialized-form.html">Serialized&nbsp;Form</a>
+<h2 class="title" id="I:V">V</h2>
+<dl class="index">
+<dt><a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/Terrain.html#valueOf(java.lang.String)" class="member-name-link">valueOf(String)</a> - Static method in enum class edu.ntnu.idatt2001.carljgu.<a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/Terrain.html" title="enum class in edu.ntnu.idatt2001.carljgu">Terrain</a></dt>
+<dd>
+<div class="block">Returns the enum constant of this class with the specified name.</div>
+</dd>
+<dt><a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/Terrain.html#values()" class="member-name-link">values()</a> - Static method in enum class edu.ntnu.idatt2001.carljgu.<a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/Terrain.html" title="enum class in edu.ntnu.idatt2001.carljgu">Terrain</a></dt>
+<dd>
+<div class="block">Returns an array containing the constants of this enum class, in
+the order they are declared.</div>
+</dd>
+</dl>
+<a href="index-1.html">A</a>&nbsp;<a href="index-2.html">B</a>&nbsp;<a href="index-3.html">C</a>&nbsp;<a href="index-4.html">D</a>&nbsp;<a href="index-5.html">E</a>&nbsp;<a href="index-6.html">F</a>&nbsp;<a href="index-7.html">G</a>&nbsp;<a href="index-8.html">H</a>&nbsp;<a href="index-9.html">I</a>&nbsp;<a href="index-10.html">M</a>&nbsp;<a href="index-11.html">P</a>&nbsp;<a href="index-12.html">R</a>&nbsp;<a href="index-13.html">S</a>&nbsp;<a href="index-14.html">T</a>&nbsp;<a href="index-15.html">U</a>&nbsp;<a href="index-16.html">V</a>&nbsp;<a href="index-17.html">W</a>&nbsp;<br><a href="../allclasses-index.html">All&nbsp;Classes&nbsp;and&nbsp;Interfaces</a><span class="vertical-separator">|</span><a href="../allpackages-index.html">All&nbsp;Packages</a><span class="vertical-separator">|</span><a href="../constant-values.html">Constant&nbsp;Field&nbsp;Values</a><span class="vertical-separator">|</span><a href="../serialized-form.html">Serialized&nbsp;Form</a></main>
+</div>
+</div>
+</body>
+</html>
diff --git a/javadoc/index-files/index-17.html b/javadoc/index-files/index-17.html
new file mode 100644
index 0000000..b59dc26
--- /dev/null
+++ b/javadoc/index-files/index-17.html
@@ -0,0 +1,65 @@
+<!DOCTYPE HTML>
+<html lang="en">
+<head>
+<!-- Generated by javadoc (17) on Sun May 01 19:43:43 CEST 2022 -->
+<title>W-Index</title>
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<meta name="dc.created" content="2022-05-01">
+<meta name="description" content="index: W">
+<meta name="generator" content="javadoc/IndexWriter">
+<link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../script-dir/jquery-ui.min.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../jquery-ui.overrides.css" title="Style">
+<script type="text/javascript" src="../script.js"></script>
+<script type="text/javascript" src="../script-dir/jquery-3.5.1.min.js"></script>
+<script type="text/javascript" src="../script-dir/jquery-ui.min.js"></script>
+</head>
+<body class="index-page">
+<script type="text/javascript">var pathtoroot = "../";
+loadScripts(document, 'script');</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<div class="flex-box">
+<header role="banner" class="flex-header">
+<nav role="navigation">
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="top-nav" id="navbar-top">
+<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
+<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
+<li><a href="../edu.ntnu.idatt2001.carljgu.client/module-summary.html">Module</a></li>
+<li>Package</li>
+<li>Class</li>
+<li><a href="../overview-tree.html">Tree</a></li>
+<li class="nav-bar-cell1-rev">Index</li>
+<li><a href="../help-doc.html#index">Help</a></li>
+</ul>
+</div>
+<div class="sub-nav">
+<div class="nav-list-search"><label for="search-input">SEARCH:</label>
+<input type="text" id="search-input" value="search" disabled="disabled">
+<input type="reset" id="reset-button" value="reset" disabled="disabled">
+</div>
+</div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<span class="skip-nav" id="skip-navbar-top"></span></nav>
+</header>
+<div class="flex-content">
+<main role="main">
+<div class="header">
+<h1>Index</h1>
+</div>
+<a href="index-1.html">A</a>&nbsp;<a href="index-2.html">B</a>&nbsp;<a href="index-3.html">C</a>&nbsp;<a href="index-4.html">D</a>&nbsp;<a href="index-5.html">E</a>&nbsp;<a href="index-6.html">F</a>&nbsp;<a href="index-7.html">G</a>&nbsp;<a href="index-8.html">H</a>&nbsp;<a href="index-9.html">I</a>&nbsp;<a href="index-10.html">M</a>&nbsp;<a href="index-11.html">P</a>&nbsp;<a href="index-12.html">R</a>&nbsp;<a href="index-13.html">S</a>&nbsp;<a href="index-14.html">T</a>&nbsp;<a href="index-15.html">U</a>&nbsp;<a href="index-16.html">V</a>&nbsp;<a href="index-17.html">W</a>&nbsp;<br><a href="../allclasses-index.html">All&nbsp;Classes&nbsp;and&nbsp;Interfaces</a><span class="vertical-separator">|</span><a href="../allpackages-index.html">All&nbsp;Packages</a><span class="vertical-separator">|</span><a href="../constant-values.html">Constant&nbsp;Field&nbsp;Values</a><span class="vertical-separator">|</span><a href="../serialized-form.html">Serialized&nbsp;Form</a>
+<h2 class="title" id="I:W">W</h2>
+<dl class="index">
+<dt><a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/ArmyFileHandler.html#writeToFile(edu.ntnu.idatt2001.carljgu.units.Army,java.lang.String)" class="member-name-link">writeToFile(Army, String)</a> - Method in class edu.ntnu.idatt2001.carljgu.<a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/ArmyFileHandler.html" title="class in edu.ntnu.idatt2001.carljgu">ArmyFileHandler</a></dt>
+<dd>
+<div class="block">Creates a file to write on or writes to an existing file.</div>
+</dd>
+</dl>
+<a href="index-1.html">A</a>&nbsp;<a href="index-2.html">B</a>&nbsp;<a href="index-3.html">C</a>&nbsp;<a href="index-4.html">D</a>&nbsp;<a href="index-5.html">E</a>&nbsp;<a href="index-6.html">F</a>&nbsp;<a href="index-7.html">G</a>&nbsp;<a href="index-8.html">H</a>&nbsp;<a href="index-9.html">I</a>&nbsp;<a href="index-10.html">M</a>&nbsp;<a href="index-11.html">P</a>&nbsp;<a href="index-12.html">R</a>&nbsp;<a href="index-13.html">S</a>&nbsp;<a href="index-14.html">T</a>&nbsp;<a href="index-15.html">U</a>&nbsp;<a href="index-16.html">V</a>&nbsp;<a href="index-17.html">W</a>&nbsp;<br><a href="../allclasses-index.html">All&nbsp;Classes&nbsp;and&nbsp;Interfaces</a><span class="vertical-separator">|</span><a href="../allpackages-index.html">All&nbsp;Packages</a><span class="vertical-separator">|</span><a href="../constant-values.html">Constant&nbsp;Field&nbsp;Values</a><span class="vertical-separator">|</span><a href="../serialized-form.html">Serialized&nbsp;Form</a></main>
+</div>
+</div>
+</body>
+</html>
diff --git a/javadoc/index-files/index-2.html b/javadoc/index-files/index-2.html
new file mode 100644
index 0000000..1225b53
--- /dev/null
+++ b/javadoc/index-files/index-2.html
@@ -0,0 +1,82 @@
+<!DOCTYPE HTML>
+<html lang="en">
+<head>
+<!-- Generated by javadoc (17) on Sun May 01 19:43:43 CEST 2022 -->
+<title>B-Index</title>
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<meta name="dc.created" content="2022-05-01">
+<meta name="description" content="index: B">
+<meta name="generator" content="javadoc/IndexWriter">
+<link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../script-dir/jquery-ui.min.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../jquery-ui.overrides.css" title="Style">
+<script type="text/javascript" src="../script.js"></script>
+<script type="text/javascript" src="../script-dir/jquery-3.5.1.min.js"></script>
+<script type="text/javascript" src="../script-dir/jquery-ui.min.js"></script>
+</head>
+<body class="index-page">
+<script type="text/javascript">var pathtoroot = "../";
+loadScripts(document, 'script');</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<div class="flex-box">
+<header role="banner" class="flex-header">
+<nav role="navigation">
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="top-nav" id="navbar-top">
+<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
+<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
+<li><a href="../edu.ntnu.idatt2001.carljgu.client/module-summary.html">Module</a></li>
+<li>Package</li>
+<li>Class</li>
+<li><a href="../overview-tree.html">Tree</a></li>
+<li class="nav-bar-cell1-rev">Index</li>
+<li><a href="../help-doc.html#index">Help</a></li>
+</ul>
+</div>
+<div class="sub-nav">
+<div class="nav-list-search"><label for="search-input">SEARCH:</label>
+<input type="text" id="search-input" value="search" disabled="disabled">
+<input type="reset" id="reset-button" value="reset" disabled="disabled">
+</div>
+</div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<span class="skip-nav" id="skip-navbar-top"></span></nav>
+</header>
+<div class="flex-content">
+<main role="main">
+<div class="header">
+<h1>Index</h1>
+</div>
+<a href="index-1.html">A</a>&nbsp;<a href="index-2.html">B</a>&nbsp;<a href="index-3.html">C</a>&nbsp;<a href="index-4.html">D</a>&nbsp;<a href="index-5.html">E</a>&nbsp;<a href="index-6.html">F</a>&nbsp;<a href="index-7.html">G</a>&nbsp;<a href="index-8.html">H</a>&nbsp;<a href="index-9.html">I</a>&nbsp;<a href="index-10.html">M</a>&nbsp;<a href="index-11.html">P</a>&nbsp;<a href="index-12.html">R</a>&nbsp;<a href="index-13.html">S</a>&nbsp;<a href="index-14.html">T</a>&nbsp;<a href="index-15.html">U</a>&nbsp;<a href="index-16.html">V</a>&nbsp;<a href="index-17.html">W</a>&nbsp;<br><a href="../allclasses-index.html">All&nbsp;Classes&nbsp;and&nbsp;Interfaces</a><span class="vertical-separator">|</span><a href="../allpackages-index.html">All&nbsp;Packages</a><span class="vertical-separator">|</span><a href="../constant-values.html">Constant&nbsp;Field&nbsp;Values</a><span class="vertical-separator">|</span><a href="../serialized-form.html">Serialized&nbsp;Form</a>
+<h2 class="title" id="I:B">B</h2>
+<dl class="index">
+<dt><a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/battle/Battle.html" class="type-name-link" title="class in edu.ntnu.idatt2001.carljgu.battle">Battle</a> - Class in <a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/battle/package-summary.html">edu.ntnu.idatt2001.carljgu.battle</a></dt>
+<dd>
+<div class="block">Class Battle that simulates a battle between two armies.</div>
+</dd>
+<dt><a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/battle/Battle.html#%3Cinit%3E(edu.ntnu.idatt2001.carljgu.units.Army,edu.ntnu.idatt2001.carljgu.units.Army,edu.ntnu.idatt2001.carljgu.Terrain)" class="member-name-link">Battle(Army, Army, Terrain)</a> - Constructor for class edu.ntnu.idatt2001.carljgu.battle.<a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/battle/Battle.html" title="class in edu.ntnu.idatt2001.carljgu.battle">Battle</a></dt>
+<dd>
+<div class="block">Instantiates a new Battle.</div>
+</dd>
+<dt><a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/client/BattleController.html" class="type-name-link" title="class in edu.ntnu.idatt2001.carljgu.client">BattleController</a> - Class in <a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/client/package-summary.html">edu.ntnu.idatt2001.carljgu.client</a></dt>
+<dd>
+<div class="block">A controller class which
+ handles events in the fxml file.</div>
+</dd>
+<dt><a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/client/BattleController.html#%3Cinit%3E()" class="member-name-link">BattleController()</a> - Constructor for class edu.ntnu.idatt2001.carljgu.client.<a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/client/BattleController.html" title="class in edu.ntnu.idatt2001.carljgu.client">BattleController</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/client/dialogs/DialogBoxBuilder.html#build()" class="member-name-link">build()</a> - Method in class edu.ntnu.idatt2001.carljgu.client.dialogs.<a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/client/dialogs/DialogBoxBuilder.html" title="class in edu.ntnu.idatt2001.carljgu.client.dialogs">DialogBoxBuilder</a></dt>
+<dd>
+<div class="block">Create the dialog box with the
+ current configurations from this
+ builder object.</div>
+</dd>
+</dl>
+<a href="index-1.html">A</a>&nbsp;<a href="index-2.html">B</a>&nbsp;<a href="index-3.html">C</a>&nbsp;<a href="index-4.html">D</a>&nbsp;<a href="index-5.html">E</a>&nbsp;<a href="index-6.html">F</a>&nbsp;<a href="index-7.html">G</a>&nbsp;<a href="index-8.html">H</a>&nbsp;<a href="index-9.html">I</a>&nbsp;<a href="index-10.html">M</a>&nbsp;<a href="index-11.html">P</a>&nbsp;<a href="index-12.html">R</a>&nbsp;<a href="index-13.html">S</a>&nbsp;<a href="index-14.html">T</a>&nbsp;<a href="index-15.html">U</a>&nbsp;<a href="index-16.html">V</a>&nbsp;<a href="index-17.html">W</a>&nbsp;<br><a href="../allclasses-index.html">All&nbsp;Classes&nbsp;and&nbsp;Interfaces</a><span class="vertical-separator">|</span><a href="../allpackages-index.html">All&nbsp;Packages</a><span class="vertical-separator">|</span><a href="../constant-values.html">Constant&nbsp;Field&nbsp;Values</a><span class="vertical-separator">|</span><a href="../serialized-form.html">Serialized&nbsp;Form</a></main>
+</div>
+</div>
+</body>
+</html>
diff --git a/javadoc/index-files/index-3.html b/javadoc/index-files/index-3.html
new file mode 100644
index 0000000..5d352b1
--- /dev/null
+++ b/javadoc/index-files/index-3.html
@@ -0,0 +1,97 @@
+<!DOCTYPE HTML>
+<html lang="en">
+<head>
+<!-- Generated by javadoc (17) on Sun May 01 19:43:43 CEST 2022 -->
+<title>C-Index</title>
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<meta name="dc.created" content="2022-05-01">
+<meta name="description" content="index: C">
+<meta name="generator" content="javadoc/IndexWriter">
+<link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../script-dir/jquery-ui.min.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../jquery-ui.overrides.css" title="Style">
+<script type="text/javascript" src="../script.js"></script>
+<script type="text/javascript" src="../script-dir/jquery-3.5.1.min.js"></script>
+<script type="text/javascript" src="../script-dir/jquery-ui.min.js"></script>
+</head>
+<body class="index-page">
+<script type="text/javascript">var pathtoroot = "../";
+loadScripts(document, 'script');</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<div class="flex-box">
+<header role="banner" class="flex-header">
+<nav role="navigation">
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="top-nav" id="navbar-top">
+<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
+<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
+<li><a href="../edu.ntnu.idatt2001.carljgu.client/module-summary.html">Module</a></li>
+<li>Package</li>
+<li>Class</li>
+<li><a href="../overview-tree.html">Tree</a></li>
+<li class="nav-bar-cell1-rev">Index</li>
+<li><a href="../help-doc.html#index">Help</a></li>
+</ul>
+</div>
+<div class="sub-nav">
+<div class="nav-list-search"><label for="search-input">SEARCH:</label>
+<input type="text" id="search-input" value="search" disabled="disabled">
+<input type="reset" id="reset-button" value="reset" disabled="disabled">
+</div>
+</div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<span class="skip-nav" id="skip-navbar-top"></span></nav>
+</header>
+<div class="flex-content">
+<main role="main">
+<div class="header">
+<h1>Index</h1>
+</div>
+<a href="index-1.html">A</a>&nbsp;<a href="index-2.html">B</a>&nbsp;<a href="index-3.html">C</a>&nbsp;<a href="index-4.html">D</a>&nbsp;<a href="index-5.html">E</a>&nbsp;<a href="index-6.html">F</a>&nbsp;<a href="index-7.html">G</a>&nbsp;<a href="index-8.html">H</a>&nbsp;<a href="index-9.html">I</a>&nbsp;<a href="index-10.html">M</a>&nbsp;<a href="index-11.html">P</a>&nbsp;<a href="index-12.html">R</a>&nbsp;<a href="index-13.html">S</a>&nbsp;<a href="index-14.html">T</a>&nbsp;<a href="index-15.html">U</a>&nbsp;<a href="index-16.html">V</a>&nbsp;<a href="index-17.html">W</a>&nbsp;<br><a href="../allclasses-index.html">All&nbsp;Classes&nbsp;and&nbsp;Interfaces</a><span class="vertical-separator">|</span><a href="../allpackages-index.html">All&nbsp;Packages</a><span class="vertical-separator">|</span><a href="../constant-values.html">Constant&nbsp;Field&nbsp;Values</a><span class="vertical-separator">|</span><a href="../serialized-form.html">Serialized&nbsp;Form</a>
+<h2 class="title" id="I:C">C</h2>
+<dl class="index">
+<dt><a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/specialized/CavalryUnit.html" class="type-name-link" title="class in edu.ntnu.idatt2001.carljgu.units.specialized">CavalryUnit</a> - Class in <a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/specialized/package-summary.html">edu.ntnu.idatt2001.carljgu.units.specialized</a></dt>
+<dd>
+<div class="block">Class CavalryUnit that inherits from Unit.</div>
+</dd>
+<dt><a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/specialized/CavalryUnit.html#%3Cinit%3E(java.lang.String,int)" class="member-name-link">CavalryUnit(String, int)</a> - Constructor for class edu.ntnu.idatt2001.carljgu.units.specialized.<a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/specialized/CavalryUnit.html" title="class in edu.ntnu.idatt2001.carljgu.units.specialized">CavalryUnit</a></dt>
+<dd>
+<div class="block">Instantiates a new Cavalry unit with
+ a simplified constructor.</div>
+</dd>
+<dt><a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/specialized/CavalryUnit.html#%3Cinit%3E(java.lang.String,int,int,int)" class="member-name-link">CavalryUnit(String, int, int, int)</a> - Constructor for class edu.ntnu.idatt2001.carljgu.units.specialized.<a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/specialized/CavalryUnit.html" title="class in edu.ntnu.idatt2001.carljgu.units.specialized">CavalryUnit</a></dt>
+<dd>
+<div class="block">Instantiates a new Cavalry unit.</div>
+</dd>
+<dt><a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/specialized/CommanderUnit.html" class="type-name-link" title="class in edu.ntnu.idatt2001.carljgu.units.specialized">CommanderUnit</a> - Class in <a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/specialized/package-summary.html">edu.ntnu.idatt2001.carljgu.units.specialized</a></dt>
+<dd>
+<div class="block">Class CommanderUnit that inherits from CavalryUnit.</div>
+</dd>
+<dt><a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/specialized/CommanderUnit.html#%3Cinit%3E(java.lang.String,int)" class="member-name-link">CommanderUnit(String, int)</a> - Constructor for class edu.ntnu.idatt2001.carljgu.units.specialized.<a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/specialized/CommanderUnit.html" title="class in edu.ntnu.idatt2001.carljgu.units.specialized">CommanderUnit</a></dt>
+<dd>
+<div class="block">Instantiates a new CommanderUnit unit with
+ a simplified constructor.</div>
+</dd>
+<dt><a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/specialized/CommanderUnit.html#%3Cinit%3E(java.lang.String,int,int,int)" class="member-name-link">CommanderUnit(String, int, int, int)</a> - Constructor for class edu.ntnu.idatt2001.carljgu.units.specialized.<a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/specialized/CommanderUnit.html" title="class in edu.ntnu.idatt2001.carljgu.units.specialized">CommanderUnit</a></dt>
+<dd>
+<div class="block">Instantiates a new CommanderUnit unit.</div>
+</dd>
+<dt><a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/UnitFactory.html#createListOfUnits(int,java.lang.String,java.lang.String,int)" class="member-name-link">createListOfUnits(int, String, String, int)</a> - Method in class edu.ntnu.idatt2001.carljgu.units.<a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/UnitFactory.html" title="class in edu.ntnu.idatt2001.carljgu.units">UnitFactory</a></dt>
+<dd>
+<div class="block">Returns a list of units.</div>
+</dd>
+<dt><a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/UnitFactory.html#createUnit(java.lang.String,java.lang.String,int)" class="member-name-link">createUnit(String, String, int)</a> - Method in class edu.ntnu.idatt2001.carljgu.units.<a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/UnitFactory.html" title="class in edu.ntnu.idatt2001.carljgu.units">UnitFactory</a></dt>
+<dd>
+<div class="block">Creates a unit between
+ InfantryUnit, RangedUnit,
+ CavalryUnit or CommanderUnit.</div>
+</dd>
+</dl>
+<a href="index-1.html">A</a>&nbsp;<a href="index-2.html">B</a>&nbsp;<a href="index-3.html">C</a>&nbsp;<a href="index-4.html">D</a>&nbsp;<a href="index-5.html">E</a>&nbsp;<a href="index-6.html">F</a>&nbsp;<a href="index-7.html">G</a>&nbsp;<a href="index-8.html">H</a>&nbsp;<a href="index-9.html">I</a>&nbsp;<a href="index-10.html">M</a>&nbsp;<a href="index-11.html">P</a>&nbsp;<a href="index-12.html">R</a>&nbsp;<a href="index-13.html">S</a>&nbsp;<a href="index-14.html">T</a>&nbsp;<a href="index-15.html">U</a>&nbsp;<a href="index-16.html">V</a>&nbsp;<a href="index-17.html">W</a>&nbsp;<br><a href="../allclasses-index.html">All&nbsp;Classes&nbsp;and&nbsp;Interfaces</a><span class="vertical-separator">|</span><a href="../allpackages-index.html">All&nbsp;Packages</a><span class="vertical-separator">|</span><a href="../constant-values.html">Constant&nbsp;Field&nbsp;Values</a><span class="vertical-separator">|</span><a href="../serialized-form.html">Serialized&nbsp;Form</a></main>
+</div>
+</div>
+</body>
+</html>
diff --git a/javadoc/index-files/index-4.html b/javadoc/index-files/index-4.html
new file mode 100644
index 0000000..7e00204
--- /dev/null
+++ b/javadoc/index-files/index-4.html
@@ -0,0 +1,91 @@
+<!DOCTYPE HTML>
+<html lang="en">
+<head>
+<!-- Generated by javadoc (17) on Sun May 01 19:43:43 CEST 2022 -->
+<title>D-Index</title>
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<meta name="dc.created" content="2022-05-01">
+<meta name="description" content="index: D">
+<meta name="generator" content="javadoc/IndexWriter">
+<link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../script-dir/jquery-ui.min.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../jquery-ui.overrides.css" title="Style">
+<script type="text/javascript" src="../script.js"></script>
+<script type="text/javascript" src="../script-dir/jquery-3.5.1.min.js"></script>
+<script type="text/javascript" src="../script-dir/jquery-ui.min.js"></script>
+</head>
+<body class="index-page">
+<script type="text/javascript">var pathtoroot = "../";
+loadScripts(document, 'script');</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<div class="flex-box">
+<header role="banner" class="flex-header">
+<nav role="navigation">
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="top-nav" id="navbar-top">
+<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
+<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
+<li><a href="../edu.ntnu.idatt2001.carljgu.client/module-summary.html">Module</a></li>
+<li>Package</li>
+<li>Class</li>
+<li><a href="../overview-tree.html">Tree</a></li>
+<li class="nav-bar-cell1-rev">Index</li>
+<li><a href="../help-doc.html#index">Help</a></li>
+</ul>
+</div>
+<div class="sub-nav">
+<div class="nav-list-search"><label for="search-input">SEARCH:</label>
+<input type="text" id="search-input" value="search" disabled="disabled">
+<input type="reset" id="reset-button" value="reset" disabled="disabled">
+</div>
+</div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<span class="skip-nav" id="skip-navbar-top"></span></nav>
+</header>
+<div class="flex-content">
+<main role="main">
+<div class="header">
+<h1>Index</h1>
+</div>
+<a href="index-1.html">A</a>&nbsp;<a href="index-2.html">B</a>&nbsp;<a href="index-3.html">C</a>&nbsp;<a href="index-4.html">D</a>&nbsp;<a href="index-5.html">E</a>&nbsp;<a href="index-6.html">F</a>&nbsp;<a href="index-7.html">G</a>&nbsp;<a href="index-8.html">H</a>&nbsp;<a href="index-9.html">I</a>&nbsp;<a href="index-10.html">M</a>&nbsp;<a href="index-11.html">P</a>&nbsp;<a href="index-12.html">R</a>&nbsp;<a href="index-13.html">S</a>&nbsp;<a href="index-14.html">T</a>&nbsp;<a href="index-15.html">U</a>&nbsp;<a href="index-16.html">V</a>&nbsp;<a href="index-17.html">W</a>&nbsp;<br><a href="../allclasses-index.html">All&nbsp;Classes&nbsp;and&nbsp;Interfaces</a><span class="vertical-separator">|</span><a href="../allpackages-index.html">All&nbsp;Packages</a><span class="vertical-separator">|</span><a href="../constant-values.html">Constant&nbsp;Field&nbsp;Values</a><span class="vertical-separator">|</span><a href="../serialized-form.html">Serialized&nbsp;Form</a>
+<h2 class="title" id="I:D">D</h2>
+<dl class="index">
+<dt><a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/UnitFactory.html#deepCopyBasicUnits(java.util.ArrayList)" class="member-name-link">deepCopyBasicUnits(ArrayList&lt;Unit&gt;)</a> - Method in class edu.ntnu.idatt2001.carljgu.units.<a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/UnitFactory.html" title="class in edu.ntnu.idatt2001.carljgu.units">UnitFactory</a></dt>
+<dd>
+<div class="block">Deep copies units, but ignores overridden
+ attack and armor points.</div>
+</dd>
+<dt><a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/client/dialogs/DialogBox.html" class="type-name-link" title="class in edu.ntnu.idatt2001.carljgu.client.dialogs">DialogBox</a> - Class in <a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/client/dialogs/package-summary.html">edu.ntnu.idatt2001.carljgu.client.dialogs</a></dt>
+<dd>
+<div class="block">A dialog box that extends alert to use
+ a builder to build a dialog box.</div>
+</dd>
+<dt><a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/client/dialogs/DialogBox.html#%3Cinit%3E(edu.ntnu.idatt2001.carljgu.client.dialogs.DialogBoxBuilder)" class="member-name-link">DialogBox(DialogBoxBuilder)</a> - Constructor for class edu.ntnu.idatt2001.carljgu.client.dialogs.<a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/client/dialogs/DialogBox.html" title="class in edu.ntnu.idatt2001.carljgu.client.dialogs">DialogBox</a></dt>
+<dd>
+<div class="block">Constructor for a dialog box
+ that uses a builder to set
+ attributes.</div>
+</dd>
+<dt><a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/client/dialogs/DialogBoxBuilder.html" class="type-name-link" title="class in edu.ntnu.idatt2001.carljgu.client.dialogs">DialogBoxBuilder</a> - Class in <a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/client/dialogs/package-summary.html">edu.ntnu.idatt2001.carljgu.client.dialogs</a></dt>
+<dd>
+<div class="block">A builder class which simplifies the
+ DialogBox class.</div>
+</dd>
+<dt><a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/client/dialogs/DialogBoxBuilder.html#%3Cinit%3E(javafx.scene.control.Alert.AlertType)" class="member-name-link">DialogBoxBuilder(Alert.AlertType)</a> - Constructor for class edu.ntnu.idatt2001.carljgu.client.dialogs.<a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/client/dialogs/DialogBoxBuilder.html" title="class in edu.ntnu.idatt2001.carljgu.client.dialogs">DialogBoxBuilder</a></dt>
+<dd>
+<div class="block">Instantiates a new dialog box builder.</div>
+</dd>
+<dt><a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/client/BattleController.html#displayArmy(int,edu.ntnu.idatt2001.carljgu.units.Army)" class="member-name-link">displayArmy(int, Army)</a> - Method in class edu.ntnu.idatt2001.carljgu.client.<a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/client/BattleController.html" title="class in edu.ntnu.idatt2001.carljgu.client">BattleController</a></dt>
+<dd>
+<div class="block">Updates the information about an army
+ in the chosen elements.</div>
+</dd>
+</dl>
+<a href="index-1.html">A</a>&nbsp;<a href="index-2.html">B</a>&nbsp;<a href="index-3.html">C</a>&nbsp;<a href="index-4.html">D</a>&nbsp;<a href="index-5.html">E</a>&nbsp;<a href="index-6.html">F</a>&nbsp;<a href="index-7.html">G</a>&nbsp;<a href="index-8.html">H</a>&nbsp;<a href="index-9.html">I</a>&nbsp;<a href="index-10.html">M</a>&nbsp;<a href="index-11.html">P</a>&nbsp;<a href="index-12.html">R</a>&nbsp;<a href="index-13.html">S</a>&nbsp;<a href="index-14.html">T</a>&nbsp;<a href="index-15.html">U</a>&nbsp;<a href="index-16.html">V</a>&nbsp;<a href="index-17.html">W</a>&nbsp;<br><a href="../allclasses-index.html">All&nbsp;Classes&nbsp;and&nbsp;Interfaces</a><span class="vertical-separator">|</span><a href="../allpackages-index.html">All&nbsp;Packages</a><span class="vertical-separator">|</span><a href="../constant-values.html">Constant&nbsp;Field&nbsp;Values</a><span class="vertical-separator">|</span><a href="../serialized-form.html">Serialized&nbsp;Form</a></main>
+</div>
+</div>
+</body>
+</html>
diff --git a/javadoc/index-files/index-5.html b/javadoc/index-files/index-5.html
new file mode 100644
index 0000000..fb0d6f4
--- /dev/null
+++ b/javadoc/index-files/index-5.html
@@ -0,0 +1,79 @@
+<!DOCTYPE HTML>
+<html lang="en">
+<head>
+<!-- Generated by javadoc (17) on Sun May 01 19:43:43 CEST 2022 -->
+<title>E-Index</title>
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<meta name="dc.created" content="2022-05-01">
+<meta name="description" content="index: E">
+<meta name="generator" content="javadoc/IndexWriter">
+<link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../script-dir/jquery-ui.min.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../jquery-ui.overrides.css" title="Style">
+<script type="text/javascript" src="../script.js"></script>
+<script type="text/javascript" src="../script-dir/jquery-3.5.1.min.js"></script>
+<script type="text/javascript" src="../script-dir/jquery-ui.min.js"></script>
+</head>
+<body class="index-page">
+<script type="text/javascript">var pathtoroot = "../";
+loadScripts(document, 'script');</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<div class="flex-box">
+<header role="banner" class="flex-header">
+<nav role="navigation">
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="top-nav" id="navbar-top">
+<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
+<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
+<li><a href="../edu.ntnu.idatt2001.carljgu.client/module-summary.html">Module</a></li>
+<li>Package</li>
+<li>Class</li>
+<li><a href="../overview-tree.html">Tree</a></li>
+<li class="nav-bar-cell1-rev">Index</li>
+<li><a href="../help-doc.html#index">Help</a></li>
+</ul>
+</div>
+<div class="sub-nav">
+<div class="nav-list-search"><label for="search-input">SEARCH:</label>
+<input type="text" id="search-input" value="search" disabled="disabled">
+<input type="reset" id="reset-button" value="reset" disabled="disabled">
+</div>
+</div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<span class="skip-nav" id="skip-navbar-top"></span></nav>
+</header>
+<div class="flex-content">
+<main role="main">
+<div class="header">
+<h1>Index</h1>
+</div>
+<a href="index-1.html">A</a>&nbsp;<a href="index-2.html">B</a>&nbsp;<a href="index-3.html">C</a>&nbsp;<a href="index-4.html">D</a>&nbsp;<a href="index-5.html">E</a>&nbsp;<a href="index-6.html">F</a>&nbsp;<a href="index-7.html">G</a>&nbsp;<a href="index-8.html">H</a>&nbsp;<a href="index-9.html">I</a>&nbsp;<a href="index-10.html">M</a>&nbsp;<a href="index-11.html">P</a>&nbsp;<a href="index-12.html">R</a>&nbsp;<a href="index-13.html">S</a>&nbsp;<a href="index-14.html">T</a>&nbsp;<a href="index-15.html">U</a>&nbsp;<a href="index-16.html">V</a>&nbsp;<a href="index-17.html">W</a>&nbsp;<br><a href="../allclasses-index.html">All&nbsp;Classes&nbsp;and&nbsp;Interfaces</a><span class="vertical-separator">|</span><a href="../allpackages-index.html">All&nbsp;Packages</a><span class="vertical-separator">|</span><a href="../constant-values.html">Constant&nbsp;Field&nbsp;Values</a><span class="vertical-separator">|</span><a href="../serialized-form.html">Serialized&nbsp;Form</a>
+<h2 class="title" id="I:E">E</h2>
+<dl class="index">
+<dt><a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/package-summary.html">edu.ntnu.idatt2001.carljgu</a> - package edu.ntnu.idatt2001.carljgu</dt>
+<dd>&nbsp;</dd>
+<dt><a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/battle/package-summary.html">edu.ntnu.idatt2001.carljgu.battle</a> - package edu.ntnu.idatt2001.carljgu.battle</dt>
+<dd>&nbsp;</dd>
+<dt><a href="../edu.ntnu.idatt2001.carljgu.client/module-summary.html">edu.ntnu.idatt2001.carljgu.client</a> - module edu.ntnu.idatt2001.carljgu.client</dt>
+<dd>&nbsp;</dd>
+<dt><a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/client/package-summary.html">edu.ntnu.idatt2001.carljgu.client</a> - package edu.ntnu.idatt2001.carljgu.client</dt>
+<dd>&nbsp;</dd>
+<dt><a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/client/dialogs/package-summary.html">edu.ntnu.idatt2001.carljgu.client.dialogs</a> - package edu.ntnu.idatt2001.carljgu.client.dialogs</dt>
+<dd>&nbsp;</dd>
+<dt><a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/package-summary.html">edu.ntnu.idatt2001.carljgu.units</a> - package edu.ntnu.idatt2001.carljgu.units</dt>
+<dd>&nbsp;</dd>
+<dt><a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/specialized/package-summary.html">edu.ntnu.idatt2001.carljgu.units.specialized</a> - package edu.ntnu.idatt2001.carljgu.units.specialized</dt>
+<dd>&nbsp;</dd>
+<dt><a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/Army.html#equals(java.lang.Object)" class="member-name-link">equals(Object)</a> - Method in class edu.ntnu.idatt2001.carljgu.units.<a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/Army.html" title="class in edu.ntnu.idatt2001.carljgu.units">Army</a></dt>
+<dd>
+<div class="block">Checks if two armies are equal based on name and list of units.</div>
+</dd>
+</dl>
+<a href="index-1.html">A</a>&nbsp;<a href="index-2.html">B</a>&nbsp;<a href="index-3.html">C</a>&nbsp;<a href="index-4.html">D</a>&nbsp;<a href="index-5.html">E</a>&nbsp;<a href="index-6.html">F</a>&nbsp;<a href="index-7.html">G</a>&nbsp;<a href="index-8.html">H</a>&nbsp;<a href="index-9.html">I</a>&nbsp;<a href="index-10.html">M</a>&nbsp;<a href="index-11.html">P</a>&nbsp;<a href="index-12.html">R</a>&nbsp;<a href="index-13.html">S</a>&nbsp;<a href="index-14.html">T</a>&nbsp;<a href="index-15.html">U</a>&nbsp;<a href="index-16.html">V</a>&nbsp;<a href="index-17.html">W</a>&nbsp;<br><a href="../allclasses-index.html">All&nbsp;Classes&nbsp;and&nbsp;Interfaces</a><span class="vertical-separator">|</span><a href="../allpackages-index.html">All&nbsp;Packages</a><span class="vertical-separator">|</span><a href="../constant-values.html">Constant&nbsp;Field&nbsp;Values</a><span class="vertical-separator">|</span><a href="../serialized-form.html">Serialized&nbsp;Form</a></main>
+</div>
+</div>
+</body>
+</html>
diff --git a/javadoc/index-files/index-6.html b/javadoc/index-files/index-6.html
new file mode 100644
index 0000000..dc52d3c
--- /dev/null
+++ b/javadoc/index-files/index-6.html
@@ -0,0 +1,72 @@
+<!DOCTYPE HTML>
+<html lang="en">
+<head>
+<!-- Generated by javadoc (17) on Sun May 01 19:43:43 CEST 2022 -->
+<title>F-Index</title>
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<meta name="dc.created" content="2022-05-01">
+<meta name="description" content="index: F">
+<meta name="generator" content="javadoc/IndexWriter">
+<link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../script-dir/jquery-ui.min.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../jquery-ui.overrides.css" title="Style">
+<script type="text/javascript" src="../script.js"></script>
+<script type="text/javascript" src="../script-dir/jquery-3.5.1.min.js"></script>
+<script type="text/javascript" src="../script-dir/jquery-ui.min.js"></script>
+</head>
+<body class="index-page">
+<script type="text/javascript">var pathtoroot = "../";
+loadScripts(document, 'script');</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<div class="flex-box">
+<header role="banner" class="flex-header">
+<nav role="navigation">
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="top-nav" id="navbar-top">
+<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
+<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
+<li><a href="../edu.ntnu.idatt2001.carljgu.client/module-summary.html">Module</a></li>
+<li>Package</li>
+<li>Class</li>
+<li><a href="../overview-tree.html">Tree</a></li>
+<li class="nav-bar-cell1-rev">Index</li>
+<li><a href="../help-doc.html#index">Help</a></li>
+</ul>
+</div>
+<div class="sub-nav">
+<div class="nav-list-search"><label for="search-input">SEARCH:</label>
+<input type="text" id="search-input" value="search" disabled="disabled">
+<input type="reset" id="reset-button" value="reset" disabled="disabled">
+</div>
+</div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<span class="skip-nav" id="skip-navbar-top"></span></nav>
+</header>
+<div class="flex-content">
+<main role="main">
+<div class="header">
+<h1>Index</h1>
+</div>
+<a href="index-1.html">A</a>&nbsp;<a href="index-2.html">B</a>&nbsp;<a href="index-3.html">C</a>&nbsp;<a href="index-4.html">D</a>&nbsp;<a href="index-5.html">E</a>&nbsp;<a href="index-6.html">F</a>&nbsp;<a href="index-7.html">G</a>&nbsp;<a href="index-8.html">H</a>&nbsp;<a href="index-9.html">I</a>&nbsp;<a href="index-10.html">M</a>&nbsp;<a href="index-11.html">P</a>&nbsp;<a href="index-12.html">R</a>&nbsp;<a href="index-13.html">S</a>&nbsp;<a href="index-14.html">T</a>&nbsp;<a href="index-15.html">U</a>&nbsp;<a href="index-16.html">V</a>&nbsp;<a href="index-17.html">W</a>&nbsp;<br><a href="../allclasses-index.html">All&nbsp;Classes&nbsp;and&nbsp;Interfaces</a><span class="vertical-separator">|</span><a href="../allpackages-index.html">All&nbsp;Packages</a><span class="vertical-separator">|</span><a href="../constant-values.html">Constant&nbsp;Field&nbsp;Values</a><span class="vertical-separator">|</span><a href="../serialized-form.html">Serialized&nbsp;Form</a>
+<h2 class="title" id="I:F">F</h2>
+<dl class="index">
+<dt><a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/FileExtensionException.html" class="type-name-link" title="class in edu.ntnu.idatt2001.carljgu">FileExtensionException</a> - Exception in <a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/package-summary.html">edu.ntnu.idatt2001.carljgu</a></dt>
+<dd>
+<div class="block">Thrown if an extension of a file is invalid
+ The exception thrown needs to have a message</div>
+</dd>
+<dt><a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/FileExtensionException.html#%3Cinit%3E(java.lang.String)" class="member-name-link">FileExtensionException(String)</a> - Constructor for exception edu.ntnu.idatt2001.carljgu.<a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/FileExtensionException.html" title="class in edu.ntnu.idatt2001.carljgu">FileExtensionException</a></dt>
+<dd>
+<div class="block">Constructs an exception with a detail message</div>
+</dd>
+<dt><a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/Terrain.html#FOREST" class="member-name-link">FOREST</a> - Enum constant in enum class edu.ntnu.idatt2001.carljgu.<a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/Terrain.html" title="enum class in edu.ntnu.idatt2001.carljgu">Terrain</a></dt>
+<dd>&nbsp;</dd>
+</dl>
+<a href="index-1.html">A</a>&nbsp;<a href="index-2.html">B</a>&nbsp;<a href="index-3.html">C</a>&nbsp;<a href="index-4.html">D</a>&nbsp;<a href="index-5.html">E</a>&nbsp;<a href="index-6.html">F</a>&nbsp;<a href="index-7.html">G</a>&nbsp;<a href="index-8.html">H</a>&nbsp;<a href="index-9.html">I</a>&nbsp;<a href="index-10.html">M</a>&nbsp;<a href="index-11.html">P</a>&nbsp;<a href="index-12.html">R</a>&nbsp;<a href="index-13.html">S</a>&nbsp;<a href="index-14.html">T</a>&nbsp;<a href="index-15.html">U</a>&nbsp;<a href="index-16.html">V</a>&nbsp;<a href="index-17.html">W</a>&nbsp;<br><a href="../allclasses-index.html">All&nbsp;Classes&nbsp;and&nbsp;Interfaces</a><span class="vertical-separator">|</span><a href="../allpackages-index.html">All&nbsp;Packages</a><span class="vertical-separator">|</span><a href="../constant-values.html">Constant&nbsp;Field&nbsp;Values</a><span class="vertical-separator">|</span><a href="../serialized-form.html">Serialized&nbsp;Form</a></main>
+</div>
+</div>
+</body>
+</html>
diff --git a/javadoc/index-files/index-7.html b/javadoc/index-files/index-7.html
new file mode 100644
index 0000000..f086a20
--- /dev/null
+++ b/javadoc/index-files/index-7.html
@@ -0,0 +1,223 @@
+<!DOCTYPE HTML>
+<html lang="en">
+<head>
+<!-- Generated by javadoc (17) on Sun May 01 19:43:43 CEST 2022 -->
+<title>G-Index</title>
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<meta name="dc.created" content="2022-05-01">
+<meta name="description" content="index: G">
+<meta name="generator" content="javadoc/IndexWriter">
+<link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../script-dir/jquery-ui.min.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../jquery-ui.overrides.css" title="Style">
+<script type="text/javascript" src="../script.js"></script>
+<script type="text/javascript" src="../script-dir/jquery-3.5.1.min.js"></script>
+<script type="text/javascript" src="../script-dir/jquery-ui.min.js"></script>
+</head>
+<body class="index-page">
+<script type="text/javascript">var pathtoroot = "../";
+loadScripts(document, 'script');</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<div class="flex-box">
+<header role="banner" class="flex-header">
+<nav role="navigation">
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="top-nav" id="navbar-top">
+<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
+<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
+<li><a href="../edu.ntnu.idatt2001.carljgu.client/module-summary.html">Module</a></li>
+<li>Package</li>
+<li>Class</li>
+<li><a href="../overview-tree.html">Tree</a></li>
+<li class="nav-bar-cell1-rev">Index</li>
+<li><a href="../help-doc.html#index">Help</a></li>
+</ul>
+</div>
+<div class="sub-nav">
+<div class="nav-list-search"><label for="search-input">SEARCH:</label>
+<input type="text" id="search-input" value="search" disabled="disabled">
+<input type="reset" id="reset-button" value="reset" disabled="disabled">
+</div>
+</div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<span class="skip-nav" id="skip-navbar-top"></span></nav>
+</header>
+<div class="flex-content">
+<main role="main">
+<div class="header">
+<h1>Index</h1>
+</div>
+<a href="index-1.html">A</a>&nbsp;<a href="index-2.html">B</a>&nbsp;<a href="index-3.html">C</a>&nbsp;<a href="index-4.html">D</a>&nbsp;<a href="index-5.html">E</a>&nbsp;<a href="index-6.html">F</a>&nbsp;<a href="index-7.html">G</a>&nbsp;<a href="index-8.html">H</a>&nbsp;<a href="index-9.html">I</a>&nbsp;<a href="index-10.html">M</a>&nbsp;<a href="index-11.html">P</a>&nbsp;<a href="index-12.html">R</a>&nbsp;<a href="index-13.html">S</a>&nbsp;<a href="index-14.html">T</a>&nbsp;<a href="index-15.html">U</a>&nbsp;<a href="index-16.html">V</a>&nbsp;<a href="index-17.html">W</a>&nbsp;<br><a href="../allclasses-index.html">All&nbsp;Classes&nbsp;and&nbsp;Interfaces</a><span class="vertical-separator">|</span><a href="../allpackages-index.html">All&nbsp;Packages</a><span class="vertical-separator">|</span><a href="../constant-values.html">Constant&nbsp;Field&nbsp;Values</a><span class="vertical-separator">|</span><a href="../serialized-form.html">Serialized&nbsp;Form</a>
+<h2 class="title" id="I:G">G</h2>
+<dl class="index">
+<dt><a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/client/dialogs/DialogBoxBuilder.html#getAlertType()" class="member-name-link">getAlertType()</a> - Method in class edu.ntnu.idatt2001.carljgu.client.dialogs.<a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/client/dialogs/DialogBoxBuilder.html" title="class in edu.ntnu.idatt2001.carljgu.client.dialogs">DialogBoxBuilder</a></dt>
+<dd>
+<div class="block">Gets the alert type for the dialog box.</div>
+</dd>
+<dt><a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/Army.html#getAllUnits()" class="member-name-link">getAllUnits()</a> - Method in class edu.ntnu.idatt2001.carljgu.units.<a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/Army.html" title="class in edu.ntnu.idatt2001.carljgu.units">Army</a></dt>
+<dd>
+<div class="block">Gets all units.</div>
+</dd>
+<dt><a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/Unit.html#getArmor()" class="member-name-link">getArmor()</a> - Method in class edu.ntnu.idatt2001.carljgu.units.<a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/Unit.html" title="class in edu.ntnu.idatt2001.carljgu.units">Unit</a></dt>
+<dd>
+<div class="block">Gets armor.</div>
+</dd>
+<dt><a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/Unit.html#getAttack()" class="member-name-link">getAttack()</a> - Method in class edu.ntnu.idatt2001.carljgu.units.<a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/Unit.html" title="class in edu.ntnu.idatt2001.carljgu.units">Unit</a></dt>
+<dd>
+<div class="block">Gets attack.</div>
+</dd>
+<dt><a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/specialized/CavalryUnit.html#getAttackBonus(edu.ntnu.idatt2001.carljgu.Terrain)" class="member-name-link">getAttackBonus(Terrain)</a> - Method in class edu.ntnu.idatt2001.carljgu.units.specialized.<a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/specialized/CavalryUnit.html" title="class in edu.ntnu.idatt2001.carljgu.units.specialized">CavalryUnit</a></dt>
+<dd>
+<div class="block">Overrides the abstract method getAttackBonus from Unit.</div>
+</dd>
+<dt><a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/specialized/InfantryUnit.html#getAttackBonus(edu.ntnu.idatt2001.carljgu.Terrain)" class="member-name-link">getAttackBonus(Terrain)</a> - Method in class edu.ntnu.idatt2001.carljgu.units.specialized.<a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/specialized/InfantryUnit.html" title="class in edu.ntnu.idatt2001.carljgu.units.specialized">InfantryUnit</a></dt>
+<dd>
+<div class="block">Overrides the abstract method getAttackBonus from Unit.</div>
+</dd>
+<dt><a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/specialized/RangedUnit.html#getAttackBonus(edu.ntnu.idatt2001.carljgu.Terrain)" class="member-name-link">getAttackBonus(Terrain)</a> - Method in class edu.ntnu.idatt2001.carljgu.units.specialized.<a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/specialized/RangedUnit.html" title="class in edu.ntnu.idatt2001.carljgu.units.specialized">RangedUnit</a></dt>
+<dd>
+<div class="block">Overrides the abstract method getAttackBonus from Unit.</div>
+</dd>
+<dt><a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/Unit.html#getAttackBonus(edu.ntnu.idatt2001.carljgu.Terrain)" class="member-name-link">getAttackBonus(Terrain)</a> - Method in class edu.ntnu.idatt2001.carljgu.units.<a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/Unit.html" title="class in edu.ntnu.idatt2001.carljgu.units">Unit</a></dt>
+<dd>
+<div class="block">Gets attack bonus.</div>
+</dd>
+<dt><a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/battle/SimulationAttack.html#getAttacker()" class="member-name-link">getAttacker()</a> - Method in class edu.ntnu.idatt2001.carljgu.battle.<a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/battle/SimulationAttack.html" title="class in edu.ntnu.idatt2001.carljgu.battle">SimulationAttack</a></dt>
+<dd>
+<div class="block">Gets the attacker.</div>
+</dd>
+<dt><a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/battle/SimulationAttack.html#getAttackingArmy()" class="member-name-link">getAttackingArmy()</a> - Method in class edu.ntnu.idatt2001.carljgu.battle.<a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/battle/SimulationAttack.html" title="class in edu.ntnu.idatt2001.carljgu.battle">SimulationAttack</a></dt>
+<dd>
+<div class="block">Gets the attacking army with the
+ attacking unit.</div>
+</dd>
+<dt><a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/battle/Battle.html#getAttackLog()" class="member-name-link">getAttackLog()</a> - Method in class edu.ntnu.idatt2001.carljgu.battle.<a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/battle/Battle.html" title="class in edu.ntnu.idatt2001.carljgu.battle">Battle</a></dt>
+<dd>
+<div class="block">Returns the log of attacks
+ to easily hold the information
+ about each attack.</div>
+</dd>
+<dt><a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/Army.html#getCavalryUnits()" class="member-name-link">getCavalryUnits()</a> - Method in class edu.ntnu.idatt2001.carljgu.units.<a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/Army.html" title="class in edu.ntnu.idatt2001.carljgu.units">Army</a></dt>
+<dd>
+<div class="block">Returns an arraylist of cavalry units
+ using stream and filter.</div>
+</dd>
+<dt><a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/Army.html#getCommanderUnits()" class="member-name-link">getCommanderUnits()</a> - Method in class edu.ntnu.idatt2001.carljgu.units.<a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/Army.html" title="class in edu.ntnu.idatt2001.carljgu.units">Army</a></dt>
+<dd>
+<div class="block">Returns an arraylist of commander units
+ using stream and filter.</div>
+</dd>
+<dt><a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/battle/SimulationAttack.html#getDamageDealt()" class="member-name-link">getDamageDealt()</a> - Method in class edu.ntnu.idatt2001.carljgu.battle.<a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/battle/SimulationAttack.html" title="class in edu.ntnu.idatt2001.carljgu.battle">SimulationAttack</a></dt>
+<dd>
+<div class="block">Gets the damage done by
+ the attacker to the defender.</div>
+</dd>
+<dt><a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/battle/SimulationAttack.html#getDefender()" class="member-name-link">getDefender()</a> - Method in class edu.ntnu.idatt2001.carljgu.battle.<a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/battle/SimulationAttack.html" title="class in edu.ntnu.idatt2001.carljgu.battle">SimulationAttack</a></dt>
+<dd>
+<div class="block">Gets the defender.</div>
+</dd>
+<dt><a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/battle/SimulationAttack.html#getDefendingArmy()" class="member-name-link">getDefendingArmy()</a> - Method in class edu.ntnu.idatt2001.carljgu.battle.<a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/battle/SimulationAttack.html" title="class in edu.ntnu.idatt2001.carljgu.battle">SimulationAttack</a></dt>
+<dd>
+<div class="block">Gets the defending army with the
+ defending unit.</div>
+</dd>
+<dt><a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/ArmyFileHandler.html#getFilePath()" class="member-name-link">getFilePath()</a> - Method in class edu.ntnu.idatt2001.carljgu.<a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/ArmyFileHandler.html" title="class in edu.ntnu.idatt2001.carljgu">ArmyFileHandler</a></dt>
+<dd>
+<div class="block">Uses the system default file explorer to get
+ a file path of the user's choice.</div>
+</dd>
+<dt><a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/client/dialogs/DialogBoxBuilder.html#getHeader()" class="member-name-link">getHeader()</a> - Method in class edu.ntnu.idatt2001.carljgu.client.dialogs.<a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/client/dialogs/DialogBoxBuilder.html" title="class in edu.ntnu.idatt2001.carljgu.client.dialogs">DialogBoxBuilder</a></dt>
+<dd>
+<div class="block">Gets the header for the dialog box.</div>
+</dd>
+<dt><a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/Unit.html#getHealth()" class="member-name-link">getHealth()</a> - Method in class edu.ntnu.idatt2001.carljgu.units.<a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/Unit.html" title="class in edu.ntnu.idatt2001.carljgu.units">Unit</a></dt>
+<dd>
+<div class="block">Gets health.</div>
+</dd>
+<dt><a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/client/dialogs/DialogBoxBuilder.html#getImage()" class="member-name-link">getImage()</a> - Method in class edu.ntnu.idatt2001.carljgu.client.dialogs.<a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/client/dialogs/DialogBoxBuilder.html" title="class in edu.ntnu.idatt2001.carljgu.client.dialogs">DialogBoxBuilder</a></dt>
+<dd>
+<div class="block">Gets the image for the dialog box.</div>
+</dd>
+<dt><a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/Army.html#getInfantryUnits()" class="member-name-link">getInfantryUnits()</a> - Method in class edu.ntnu.idatt2001.carljgu.units.<a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/Army.html" title="class in edu.ntnu.idatt2001.carljgu.units">Army</a></dt>
+<dd>
+<div class="block">Returns an arraylist of infantry units
+ using stream and filter.</div>
+</dd>
+<dt><a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/client/dialogs/DialogBoxBuilder.html#getListMessages()" class="member-name-link">getListMessages()</a> - Method in class edu.ntnu.idatt2001.carljgu.client.dialogs.<a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/client/dialogs/DialogBoxBuilder.html" title="class in edu.ntnu.idatt2001.carljgu.client.dialogs">DialogBoxBuilder</a></dt>
+<dd>
+<div class="block">Gets the list message for the dialog box.</div>
+</dd>
+<dt><a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/client/dialogs/DialogBoxBuilder.html#getMessage()" class="member-name-link">getMessage()</a> - Method in class edu.ntnu.idatt2001.carljgu.client.dialogs.<a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/client/dialogs/DialogBoxBuilder.html" title="class in edu.ntnu.idatt2001.carljgu.client.dialogs">DialogBoxBuilder</a></dt>
+<dd>
+<div class="block">Gets the message for the dialog box.</div>
+</dd>
+<dt><a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/Army.html#getName()" class="member-name-link">getName()</a> - Method in class edu.ntnu.idatt2001.carljgu.units.<a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/Army.html" title="class in edu.ntnu.idatt2001.carljgu.units">Army</a></dt>
+<dd>
+<div class="block">Gets name.</div>
+</dd>
+<dt><a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/Unit.html#getName()" class="member-name-link">getName()</a> - Method in class edu.ntnu.idatt2001.carljgu.units.<a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/Unit.html" title="class in edu.ntnu.idatt2001.carljgu.units">Unit</a></dt>
+<dd>
+<div class="block">Gets name.</div>
+</dd>
+<dt><a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/Army.html#getRandom()" class="member-name-link">getRandom()</a> - Method in class edu.ntnu.idatt2001.carljgu.units.<a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/Army.html" title="class in edu.ntnu.idatt2001.carljgu.units">Army</a></dt>
+<dd>
+<div class="block">Gets a random unit from the list.</div>
+</dd>
+<dt><a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/Army.html#getRangedUnits()" class="member-name-link">getRangedUnits()</a> - Method in class edu.ntnu.idatt2001.carljgu.units.<a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/Army.html" title="class in edu.ntnu.idatt2001.carljgu.units">Army</a></dt>
+<dd>
+<div class="block">Returns an arraylist of ranged units
+ using stream and filter.</div>
+</dd>
+<dt><a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/ArmyFileHandler.html#getReadLinesSkipped()" class="member-name-link">getReadLinesSkipped()</a> - Method in class edu.ntnu.idatt2001.carljgu.<a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/ArmyFileHandler.html" title="class in edu.ntnu.idatt2001.carljgu">ArmyFileHandler</a></dt>
+<dd>
+<div class="block">Gets the amount of units
+ that were skipped when reading from file.</div>
+</dd>
+<dt><a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/specialized/CavalryUnit.html#getResistBonus(edu.ntnu.idatt2001.carljgu.Terrain)" class="member-name-link">getResistBonus(Terrain)</a> - Method in class edu.ntnu.idatt2001.carljgu.units.specialized.<a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/specialized/CavalryUnit.html" title="class in edu.ntnu.idatt2001.carljgu.units.specialized">CavalryUnit</a></dt>
+<dd>
+<div class="block">Overrides the abstract method getResistBonus from Unit.</div>
+</dd>
+<dt><a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/specialized/InfantryUnit.html#getResistBonus(edu.ntnu.idatt2001.carljgu.Terrain)" class="member-name-link">getResistBonus(Terrain)</a> - Method in class edu.ntnu.idatt2001.carljgu.units.specialized.<a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/specialized/InfantryUnit.html" title="class in edu.ntnu.idatt2001.carljgu.units.specialized">InfantryUnit</a></dt>
+<dd>
+<div class="block">Overrides the abstract method getResistBonus from Unit.</div>
+</dd>
+<dt><a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/specialized/RangedUnit.html#getResistBonus(edu.ntnu.idatt2001.carljgu.Terrain)" class="member-name-link">getResistBonus(Terrain)</a> - Method in class edu.ntnu.idatt2001.carljgu.units.specialized.<a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/specialized/RangedUnit.html" title="class in edu.ntnu.idatt2001.carljgu.units.specialized">RangedUnit</a></dt>
+<dd>
+<div class="block">Overrides the abstract method getAttackBonus from Unit.</div>
+</dd>
+<dt><a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/Unit.html#getResistBonus(edu.ntnu.idatt2001.carljgu.Terrain)" class="member-name-link">getResistBonus(Terrain)</a> - Method in class edu.ntnu.idatt2001.carljgu.units.<a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/Unit.html" title="class in edu.ntnu.idatt2001.carljgu.units">Unit</a></dt>
+<dd>
+<div class="block">Gets resist bonus.</div>
+</dd>
+<dt><a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/client/App.html#getStage()" class="member-name-link">getStage()</a> - Static method in class edu.ntnu.idatt2001.carljgu.client.<a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/client/App.html" title="class in edu.ntnu.idatt2001.carljgu.client">App</a></dt>
+<dd>
+<div class="block">Gets the main stage for the program</div>
+</dd>
+<dt><a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/battle/Battle.html#getTerrain()" class="member-name-link">getTerrain()</a> - Method in class edu.ntnu.idatt2001.carljgu.battle.<a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/battle/Battle.html" title="class in edu.ntnu.idatt2001.carljgu.battle">Battle</a></dt>
+<dd>
+<div class="block">Gets the terrain where
+ the battle occurs.</div>
+</dd>
+<dt><a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/battle/SimulationAttack.html#getTerrain()" class="member-name-link">getTerrain()</a> - Method in class edu.ntnu.idatt2001.carljgu.battle.<a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/battle/SimulationAttack.html" title="class in edu.ntnu.idatt2001.carljgu.battle">SimulationAttack</a></dt>
+<dd>
+<div class="block">Gets the terrain where
+ the attack occurs.</div>
+</dd>
+<dt><a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/client/dialogs/DialogBoxBuilder.html#getTitle()" class="member-name-link">getTitle()</a> - Method in class edu.ntnu.idatt2001.carljgu.client.dialogs.<a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/client/dialogs/DialogBoxBuilder.html" title="class in edu.ntnu.idatt2001.carljgu.client.dialogs">DialogBoxBuilder</a></dt>
+<dd>
+<div class="block">Gets the title of the dialog box.</div>
+</dd>
+<dt><a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/battle/Battle.html#getWinner()" class="member-name-link">getWinner()</a> - Method in class edu.ntnu.idatt2001.carljgu.battle.<a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/battle/Battle.html" title="class in edu.ntnu.idatt2001.carljgu.battle">Battle</a></dt>
+<dd>
+<div class="block">Gets the winner of the army
+ or a null object</div>
+</dd>
+</dl>
+<a href="index-1.html">A</a>&nbsp;<a href="index-2.html">B</a>&nbsp;<a href="index-3.html">C</a>&nbsp;<a href="index-4.html">D</a>&nbsp;<a href="index-5.html">E</a>&nbsp;<a href="index-6.html">F</a>&nbsp;<a href="index-7.html">G</a>&nbsp;<a href="index-8.html">H</a>&nbsp;<a href="index-9.html">I</a>&nbsp;<a href="index-10.html">M</a>&nbsp;<a href="index-11.html">P</a>&nbsp;<a href="index-12.html">R</a>&nbsp;<a href="index-13.html">S</a>&nbsp;<a href="index-14.html">T</a>&nbsp;<a href="index-15.html">U</a>&nbsp;<a href="index-16.html">V</a>&nbsp;<a href="index-17.html">W</a>&nbsp;<br><a href="../allclasses-index.html">All&nbsp;Classes&nbsp;and&nbsp;Interfaces</a><span class="vertical-separator">|</span><a href="../allpackages-index.html">All&nbsp;Packages</a><span class="vertical-separator">|</span><a href="../constant-values.html">Constant&nbsp;Field&nbsp;Values</a><span class="vertical-separator">|</span><a href="../serialized-form.html">Serialized&nbsp;Form</a></main>
+</div>
+</div>
+</body>
+</html>
diff --git a/javadoc/index-files/index-8.html b/javadoc/index-files/index-8.html
new file mode 100644
index 0000000..46ab59c
--- /dev/null
+++ b/javadoc/index-files/index-8.html
@@ -0,0 +1,71 @@
+<!DOCTYPE HTML>
+<html lang="en">
+<head>
+<!-- Generated by javadoc (17) on Sun May 01 19:43:43 CEST 2022 -->
+<title>H-Index</title>
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<meta name="dc.created" content="2022-05-01">
+<meta name="description" content="index: H">
+<meta name="generator" content="javadoc/IndexWriter">
+<link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../script-dir/jquery-ui.min.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../jquery-ui.overrides.css" title="Style">
+<script type="text/javascript" src="../script.js"></script>
+<script type="text/javascript" src="../script-dir/jquery-3.5.1.min.js"></script>
+<script type="text/javascript" src="../script-dir/jquery-ui.min.js"></script>
+</head>
+<body class="index-page">
+<script type="text/javascript">var pathtoroot = "../";
+loadScripts(document, 'script');</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<div class="flex-box">
+<header role="banner" class="flex-header">
+<nav role="navigation">
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="top-nav" id="navbar-top">
+<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
+<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
+<li><a href="../edu.ntnu.idatt2001.carljgu.client/module-summary.html">Module</a></li>
+<li>Package</li>
+<li>Class</li>
+<li><a href="../overview-tree.html">Tree</a></li>
+<li class="nav-bar-cell1-rev">Index</li>
+<li><a href="../help-doc.html#index">Help</a></li>
+</ul>
+</div>
+<div class="sub-nav">
+<div class="nav-list-search"><label for="search-input">SEARCH:</label>
+<input type="text" id="search-input" value="search" disabled="disabled">
+<input type="reset" id="reset-button" value="reset" disabled="disabled">
+</div>
+</div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<span class="skip-nav" id="skip-navbar-top"></span></nav>
+</header>
+<div class="flex-content">
+<main role="main">
+<div class="header">
+<h1>Index</h1>
+</div>
+<a href="index-1.html">A</a>&nbsp;<a href="index-2.html">B</a>&nbsp;<a href="index-3.html">C</a>&nbsp;<a href="index-4.html">D</a>&nbsp;<a href="index-5.html">E</a>&nbsp;<a href="index-6.html">F</a>&nbsp;<a href="index-7.html">G</a>&nbsp;<a href="index-8.html">H</a>&nbsp;<a href="index-9.html">I</a>&nbsp;<a href="index-10.html">M</a>&nbsp;<a href="index-11.html">P</a>&nbsp;<a href="index-12.html">R</a>&nbsp;<a href="index-13.html">S</a>&nbsp;<a href="index-14.html">T</a>&nbsp;<a href="index-15.html">U</a>&nbsp;<a href="index-16.html">V</a>&nbsp;<a href="index-17.html">W</a>&nbsp;<br><a href="../allclasses-index.html">All&nbsp;Classes&nbsp;and&nbsp;Interfaces</a><span class="vertical-separator">|</span><a href="../allpackages-index.html">All&nbsp;Packages</a><span class="vertical-separator">|</span><a href="../constant-values.html">Constant&nbsp;Field&nbsp;Values</a><span class="vertical-separator">|</span><a href="../serialized-form.html">Serialized&nbsp;Form</a>
+<h2 class="title" id="I:H">H</h2>
+<dl class="index">
+<dt><a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/Army.html#hashCode()" class="member-name-link">hashCode()</a> - Method in class edu.ntnu.idatt2001.carljgu.units.<a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/Army.html" title="class in edu.ntnu.idatt2001.carljgu.units">Army</a></dt>
+<dd>
+<div class="block">Hashes name and units for the equals method</div>
+</dd>
+<dt><a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/Army.html#hasUnits()" class="member-name-link">hasUnits()</a> - Method in class edu.ntnu.idatt2001.carljgu.units.<a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/Army.html" title="class in edu.ntnu.idatt2001.carljgu.units">Army</a></dt>
+<dd>
+<div class="block">Checks if the list of units is empty</div>
+</dd>
+<dt><a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/Terrain.html#HILL" class="member-name-link">HILL</a> - Enum constant in enum class edu.ntnu.idatt2001.carljgu.<a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/Terrain.html" title="enum class in edu.ntnu.idatt2001.carljgu">Terrain</a></dt>
+<dd>&nbsp;</dd>
+</dl>
+<a href="index-1.html">A</a>&nbsp;<a href="index-2.html">B</a>&nbsp;<a href="index-3.html">C</a>&nbsp;<a href="index-4.html">D</a>&nbsp;<a href="index-5.html">E</a>&nbsp;<a href="index-6.html">F</a>&nbsp;<a href="index-7.html">G</a>&nbsp;<a href="index-8.html">H</a>&nbsp;<a href="index-9.html">I</a>&nbsp;<a href="index-10.html">M</a>&nbsp;<a href="index-11.html">P</a>&nbsp;<a href="index-12.html">R</a>&nbsp;<a href="index-13.html">S</a>&nbsp;<a href="index-14.html">T</a>&nbsp;<a href="index-15.html">U</a>&nbsp;<a href="index-16.html">V</a>&nbsp;<a href="index-17.html">W</a>&nbsp;<br><a href="../allclasses-index.html">All&nbsp;Classes&nbsp;and&nbsp;Interfaces</a><span class="vertical-separator">|</span><a href="../allpackages-index.html">All&nbsp;Packages</a><span class="vertical-separator">|</span><a href="../constant-values.html">Constant&nbsp;Field&nbsp;Values</a><span class="vertical-separator">|</span><a href="../serialized-form.html">Serialized&nbsp;Form</a></main>
+</div>
+</div>
+</body>
+</html>
diff --git a/javadoc/index-files/index-9.html b/javadoc/index-files/index-9.html
new file mode 100644
index 0000000..1dc03d9
--- /dev/null
+++ b/javadoc/index-files/index-9.html
@@ -0,0 +1,78 @@
+<!DOCTYPE HTML>
+<html lang="en">
+<head>
+<!-- Generated by javadoc (17) on Sun May 01 19:43:43 CEST 2022 -->
+<title>I-Index</title>
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<meta name="dc.created" content="2022-05-01">
+<meta name="description" content="index: I">
+<meta name="generator" content="javadoc/IndexWriter">
+<link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../script-dir/jquery-ui.min.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../jquery-ui.overrides.css" title="Style">
+<script type="text/javascript" src="../script.js"></script>
+<script type="text/javascript" src="../script-dir/jquery-3.5.1.min.js"></script>
+<script type="text/javascript" src="../script-dir/jquery-ui.min.js"></script>
+</head>
+<body class="index-page">
+<script type="text/javascript">var pathtoroot = "../";
+loadScripts(document, 'script');</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<div class="flex-box">
+<header role="banner" class="flex-header">
+<nav role="navigation">
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="top-nav" id="navbar-top">
+<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
+<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
+<li><a href="../edu.ntnu.idatt2001.carljgu.client/module-summary.html">Module</a></li>
+<li>Package</li>
+<li>Class</li>
+<li><a href="../overview-tree.html">Tree</a></li>
+<li class="nav-bar-cell1-rev">Index</li>
+<li><a href="../help-doc.html#index">Help</a></li>
+</ul>
+</div>
+<div class="sub-nav">
+<div class="nav-list-search"><label for="search-input">SEARCH:</label>
+<input type="text" id="search-input" value="search" disabled="disabled">
+<input type="reset" id="reset-button" value="reset" disabled="disabled">
+</div>
+</div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<span class="skip-nav" id="skip-navbar-top"></span></nav>
+</header>
+<div class="flex-content">
+<main role="main">
+<div class="header">
+<h1>Index</h1>
+</div>
+<a href="index-1.html">A</a>&nbsp;<a href="index-2.html">B</a>&nbsp;<a href="index-3.html">C</a>&nbsp;<a href="index-4.html">D</a>&nbsp;<a href="index-5.html">E</a>&nbsp;<a href="index-6.html">F</a>&nbsp;<a href="index-7.html">G</a>&nbsp;<a href="index-8.html">H</a>&nbsp;<a href="index-9.html">I</a>&nbsp;<a href="index-10.html">M</a>&nbsp;<a href="index-11.html">P</a>&nbsp;<a href="index-12.html">R</a>&nbsp;<a href="index-13.html">S</a>&nbsp;<a href="index-14.html">T</a>&nbsp;<a href="index-15.html">U</a>&nbsp;<a href="index-16.html">V</a>&nbsp;<a href="index-17.html">W</a>&nbsp;<br><a href="../allclasses-index.html">All&nbsp;Classes&nbsp;and&nbsp;Interfaces</a><span class="vertical-separator">|</span><a href="../allpackages-index.html">All&nbsp;Packages</a><span class="vertical-separator">|</span><a href="../constant-values.html">Constant&nbsp;Field&nbsp;Values</a><span class="vertical-separator">|</span><a href="../serialized-form.html">Serialized&nbsp;Form</a>
+<h2 class="title" id="I:I">I</h2>
+<dl class="index">
+<dt><a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/specialized/InfantryUnit.html" class="type-name-link" title="class in edu.ntnu.idatt2001.carljgu.units.specialized">InfantryUnit</a> - Class in <a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/specialized/package-summary.html">edu.ntnu.idatt2001.carljgu.units.specialized</a></dt>
+<dd>
+<div class="block">Class InfantryUnit that inherits from Unit.</div>
+</dd>
+<dt><a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/specialized/InfantryUnit.html#%3Cinit%3E(java.lang.String,int)" class="member-name-link">InfantryUnit(String, int)</a> - Constructor for class edu.ntnu.idatt2001.carljgu.units.specialized.<a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/specialized/InfantryUnit.html" title="class in edu.ntnu.idatt2001.carljgu.units.specialized">InfantryUnit</a></dt>
+<dd>
+<div class="block">Instantiates a new Infantry unit with
+ a simplified constructor.</div>
+</dd>
+<dt><a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/specialized/InfantryUnit.html#%3Cinit%3E(java.lang.String,int,int,int)" class="member-name-link">InfantryUnit(String, int, int, int)</a> - Constructor for class edu.ntnu.idatt2001.carljgu.units.specialized.<a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/specialized/InfantryUnit.html" title="class in edu.ntnu.idatt2001.carljgu.units.specialized">InfantryUnit</a></dt>
+<dd>
+<div class="block">Instantiates a new Infantry unit.</div>
+</dd>
+<dt><a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/client/BattleController.html#initialize(java.net.URL,java.util.ResourceBundle)" class="member-name-link">initialize(URL, ResourceBundle)</a> - Method in class edu.ntnu.idatt2001.carljgu.client.<a href="../edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/client/BattleController.html" title="class in edu.ntnu.idatt2001.carljgu.client">BattleController</a></dt>
+<dd>
+<div class="block">Run when the fxml file is first loaded.</div>
+</dd>
+</dl>
+<a href="index-1.html">A</a>&nbsp;<a href="index-2.html">B</a>&nbsp;<a href="index-3.html">C</a>&nbsp;<a href="index-4.html">D</a>&nbsp;<a href="index-5.html">E</a>&nbsp;<a href="index-6.html">F</a>&nbsp;<a href="index-7.html">G</a>&nbsp;<a href="index-8.html">H</a>&nbsp;<a href="index-9.html">I</a>&nbsp;<a href="index-10.html">M</a>&nbsp;<a href="index-11.html">P</a>&nbsp;<a href="index-12.html">R</a>&nbsp;<a href="index-13.html">S</a>&nbsp;<a href="index-14.html">T</a>&nbsp;<a href="index-15.html">U</a>&nbsp;<a href="index-16.html">V</a>&nbsp;<a href="index-17.html">W</a>&nbsp;<br><a href="../allclasses-index.html">All&nbsp;Classes&nbsp;and&nbsp;Interfaces</a><span class="vertical-separator">|</span><a href="../allpackages-index.html">All&nbsp;Packages</a><span class="vertical-separator">|</span><a href="../constant-values.html">Constant&nbsp;Field&nbsp;Values</a><span class="vertical-separator">|</span><a href="../serialized-form.html">Serialized&nbsp;Form</a></main>
+</div>
+</div>
+</body>
+</html>
diff --git a/javadoc/index.html b/javadoc/index.html
new file mode 100644
index 0000000..6aac313
--- /dev/null
+++ b/javadoc/index.html
@@ -0,0 +1,26 @@
+<!DOCTYPE HTML>
+<html lang="en">
+<head>
+<!-- Generated by javadoc (17) on Sun May 01 19:43:43 CEST 2022 -->
+<title>Generated Documentation (Untitled)</title>
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<meta name="dc.created" content="2022-05-01">
+<meta name="description" content="index redirect">
+<meta name="generator" content="javadoc/IndexRedirectWriter">
+<link rel="canonical" href="edu.ntnu.idatt2001.carljgu.client/module-summary.html">
+<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script type="text/javascript">window.location.replace('edu.ntnu.idatt2001.carljgu.client/module-summary.html')</script>
+<noscript>
+<meta http-equiv="Refresh" content="0;edu.ntnu.idatt2001.carljgu.client/module-summary.html">
+</noscript>
+</head>
+<body class="index-redirect-page">
+<main role="main">
+<noscript>
+<p>JavaScript is disabled on your browser.</p>
+</noscript>
+<p><a href="edu.ntnu.idatt2001.carljgu.client/module-summary.html">edu.ntnu.idatt2001.carljgu.client/module-summary.html</a></p>
+</main>
+</body>
+</html>
diff --git a/javadoc/jquery-ui.overrides.css b/javadoc/jquery-ui.overrides.css
new file mode 100644
index 0000000..1abff95
--- /dev/null
+++ b/javadoc/jquery-ui.overrides.css
@@ -0,0 +1,34 @@
+/*
+ * Copyright (c) 2020, Oracle and/or its affiliates. All rights reserved.
+ * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ */
+
+.ui-state-active,
+.ui-widget-content .ui-state-active,
+.ui-widget-header .ui-state-active,
+a.ui-button:active,
+.ui-button:active,
+.ui-button.ui-state-active:hover {
+    /* Overrides the color of selection used in jQuery UI */
+    background: #F8981D;
+}
diff --git a/javadoc/legal/COPYRIGHT b/javadoc/legal/COPYRIGHT
new file mode 100644
index 0000000..ca74fff
--- /dev/null
+++ b/javadoc/legal/COPYRIGHT
@@ -0,0 +1 @@
+Please see ..\java.base\COPYRIGHT
diff --git a/javadoc/legal/LICENSE b/javadoc/legal/LICENSE
new file mode 100644
index 0000000..4ad9fe4
--- /dev/null
+++ b/javadoc/legal/LICENSE
@@ -0,0 +1 @@
+Please see ..\java.base\LICENSE
diff --git a/javadoc/legal/jquery.md b/javadoc/legal/jquery.md
new file mode 100644
index 0000000..8054a34
--- /dev/null
+++ b/javadoc/legal/jquery.md
@@ -0,0 +1,72 @@
+## jQuery v3.5.1
+
+### jQuery License
+```
+jQuery v 3.5.1
+Copyright JS Foundation and other contributors, https://js.foundation/
+
+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.
+
+******************************************
+
+The jQuery JavaScript Library v3.5.1 also includes Sizzle.js
+
+Sizzle.js includes the following license:
+
+Copyright JS Foundation and other contributors, https://js.foundation/
+
+This software consists of voluntary contributions made by many
+individuals. For exact contribution history, see the revision history
+available at https://github.com/jquery/sizzle
+
+The following license applies to all parts of this software except as
+documented below:
+
+====
+
+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.
+
+====
+
+All files located in the node_modules and external directories are
+externally maintained libraries used by this software which have their
+own licenses; we recommend you read them, as their terms may differ from
+the terms above.
+
+*********************
+
+```
diff --git a/javadoc/legal/jqueryUI.md b/javadoc/legal/jqueryUI.md
new file mode 100644
index 0000000..8031bdb
--- /dev/null
+++ b/javadoc/legal/jqueryUI.md
@@ -0,0 +1,49 @@
+## jQuery UI v1.12.1
+
+### jQuery UI License
+```
+Copyright jQuery Foundation and other contributors, https://jquery.org/
+
+This software consists of voluntary contributions made by many
+individuals. For exact contribution history, see the revision history
+available at https://github.com/jquery/jquery-ui
+
+The following license applies to all parts of this software except as
+documented below:
+
+====
+
+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.
+
+====
+
+Copyright and related rights for sample code are waived via CC0. Sample
+code is defined as all source code contained within the demos directory.
+
+CC0: http://creativecommons.org/publicdomain/zero/1.0/
+
+====
+
+All files located in the node_modules and external directories are
+externally maintained libraries used by this software which have their
+own licenses; we recommend you read them, as their terms may differ from
+the terms above.
+
+```
diff --git a/javadoc/member-search-index.js b/javadoc/member-search-index.js
new file mode 100644
index 0000000..452e9c6
--- /dev/null
+++ b/javadoc/member-search-index.js
@@ -0,0 +1 @@
+memberSearchIndex = [{"p":"edu.ntnu.idatt2001.carljgu.client.dialogs","c":"DialogBoxBuilder","l":"addHeader(String)","u":"addHeader(java.lang.String)"},{"p":"edu.ntnu.idatt2001.carljgu.client.dialogs","c":"DialogBoxBuilder","l":"addImage(String)","u":"addImage(java.lang.String)"},{"p":"edu.ntnu.idatt2001.carljgu.client.dialogs","c":"DialogBoxBuilder","l":"addListMessage(ArrayList<String>)","u":"addListMessage(java.util.ArrayList)"},{"p":"edu.ntnu.idatt2001.carljgu.client.dialogs","c":"DialogBoxBuilder","l":"addMessage(String)","u":"addMessage(java.lang.String)"},{"p":"edu.ntnu.idatt2001.carljgu.client.dialogs","c":"DialogBoxBuilder","l":"addTitle(String)","u":"addTitle(java.lang.String)"},{"p":"edu.ntnu.idatt2001.carljgu.units","c":"Army","l":"addUnit(Unit)","u":"addUnit(edu.ntnu.idatt2001.carljgu.units.Unit)"},{"p":"edu.ntnu.idatt2001.carljgu.units","c":"Army","l":"addUnits(ArrayList<Unit>)","u":"addUnits(java.util.ArrayList)"},{"p":"edu.ntnu.idatt2001.carljgu.client","c":"App","l":"App()","u":"%3Cinit%3E()"},{"p":"edu.ntnu.idatt2001.carljgu.units","c":"Army","l":"Army(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"edu.ntnu.idatt2001.carljgu.units","c":"Army","l":"Army(String, ArrayList<Unit>)","u":"%3Cinit%3E(java.lang.String,java.util.ArrayList)"},{"p":"edu.ntnu.idatt2001.carljgu","c":"ArmyFileHandler","l":"ArmyFileHandler()","u":"%3Cinit%3E()"},{"p":"edu.ntnu.idatt2001.carljgu.units","c":"Unit","l":"attack(Unit, Terrain)","u":"attack(edu.ntnu.idatt2001.carljgu.units.Unit,edu.ntnu.idatt2001.carljgu.Terrain)"},{"p":"edu.ntnu.idatt2001.carljgu.battle","c":"Battle","l":"Battle(Army, Army, Terrain)","u":"%3Cinit%3E(edu.ntnu.idatt2001.carljgu.units.Army,edu.ntnu.idatt2001.carljgu.units.Army,edu.ntnu.idatt2001.carljgu.Terrain)"},{"p":"edu.ntnu.idatt2001.carljgu.client","c":"BattleController","l":"BattleController()","u":"%3Cinit%3E()"},{"p":"edu.ntnu.idatt2001.carljgu.client.dialogs","c":"DialogBoxBuilder","l":"build()"},{"p":"edu.ntnu.idatt2001.carljgu.units.specialized","c":"CavalryUnit","l":"CavalryUnit(String, int)","u":"%3Cinit%3E(java.lang.String,int)"},{"p":"edu.ntnu.idatt2001.carljgu.units.specialized","c":"CavalryUnit","l":"CavalryUnit(String, int, int, int)","u":"%3Cinit%3E(java.lang.String,int,int,int)"},{"p":"edu.ntnu.idatt2001.carljgu.units.specialized","c":"CommanderUnit","l":"CommanderUnit(String, int)","u":"%3Cinit%3E(java.lang.String,int)"},{"p":"edu.ntnu.idatt2001.carljgu.units.specialized","c":"CommanderUnit","l":"CommanderUnit(String, int, int, int)","u":"%3Cinit%3E(java.lang.String,int,int,int)"},{"p":"edu.ntnu.idatt2001.carljgu.units","c":"UnitFactory","l":"createListOfUnits(int, String, String, int)","u":"createListOfUnits(int,java.lang.String,java.lang.String,int)"},{"p":"edu.ntnu.idatt2001.carljgu.units","c":"UnitFactory","l":"createUnit(String, String, int)","u":"createUnit(java.lang.String,java.lang.String,int)"},{"p":"edu.ntnu.idatt2001.carljgu.units","c":"UnitFactory","l":"deepCopyBasicUnits(ArrayList<Unit>)","u":"deepCopyBasicUnits(java.util.ArrayList)"},{"p":"edu.ntnu.idatt2001.carljgu.client.dialogs","c":"DialogBox","l":"DialogBox(DialogBoxBuilder)","u":"%3Cinit%3E(edu.ntnu.idatt2001.carljgu.client.dialogs.DialogBoxBuilder)"},{"p":"edu.ntnu.idatt2001.carljgu.client.dialogs","c":"DialogBoxBuilder","l":"DialogBoxBuilder(Alert.AlertType)","u":"%3Cinit%3E(javafx.scene.control.Alert.AlertType)"},{"p":"edu.ntnu.idatt2001.carljgu.client","c":"BattleController","l":"displayArmy(int, Army)","u":"displayArmy(int,edu.ntnu.idatt2001.carljgu.units.Army)"},{"p":"edu.ntnu.idatt2001.carljgu.units","c":"Army","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"edu.ntnu.idatt2001.carljgu","c":"FileExtensionException","l":"FileExtensionException(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"edu.ntnu.idatt2001.carljgu","c":"Terrain","l":"FOREST"},{"p":"edu.ntnu.idatt2001.carljgu.client.dialogs","c":"DialogBoxBuilder","l":"getAlertType()"},{"p":"edu.ntnu.idatt2001.carljgu.units","c":"Army","l":"getAllUnits()"},{"p":"edu.ntnu.idatt2001.carljgu.units","c":"Unit","l":"getArmor()"},{"p":"edu.ntnu.idatt2001.carljgu.units","c":"Unit","l":"getAttack()"},{"p":"edu.ntnu.idatt2001.carljgu.units.specialized","c":"CavalryUnit","l":"getAttackBonus(Terrain)","u":"getAttackBonus(edu.ntnu.idatt2001.carljgu.Terrain)"},{"p":"edu.ntnu.idatt2001.carljgu.units.specialized","c":"InfantryUnit","l":"getAttackBonus(Terrain)","u":"getAttackBonus(edu.ntnu.idatt2001.carljgu.Terrain)"},{"p":"edu.ntnu.idatt2001.carljgu.units.specialized","c":"RangedUnit","l":"getAttackBonus(Terrain)","u":"getAttackBonus(edu.ntnu.idatt2001.carljgu.Terrain)"},{"p":"edu.ntnu.idatt2001.carljgu.units","c":"Unit","l":"getAttackBonus(Terrain)","u":"getAttackBonus(edu.ntnu.idatt2001.carljgu.Terrain)"},{"p":"edu.ntnu.idatt2001.carljgu.battle","c":"SimulationAttack","l":"getAttacker()"},{"p":"edu.ntnu.idatt2001.carljgu.battle","c":"SimulationAttack","l":"getAttackingArmy()"},{"p":"edu.ntnu.idatt2001.carljgu.battle","c":"Battle","l":"getAttackLog()"},{"p":"edu.ntnu.idatt2001.carljgu.units","c":"Army","l":"getCavalryUnits()"},{"p":"edu.ntnu.idatt2001.carljgu.units","c":"Army","l":"getCommanderUnits()"},{"p":"edu.ntnu.idatt2001.carljgu.battle","c":"SimulationAttack","l":"getDamageDealt()"},{"p":"edu.ntnu.idatt2001.carljgu.battle","c":"SimulationAttack","l":"getDefender()"},{"p":"edu.ntnu.idatt2001.carljgu.battle","c":"SimulationAttack","l":"getDefendingArmy()"},{"p":"edu.ntnu.idatt2001.carljgu","c":"ArmyFileHandler","l":"getFilePath()"},{"p":"edu.ntnu.idatt2001.carljgu.client.dialogs","c":"DialogBoxBuilder","l":"getHeader()"},{"p":"edu.ntnu.idatt2001.carljgu.units","c":"Unit","l":"getHealth()"},{"p":"edu.ntnu.idatt2001.carljgu.client.dialogs","c":"DialogBoxBuilder","l":"getImage()"},{"p":"edu.ntnu.idatt2001.carljgu.units","c":"Army","l":"getInfantryUnits()"},{"p":"edu.ntnu.idatt2001.carljgu.client.dialogs","c":"DialogBoxBuilder","l":"getListMessages()"},{"p":"edu.ntnu.idatt2001.carljgu.client.dialogs","c":"DialogBoxBuilder","l":"getMessage()"},{"p":"edu.ntnu.idatt2001.carljgu.units","c":"Army","l":"getName()"},{"p":"edu.ntnu.idatt2001.carljgu.units","c":"Unit","l":"getName()"},{"p":"edu.ntnu.idatt2001.carljgu.units","c":"Army","l":"getRandom()"},{"p":"edu.ntnu.idatt2001.carljgu.units","c":"Army","l":"getRangedUnits()"},{"p":"edu.ntnu.idatt2001.carljgu","c":"ArmyFileHandler","l":"getReadLinesSkipped()"},{"p":"edu.ntnu.idatt2001.carljgu.units.specialized","c":"CavalryUnit","l":"getResistBonus(Terrain)","u":"getResistBonus(edu.ntnu.idatt2001.carljgu.Terrain)"},{"p":"edu.ntnu.idatt2001.carljgu.units.specialized","c":"InfantryUnit","l":"getResistBonus(Terrain)","u":"getResistBonus(edu.ntnu.idatt2001.carljgu.Terrain)"},{"p":"edu.ntnu.idatt2001.carljgu.units.specialized","c":"RangedUnit","l":"getResistBonus(Terrain)","u":"getResistBonus(edu.ntnu.idatt2001.carljgu.Terrain)"},{"p":"edu.ntnu.idatt2001.carljgu.units","c":"Unit","l":"getResistBonus(Terrain)","u":"getResistBonus(edu.ntnu.idatt2001.carljgu.Terrain)"},{"p":"edu.ntnu.idatt2001.carljgu.client","c":"App","l":"getStage()"},{"p":"edu.ntnu.idatt2001.carljgu.battle","c":"Battle","l":"getTerrain()"},{"p":"edu.ntnu.idatt2001.carljgu.battle","c":"SimulationAttack","l":"getTerrain()"},{"p":"edu.ntnu.idatt2001.carljgu.client.dialogs","c":"DialogBoxBuilder","l":"getTitle()"},{"p":"edu.ntnu.idatt2001.carljgu.battle","c":"Battle","l":"getWinner()"},{"p":"edu.ntnu.idatt2001.carljgu.units","c":"Army","l":"hashCode()"},{"p":"edu.ntnu.idatt2001.carljgu.units","c":"Army","l":"hasUnits()"},{"p":"edu.ntnu.idatt2001.carljgu","c":"Terrain","l":"HILL"},{"p":"edu.ntnu.idatt2001.carljgu.units.specialized","c":"InfantryUnit","l":"InfantryUnit(String, int)","u":"%3Cinit%3E(java.lang.String,int)"},{"p":"edu.ntnu.idatt2001.carljgu.units.specialized","c":"InfantryUnit","l":"InfantryUnit(String, int, int, int)","u":"%3Cinit%3E(java.lang.String,int,int,int)"},{"p":"edu.ntnu.idatt2001.carljgu.client","c":"BattleController","l":"initialize(URL, ResourceBundle)","u":"initialize(java.net.URL,java.util.ResourceBundle)"},{"p":"edu.ntnu.idatt2001.carljgu.client","c":"Main","l":"Main()","u":"%3Cinit%3E()"},{"p":"edu.ntnu.idatt2001.carljgu.client","c":"Main","l":"main(String[])","u":"main(java.lang.String[])"},{"p":"edu.ntnu.idatt2001.carljgu","c":"Terrain","l":"PLAINS"},{"p":"edu.ntnu.idatt2001.carljgu.units.specialized","c":"RangedUnit","l":"RangedUnit(String, int)","u":"%3Cinit%3E(java.lang.String,int)"},{"p":"edu.ntnu.idatt2001.carljgu.units.specialized","c":"RangedUnit","l":"RangedUnit(String, int, int, int)","u":"%3Cinit%3E(java.lang.String,int,int,int)"},{"p":"edu.ntnu.idatt2001.carljgu","c":"ArmyFileHandler","l":"readArmyFromFile(String)","u":"readArmyFromFile(java.lang.String)"},{"p":"edu.ntnu.idatt2001.carljgu.client.dialogs","c":"DialogBoxBuilder","l":"recurringDialogMessage"},{"p":"edu.ntnu.idatt2001.carljgu.units","c":"Army","l":"remove(Unit)","u":"remove(edu.ntnu.idatt2001.carljgu.units.Unit)"},{"p":"edu.ntnu.idatt2001.carljgu.client","c":"App","l":"run(String[])","u":"run(java.lang.String[])"},{"p":"edu.ntnu.idatt2001.carljgu.units","c":"Unit","l":"setHealth(int)"},{"p":"edu.ntnu.idatt2001.carljgu.battle","c":"Battle","l":"simulate()"},{"p":"edu.ntnu.idatt2001.carljgu.battle","c":"SimulationAttack","l":"SimulationAttack(Army, Unit, Army, Unit, Terrain)","u":"%3Cinit%3E(edu.ntnu.idatt2001.carljgu.units.Army,edu.ntnu.idatt2001.carljgu.units.Unit,edu.ntnu.idatt2001.carljgu.units.Army,edu.ntnu.idatt2001.carljgu.units.Unit,edu.ntnu.idatt2001.carljgu.Terrain)"},{"p":"edu.ntnu.idatt2001.carljgu.client","c":"App","l":"start(Stage)","u":"start(javafx.stage.Stage)"},{"p":"edu.ntnu.idatt2001.carljgu.battle","c":"Battle","l":"toString()"},{"p":"edu.ntnu.idatt2001.carljgu.battle","c":"SimulationAttack","l":"toString()"},{"p":"edu.ntnu.idatt2001.carljgu.units","c":"Army","l":"toString()"},{"p":"edu.ntnu.idatt2001.carljgu.units","c":"Unit","l":"toString()"},{"p":"edu.ntnu.idatt2001.carljgu.units","c":"Unit","l":"Unit(String, int, int, int)","u":"%3Cinit%3E(java.lang.String,int,int,int)"},{"p":"edu.ntnu.idatt2001.carljgu.units","c":"UnitFactory","l":"UnitFactory()","u":"%3Cinit%3E()"},{"p":"edu.ntnu.idatt2001.carljgu","c":"Terrain","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"edu.ntnu.idatt2001.carljgu","c":"Terrain","l":"values()"},{"p":"edu.ntnu.idatt2001.carljgu","c":"ArmyFileHandler","l":"writeToFile(Army, String)","u":"writeToFile(edu.ntnu.idatt2001.carljgu.units.Army,java.lang.String)"}];updateSearchResults();
\ No newline at end of file
diff --git a/javadoc/module-search-index.js b/javadoc/module-search-index.js
new file mode 100644
index 0000000..168d2c6
--- /dev/null
+++ b/javadoc/module-search-index.js
@@ -0,0 +1 @@
+moduleSearchIndex = [{"l":"edu.ntnu.idatt2001.carljgu.client"}];updateSearchResults();
\ No newline at end of file
diff --git a/javadoc/overview-tree.html b/javadoc/overview-tree.html
new file mode 100644
index 0000000..3b4018f
--- /dev/null
+++ b/javadoc/overview-tree.html
@@ -0,0 +1,139 @@
+<!DOCTYPE HTML>
+<html lang="en">
+<head>
+<!-- Generated by javadoc (17) on Sun May 01 19:43:43 CEST 2022 -->
+<title>Class Hierarchy</title>
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<meta name="dc.created" content="2022-05-01">
+<meta name="description" content="class tree">
+<meta name="generator" content="javadoc/TreeWriter">
+<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<link rel="stylesheet" type="text/css" href="script-dir/jquery-ui.min.css" title="Style">
+<link rel="stylesheet" type="text/css" href="jquery-ui.overrides.css" title="Style">
+<script type="text/javascript" src="script.js"></script>
+<script type="text/javascript" src="script-dir/jquery-3.5.1.min.js"></script>
+<script type="text/javascript" src="script-dir/jquery-ui.min.js"></script>
+</head>
+<body class="tree-page">
+<script type="text/javascript">var pathtoroot = "./";
+loadScripts(document, 'script');</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<div class="flex-box">
+<header role="banner" class="flex-header">
+<nav role="navigation">
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="top-nav" id="navbar-top">
+<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
+<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
+<li>Module</li>
+<li>Package</li>
+<li>Class</li>
+<li class="nav-bar-cell1-rev">Tree</li>
+<li><a href="index-files/index-1.html">Index</a></li>
+<li><a href="help-doc.html#tree">Help</a></li>
+</ul>
+</div>
+<div class="sub-nav">
+<div class="nav-list-search"><label for="search-input">SEARCH:</label>
+<input type="text" id="search-input" value="search" disabled="disabled">
+<input type="reset" id="reset-button" value="reset" disabled="disabled">
+</div>
+</div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<span class="skip-nav" id="skip-navbar-top"></span></nav>
+</header>
+<div class="flex-content">
+<main role="main">
+<div class="header">
+<h1 class="title">Hierarchy For All Packages</h1>
+<span class="package-hierarchy-label">Package Hierarchies:</span>
+<ul class="horizontal">
+<li><a href="edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/package-tree.html">edu.ntnu.idatt2001.carljgu</a>, </li>
+<li><a href="edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/battle/package-tree.html">edu.ntnu.idatt2001.carljgu.battle</a>, </li>
+<li><a href="edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/client/package-tree.html">edu.ntnu.idatt2001.carljgu.client</a>, </li>
+<li><a href="edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/client/dialogs/package-tree.html">edu.ntnu.idatt2001.carljgu.client.dialogs</a>, </li>
+<li><a href="edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/package-tree.html">edu.ntnu.idatt2001.carljgu.units</a>, </li>
+<li><a href="edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/specialized/package-tree.html">edu.ntnu.idatt2001.carljgu.units.specialized</a></li>
+</ul>
+</div>
+<section class="hierarchy">
+<h2 title="Class Hierarchy">Class Hierarchy</h2>
+<ul>
+<li class="circle">java.lang.<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" class="type-name-link external-link" title="class or interface in java.lang">Object</a>
+<ul>
+<li class="circle">javafx.application.Application
+<ul>
+<li class="circle">edu.ntnu.idatt2001.carljgu.client.<a href="edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/client/App.html" class="type-name-link" title="class in edu.ntnu.idatt2001.carljgu.client">App</a></li>
+</ul>
+</li>
+<li class="circle">edu.ntnu.idatt2001.carljgu.units.<a href="edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/Army.html" class="type-name-link" title="class in edu.ntnu.idatt2001.carljgu.units">Army</a></li>
+<li class="circle">edu.ntnu.idatt2001.carljgu.<a href="edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/ArmyFileHandler.html" class="type-name-link" title="class in edu.ntnu.idatt2001.carljgu">ArmyFileHandler</a></li>
+<li class="circle">edu.ntnu.idatt2001.carljgu.battle.<a href="edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/battle/Battle.html" class="type-name-link" title="class in edu.ntnu.idatt2001.carljgu.battle">Battle</a></li>
+<li class="circle">edu.ntnu.idatt2001.carljgu.client.<a href="edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/client/BattleController.html" class="type-name-link" title="class in edu.ntnu.idatt2001.carljgu.client">BattleController</a> (implements javafx.fxml.Initializable)</li>
+<li class="circle">javafx.scene.control.Dialog&lt;R&gt; (implements javafx.event.EventTarget)
+<ul>
+<li class="circle">javafx.scene.control.Alert
+<ul>
+<li class="circle">edu.ntnu.idatt2001.carljgu.client.dialogs.<a href="edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/client/dialogs/DialogBox.html" class="type-name-link" title="class in edu.ntnu.idatt2001.carljgu.client.dialogs">DialogBox</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="circle">edu.ntnu.idatt2001.carljgu.client.dialogs.<a href="edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/client/dialogs/DialogBoxBuilder.html" class="type-name-link" title="class in edu.ntnu.idatt2001.carljgu.client.dialogs">DialogBoxBuilder</a></li>
+<li class="circle">edu.ntnu.idatt2001.carljgu.client.<a href="edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/client/Main.html" class="type-name-link" title="class in edu.ntnu.idatt2001.carljgu.client">Main</a></li>
+<li class="circle">edu.ntnu.idatt2001.carljgu.battle.<a href="edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/battle/SimulationAttack.html" class="type-name-link" title="class in edu.ntnu.idatt2001.carljgu.battle">SimulationAttack</a></li>
+<li class="circle">java.lang.<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Throwable.html" class="type-name-link external-link" title="class or interface in java.lang">Throwable</a> (implements java.io.<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/Serializable.html" title="class or interface in java.io" class="external-link">Serializable</a>)
+<ul>
+<li class="circle">java.lang.<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Exception.html" class="type-name-link external-link" title="class or interface in java.lang">Exception</a>
+<ul>
+<li class="circle">java.lang.<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/RuntimeException.html" class="type-name-link external-link" title="class or interface in java.lang">RuntimeException</a>
+<ul>
+<li class="circle">java.lang.<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/IllegalArgumentException.html" class="type-name-link external-link" title="class or interface in java.lang">IllegalArgumentException</a>
+<ul>
+<li class="circle">edu.ntnu.idatt2001.carljgu.<a href="edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/FileExtensionException.html" class="type-name-link" title="class in edu.ntnu.idatt2001.carljgu">FileExtensionException</a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="circle">edu.ntnu.idatt2001.carljgu.units.<a href="edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/Unit.html" class="type-name-link" title="class in edu.ntnu.idatt2001.carljgu.units">Unit</a>
+<ul>
+<li class="circle">edu.ntnu.idatt2001.carljgu.units.specialized.<a href="edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/specialized/CavalryUnit.html" class="type-name-link" title="class in edu.ntnu.idatt2001.carljgu.units.specialized">CavalryUnit</a>
+<ul>
+<li class="circle">edu.ntnu.idatt2001.carljgu.units.specialized.<a href="edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/specialized/CommanderUnit.html" class="type-name-link" title="class in edu.ntnu.idatt2001.carljgu.units.specialized">CommanderUnit</a></li>
+</ul>
+</li>
+<li class="circle">edu.ntnu.idatt2001.carljgu.units.specialized.<a href="edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/specialized/InfantryUnit.html" class="type-name-link" title="class in edu.ntnu.idatt2001.carljgu.units.specialized">InfantryUnit</a></li>
+<li class="circle">edu.ntnu.idatt2001.carljgu.units.specialized.<a href="edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/specialized/RangedUnit.html" class="type-name-link" title="class in edu.ntnu.idatt2001.carljgu.units.specialized">RangedUnit</a></li>
+</ul>
+</li>
+<li class="circle">edu.ntnu.idatt2001.carljgu.units.<a href="edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/units/UnitFactory.html" class="type-name-link" title="class in edu.ntnu.idatt2001.carljgu.units">UnitFactory</a></li>
+</ul>
+</li>
+</ul>
+</section>
+<section class="hierarchy">
+<h2 title="Enum Class Hierarchy">Enum Class Hierarchy</h2>
+<ul>
+<li class="circle">java.lang.<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" class="type-name-link external-link" title="class or interface in java.lang">Object</a>
+<ul>
+<li class="circle">java.lang.<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Enum.html" class="type-name-link external-link" title="class or interface in java.lang">Enum</a>&lt;E&gt; (implements java.lang.<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Comparable.html" title="class or interface in java.lang" class="external-link">Comparable</a>&lt;T&gt;, java.lang.constant.<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/constant/Constable.html" title="class or interface in java.lang.constant" class="external-link">Constable</a>, java.io.<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/Serializable.html" title="class or interface in java.io" class="external-link">Serializable</a>)
+<ul>
+<li class="circle">edu.ntnu.idatt2001.carljgu.<a href="edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/Terrain.html" class="type-name-link" title="enum class in edu.ntnu.idatt2001.carljgu">Terrain</a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</section>
+</main>
+</div>
+</div>
+</body>
+</html>
diff --git a/javadoc/package-search-index.js b/javadoc/package-search-index.js
new file mode 100644
index 0000000..103c43e
--- /dev/null
+++ b/javadoc/package-search-index.js
@@ -0,0 +1 @@
+packageSearchIndex = [{"l":"All Packages","u":"allpackages-index.html"},{"m":"edu.ntnu.idatt2001.carljgu.client","l":"edu.ntnu.idatt2001.carljgu"},{"m":"edu.ntnu.idatt2001.carljgu.client","l":"edu.ntnu.idatt2001.carljgu.battle"},{"m":"edu.ntnu.idatt2001.carljgu.client","l":"edu.ntnu.idatt2001.carljgu.client"},{"m":"edu.ntnu.idatt2001.carljgu.client","l":"edu.ntnu.idatt2001.carljgu.client.dialogs"},{"m":"edu.ntnu.idatt2001.carljgu.client","l":"edu.ntnu.idatt2001.carljgu.units"},{"m":"edu.ntnu.idatt2001.carljgu.client","l":"edu.ntnu.idatt2001.carljgu.units.specialized"}];updateSearchResults();
\ No newline at end of file
diff --git a/javadoc/resources/glass.png b/javadoc/resources/glass.png
new file mode 100644
index 0000000000000000000000000000000000000000..a7f591f467a1c0c949bbc510156a0c1afb860a6e
GIT binary patch
literal 499
zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7BuiW)N`mv#O3D+9QW+dm
z@{>{(JaZG%Q-e|yQz{EjrrIztFi!P!aSW-rmGtNTe|u&Qmvi^?IhLGixWU-L+VDeB
zU_I-jdrv$2-b)lPxJ_VmIP2-~%}1e*<%o9U4^e^F4QE&%U3YlHWb%YBj9KZ~TVv)+
z#~Ug%1(q|4{%i4M;tgX8vTpogF7TT9Y29M!11v|T2FwngXxhv$p`PF4XkpRk45pU>
zIeH9|3G7F*8@lQfgBe8Z|NVU}K7n=H4xR^0kIwV_VDy;BJe|?J;Rf4uzXXd8CQVa?
zeSN1JBKI&g<vFxAMwl2gt@OO$5Yu*+L2Lr!eEU7$87{4Ekg8h170+O(@gS@5hNOr!
z`}?|IUHY;cm~NhRm~;Bv$&+87f6r$NGb?M8zrXJudzUDKY4fF{WeR-t*B<TXKFpw^
z{+U6uIK!)k;mGsGS&nV@p9oK%_W#Q#O^sQH8`^RXWijX}gl-m0d11%M8M%&MU#|I(
zvRK9muLuPp7KfwijZ@?UKI=PXvQFrp#>DHZa*NeNuahCjyCr4njQh6x*e}g+o5UF4
zY-IVfby?vjPNO~5HQ$v_vN`Z-HoAQ*YG7by_;hl<EJLNjQU(SF22WQ%mvv4FO#nFj
B#b5vc

literal 0
HcmV?d00001

diff --git a/javadoc/resources/x.png b/javadoc/resources/x.png
new file mode 100644
index 0000000000000000000000000000000000000000..30548a756e151be4e927e8d28c508cc5b3514bf3
GIT binary patch
literal 394
zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7BuiW)N`mv#O3D+9QW+dm
z@{>{(JaZG%Q-e|yQz{EjrrIztFzR@^IEGZ*O3HaZ^8f?OQim9pBaxy<f4-Ld(9n0U
zGtnVSNMJj|Rlmft!p|CvMY|ejuy-)`%h*@mJ$CAm72ny14q1`{pP4p_2fVFTQ&=qK
z$tx|O&#uLDaABpUfUz=Xcq7jV)<^q2n%2B%dvJm0(&XbzDq@Tu>lNnpFKJ-S;!vKD
zc4(oclmy%Ahy_gD3r*S-1I*0MYD+Fy*31~dkm6x8t9-`COgBS@ERGW^3p3gtT<J+<
znB)}Gz`35G?}FR6b4d$kWvpR)(5dysAd(|Qx;c+Q@2tXYrN$rpvlO`-+KwDrq{ZWJ
zv%Y0lALFc+$O$|%`GwM((s=d+vZkzW+x5hJmiI0Pwk?8PS}PQ@FYqufy;n7Z+u`R!
vQvvtH%RMP4qB1IM*&gvI)QdSZFfwGaS2)}aWlm;bU|{fc^>bP0l+XkKG;Nb2

literal 0
HcmV?d00001

diff --git a/javadoc/script-dir/images/ui-bg_glass_55_fbf9ee_1x400.png b/javadoc/script-dir/images/ui-bg_glass_55_fbf9ee_1x400.png
new file mode 100644
index 0000000000000000000000000000000000000000..34abd18f32d3a55a297fdcf93409bd033ae573e7
GIT binary patch
literal 335
zcmeAS@N?(olHy`uVBq!ia0y~yU|?imV4NVp#K6F?VU^=~1_lPUByV?@|6srw@%;`1
z0|RG)M`SSr1A_+`yPeFoV_;zD^>lFz@i_kWydoEqqe#QU`gutLIn5m#7PC1@7*=z<
z4qF{*ka_oa1@pn?idNCG?#I#xABnmg_KyE?*?-^5WtQ9w5^aeR_t~yac{S@!?YDPv
zA6UE+PxP!cNP1W1<oHBIMCWecj17yF;!R9GUOvHZyCt|VS?o=v>)vgiA6UY<m~FBh
zUtIX#oq5=xNB$F=O`=M0$D2w$1_lPz64!{5l*E!$tK_28#FA77BLhPVT|*;X1G5kV
w6Dt!#D`OLF0|P4qgA}P6Hxv!I`6-!cmAEyCx*z$)z`(%Z>FVdQ&MBb@01<d}w*UYD

literal 0
HcmV?d00001

diff --git a/javadoc/script-dir/images/ui-bg_glass_65_dadada_1x400.png b/javadoc/script-dir/images/ui-bg_glass_65_dadada_1x400.png
new file mode 100644
index 0000000000000000000000000000000000000000..f058a938533344e5d93e06b7ced2725344bb1102
GIT binary patch
literal 262
zcmeAS@N?(olHy`uVBq!ia0y~yU|?imV4NVpz`(#DwYbxTfq{W3$=luK|9_FyhG!WV
z7&r?&B8wRq7(Bq(?PRtch~eqt7-Dfcx#H3hgDyA0s~6Ws^K4%$`L4t0PHOrN^&<uM
zr$2OLKYZAlr~j+uyc9#5*i#?gupIt;nn(Yd(Vi{I6_R#cZi0p!40Uosf1jT7P+?$T
zP%UwdC`m~yNwrEYN=+<DWiT=@w9qv)(lsy(F)*<*F|;x^(Kax!GB8Mys&PZnkei>9
YnO2EggQ)wFUmy>9y85}Sb4q9e0ABJ>hyVZp

literal 0
HcmV?d00001

diff --git a/javadoc/script-dir/images/ui-bg_glass_75_dadada_1x400.png b/javadoc/script-dir/images/ui-bg_glass_75_dadada_1x400.png
new file mode 100644
index 0000000000000000000000000000000000000000..2ce04c165179bde302921ca361f5c75163d9caa0
GIT binary patch
literal 262
zcmeAS@N?(olHy`uVBq!ia0y~yU|?imV4NVpz`(#DwYbxTfq{W3$=luK|9_FyhG!WV
z7&r?&B8wRq7(Bq(?PRtch~eqt7-Dfcx#HLSM3G*lRg0syOXO7>-YHDpA$__aU+M5)
zdmesc3Ax&YilB2Jz8D@Zwr>;vED;x%R8czZVX5Zf*PV+qL<E}|_JuE24HDZ}!@$6x
zTH+c}l9E`GYL#4+npl#`U}Ruup=)TQYhV^)U}9xrXk~1wZD3$!U~nk6{1b|X-29Zx
Xv`X9>HXEGx19{NX)z4*}Q$iB}dV)^@

literal 0
HcmV?d00001

diff --git a/javadoc/script-dir/images/ui-bg_glass_75_e6e6e6_1x400.png b/javadoc/script-dir/images/ui-bg_glass_75_e6e6e6_1x400.png
new file mode 100644
index 0000000000000000000000000000000000000000..a90afb8bf8028404d206114965669b023dcb85ea
GIT binary patch
literal 262
zcmeAS@N?(olHy`uVBq!ia0y~yU|?imV4NVpz`(#DwYbxTfq{W3$=luK|9_FyhG!WV
z7&r?&B8wRq7(Bq(?PRtch~eqt7-DfcxnlZpgDyA0s~0z?^PKOMn0G(1!f^7#RJFsa
zE!wUt^5iE;+*@X}r#r1e{=kQWGaf1%A3na7XZ{ljJITI9fi65u480EDR2cM3^BEWz
zR7+eVN>UO_QmvAUQWHy38H@}JEp!cybPdcx3{0#{46Te!v<(cb3=C4FYTQsX<mRVj
Xrd8tBAnJbP7s!L2u6{1-oD!M<Z~{%w

literal 0
HcmV?d00001

diff --git a/javadoc/script-dir/images/ui-bg_glass_95_fef1ec_1x400.png b/javadoc/script-dir/images/ui-bg_glass_95_fef1ec_1x400.png
new file mode 100644
index 0000000000000000000000000000000000000000..dbe091f6dc036fc1dc11b005738e951e27a43f7a
GIT binary patch
literal 332
zcmeAS@N?(olHy`uVBq!ia0y~yU|?imV4NVp#K6F?VU^=~1_lPUByV?@|6srw@%;`1
z0|RG)M`SSr1A_+`yPeFoV_;zD@^o<w@i_kW{6=2JM2Yr~&;N@FJ&#cg6X?Ch=cOER
zfMME&3*9cY!V(R<dTBrGPRe$^vt!-Z7_jH+`ifQUTPn`H6J};OUMTbY_JwVwvP>su
z70#KoDNS7a(g(9$>w4v)=k~@dJ=ET`c+$n|v%?pMm=wL;DKXQ`N-{RgN<#LT4zGs9
zpQBqITb$#sWOCQlNSQUC6XZPA64!{5l*E!$tK_28#FA77BLhPVT|*;X1G5kV6Dt!#
vD`OLF0|P4qgA}P6HwFd<gofPwl+3hB+!{pPkNjd_U|{fc^>bP0l+XkKfu3@<

literal 0
HcmV?d00001

diff --git a/javadoc/script-dir/images/ui-bg_highlight-soft_75_cccccc_1x100.png b/javadoc/script-dir/images/ui-bg_highlight-soft_75_cccccc_1x100.png
new file mode 100644
index 0000000000000000000000000000000000000000..5dc3593e4620dd41f9f1f0c7e81316d10ed8f0c7
GIT binary patch
literal 280
zcmeAS@N?(olHy`uVBq!ia0y~yU|?imU`P>QU|?V{x_<LN0|Nt7lDE6d|NkPZ4bL(#
zFmM)lL>4nJFnEBm+sSM@1_p*GPZ!4!iOb0qHNA~~8O(<lf9L7{A|dz8$R;CsNBqG8
z{qBc(I)`O>+oIzo^4_KIxOld}cFx0DLWie5=9yk@6qA*@BjQ{^BGciYYHh{rlIQLv
zS-d__@aznO62r!6^IlDjtY%|iU{Eb_jVMV;EJ?LWE=o--No6oHFtpG$G}1LN3o$UU
tGBLC=HqkaPure@6k*aY+(U6;;l9^VCTZ5?kkzXJ$d%F6$taD0e0s#7AS*QR2

literal 0
HcmV?d00001

diff --git a/javadoc/script-dir/images/ui-icons_222222_256x240.png b/javadoc/script-dir/images/ui-icons_222222_256x240.png
new file mode 100644
index 0000000000000000000000000000000000000000..e723e17cb5428094de75a0d3c6f4f3c07dbd3bbe
GIT binary patch
literal 6922
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
L`njxgN@xNAtk@$X

literal 0
HcmV?d00001

diff --git a/javadoc/script-dir/images/ui-icons_2e83ff_256x240.png b/javadoc/script-dir/images/ui-icons_2e83ff_256x240.png
new file mode 100644
index 0000000000000000000000000000000000000000..1f5f49756ca64bd20a1048bd7a3a584457d4bf00
GIT binary patch
literal 4549
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
QZ9t<mp00i_>zopr03p|Md;kCd

literal 0
HcmV?d00001

diff --git a/javadoc/script-dir/images/ui-icons_454545_256x240.png b/javadoc/script-dir/images/ui-icons_454545_256x240.png
new file mode 100644
index 0000000000000000000000000000000000000000..618f5b0ca756789f81bc276426805df6f61b91d7
GIT binary patch
literal 6992
zcmeAS@N?(olHy`uVBq!ia0y~yU}RumVEDkn!oa}bI<Lrqfq{W3$=lt9!F7%GG+hP;
z2F?PH$YKTt1`jZHJDF|Az#x_D>EaktaqI2e>YP;f+T-@=o4v2yRN31$?Sxq9H^o_Y
zA#d;A=vd-4_4T$)Ge@OwVN+HGsakiwQM$q~Q7be+v!Cm${v;8Rt<ndpx><s}MBclJ
zi2d3S7{Gn-T-DTRPJwbBN5evIy<S!?G3CHZ`RAs^=k}bl{QfKMzVZF3-|tn|eg60N
znR)Ru^Ut#%@Y&4jVQ$uIIG*s3b-}|AObW?O6FMEmlk^|5Ivin%J`gt9Wx;hOgCGBl
z9V0BCi5YbIu}qr69)DcUNsM7L6VK&(wHv?s?dl|++b!fxK5d<tv{lOG&HX;t15-Y6
zyyOUEs9MONp1owk5#L{ll~+2s85wUMFk@^~d}>uHW5x2)$|30J68RSbP75ntTwbzF
zeWbqEXZn8K_Z!k~#s+V@S}3o0nIVn!1y`{A7Jm7_cWPp@f>&NQ_jR5yqsZ3QIEBM&
zJ<F`>i7WZjdZV_!zY%Qk-M9GWSt|qYo6FL_iJsce$|Cmd<!m*N|Dmn6t+~nPO`gxq
zv=5a%GR3{^Z>Y(EjO3=Zfl2FS+1X<o6c2yP@OgXZVK|dCpFRU`yLdy}VQz=RkU+Um
zP{EjC@u#k#=8og^`u@N)`-a<n46_Z>4(*UXFsFI0ZRt1W8)qK|-gNi!IQ5pjU~|LF
z*#YMlc%Ci4z9sj~_NDu#{=Tx@&S*Dd*KbCp7vYB|2dGugo|o7Cc9Z;p5Ub*M-+rXE
z6y7@d+{57>|AJq7$+tbZR~)|ad->@)hT#9j+Oy+ooL=WO8(F^PPGJ)8`2S@?cf-2Q
z*ejpQ_UNAO(an9cDz!V~({j77f}6y@-I9^v+f%4^W7V2@(&;?!_F7haP)?R@&U@T*
zuugHs#}7;p&+K6^k%?oFg8Ma}`@FKugD8i;n}e60uHO*%WuM6*1#f{U?|{1^DgBlW
zvraoZaJWV9@2+pyz_e6n)w4wH`Xj#%%;<`>Saqyyb))wRp+bHS#+<9=me-f}%UhUC
z@D_Dy-g$j#O=F{4{j}4{3vWaph;iP`&^ql#!s{bJKaVON*!pYNU8`?yTvZDmI4|CM
z->mDJrsIrbd{aUU%R}`%zh9cJXma6fX8Km+a^{Uw7^lo-Y2({_T<nyq)#|T>=Fiyp
zR?e1qGAZw>m_e!I^eu050~SoL<UJEI$6Len>>8%GLOFhimnGc|*|L`XW>NV}m$25@
zBX3JqvZR_c%zm}T{4}r3R-gT+BqT)FMDJ>Jp0Ub+|MD}&0LkwQ)Gj<Qcp>!W`5)~g
zU$q;tCIwLFeR_D|NaU*r3E$c8`R~}$(CxY<%I5aXjO#I8ioy*~p3Ljs{XL8Kf^~@Z
z>9C^hVg@^Bon2EXyfpcA`{ysEGgjPTN?bRk;a9<mpFH!sU8|iwt|?bq;C=e6Y0JJp
zdAbWuCo7fjDO(isW(}JeZ^-+Ms)r5hYRoPioxAHT$F_4bH{JG=s^%<tc_VhmZSQx_
zCdB0$YHTt)aWR+uwDGeQ=hWMRPNg+(JeMFVa(K#ImRGA4`s0t<i7ffJI;%-%oz{O{
zSIsY}D`r>!4E?S%Z5?k+=?1>ZUHM^Cgd41Q6Y~GH<Sz40-BhybX?!@#m!1B{uB5Pp
z8y}ofKOst(nfL0HqOzL1bu4i+(x=?!Psn1ZWJ+GOZ)d?Wtyz}@R;S(nwlt|RmciHb
z#yQIgH}vK<N&CFH>$iSyp|<K%mIHgA-(KHiAbPGWxg+_i*Y(4$48Eo(_@=W@%g$b<
z?0M6MV>a7?JAxJU@eLiEuX{a}+3O8lTFM0;UNiw^Kv1Y7(rjGvglBKKPP}K|a4=<k
z(aK*gzSZUX1NWCSrf#f0@ha{Pe?rsAq<2Mn`WtWfTFDq(UHtB$*5{8O4pjZQdM+Wh
zCioSz(>5UuvD2xV+cWsi_UVW1{(JlFopmRb68#l>^8fSdY%F~iclqJP3!SgxF55O%
z@h!MrlCUj2)!BKfFL&Vijrp@L{Wjnz-1?POb>6B^p-=PeZ`w>b!Qx;hGHttuySV=A
z@60y@CfxkAN_N4yLsv>219juK3zXK>d|{l)&~a^xmQl{;V>f%(mbxEzxS){5t60Cv
z>B}<l)kPDw9>4H{vykJ2kD?Z<oaT>=-P5IRAN$LocPwmoHHY!0y$r8(MV~D@&!)Jy
ze4<K9z$C4<6}uKL(+`Md-p(UhVmNKpp&a9v897@kuNTaI@$%92j|NHiuBPwzIaaH1
z(|85zf<G!JRb%vf*6L}7lm|XkVk-4EPx+wTX!K2y`}IMzG7l8wht(O@CPu2{vVCHD
zkapT^W{#8kDm|C(ck}ji@!sM;bYa1q-4*7+XDWI>m3X!+N#zN@np)c?xQlTQUkana
z`k>k2yC=upU9?)H(I8eMbpGA$kpC4@i&l5euUY*p<ZeyV&c+ig4rSltT+;Zj@ATp4
zNc#3(<FnD~ZysOY8{}D7&wjG*T>QPj3I0dV*19~NaD!=+nsN1>ZIPRVzJ<#lFQ0S9
zRO?%J>gnnBH_uGF=>CH1hm{A5LT1$EX_^B1z5$E>P1UgatN47LeshhW)5ezQ%oR(f
z^ja~ka!=zGneFpF;Yi)<*4JBwtg2L)5)<VnN;F-K`}y?Kms4wNm;;{aDr6_!oo91<
zs*l>Q3a__Jj*k2+PVZJVp4c<rqfGwc#6@SK8!CgRo;^A9Z256NuhPn19+~;71?BP=
z4R*v!BuXn)F@Kg>z$aDl?LO<_X9|amGy4r|wlVbEwjxz85~_?dyuziH{hIX8k?;8b
zw%k`S%o7>T9OK=7D(C4Gxvdeuaycxu-->CRKB9T;^844PZUk>V@>n6iNO<>~BH?^3
z*Mw71zaATY-J!;Bdsj^O-t^z;=M<j?mDt!kanxhh4Qn}YQ~PGlubMvYSxYt-mwL~+
zs-xC@qJ745)yCEh2P#(<UN3&Q{HBKEbng{fcMIdD)y;n(`to~XUeaX4gz0AYpSs@?
z3wWORSxv8<bB<<G$C{_Pr9RWo348A2IWQ|tG|yF0A^XgN!;_XVB){B#mnnDV@(amx
zPi%B)(RI4EROZ^uX)Xy??%N-yE-VS;{QS{e@-c^jD0kDkIR<MN?3lm$)%Aywfk!S+
z5n{a2V}CSPB59&N^ZnH8JAA4w{@JYNEj%Gm-8enM<ic|magpLl>zHl`xHw$>{rP!u
zH;?6!*Dt@no|<ZL=qpQ1vc}W9Y_lSnXPy1ns5G^RY2Jqa=0Dj#7Me{f)#a?2e%DE2
zC&xsF9_gUVU!^x>GE^vvHcqgN3uy6hS#aVX$J#sT8%xY3yl*{gzr$KHbDPmWwk1kS
z^bVG+S-FgxIc)#L4gbp}C%YafwOgH3zmf6aniY%oeO@&w?J`3r$AU!r!gm?!mFh+F
zD`lSj{<vLQ^onxK!n0}@o^j=CpJDto?aC@ShBsaJ#2$VBS@SUR$UoIShIkeawu0~1
z4=DZqEV`#Hdq<n$x{F#TSMQv)nlY3=dfNthwTec|XBCc{=N5P6rp-*<{m7=iC%)%@
zujncBgVr3CbIo%31U~USo^~md_j5m2y_L){w&;%Yn)6(p>Zfi0V9s!6gP7o|{TIbn
zTcq`VmUZ@+%{C)J`q94qYcu|7cCHg@oPWOd*=&ths=13KC$3SycTSDtJ?rc(yw+W>
zG=AKjrFf;<Dz5Xj_}TM8-)6Ho%sDAG)o<e8`eWXg)+?RSx@f~bBW%yJsSBC+*nXdx
zzbK=waKhI^+6iW!V)LIY&)nuIXQTW_bmM_dANEFZ*v5If#w7eVh?Ov8{j=)BZ`HFd
ztM+p^9{d-#OfJzN?fv6DI-BcfupCHMkWh_oaA!p==NGs3fBsk`n8KK0DRbu9;iu1h
z&3!a=UtMm}-Th;ly|>2S*=H|`7nfXJG&w`p{vNy4f%(z5mOC#m+8uk`{inwDNT;*L
z=W9MW*YM_COqGfVe{(ke>ADKmSAt;{$GQ$B{S}d(!#Zt7QsAQLyFZ(6e0%!g@}FUU
zOuXL4?p!+mgxtIbIg0yM+wS9a;kMtqTs@H~A@0_Dh6{;P3wIr`xcld~mF}(sLjD_1
zL<Y>8Uor1?!}`y!+pf*+7oRK^@z^wwLFt?OwJnP{S~e~Yul;=U8rR~_E%Hx1?M_U#
zIgvbzZB|lqWEhv3?Z+3(wb-Y>zP<mTZp<^0|3}tm*2rwx>Ev<X<RPzkH+G&c;T6r!
zGU1mdKZ|FW=DjV!Dc0-kTcz5K2`%wK>(-pxbcjj(g_?ApOL4)bIlIo4sJiPuieudR
z^h4OTA9DYXeXsOP7M_zd*HSOTcUS3$?|Wu@Z`pZd?VrVFAzP;1GrRQE)LSxN;~ST%
zN7emJldSZ%&dPh<TDARXFP}ey9ZS#g!^z!qbNC9vqI~1iZ*5rX+%8-8;!>)6^^Vu`
zf6DGVWfPyWa>GJqp>OLAu1-&VaQ~5{-)B|7&y`P)_0DFv{PRSMoIt_UX>}ckXZ7lT
z7JB?S`{&#le^0(VnYVK1f#W|~zWf%hStIaF!~G>g|Hd;+&z1E$iyH(USvGhz-fnMb
z$Z6r8`X&0tBeQ)ccmGs-uNSda_}l90{X6>B%?ftmOWSp*ZHmob?mhj>EA9P1*Ufv{
zbF9@xI-vKV<X^42q$R5#rzhvPJTI;muwJulYu79F^Gs2eYoq2c&(QlKc+`K<)3uGi
z=3P(i<Cf_S-Ck$EfbVjvp`RFo@$aWyx3;;w(U||w(7mETx}qWbNANk1EuM7(^|yQM
z{l83^xAFg;WoNQK3QV}7bN+#BW{1Y6{j3MBH{R~JTCMj#<4yeJ#ZOHeZghX{&2tl3
zBx+v&^RGeR(XVg(?=cCjxW{xXSlsle)eQB{lPCV^AG>sQA$tqkx7A)Nik66WHoW3}
zz^C_-aUPS{PjA1^<wB+NQstJMF0#v8#&|@xGgM-SN@#+o<gqf<?v>xyf7Wwkxfi<O
z|NIB3yHYNn7v|da$C`ik<r!9AShasAs(qJ=IMS!^sB+K2_a9jq<}Erc-6hb^$o+H2
zx@Qk2e|+8VzW-w5o>}iWpD}hRz4*>-B6Cmd0=S<8s`KL*r23w5I;5Dr)6kfEWlHsA
zXDh4d`*xo_bhr+j+`{M==C^)VeZ#H{!6LnXb$+{7KYVzDZDW)`<NbuG#&aId-81?9
z2k+Jyfv;;+{;A$8k$EWcUhzp-p6V0ZIa)`|cdtM3KJCQ&bd5{7ifP=HC%!CEdYS#e
z(=76_enV>1%A1>KbaZQ<{P(76e)>$aaEp`6k^)svRnDxo6kosn_4UL3AGMB7J*52d
zyZO(JNxCI7pGPb_JJmwAa_zl5KL0n>u}c+i?)fIAwWj%QOozf<jm_%{o=O|(9q~AO
zb0*u3lwL`_4{=d%H2e<n$eli*_Bm&f(F(Qfx17I2)vho8xcrvLU*)<pdb|J3FrWJ6
z`3{Dj<z|1kUNW_CG~X+<cm?~U+5jurU5A}=vO{l2AGVmPc_Hgzxxq=5$$!E>DO_ey
zERJ~~!@Y6I?C+ajY!VN2<A0H-Ay613;61g?N_|Ge^qt!s&fmWL$yVhx&+&?#6MjFg
zk!UcrT5!eTQRng4rEC|T%NvQk-ys#eOdzvC?}*yY>s-@ct4JkqS*$L3CVS}_!-rr6
z+gobU%*x;Hul^z;@@!wI@wXSV?z4tp+FZzeit$yPNA><$e;>_j{}c85@*k6}{Cmy_
zxBifSsC4p<<K9*E9y^)dcPYPo&fhpcwB?5ZgZ7z?hYVZ!I8OF06|=q~^5Omgf6D{s
zKPvUR^t<wIaMsS-6>25AttOG@;kJh-r!@OA*G#kb*#G?d(UWh&4L_*J3)R`4%5J+8
z$|Uyn;(Ue=ZDGtW_HeYyOrF=iC+q^lqJJGZ)lZ)>m^1(9Jix!{+Sw~{v&F1!j_a&0
z5s6;3Npk(I=i7gTh$@}<YaASEnRD#S>3!WEH{@S-+^&dQr1oZh;v9#Y_3J-qian}#
z{dQRGv<-)ilgVX`q;}bV{o4zseq#B*<><j<TVqbIjyYZW@qgNib8NStF_;%MNbhKr
zZkRn;;HH4U&;1>7lWsX@{*Lar&!o3`Wky5C-}vWo_fF=z+*WdNc@uBEq<&`VKE^*y
zO@A5Yr}iF?c+9y=r@@KaVM$u(4S{VNW%TFR&+F#Dp8o&*Q>QIKvJ?NDbH1at_@2??
z4?O|bq%2NccQB4B2|oJYX8Y4M&n}jk|Bh4M^0a^13~QNW^?81BCw8_p{{CThKRx=k
zm!e};oPzyXn=|V-$mO4${VcvX+B;peS|fFO?N0&M_ByZstoLMe9_89F*(`Z^^mET<
zneNc;|4-Aol+>J585Wrzu6t9xjzOP+*Zp%2qnr>dpYCBell8at{@I^bCY9WKA#^oa
z-f<qwIs@()jXlkW<UgLgGnxIzl?B}I1LYU7S;&6>7wPxh>F(T3_R$M}FA3saBP?}C
zWuH{`gubmY-vp}rOApT4cYR;oZ?-^&X$^(PH054fEbdudWyQ+ozSjNm`B3kbR$aW(
z2J+_r_L$AnZRwTc3ilO>v|0Oe-};HXjLUx--MqMA_YM`)9<{QEowcePmRju4RJK&p
z)W37iJI?65_M@9lXEvY7+;{A4%%vp{o?W;bcDT0HhuLNCKGF4t`k9Ar=iQ4nI?{XT
z{UW=cmptu5-%K~JSaJTk`)!kB$=|uPer4`E)c=EPxv3_@;f;3N%RN{Y2>1WLdn3&>
zx=`fb_aFZ4dK*^GNKx~OKVBCeli*&xlD9_p`^<x>`j1669AuNeusnMuTSE$mz*z;?
z$sKEcz0x@Jg6F;8yUb%{w!h!5o8g?$$bDv0PgLXlXW9&RPO9c|Noy8=Ry?wLg_&Eb
zm_TNO->==OGbA@J_t$#7YF?R6@t+2Vjnh?k)}OfYTioRS)8(g2g7s}&f2qEEVo+Xm
z@<Dd>sZOILsRL#wcQ>!sTCsnwb@RNXORn=&6>p0Dd3&zT4W}C~6s2{JZf+>`m0w>a
zd}4x<5W`p7>P545_xnFz@%^);>m0t-$3EWPGXH>BxrM<brUy;8XZCJaJtQ0x;Im{_
z<1wy=;~s~inWf=FIq)vr1oz{Q&eqSjY}nu^(h!i@>dtj>wYDN#>t-?a8?uk%TKh`X
z5ASPU!)Uc8s@0*_ry}Z>h}D{7)7tn}vkFc+njh#GKP4!rGvVNW*M%(II#REmpR1c5
z>-(FjGX9|8wF;M=DyzS%$#{Kq`jq`E@G+}Hd;6nf#!EMxxXEO@i^)+ueqH0ucE^MT
zH-r3EC~s0)F^{<<V(Y!9YrCf#M7>$O@WYigiIYT1R;*gMC`e@gRo~3}&bkcQXC&4a
zT}$khO!F{txaQ3CaOKTAlb0-L*8O)cLFHFn%OZv~p*c@f;<`iAIEpma2pSyL(sllo
zXBn<L|4p-l?_9%UqAL?yrG?vsKFK(ke@j>VV$Q{5e`aw_OU}BWdAsx<u5GL=i7?%8
z!{=^0Xe8{%)B_m9e4m&Stg2rdHl1KuAiCRY??h?SeczO=Zy%Ogb$p+T5`*rpmBllX
zOQ!nd86Ot5ak>7`sdLZH6vOh^gOB7c+nRWYHJ#gdK>eqHBL8QOg_mTDTEw(V)|^Y}
zUf1<`f2w=u-(}Sq0-O%rdb8&+$vw(mQ#f<mv$9vIa!*aeUS{YS^d4GS6WV|D-4*_i
zZ0%hCwm7eQUb;?PX5H$S>$Cs9bl-CKhyT-!_njM0M1J9Xpycqz^`BC%pGZ}}>|mYE
z2MnLR*mU6W(xR&DU%s`!zi<6G|JSF=9eV$&wX>@KY&}rnBmezOxoaG=OF(vm$`dK$
zImwQ%`6Aac)<ypM`?iVez5ZS2W)J2!8{FD|{<!ePCij|&c@WE)jfVo~8PC}ep4gfH
zye|KZ=3VFJ6d{Sb?Hf<JzFXM)>sUjM`2ik{GmDbm%TJUoUd;dT){gea;s?2HY^I32
zReWKrvv)ZBFqe@Rc}VpH%Yia^huB|lZRTB)fBwyO`S;y*&C9}FK8Ypl=3k(9_gUJy
z`(Ns==U@18s)OZ0-oG%%YX11H{a2UXmht^I``-IsytCq%FA7Yk{3qV;J2$XKc;fQ=
z^W$`@>-*~ZC)jl@|Gr|<^$X2hAJ1z%Ui~V4_5O%|pFWx|Y0ljBLv2?Cmua|{(tEA2
zw>-C=d6^XpRLg&meChfAQh8^-fBaLv+op95zZxPV9+hh>30m@Bk)eKR?*1n)HRG13
zw_kB#obdMbQKlO&PVSi9d;AsKHPZ>Ue;sDd(q?}1ayILNy5B4>KWBZJT^X2A@6Yle
z;jaqIAD18dZJbuS893YY#i_PB{8%GoU(%6nJh}FO!|s`<g??8z#ql$KK2W)epYdzx
zo_#e(MOLjW2>z8Pb!6GXlArg_q;~$by})o$<wBW!gY;j!gqcr&%=QqEKjC!r@_CLB
zX<21i)mXjyh>BlJTsB@@z0E&p{|2MKuAP5h#ds?THFO6t3dMwg0;t|9_kjQN7w5TN
zF0S~sMyrz7c8$RQMMnEp)ouIL{ZwDt{{5a+I<ga{?4PBrT6mSSA^Zpbz1fTJoHu^?
zeb<-wAMNi<U2K2g`L`Zu=uc!gkb3RL!)ZTW3jg8M4%)Hni}(+*{7ZfHe@*3uZ)_Ha
zM&Ac%Cn>&s-W&^PZG~J)DM~fp(f614+vU!B;@W|YUv956Dv8~7{K7&DmMh73*O|6f
z*_yAI+tl8&hvA0Aj??QV&fAfG;ovccx%%%}5?!PBx3g6;N-!%kAD1w`q|7f{)iT4}
zXNF!4<L@@E{z)2qjLD)w6O(5Luee^H%k(5r=#$C?vwzo@R`bZZFm70REpd5uNJBhF
z7B-h{tY=L)q|fn{X%oYh_;l`>N-3+}Kb@D*eRALPOAIHN3?%>aN^QF*yRp9d!ciI4
z6HFUK|MQA%yZ83yedirn4HG&K#ap(t)@QlAx!Rq0sLr1K1!qd~1u@3xS-ZD(*FQCQ
zE25S7f62ssZ=W;lZPH;-<29JMN$sch@|Nq|{#{Ncic8iD8P5D$C-8!?&6By}8$ZK3
zsRed##4V;I|8G&7<F2_Qt6^`0=k66Z-alusby#oeu)plBnwS0mmx02Y7;=u+A8vQ}
z{4!AZ_jR!c7lr@Wf8P|h>iRK`Jq!#CswJ)wB`Jv|saDBFsfi`23`PcqX1WIEx`xIf
zh6YwfhE}GQ+6D$z1_siMo!uxJa`RI%(<+fQ7+6{vnOT{dKs0<lyFh?}fk6^vLvVgt
pNqJ&XDuZK6ep0G}XKrG8YEWuoN@d~6R2$HQnWw9t%Q~loCIAwsMrr^6

literal 0
HcmV?d00001

diff --git a/javadoc/script-dir/images/ui-icons_888888_256x240.png b/javadoc/script-dir/images/ui-icons_888888_256x240.png
new file mode 100644
index 0000000000000000000000000000000000000000..ee5e33f27235d1b5cf0259f63f3894a6be33c679
GIT binary patch
literal 6999
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

literal 0
HcmV?d00001

diff --git a/javadoc/script-dir/images/ui-icons_cd0a0a_256x240.png b/javadoc/script-dir/images/ui-icons_cd0a0a_256x240.png
new file mode 100644
index 0000000000000000000000000000000000000000..7e8ebc180a2d2a74739059799407b8b7b57a9092
GIT binary patch
literal 4549
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
QZ9t<mp00i_>zopr0AIB!=l}o!

literal 0
HcmV?d00001

diff --git a/javadoc/script-dir/jquery-3.5.1.min.js b/javadoc/script-dir/jquery-3.5.1.min.js
new file mode 100644
index 0000000..b061403
--- /dev/null
+++ b/javadoc/script-dir/jquery-3.5.1.min.js
@@ -0,0 +1,2 @@
+/*! jQuery v3.5.1 | (c) JS Foundation and other contributors | jquery.org/license */
+!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},x=function(e){return null!=e&&e===e.window},E=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.5.1",S=function(e,t){return new S.fn.init(e,t)};function p(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0<t&&t-1 in e)}S.fn=S.prototype={jquery:f,constructor:S,length:0,toArray:function(){return s.call(this)},get:function(e){return null==e?s.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=S.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return S.each(this,e)},map:function(n){return this.pushStack(S.map(this,function(e,t){return n.call(e,t,e)}))},slice:function(){return this.pushStack(s.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},even:function(){return this.pushStack(S.grep(this,function(e,t){return(t+1)%2}))},odd:function(){return this.pushStack(S.grep(this,function(e,t){return t%2}))},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(0<=n&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:u,sort:t.sort,splice:t.splice},S.extend=S.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[s]||{},s++),"object"==typeof a||m(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)r=e[t],"__proto__"!==t&&a!==r&&(l&&r&&(S.isPlainObject(r)||(i=Array.isArray(r)))?(n=a[t],o=i&&!Array.isArray(n)?[]:i||S.isPlainObject(n)?n:{},i=!1,a[t]=S.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},S.extend({expando:"jQuery"+(f+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==o.call(e))&&(!(t=r(e))||"function"==typeof(n=v.call(t,"constructor")&&t.constructor)&&a.call(n)===l)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t,n){b(e,{nonce:t&&t.nonce},n)},each:function(e,t){var n,r=0;if(p(e)){for(n=e.length;r<n;r++)if(!1===t.call(e[r],r,e[r]))break}else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},makeArray:function(e,t){var n=t||[];return null!=e&&(p(Object(e))?S.merge(n,"string"==typeof e?[e]:e):u.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:i.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r=[],i=0,o=e.length,a=!n;i<o;i++)!t(e[i],i)!==a&&r.push(e[i]);return r},map:function(e,t,n){var r,i,o=0,a=[];if(p(e))for(r=e.length;o<r;o++)null!=(i=t(e[o],o,n))&&a.push(i);else for(o in e)null!=(i=t(e[o],o,n))&&a.push(i);return g(a)},guid:1,support:y}),"function"==typeof Symbol&&(S.fn[Symbol.iterator]=t[Symbol.iterator]),S.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){n["[object "+t+"]"]=t.toLowerCase()});var d=function(n){var e,d,b,o,i,h,f,g,w,u,l,T,C,a,E,v,s,c,y,S="sizzle"+1*new Date,p=n.document,k=0,r=0,m=ue(),x=ue(),A=ue(),N=ue(),D=function(e,t){return e===t&&(l=!0),0},j={}.hasOwnProperty,t=[],q=t.pop,L=t.push,H=t.push,O=t.slice,P=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},R="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",I="(?:\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+",W="\\["+M+"*("+I+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+I+"))|)"+M+"*\\]",F=":("+I+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+W+")*)|.*)\\)|)",B=new RegExp(M+"+","g"),$=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),_=new RegExp("^"+M+"*,"+M+"*"),z=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace($,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="<a id='"+S+"'></a><select id='"+S+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||v.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&y(p,e)?-1:t==C||t.ownerDocument==p&&y(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0<se(t,C,null,[e]).length},se.contains=function(e,t){return(e.ownerDocument||e)!=C&&T(e),y(e,t)},se.attr=function(e,t){(e.ownerDocument||e)!=C&&T(e);var n=b.attrHandle[t.toLowerCase()],r=n&&j.call(b.attrHandle,t.toLowerCase())?n(e,t,!E):void 0;return void 0!==r?r:d.attributes||!E?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},se.escape=function(e){return(e+"").replace(re,ie)},se.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},se.uniqueSort=function(e){var t,n=[],r=0,i=0;if(l=!d.detectDuplicates,u=!d.sortStable&&e.slice(0),e.sort(D),l){while(t=e[i++])t===e[i]&&(r=n.push(i));while(r--)e.splice(n[r],1)}return u=null,e},o=se.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else while(t=e[r++])n+=o(t);return n},(b=se.selectors={cacheLength:50,createPseudo:le,match:G,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1<t.indexOf(i):"$="===r?i&&t.slice(-i.length)===i:"~="===r?-1<(" "+t.replace(B," ")+" ").indexOf(i):"|="===r&&(t===i||t.slice(0,i.length+1)===i+"-"))}},CHILD:function(h,e,t,g,v){var y="nth"!==h.slice(0,3),m="last"!==h.slice(-4),x="of-type"===e;return 1===g&&0===v?function(e){return!!e.parentNode}:function(e,t,n){var r,i,o,a,s,u,l=y!==m?"nextSibling":"previousSibling",c=e.parentNode,f=x&&e.nodeName.toLowerCase(),p=!n&&!x,d=!1;if(c){if(y){while(l){a=e;while(a=a[l])if(x?a.nodeName.toLowerCase()===f:1===a.nodeType)return!1;u=l="only"===h&&!u&&"nextSibling"}return!0}if(u=[m?c.firstChild:c.lastChild],m&&p){d=(s=(r=(i=(o=(a=c)[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===k&&r[1])&&r[2],a=s&&c.childNodes[s];while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if(1===a.nodeType&&++d&&a===e){i[h]=[k,s,d];break}}else if(p&&(d=s=(r=(i=(o=(a=e)[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===k&&r[1]),!1===d)while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if((x?a.nodeName.toLowerCase()===f:1===a.nodeType)&&++d&&(p&&((i=(o=a[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]=[k,d]),a===e))break;return(d-=v)===g||d%g==0&&0<=d/g}}},PSEUDO:function(e,o){var t,a=b.pseudos[e]||b.setFilters[e.toLowerCase()]||se.error("unsupported pseudo: "+e);return a[S]?a(o):1<a.length?(t=[e,e,"",o],b.setFilters.hasOwnProperty(e.toLowerCase())?le(function(e,t){var n,r=a(e,o),i=r.length;while(i--)e[n=P(e,r[i])]=!(t[n]=r[i])}):function(e){return a(e,0,t)}):a}},pseudos:{not:le(function(e){var r=[],i=[],s=f(e.replace($,"$1"));return s[S]?le(function(e,t,n,r){var i,o=s(e,null,r,[]),a=e.length;while(a--)(i=o[a])&&(e[a]=!(t[a]=i))}):function(e,t,n){return r[0]=e,s(r,null,n,i),r[0]=null,!i.pop()}}),has:le(function(t){return function(e){return 0<se(t,e).length}}),contains:le(function(t){return t=t.replace(te,ne),function(e){return-1<(e.textContent||o(e)).indexOf(t)}}),lang:le(function(n){return V.test(n||"")||se.error("unsupported lang: "+n),n=n.replace(te,ne).toLowerCase(),function(e){var t;do{if(t=E?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return(t=t.toLowerCase())===n||0===t.indexOf(n+"-")}while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var t=n.location&&n.location.hash;return t&&t.slice(1)===e.id},root:function(e){return e===a},focus:function(e){return e===C.activeElement&&(!C.hasFocus||C.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:ge(!1),disabled:ge(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!b.pseudos.empty(e)},header:function(e){return J.test(e.nodeName)},input:function(e){return Q.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:ve(function(){return[0]}),last:ve(function(e,t){return[t-1]}),eq:ve(function(e,t,n){return[n<0?n+t:n]}),even:ve(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:ve(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:ve(function(e,t,n){for(var r=n<0?n+t:t<n?t:n;0<=--r;)e.push(r);return e}),gt:ve(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}}).pseudos.nth=b.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})b.pseudos[e]=de(e);for(e in{submit:!0,reset:!0})b.pseudos[e]=he(e);function me(){}function xe(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function be(s,e,t){var u=e.dir,l=e.next,c=l||u,f=t&&"parentNode"===c,p=r++;return e.first?function(e,t,n){while(e=e[u])if(1===e.nodeType||f)return s(e,t,n);return!1}:function(e,t,n){var r,i,o,a=[k,p];if(n){while(e=e[u])if((1===e.nodeType||f)&&s(e,t,n))return!0}else while(e=e[u])if(1===e.nodeType||f)if(i=(o=e[S]||(e[S]={}))[e.uniqueID]||(o[e.uniqueID]={}),l&&l===e.nodeName.toLowerCase())e=e[u]||e;else{if((r=i[c])&&r[0]===k&&r[1]===p)return a[2]=r[2];if((i[c]=a)[2]=s(e,t,n))return!0}return!1}}function we(i){return 1<i.length?function(e,t,n){var r=i.length;while(r--)if(!i[r](e,t,n))return!1;return!0}:i[0]}function Te(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s<u;s++)(o=e[s])&&(n&&!n(o,r,i)||(a.push(o),l&&t.push(s)));return a}function Ce(d,h,g,v,y,e){return v&&!v[S]&&(v=Ce(v)),y&&!y[S]&&(y=Ce(y,e)),le(function(e,t,n,r){var i,o,a,s=[],u=[],l=t.length,c=e||function(e,t,n){for(var r=0,i=t.length;r<i;r++)se(e,t[r],n);return n}(h||"*",n.nodeType?[n]:n,[]),f=!d||!e&&h?c:Te(c,s,d,n,r),p=g?y||(e?d:l||v)?[]:t:f;if(g&&g(f,p,n,r),v){i=Te(p,u),v(i,[],n,r),o=i.length;while(o--)(a=i[o])&&(p[u[o]]=!(f[u[o]]=a))}if(e){if(y||d){if(y){i=[],o=p.length;while(o--)(a=p[o])&&i.push(f[o]=a);y(null,p=[],i,r)}o=p.length;while(o--)(a=p[o])&&-1<(i=y?P(e,a):s[o])&&(e[i]=!(t[i]=a))}}else p=Te(p===t?p.splice(l,p.length):p),y?y(null,t,p,r):H.apply(t,p)})}function Ee(e){for(var i,t,n,r=e.length,o=b.relative[e[0].type],a=o||b.relative[" "],s=o?1:0,u=be(function(e){return e===i},a,!0),l=be(function(e){return-1<P(i,e)},a,!0),c=[function(e,t,n){var r=!o&&(n||t!==w)||((i=t).nodeType?u(e,t,n):l(e,t,n));return i=null,r}];s<r;s++)if(t=b.relative[e[s].type])c=[be(we(c),t)];else{if((t=b.filter[e[s].type].apply(null,e[s].matches))[S]){for(n=++s;n<r;n++)if(b.relative[e[n].type])break;return Ce(1<s&&we(c),1<s&&xe(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace($,"$1"),t,s<n&&Ee(e.slice(s,n)),n<r&&Ee(e=e.slice(n)),n<r&&xe(e))}c.push(t)}return we(c)}return me.prototype=b.filters=b.pseudos,b.setFilters=new me,h=se.tokenize=function(e,t){var n,r,i,o,a,s,u,l=x[e+" "];if(l)return t?0:l.slice(0);a=e,s=[],u=b.preFilter;while(a){for(o in n&&!(r=_.exec(a))||(r&&(a=a.slice(r[0].length)||a),s.push(i=[])),n=!1,(r=z.exec(a))&&(n=r.shift(),i.push({value:n,type:r[0].replace($," ")}),a=a.slice(n.length)),b.filter)!(r=G[o].exec(a))||u[o]&&!(r=u[o](r))||(n=r.shift(),i.push({value:n,type:o,matches:r}),a=a.slice(n.length));if(!n)break}return t?a.length:a?se.error(e):x(e,s).slice(0)},f=se.compile=function(e,t){var n,v,y,m,x,r,i=[],o=[],a=A[e+" "];if(!a){t||(t=h(e)),n=t.length;while(n--)(a=Ee(t[n]))[S]?i.push(a):o.push(a);(a=A(e,(v=o,m=0<(y=i).length,x=0<v.length,r=function(e,t,n,r,i){var o,a,s,u=0,l="0",c=e&&[],f=[],p=w,d=e||x&&b.find.TAG("*",i),h=k+=null==p?1:Math.random()||.1,g=d.length;for(i&&(w=t==C||t||i);l!==g&&null!=(o=d[l]);l++){if(x&&o){a=0,t||o.ownerDocument==C||(T(o),n=!E);while(s=v[a++])if(s(o,t||C,n)){r.push(o);break}i&&(k=h)}m&&((o=!s&&o)&&u--,e&&c.push(o))}if(u+=l,m&&l!==u){a=0;while(s=y[a++])s(c,f,t,n);if(e){if(0<u)while(l--)c[l]||f[l]||(f[l]=q.call(r));f=Te(f)}H.apply(r,f),i&&!e&&0<f.length&&1<u+y.length&&se.uniqueSort(r)}return i&&(k=h,w=p),c},m?le(r):r))).selector=e}return a},g=se.select=function(e,t,n,r){var i,o,a,s,u,l="function"==typeof e&&e,c=!r&&h(e=l.selector||e);if(n=n||[],1===c.length){if(2<(o=c[0]=c[0].slice(0)).length&&"ID"===(a=o[0]).type&&9===t.nodeType&&E&&b.relative[o[1].type]){if(!(t=(b.find.ID(a.matches[0].replace(te,ne),t)||[])[0]))return n;l&&(t=t.parentNode),e=e.slice(o.shift().value.length)}i=G.needsContext.test(e)?0:o.length;while(i--){if(a=o[i],b.relative[s=a.type])break;if((u=b.find[s])&&(r=u(a.matches[0].replace(te,ne),ee.test(o[0].type)&&ye(t.parentNode)||t))){if(o.splice(i,1),!(e=r.length&&xe(o)))return H.apply(n,r),n;break}}}return(l||f(e,c))(r,t,!E,n,!t||ee.test(e)&&ye(t.parentNode)||t),n},d.sortStable=S.split("").sort(D).join("")===S,d.detectDuplicates=!!l,T(),d.sortDetached=ce(function(e){return 1&e.compareDocumentPosition(C.createElement("fieldset"))}),ce(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||fe("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),d.attributes&&ce(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||fe("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ce(function(e){return null==e.getAttribute("disabled")})||fe(R,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),se}(C);S.find=d,S.expr=d.selectors,S.expr[":"]=S.expr.pseudos,S.uniqueSort=S.unique=d.uniqueSort,S.text=d.getText,S.isXMLDoc=d.isXML,S.contains=d.contains,S.escapeSelector=d.escape;var h=function(e,t,n){var r=[],i=void 0!==n;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&S(e).is(n))break;r.push(e)}return r},T=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},k=S.expr.match.needsContext;function A(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var N=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function D(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1<i.call(n,e)!==r}):S.filter(n,e,r)}S.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?S.find.matchesSelector(r,e)?[r]:[]:S.find.matches(e,S.grep(t,function(e){return 1===e.nodeType}))},S.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(S(e).filter(function(){for(t=0;t<r;t++)if(S.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)S.find(e,i[t],n);return 1<r?S.uniqueSort(n):n},filter:function(e){return this.pushStack(D(this,e||[],!1))},not:function(e){return this.pushStack(D(this,e||[],!0))},is:function(e){return!!D(this,"string"==typeof e&&k.test(e)?S(e):e||[],!1).length}});var j,q=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||j,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,j=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(S.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],a="string"!=typeof e&&S(e);if(!k.test(e))for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?-1<a.index(n):1===n.nodeType&&S.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(1<o.length?S.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?i.call(S(e),this[0]):i.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(S.uniqueSort(S.merge(this.get(),S(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),S.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return h(e,"parentNode")},parentsUntil:function(e,t,n){return h(e,"parentNode",n)},next:function(e){return O(e,"nextSibling")},prev:function(e){return O(e,"previousSibling")},nextAll:function(e){return h(e,"nextSibling")},prevAll:function(e){return h(e,"previousSibling")},nextUntil:function(e,t,n){return h(e,"nextSibling",n)},prevUntil:function(e,t,n){return h(e,"previousSibling",n)},siblings:function(e){return T((e.parentNode||{}).firstChild,e)},children:function(e){return T(e.firstChild)},contents:function(e){return null!=e.contentDocument&&r(e.contentDocument)?e.contentDocument:(A(e,"template")&&(e=e.content||e),S.merge([],e.childNodes))}},function(r,i){S.fn[r]=function(e,t){var n=S.map(this,i,e);return"Until"!==r.slice(-5)&&(t=e),t&&"string"==typeof t&&(n=S.filter(t,n)),1<this.length&&(H[r]||S.uniqueSort(n),L.test(r)&&n.reverse()),this.pushStack(n)}});var P=/[^\x20\t\r\n\f]+/g;function R(e){return e}function M(e){throw e}function I(e,t,n,r){var i;try{e&&m(i=e.promise)?i.call(e).done(t).fail(n):e&&m(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}S.Callbacks=function(r){var e,n;r="string"==typeof r?(e=r,n={},S.each(e.match(P)||[],function(e,t){n[t]=!0}),n):S.extend({},r);var i,t,o,a,s=[],u=[],l=-1,c=function(){for(a=a||r.once,o=i=!0;u.length;l=-1){t=u.shift();while(++l<s.length)!1===s[l].apply(t[0],t[1])&&r.stopOnFalse&&(l=s.length,t=!1)}r.memory||(t=!1),i=!1,a&&(s=t?[]:"")},f={add:function(){return s&&(t&&!i&&(l=s.length-1,u.push(t)),function n(e){S.each(e,function(e,t){m(t)?r.unique&&f.has(t)||s.push(t):t&&t.length&&"string"!==w(t)&&n(t)})}(arguments),t&&!i&&c()),this},remove:function(){return S.each(arguments,function(e,t){var n;while(-1<(n=S.inArray(t,s,n)))s.splice(n,1),n<=l&&l--}),this},has:function(e){return e?-1<S.inArray(e,s):0<s.length},empty:function(){return s&&(s=[]),this},disable:function(){return a=u=[],s=t="",this},disabled:function(){return!s},lock:function(){return a=u=[],t||i||(s=t=""),this},locked:function(){return!!a},fireWith:function(e,t){return a||(t=[e,(t=t||[]).slice?t.slice():t],u.push(t),i||c()),this},fire:function(){return f.fireWith(this,arguments),this},fired:function(){return!!o}};return f},S.extend({Deferred:function(e){var o=[["notify","progress",S.Callbacks("memory"),S.Callbacks("memory"),2],["resolve","done",S.Callbacks("once memory"),S.Callbacks("once memory"),0,"resolved"],["reject","fail",S.Callbacks("once memory"),S.Callbacks("once memory"),1,"rejected"]],i="pending",a={state:function(){return i},always:function(){return s.done(arguments).fail(arguments),this},"catch":function(e){return a.then(null,e)},pipe:function(){var i=arguments;return S.Deferred(function(r){S.each(o,function(e,t){var n=m(i[t[4]])&&i[t[4]];s[t[1]](function(){var e=n&&n.apply(this,arguments);e&&m(e.promise)?e.promise().progress(r.notify).done(r.resolve).fail(r.reject):r[t[0]+"With"](this,n?[e]:arguments)})}),i=null}).promise()},then:function(t,n,r){var u=0;function l(i,o,a,s){return function(){var n=this,r=arguments,e=function(){var e,t;if(!(i<u)){if((e=a.apply(n,r))===o.promise())throw new TypeError("Thenable self-resolution");t=e&&("object"==typeof e||"function"==typeof e)&&e.then,m(t)?s?t.call(e,l(u,o,R,s),l(u,o,M,s)):(u++,t.call(e,l(u,o,R,s),l(u,o,M,s),l(u,o,R,o.notifyWith))):(a!==R&&(n=void 0,r=[e]),(s||o.resolveWith)(n,r))}},t=s?e:function(){try{e()}catch(e){S.Deferred.exceptionHook&&S.Deferred.exceptionHook(e,t.stackTrace),u<=i+1&&(a!==M&&(n=void 0,r=[e]),o.rejectWith(n,r))}};i?t():(S.Deferred.getStackHook&&(t.stackTrace=S.Deferred.getStackHook()),C.setTimeout(t))}}return S.Deferred(function(e){o[0][3].add(l(0,e,m(r)?r:R,e.notifyWith)),o[1][3].add(l(0,e,m(t)?t:R)),o[2][3].add(l(0,e,m(n)?n:M))}).promise()},promise:function(e){return null!=e?S.extend(e,a):a}},s={};return S.each(o,function(e,t){var n=t[2],r=t[5];a[t[1]]=n.add,r&&n.add(function(){i=r},o[3-e][2].disable,o[3-e][3].disable,o[0][2].lock,o[0][3].lock),n.add(t[3].fire),s[t[0]]=function(){return s[t[0]+"With"](this===s?void 0:this,arguments),this},s[t[0]+"With"]=n.fireWith}),a.promise(s),e&&e.call(s,s),s},when:function(e){var n=arguments.length,t=n,r=Array(t),i=s.call(arguments),o=S.Deferred(),a=function(t){return function(e){r[t]=this,i[t]=1<arguments.length?s.call(arguments):e,--n||o.resolveWith(r,i)}};if(n<=1&&(I(e,o.done(a(t)).resolve,o.reject,!n),"pending"===o.state()||m(i[t]&&i[t].then)))return o.then();while(t--)I(i[t],a(t),o.reject);return o.promise()}});var W=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;S.Deferred.exceptionHook=function(e,t){C.console&&C.console.warn&&e&&W.test(e.name)&&C.console.warn("jQuery.Deferred exception: "+e.message,e.stack,t)},S.readyException=function(e){C.setTimeout(function(){throw e})};var F=S.Deferred();function B(){E.removeEventListener("DOMContentLoaded",B),C.removeEventListener("load",B),S.ready()}S.fn.ready=function(e){return F.then(e)["catch"](function(e){S.readyException(e)}),this},S.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--S.readyWait:S.isReady)||(S.isReady=!0)!==e&&0<--S.readyWait||F.resolveWith(E,[S])}}),S.ready.then=F.then,"complete"===E.readyState||"loading"!==E.readyState&&!E.documentElement.doScroll?C.setTimeout(S.ready):(E.addEventListener("DOMContentLoaded",B),C.addEventListener("load",B));var $=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===w(n))for(s in i=!0,n)$(e,t,s,n[s],!0,o,a);else if(void 0!==r&&(i=!0,m(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(S(e),n)})),t))for(;s<u;s++)t(e[s],n,a?r:r.call(e[s],s,t(e[s],n)));return i?e:l?t.call(e):u?t(e[0],n):o},_=/^-ms-/,z=/-([a-z])/g;function U(e,t){return t.toUpperCase()}function X(e){return e.replace(_,"ms-").replace(z,U)}var V=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};function G(){this.expando=S.expando+G.uid++}G.uid=1,G.prototype={cache:function(e){var t=e[this.expando];return t||(t={},V(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if("string"==typeof t)i[X(t)]=n;else for(r in t)i[X(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][X(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){n=(t=Array.isArray(t)?t.map(X):(t=X(t))in r?[t]:t.match(P)||[]).length;while(n--)delete r[t[n]]}(void 0===t||S.isEmptyObject(r))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!S.isEmptyObject(t)}};var Y=new G,Q=new G,J=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,K=/[A-Z]/g;function Z(e,t,n){var r,i;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(K,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n="true"===(i=n)||"false"!==i&&("null"===i?null:i===+i+""?+i:J.test(i)?JSON.parse(i):i)}catch(e){}Q.set(e,t,n)}else n=void 0;return n}S.extend({hasData:function(e){return Q.hasData(e)||Y.hasData(e)},data:function(e,t,n){return Q.access(e,t,n)},removeData:function(e,t){Q.remove(e,t)},_data:function(e,t,n){return Y.access(e,t,n)},_removeData:function(e,t){Y.remove(e,t)}}),S.fn.extend({data:function(n,e){var t,r,i,o=this[0],a=o&&o.attributes;if(void 0===n){if(this.length&&(i=Q.get(o),1===o.nodeType&&!Y.get(o,"hasDataAttrs"))){t=a.length;while(t--)a[t]&&0===(r=a[t].name).indexOf("data-")&&(r=X(r.slice(5)),Z(o,r,i[r]));Y.set(o,"hasDataAttrs",!0)}return i}return"object"==typeof n?this.each(function(){Q.set(this,n)}):$(this,function(e){var t;if(o&&void 0===e)return void 0!==(t=Q.get(o,n))?t:void 0!==(t=Z(o,n))?t:void 0;this.each(function(){Q.set(this,n,e)})},null,e,1<arguments.length,null,!0)},removeData:function(e){return this.each(function(){Q.remove(this,e)})}}),S.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=Y.get(e,t),n&&(!r||Array.isArray(n)?r=Y.access(e,t,S.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=S.queue(e,t),r=n.length,i=n.shift(),o=S._queueHooks(e,t);"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,function(){S.dequeue(e,t)},o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return Y.get(e,n)||Y.access(e,n,{empty:S.Callbacks("once memory").add(function(){Y.remove(e,[t+"queue",n])})})}}),S.fn.extend({queue:function(t,n){var e=2;return"string"!=typeof t&&(n=t,t="fx",e--),arguments.length<e?S.queue(this[0],t):void 0===n?this:this.each(function(){var e=S.queue(this,t,n);S._queueHooks(this,t),"fx"===t&&"inprogress"!==e[0]&&S.dequeue(this,t)})},dequeue:function(e){return this.each(function(){S.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=S.Deferred(),o=this,a=this.length,s=function(){--r||i.resolveWith(o,[o])};"string"!=typeof e&&(t=e,e=void 0),e=e||"fx";while(a--)(n=Y.get(o[a],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}});var ee=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,te=new RegExp("^(?:([+-])=|)("+ee+")([a-z%]*)$","i"),ne=["Top","Right","Bottom","Left"],re=E.documentElement,ie=function(e){return S.contains(e.ownerDocument,e)},oe={composed:!0};re.getRootNode&&(ie=function(e){return S.contains(e.ownerDocument,e)||e.getRootNode(oe)===e.ownerDocument});var ae=function(e,t){return"none"===(e=t||e).style.display||""===e.style.display&&ie(e)&&"none"===S.css(e,"display")};function se(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:function(){return S.css(e,t,"")},u=s(),l=n&&n[3]||(S.cssNumber[t]?"":"px"),c=e.nodeType&&(S.cssNumber[t]||"px"!==l&&+u)&&te.exec(S.css(e,t));if(c&&c[3]!==l){u/=2,l=l||c[3],c=+u||1;while(a--)S.style(e,t,c+l),(1-o)*(1-(o=s()/u||.5))<=0&&(a=0),c/=o;c*=2,S.style(e,t,c+l),n=n||[]}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}var ue={};function le(e,t){for(var n,r,i,o,a,s,u,l=[],c=0,f=e.length;c<f;c++)(r=e[c]).style&&(n=r.style.display,t?("none"===n&&(l[c]=Y.get(r,"display")||null,l[c]||(r.style.display="")),""===r.style.display&&ae(r)&&(l[c]=(u=a=o=void 0,a=(i=r).ownerDocument,s=i.nodeName,(u=ue[s])||(o=a.body.appendChild(a.createElement(s)),u=S.css(o,"display"),o.parentNode.removeChild(o),"none"===u&&(u="block"),ue[s]=u)))):"none"!==n&&(l[c]="none",Y.set(r,"display",n)));for(c=0;c<f;c++)null!=l[c]&&(e[c].style.display=l[c]);return e}S.fn.extend({show:function(){return le(this,!0)},hide:function(){return le(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){ae(this)?S(this).show():S(this).hide()})}});var ce,fe,pe=/^(?:checkbox|radio)$/i,de=/<([a-z][^\/\0>\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),y.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="<textarea>x</textarea>",y.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="<option></option>",y.option=!!ce.lastChild;var ge={thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n<r;n++)Y.set(e[n],"globalEval",!t||Y.get(t[n],"globalEval"))}ge.tbody=ge.tfoot=ge.colgroup=ge.caption=ge.thead,ge.th=ge.td,y.option||(ge.optgroup=ge.option=[1,"<select multiple='multiple'>","</select>"]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d<h;d++)if((o=e[d])||0===o)if("object"===w(o))S.merge(p,o.nodeType?[o]:o);else if(me.test(o)){a=a||f.appendChild(t.createElement("div")),s=(de.exec(o)||["",""])[1].toLowerCase(),u=ge[s]||ge._default,a.innerHTML=u[1]+S.htmlPrefilter(o)+u[2],c=u[0];while(c--)a=a.lastChild;S.merge(p,a.childNodes),(a=f.firstChild).textContent=""}else p.push(t.createTextNode(o));f.textContent="",d=0;while(o=p[d++])if(r&&-1<S.inArray(o,r))i&&i.push(o);else if(l=ie(o),a=ve(f.appendChild(o),"script"),l&&ye(a),n){c=0;while(o=a[c++])he.test(o.type||"")&&n.push(o)}return f}var be=/^key/,we=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Te=/^([^.]*)(?:\.(.+)|)/;function Ce(){return!0}function Ee(){return!1}function Se(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==("focus"===t)}function ke(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)ke(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Ee;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return S().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=S.guid++)),e.each(function(){S.event.add(this,t,i,r,n)})}function Ae(e,i,o){o?(Y.set(e,i,!1),S.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Y.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(S.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Y.set(this,i,r),t=o(this,i),this[i](),r!==(n=Y.get(this,i))||t?Y.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n.value}else r.length&&(Y.set(this,i,{value:S.event.trigger(S.extend(r[0],S.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Y.get(e,i)&&S.event.add(e,i,Ce)}S.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Y.get(t);if(V(t)){n.handler&&(n=(o=n).handler,i=o.selector),i&&S.find.matchesSelector(re,i),n.guid||(n.guid=S.guid++),(u=v.events)||(u=v.events=Object.create(null)),(a=v.handle)||(a=v.handle=function(e){return"undefined"!=typeof S&&S.event.triggered!==e.type?S.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(P)||[""]).length;while(l--)d=g=(s=Te.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=S.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=S.event.special[d]||{},c=S.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&S.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),S.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Y.hasData(e)&&Y.get(e);if(v&&(u=v.events)){l=(t=(t||"").match(P)||[""]).length;while(l--)if(d=g=(s=Te.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){f=S.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||S.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)S.event.remove(e,d+t[l],n,r,!0);S.isEmptyObject(u)&&Y.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=new Array(arguments.length),u=S.event.fix(e),l=(Y.get(this,"events")||Object.create(null))[u.type]||[],c=S.event.special[u.type]||{};for(s[0]=u,t=1;t<arguments.length;t++)s[t]=arguments[t];if(u.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,u)){a=S.event.handlers.call(this,u,l),t=0;while((i=a[t++])&&!u.isPropagationStopped()){u.currentTarget=i.elem,n=0;while((o=i.handlers[n++])&&!u.isImmediatePropagationStopped())u.rnamespace&&!1!==o.namespace&&!u.rnamespace.test(o.namespace)||(u.handleObj=o,u.data=o.data,void 0!==(r=((S.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,s))&&!1===(u.result=r)&&(u.preventDefault(),u.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,u),u.result}},handlers:function(e,t){var n,r,i,o,a,s=[],u=t.delegateCount,l=e.target;if(u&&l.nodeType&&!("click"===e.type&&1<=e.button))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n<u;n++)void 0===a[i=(r=t[n]).selector+" "]&&(a[i]=r.needsContext?-1<S(i,this).index(l):S.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u<t.length&&s.push({elem:l,handlers:t.slice(u)}),s},addProp:function(t,e){Object.defineProperty(S.Event.prototype,t,{enumerable:!0,configurable:!0,get:m(e)?function(){if(this.originalEvent)return e(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[t]},set:function(e){Object.defineProperty(this,t,{enumerable:!0,configurable:!0,writable:!0,value:e})}})},fix:function(e){return e[S.expando]?e:new S.Event(e)},special:{load:{noBubble:!0},click:{setup:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&Ae(t,"click",Ce),!1},trigger:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&Ae(t,"click"),!0},_default:function(e){var t=e.target;return pe.test(t.type)&&t.click&&A(t,"input")&&Y.get(t,"click")||A(t,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},S.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},S.Event=function(e,t){if(!(this instanceof S.Event))return new S.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?Ce:Ee,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&S.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[S.expando]=!0},S.Event.prototype={constructor:S.Event,isDefaultPrevented:Ee,isPropagationStopped:Ee,isImmediatePropagationStopped:Ee,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=Ce,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=Ce,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=Ce,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},S.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,"char":!0,code:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(e){var t=e.button;return null==e.which&&be.test(e.type)?null!=e.charCode?e.charCode:e.keyCode:!e.which&&void 0!==t&&we.test(e.type)?1&t?1:2&t?3:4&t?2:0:e.which}},S.event.addProp),S.each({focus:"focusin",blur:"focusout"},function(e,t){S.event.special[e]={setup:function(){return Ae(this,e,Se),!1},trigger:function(){return Ae(this,e),!0},delegateType:t}}),S.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,i){S.event.special[e]={delegateType:i,bindType:i,handle:function(e){var t,n=e.relatedTarget,r=e.handleObj;return n&&(n===this||S.contains(this,n))||(e.type=r.origType,t=r.handler.apply(this,arguments),e.type=i),t}}}),S.fn.extend({on:function(e,t,n,r){return ke(this,e,t,n,r)},one:function(e,t,n,r){return ke(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,S(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=Ee),this.each(function(){S.event.remove(this,e,n,t)})}});var Ne=/<script|<style|<link/i,De=/checked\s*(?:[^=]|=\s*.checked.)/i,je=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function qe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function Le(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function He(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Oe(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n<r;n++)S.event.add(t,i,s[i][n]);Q.hasData(e)&&(o=Q.access(e),a=S.extend({},o),Q.set(t,a))}}function Pe(n,r,i,o){r=g(r);var e,t,a,s,u,l,c=0,f=n.length,p=f-1,d=r[0],h=m(d);if(h||1<f&&"string"==typeof d&&!y.checkClone&&De.test(d))return n.each(function(e){var t=n.eq(e);h&&(r[0]=d.call(this,e,t.html())),Pe(t,r,i,o)});if(f&&(t=(e=xe(r,n[0].ownerDocument,!1,n,o)).firstChild,1===e.childNodes.length&&(e=t),t||o)){for(s=(a=S.map(ve(e,"script"),Le)).length;c<f;c++)u=e,c!==p&&(u=S.clone(u,!0,!0),s&&S.merge(a,ve(u,"script"))),i.call(n[c],u,c);if(s)for(l=a[a.length-1].ownerDocument,S.map(a,He),c=0;c<s;c++)u=a[c],he.test(u.type||"")&&!Y.access(u,"globalEval")&&S.contains(l,u)&&(u.src&&"module"!==(u.type||"").toLowerCase()?S._evalUrl&&!u.noModule&&S._evalUrl(u.src,{nonce:u.nonce||u.getAttribute("nonce")},l):b(u.textContent.replace(je,""),u,l))}return n}function Re(e,t,n){for(var r,i=t?S.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||S.cleanData(ve(r)),r.parentNode&&(n&&ie(r)&&ye(ve(r,"script")),r.parentNode.removeChild(r));return e}S.extend({htmlPrefilter:function(e){return e},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=ie(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||S.isXMLDoc(e)))for(a=ve(c),r=0,i=(o=ve(e)).length;r<i;r++)s=o[r],u=a[r],void 0,"input"===(l=u.nodeName.toLowerCase())&&pe.test(s.type)?u.checked=s.checked:"input"!==l&&"textarea"!==l||(u.defaultValue=s.defaultValue);if(t)if(n)for(o=o||ve(e),a=a||ve(c),r=0,i=o.length;r<i;r++)Oe(o[r],a[r]);else Oe(e,c);return 0<(a=ve(c,"script")).length&&ye(a,!f&&ve(e,"script")),c},cleanData:function(e){for(var t,n,r,i=S.event.special,o=0;void 0!==(n=e[o]);o++)if(V(n)){if(t=n[Y.expando]){if(t.events)for(r in t.events)i[r]?S.event.remove(n,r):S.removeEvent(n,r,t.handle);n[Y.expando]=void 0}n[Q.expando]&&(n[Q.expando]=void 0)}}}),S.fn.extend({detach:function(e){return Re(this,e,!0)},remove:function(e){return Re(this,e)},text:function(e){return $(this,function(e){return void 0===e?S.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return Pe(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||qe(this,e).appendChild(e)})},prepend:function(){return Pe(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=qe(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return Pe(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return Pe(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(S.cleanData(ve(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return S.clone(this,e,t)})},html:function(e){return $(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!Ne.test(e)&&!ge[(de.exec(e)||["",""])[1].toLowerCase()]){e=S.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(S.cleanData(ve(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var n=[];return Pe(this,arguments,function(e){var t=this.parentNode;S.inArray(this,n)<0&&(S.cleanData(ve(this)),t&&t.replaceChild(e,this))},n)}}),S.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,a){S.fn[e]=function(e){for(var t,n=[],r=S(e),i=r.length-1,o=0;o<=i;o++)t=o===i?this:this.clone(!0),S(r[o])[a](t),u.apply(n,t.get());return this.pushStack(n)}});var Me=new RegExp("^("+ee+")(?!px)[a-z%]+$","i"),Ie=function(e){var t=e.ownerDocument.defaultView;return t&&t.opener||(t=C),t.getComputedStyle(e)},We=function(e,t,n){var r,i,o={};for(i in t)o[i]=e.style[i],e.style[i]=t[i];for(i in r=n.call(e),t)e.style[i]=o[i];return r},Fe=new RegExp(ne.join("|"),"i");function Be(e,t,n){var r,i,o,a,s=e.style;return(n=n||Ie(e))&&(""!==(a=n.getPropertyValue(t)||n[t])||ie(e)||(a=S.style(e,t)),!y.pixelBoxStyles()&&Me.test(a)&&Fe.test(t)&&(r=s.width,i=s.minWidth,o=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=r,s.minWidth=i,s.maxWidth=o)),void 0!==a?a+"":a}function $e(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}!function(){function e(){if(l){u.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",l.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",re.appendChild(u).appendChild(l);var e=C.getComputedStyle(l);n="1%"!==e.top,s=12===t(e.marginLeft),l.style.right="60%",o=36===t(e.right),r=36===t(e.width),l.style.position="absolute",i=12===t(l.offsetWidth/3),re.removeChild(u),l=null}}function t(e){return Math.round(parseFloat(e))}var n,r,i,o,a,s,u=E.createElement("div"),l=E.createElement("div");l.style&&(l.style.backgroundClip="content-box",l.cloneNode(!0).style.backgroundClip="",y.clearCloneStyle="content-box"===l.style.backgroundClip,S.extend(y,{boxSizingReliable:function(){return e(),r},pixelBoxStyles:function(){return e(),o},pixelPosition:function(){return e(),n},reliableMarginLeft:function(){return e(),s},scrollboxSize:function(){return e(),i},reliableTrDimensions:function(){var e,t,n,r;return null==a&&(e=E.createElement("table"),t=E.createElement("tr"),n=E.createElement("div"),e.style.cssText="position:absolute;left:-11111px",t.style.height="1px",n.style.height="9px",re.appendChild(e).appendChild(t).appendChild(n),r=C.getComputedStyle(t),a=3<parseInt(r.height),re.removeChild(e)),a}}))}();var _e=["Webkit","Moz","ms"],ze=E.createElement("div").style,Ue={};function Xe(e){var t=S.cssProps[e]||Ue[e];return t||(e in ze?e:Ue[e]=function(e){var t=e[0].toUpperCase()+e.slice(1),n=_e.length;while(n--)if((e=_e[n]+t)in ze)return e}(e)||e)}var Ve=/^(none|table(?!-c[ea]).+)/,Ge=/^--/,Ye={position:"absolute",visibility:"hidden",display:"block"},Qe={letterSpacing:"0",fontWeight:"400"};function Je(e,t,n){var r=te.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function Ke(e,t,n,r,i,o){var a="width"===t?1:0,s=0,u=0;if(n===(r?"border":"content"))return 0;for(;a<4;a+=2)"margin"===n&&(u+=S.css(e,n+ne[a],!0,i)),r?("content"===n&&(u-=S.css(e,"padding"+ne[a],!0,i)),"margin"!==n&&(u-=S.css(e,"border"+ne[a]+"Width",!0,i))):(u+=S.css(e,"padding"+ne[a],!0,i),"padding"!==n?u+=S.css(e,"border"+ne[a]+"Width",!0,i):s+=S.css(e,"border"+ne[a]+"Width",!0,i));return!r&&0<=o&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))||0),u}function Ze(e,t,n){var r=Ie(e),i=(!y.boxSizingReliable()||n)&&"border-box"===S.css(e,"boxSizing",!1,r),o=i,a=Be(e,t,r),s="offset"+t[0].toUpperCase()+t.slice(1);if(Me.test(a)){if(!n)return a;a="auto"}return(!y.boxSizingReliable()&&i||!y.reliableTrDimensions()&&A(e,"tr")||"auto"===a||!parseFloat(a)&&"inline"===S.css(e,"display",!1,r))&&e.getClientRects().length&&(i="border-box"===S.css(e,"boxSizing",!1,r),(o=s in e)&&(a=e[s])),(a=parseFloat(a)||0)+Ke(e,t,n||(i?"border":"content"),o,r,a)+"px"}function et(e,t,n,r,i){return new et.prototype.init(e,t,n,r,i)}S.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Be(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=X(t),u=Ge.test(t),l=e.style;if(u||(t=Xe(s)),a=S.cssHooks[t]||S.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"===(o=typeof n)&&(i=te.exec(n))&&i[1]&&(n=se(e,t,i),o="number"),null!=n&&n==n&&("number"!==o||u||(n+=i&&i[3]||(S.cssNumber[s]?"":"px")),y.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=X(t);return Ge.test(t)||(t=Xe(s)),(a=S.cssHooks[t]||S.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=Be(e,t,r)),"normal"===i&&t in Qe&&(i=Qe[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),S.each(["height","width"],function(e,u){S.cssHooks[u]={get:function(e,t,n){if(t)return!Ve.test(S.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?Ze(e,u,n):We(e,Ye,function(){return Ze(e,u,n)})},set:function(e,t,n){var r,i=Ie(e),o=!y.scrollboxSize()&&"absolute"===i.position,a=(o||n)&&"border-box"===S.css(e,"boxSizing",!1,i),s=n?Ke(e,u,n,a,i):0;return a&&o&&(s-=Math.ceil(e["offset"+u[0].toUpperCase()+u.slice(1)]-parseFloat(i[u])-Ke(e,u,"border",!1,i)-.5)),s&&(r=te.exec(t))&&"px"!==(r[3]||"px")&&(e.style[u]=t,t=S.css(e,u)),Je(0,t,s)}}}),S.cssHooks.marginLeft=$e(y.reliableMarginLeft,function(e,t){if(t)return(parseFloat(Be(e,"marginLeft"))||e.getBoundingClientRect().left-We(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),S.each({margin:"",padding:"",border:"Width"},function(i,o){S.cssHooks[i+o]={expand:function(e){for(var t=0,n={},r="string"==typeof e?e.split(" "):[e];t<4;t++)n[i+ne[t]+o]=r[t]||r[t-2]||r[0];return n}},"margin"!==i&&(S.cssHooks[i+o].set=Je)}),S.fn.extend({css:function(e,t){return $(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=Ie(e),i=t.length;a<i;a++)o[t[a]]=S.css(e,t[a],!1,r);return o}return void 0!==n?S.style(e,t,n):S.css(e,t)},e,t,1<arguments.length)}}),((S.Tween=et).prototype={constructor:et,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||S.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(S.cssNumber[n]?"":"px")},cur:function(){var e=et.propHooks[this.prop];return e&&e.get?e.get(this):et.propHooks._default.get(this)},run:function(e){var t,n=et.propHooks[this.prop];return this.options.duration?this.pos=t=S.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):et.propHooks._default.set(this),this}}).init.prototype=et.prototype,(et.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=S.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){S.fx.step[e.prop]?S.fx.step[e.prop](e):1!==e.elem.nodeType||!S.cssHooks[e.prop]&&null==e.elem.style[Xe(e.prop)]?e.elem[e.prop]=e.now:S.style(e.elem,e.prop,e.now+e.unit)}}}).scrollTop=et.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},S.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},S.fx=et.prototype.init,S.fx.step={};var tt,nt,rt,it,ot=/^(?:toggle|show|hide)$/,at=/queueHooks$/;function st(){nt&&(!1===E.hidden&&C.requestAnimationFrame?C.requestAnimationFrame(st):C.setTimeout(st,S.fx.interval),S.fx.tick())}function ut(){return C.setTimeout(function(){tt=void 0}),tt=Date.now()}function lt(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=ne[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function ct(e,t,n){for(var r,i=(ft.tweeners[t]||[]).concat(ft.tweeners["*"]),o=0,a=i.length;o<a;o++)if(r=i[o].call(n,t,e))return r}function ft(o,e,t){var n,a,r=0,i=ft.prefilters.length,s=S.Deferred().always(function(){delete u.elem}),u=function(){if(a)return!1;for(var e=tt||ut(),t=Math.max(0,l.startTime+l.duration-e),n=1-(t/l.duration||0),r=0,i=l.tweens.length;r<i;r++)l.tweens[r].run(n);return s.notifyWith(o,[l,n,t]),n<1&&i?t:(i||s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l]),!1)},l=s.promise({elem:o,props:S.extend({},e),opts:S.extend(!0,{specialEasing:{},easing:S.easing._default},t),originalProperties:e,originalOptions:t,startTime:tt||ut(),duration:t.duration,tweens:[],createTween:function(e,t){var n=S.Tween(o,l.opts,e,t,l.opts.specialEasing[e]||l.opts.easing);return l.tweens.push(n),n},stop:function(e){var t=0,n=e?l.tweens.length:0;if(a)return this;for(a=!0;t<n;t++)l.tweens[t].run(1);return e?(s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l,e])):s.rejectWith(o,[l,e]),this}}),c=l.props;for(!function(e,t){var n,r,i,o,a;for(n in e)if(i=t[r=X(n)],o=e[n],Array.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),(a=S.cssHooks[r])&&"expand"in a)for(n in o=a.expand(o),delete e[r],o)n in e||(e[n]=o[n],t[n]=i);else t[r]=i}(c,l.opts.specialEasing);r<i;r++)if(n=ft.prefilters[r].call(l,o,c,l.opts))return m(n.stop)&&(S._queueHooks(l.elem,l.opts.queue).stop=n.stop.bind(n)),n;return S.map(c,ct,l),m(l.opts.start)&&l.opts.start.call(o,l),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always),S.fx.timer(S.extend(u,{elem:o,anim:l,queue:l.opts.queue})),l}S.Animation=S.extend(ft,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return se(n.elem,e,te.exec(t),n),n}]},tweener:function(e,t){m(e)?(t=e,e=["*"]):e=e.match(P);for(var n,r=0,i=e.length;r<i;r++)n=e[r],ft.tweeners[n]=ft.tweeners[n]||[],ft.tweeners[n].unshift(t)},prefilters:[function(e,t,n){var r,i,o,a,s,u,l,c,f="width"in t||"height"in t,p=this,d={},h=e.style,g=e.nodeType&&ae(e),v=Y.get(e,"fxshow");for(r in n.queue||(null==(a=S._queueHooks(e,"fx")).unqueued&&(a.unqueued=0,s=a.empty.fire,a.empty.fire=function(){a.unqueued||s()}),a.unqueued++,p.always(function(){p.always(function(){a.unqueued--,S.queue(e,"fx").length||a.empty.fire()})})),t)if(i=t[r],ot.test(i)){if(delete t[r],o=o||"toggle"===i,i===(g?"hide":"show")){if("show"!==i||!v||void 0===v[r])continue;g=!0}d[r]=v&&v[r]||S.style(e,r)}if((u=!S.isEmptyObject(t))||!S.isEmptyObject(d))for(r in f&&1===e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],null==(l=v&&v.display)&&(l=Y.get(e,"display")),"none"===(c=S.css(e,"display"))&&(l?c=l:(le([e],!0),l=e.style.display||l,c=S.css(e,"display"),le([e]))),("inline"===c||"inline-block"===c&&null!=l)&&"none"===S.css(e,"float")&&(u||(p.done(function(){h.display=l}),null==l&&(c=h.display,l="none"===c?"":c)),h.display="inline-block")),n.overflow&&(h.overflow="hidden",p.always(function(){h.overflow=n.overflow[0],h.overflowX=n.overflow[1],h.overflowY=n.overflow[2]})),u=!1,d)u||(v?"hidden"in v&&(g=v.hidden):v=Y.access(e,"fxshow",{display:l}),o&&(v.hidden=!g),g&&le([e],!0),p.done(function(){for(r in g||le([e]),Y.remove(e,"fxshow"),d)S.style(e,r,d[r])})),u=ct(g?v[r]:0,r,p),r in v||(v[r]=u.start,g&&(u.end=u.start,u.start=0))}],prefilter:function(e,t){t?ft.prefilters.unshift(e):ft.prefilters.push(e)}}),S.speed=function(e,t,n){var r=e&&"object"==typeof e?S.extend({},e):{complete:n||!n&&t||m(e)&&e,duration:e,easing:n&&t||t&&!m(t)&&t};return S.fx.off?r.duration=0:"number"!=typeof r.duration&&(r.duration in S.fx.speeds?r.duration=S.fx.speeds[r.duration]:r.duration=S.fx.speeds._default),null!=r.queue&&!0!==r.queue||(r.queue="fx"),r.old=r.complete,r.complete=function(){m(r.old)&&r.old.call(this),r.queue&&S.dequeue(this,r.queue)},r},S.fn.extend({fadeTo:function(e,t,n,r){return this.filter(ae).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(t,e,n,r){var i=S.isEmptyObject(t),o=S.speed(e,n,r),a=function(){var e=ft(this,S.extend({},t),o);(i||Y.get(this,"finish"))&&e.stop(!0)};return a.finish=a,i||!1===o.queue?this.each(a):this.queue(o.queue,a)},stop:function(i,e,o){var a=function(e){var t=e.stop;delete e.stop,t(o)};return"string"!=typeof i&&(o=e,e=i,i=void 0),e&&this.queue(i||"fx",[]),this.each(function(){var e=!0,t=null!=i&&i+"queueHooks",n=S.timers,r=Y.get(this);if(t)r[t]&&r[t].stop&&a(r[t]);else for(t in r)r[t]&&r[t].stop&&at.test(t)&&a(r[t]);for(t=n.length;t--;)n[t].elem!==this||null!=i&&n[t].queue!==i||(n[t].anim.stop(o),e=!1,n.splice(t,1));!e&&o||S.dequeue(this,i)})},finish:function(a){return!1!==a&&(a=a||"fx"),this.each(function(){var e,t=Y.get(this),n=t[a+"queue"],r=t[a+"queueHooks"],i=S.timers,o=n?n.length:0;for(t.finish=!0,S.queue(this,a,[]),r&&r.stop&&r.stop.call(this,!0),e=i.length;e--;)i[e].elem===this&&i[e].queue===a&&(i[e].anim.stop(!0),i.splice(e,1));for(e=0;e<o;e++)n[e]&&n[e].finish&&n[e].finish.call(this);delete t.finish})}}),S.each(["toggle","show","hide"],function(e,r){var i=S.fn[r];S.fn[r]=function(e,t,n){return null==e||"boolean"==typeof e?i.apply(this,arguments):this.animate(lt(r,!0),e,t,n)}}),S.each({slideDown:lt("show"),slideUp:lt("hide"),slideToggle:lt("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,r){S.fn[e]=function(e,t,n){return this.animate(r,e,t,n)}}),S.timers=[],S.fx.tick=function(){var e,t=0,n=S.timers;for(tt=Date.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||S.fx.stop(),tt=void 0},S.fx.timer=function(e){S.timers.push(e),S.fx.start()},S.fx.interval=13,S.fx.start=function(){nt||(nt=!0,st())},S.fx.stop=function(){nt=null},S.fx.speeds={slow:600,fast:200,_default:400},S.fn.delay=function(r,e){return r=S.fx&&S.fx.speeds[r]||r,e=e||"fx",this.queue(e,function(e,t){var n=C.setTimeout(e,r);t.stop=function(){C.clearTimeout(n)}})},rt=E.createElement("input"),it=E.createElement("select").appendChild(E.createElement("option")),rt.type="checkbox",y.checkOn=""!==rt.value,y.optSelected=it.selected,(rt=E.createElement("input")).value="t",rt.type="radio",y.radioValue="t"===rt.value;var pt,dt=S.expr.attrHandle;S.fn.extend({attr:function(e,t){return $(this,S.attr,e,t,1<arguments.length)},removeAttr:function(e){return this.each(function(){S.removeAttr(this,e)})}}),S.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return"undefined"==typeof e.getAttribute?S.prop(e,t,n):(1===o&&S.isXMLDoc(e)||(i=S.attrHooks[t.toLowerCase()]||(S.expr.match.bool.test(t)?pt:void 0)),void 0!==n?null===n?void S.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=S.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!y.radioValue&&"radio"===t&&A(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(P);if(i&&1===e.nodeType)while(n=i[r++])e.removeAttribute(n)}}),pt={set:function(e,t,n){return!1===t?S.removeAttr(e,n):e.setAttribute(n,n),n}},S.each(S.expr.match.bool.source.match(/\w+/g),function(e,t){var a=dt[t]||S.find.attr;dt[t]=function(e,t,n){var r,i,o=t.toLowerCase();return n||(i=dt[o],dt[o]=r,r=null!=a(e,t,n)?o:null,dt[o]=i),r}});var ht=/^(?:input|select|textarea|button)$/i,gt=/^(?:a|area)$/i;function vt(e){return(e.match(P)||[]).join(" ")}function yt(e){return e.getAttribute&&e.getAttribute("class")||""}function mt(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(P)||[]}S.fn.extend({prop:function(e,t){return $(this,S.prop,e,t,1<arguments.length)},removeProp:function(e){return this.each(function(){delete this[S.propFix[e]||e]})}}),S.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&S.isXMLDoc(e)||(t=S.propFix[t]||t,i=S.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=S.find.attr(e,"tabindex");return t?parseInt(t,10):ht.test(e.nodeName)||gt.test(e.nodeName)&&e.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),y.optSelected||(S.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),S.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){S.propFix[this.toLowerCase()]=this}),S.fn.extend({addClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){S(this).addClass(t.call(this,e,yt(this)))});if((e=mt(t)).length)while(n=this[u++])if(i=yt(n),r=1===n.nodeType&&" "+vt(i)+" "){a=0;while(o=e[a++])r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(s=vt(r))&&n.setAttribute("class",s)}return this},removeClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){S(this).removeClass(t.call(this,e,yt(this)))});if(!arguments.length)return this.attr("class","");if((e=mt(t)).length)while(n=this[u++])if(i=yt(n),r=1===n.nodeType&&" "+vt(i)+" "){a=0;while(o=e[a++])while(-1<r.indexOf(" "+o+" "))r=r.replace(" "+o+" "," ");i!==(s=vt(r))&&n.setAttribute("class",s)}return this},toggleClass:function(i,t){var o=typeof i,a="string"===o||Array.isArray(i);return"boolean"==typeof t&&a?t?this.addClass(i):this.removeClass(i):m(i)?this.each(function(e){S(this).toggleClass(i.call(this,e,yt(this),t),t)}):this.each(function(){var e,t,n,r;if(a){t=0,n=S(this),r=mt(i);while(e=r[t++])n.hasClass(e)?n.removeClass(e):n.addClass(e)}else void 0!==i&&"boolean"!==o||((e=yt(this))&&Y.set(this,"__className__",e),this.setAttribute&&this.setAttribute("class",e||!1===i?"":Y.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;t=" "+e+" ";while(n=this[r++])if(1===n.nodeType&&-1<(" "+vt(yt(n))+" ").indexOf(t))return!0;return!1}});var xt=/\r/g;S.fn.extend({val:function(n){var r,e,i,t=this[0];return arguments.length?(i=m(n),this.each(function(e){var t;1===this.nodeType&&(null==(t=i?n.call(this,e,S(this).val()):n)?t="":"number"==typeof t?t+="":Array.isArray(t)&&(t=S.map(t,function(e){return null==e?"":e+""})),(r=S.valHooks[this.type]||S.valHooks[this.nodeName.toLowerCase()])&&"set"in r&&void 0!==r.set(this,t,"value")||(this.value=t))})):t?(r=S.valHooks[t.type]||S.valHooks[t.nodeName.toLowerCase()])&&"get"in r&&void 0!==(e=r.get(t,"value"))?e:"string"==typeof(e=t.value)?e.replace(xt,""):null==e?"":e:void 0}}),S.extend({valHooks:{option:{get:function(e){var t=S.find.attr(e,"value");return null!=t?t:vt(S.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r<u;r++)if(((n=i[r]).selected||r===o)&&!n.disabled&&(!n.parentNode.disabled||!A(n.parentNode,"optgroup"))){if(t=S(n).val(),a)return t;s.push(t)}return s},set:function(e,t){var n,r,i=e.options,o=S.makeArray(t),a=i.length;while(a--)((r=i[a]).selected=-1<S.inArray(S.valHooks.option.get(r),o))&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),S.each(["radio","checkbox"],function(){S.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=-1<S.inArray(S(e).val(),t)}},y.checkOn||(S.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),y.focusin="onfocusin"in C;var bt=/^(?:focusinfocus|focusoutblur)$/,wt=function(e){e.stopPropagation()};S.extend(S.event,{trigger:function(e,t,n,r){var i,o,a,s,u,l,c,f,p=[n||E],d=v.call(e,"type")?e.type:e,h=v.call(e,"namespace")?e.namespace.split("."):[];if(o=f=a=n=n||E,3!==n.nodeType&&8!==n.nodeType&&!bt.test(d+S.event.triggered)&&(-1<d.indexOf(".")&&(d=(h=d.split(".")).shift(),h.sort()),u=d.indexOf(":")<0&&"on"+d,(e=e[S.expando]?e:new S.Event(d,"object"==typeof e&&e)).isTrigger=r?2:3,e.namespace=h.join("."),e.rnamespace=e.namespace?new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=n),t=null==t?[e]:S.makeArray(t,[e]),c=S.event.special[d]||{},r||!c.trigger||!1!==c.trigger.apply(n,t))){if(!r&&!c.noBubble&&!x(n)){for(s=c.delegateType||d,bt.test(s+d)||(o=o.parentNode);o;o=o.parentNode)p.push(o),a=o;a===(n.ownerDocument||E)&&p.push(a.defaultView||a.parentWindow||C)}i=0;while((o=p[i++])&&!e.isPropagationStopped())f=o,e.type=1<i?s:c.bindType||d,(l=(Y.get(o,"events")||Object.create(null))[e.type]&&Y.get(o,"handle"))&&l.apply(o,t),(l=u&&o[u])&&l.apply&&V(o)&&(e.result=l.apply(o,t),!1===e.result&&e.preventDefault());return e.type=d,r||e.isDefaultPrevented()||c._default&&!1!==c._default.apply(p.pop(),t)||!V(n)||u&&m(n[d])&&!x(n)&&((a=n[u])&&(n[u]=null),S.event.triggered=d,e.isPropagationStopped()&&f.addEventListener(d,wt),n[d](),e.isPropagationStopped()&&f.removeEventListener(d,wt),S.event.triggered=void 0,a&&(n[u]=a)),e.result}},simulate:function(e,t,n){var r=S.extend(new S.Event,n,{type:e,isSimulated:!0});S.event.trigger(r,null,t)}}),S.fn.extend({trigger:function(e,t){return this.each(function(){S.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return S.event.trigger(e,t,n,!0)}}),y.focusin||S.each({focus:"focusin",blur:"focusout"},function(n,r){var i=function(e){S.event.simulate(r,e.target,S.event.fix(e))};S.event.special[r]={setup:function(){var e=this.ownerDocument||this.document||this,t=Y.access(e,r);t||e.addEventListener(n,i,!0),Y.access(e,r,(t||0)+1)},teardown:function(){var e=this.ownerDocument||this.document||this,t=Y.access(e,r)-1;t?Y.access(e,r,t):(e.removeEventListener(n,i,!0),Y.remove(e,r))}}});var Tt=C.location,Ct={guid:Date.now()},Et=/\?/;S.parseXML=function(e){var t;if(!e||"string"!=typeof e)return null;try{t=(new C.DOMParser).parseFromString(e,"text/xml")}catch(e){t=void 0}return t&&!t.getElementsByTagName("parsererror").length||S.error("Invalid XML: "+e),t};var St=/\[\]$/,kt=/\r?\n/g,At=/^(?:submit|button|image|reset|file)$/i,Nt=/^(?:input|select|textarea|keygen)/i;function Dt(n,e,r,i){var t;if(Array.isArray(e))S.each(e,function(e,t){r||St.test(n)?i(n,t):Dt(n+"["+("object"==typeof t&&null!=t?e:"")+"]",t,r,i)});else if(r||"object"!==w(e))i(n,e);else for(t in e)Dt(n+"["+t+"]",e[t],r,i)}S.param=function(e,t){var n,r=[],i=function(e,t){var n=m(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(null==e)return"";if(Array.isArray(e)||e.jquery&&!S.isPlainObject(e))S.each(e,function(){i(this.name,this.value)});else for(n in e)Dt(n,e[n],t,i);return r.join("&")},S.fn.extend({serialize:function(){return S.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=S.prop(this,"elements");return e?S.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!S(this).is(":disabled")&&Nt.test(this.nodeName)&&!At.test(e)&&(this.checked||!pe.test(e))}).map(function(e,t){var n=S(this).val();return null==n?null:Array.isArray(n)?S.map(n,function(e){return{name:t.name,value:e.replace(kt,"\r\n")}}):{name:t.name,value:n.replace(kt,"\r\n")}}).get()}});var jt=/%20/g,qt=/#.*$/,Lt=/([?&])_=[^&]*/,Ht=/^(.*?):[ \t]*([^\r\n]*)$/gm,Ot=/^(?:GET|HEAD)$/,Pt=/^\/\//,Rt={},Mt={},It="*/".concat("*"),Wt=E.createElement("a");function Ft(o){return function(e,t){"string"!=typeof e&&(t=e,e="*");var n,r=0,i=e.toLowerCase().match(P)||[];if(m(t))while(n=i[r++])"+"===n[0]?(n=n.slice(1)||"*",(o[n]=o[n]||[]).unshift(t)):(o[n]=o[n]||[]).push(t)}}function Bt(t,i,o,a){var s={},u=t===Mt;function l(e){var r;return s[e]=!0,S.each(t[e]||[],function(e,t){var n=t(i,o,a);return"string"!=typeof n||u||s[n]?u?!(r=n):void 0:(i.dataTypes.unshift(n),l(n),!1)}),r}return l(i.dataTypes[0])||!s["*"]&&l("*")}function $t(e,t){var n,r,i=S.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&S.extend(!0,e,r),e}Wt.href=Tt.href,S.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Tt.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(Tt.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":It,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":S.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?$t($t(e,S.ajaxSettings),t):$t(S.ajaxSettings,e)},ajaxPrefilter:Ft(Rt),ajaxTransport:Ft(Mt),ajax:function(e,t){"object"==typeof e&&(t=e,e=void 0),t=t||{};var c,f,p,n,d,r,h,g,i,o,v=S.ajaxSetup({},t),y=v.context||v,m=v.context&&(y.nodeType||y.jquery)?S(y):S.event,x=S.Deferred(),b=S.Callbacks("once memory"),w=v.statusCode||{},a={},s={},u="canceled",T={readyState:0,getResponseHeader:function(e){var t;if(h){if(!n){n={};while(t=Ht.exec(p))n[t[1].toLowerCase()+" "]=(n[t[1].toLowerCase()+" "]||[]).concat(t[2])}t=n[e.toLowerCase()+" "]}return null==t?null:t.join(", ")},getAllResponseHeaders:function(){return h?p:null},setRequestHeader:function(e,t){return null==h&&(e=s[e.toLowerCase()]=s[e.toLowerCase()]||e,a[e]=t),this},overrideMimeType:function(e){return null==h&&(v.mimeType=e),this},statusCode:function(e){var t;if(e)if(h)T.always(e[T.status]);else for(t in e)w[t]=[w[t],e[t]];return this},abort:function(e){var t=e||u;return c&&c.abort(t),l(0,t),this}};if(x.promise(T),v.url=((e||v.url||Tt.href)+"").replace(Pt,Tt.protocol+"//"),v.type=t.method||t.type||v.method||v.type,v.dataTypes=(v.dataType||"*").toLowerCase().match(P)||[""],null==v.crossDomain){r=E.createElement("a");try{r.href=v.url,r.href=r.href,v.crossDomain=Wt.protocol+"//"+Wt.host!=r.protocol+"//"+r.host}catch(e){v.crossDomain=!0}}if(v.data&&v.processData&&"string"!=typeof v.data&&(v.data=S.param(v.data,v.traditional)),Bt(Rt,v,t,T),h)return T;for(i in(g=S.event&&v.global)&&0==S.active++&&S.event.trigger("ajaxStart"),v.type=v.type.toUpperCase(),v.hasContent=!Ot.test(v.type),f=v.url.replace(qt,""),v.hasContent?v.data&&v.processData&&0===(v.contentType||"").indexOf("application/x-www-form-urlencoded")&&(v.data=v.data.replace(jt,"+")):(o=v.url.slice(f.length),v.data&&(v.processData||"string"==typeof v.data)&&(f+=(Et.test(f)?"&":"?")+v.data,delete v.data),!1===v.cache&&(f=f.replace(Lt,"$1"),o=(Et.test(f)?"&":"?")+"_="+Ct.guid+++o),v.url=f+o),v.ifModified&&(S.lastModified[f]&&T.setRequestHeader("If-Modified-Since",S.lastModified[f]),S.etag[f]&&T.setRequestHeader("If-None-Match",S.etag[f])),(v.data&&v.hasContent&&!1!==v.contentType||t.contentType)&&T.setRequestHeader("Content-Type",v.contentType),T.setRequestHeader("Accept",v.dataTypes[0]&&v.accepts[v.dataTypes[0]]?v.accepts[v.dataTypes[0]]+("*"!==v.dataTypes[0]?", "+It+"; q=0.01":""):v.accepts["*"]),v.headers)T.setRequestHeader(i,v.headers[i]);if(v.beforeSend&&(!1===v.beforeSend.call(y,T,v)||h))return T.abort();if(u="abort",b.add(v.complete),T.done(v.success),T.fail(v.error),c=Bt(Mt,v,t,T)){if(T.readyState=1,g&&m.trigger("ajaxSend",[T,v]),h)return T;v.async&&0<v.timeout&&(d=C.setTimeout(function(){T.abort("timeout")},v.timeout));try{h=!1,c.send(a,l)}catch(e){if(h)throw e;l(-1,e)}}else l(-1,"No Transport");function l(e,t,n,r){var i,o,a,s,u,l=t;h||(h=!0,d&&C.clearTimeout(d),c=void 0,p=r||"",T.readyState=0<e?4:0,i=200<=e&&e<300||304===e,n&&(s=function(e,t,n){var r,i,o,a,s=e.contents,u=e.dataTypes;while("*"===u[0])u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}(v,T,n)),!i&&-1<S.inArray("script",v.dataTypes)&&(v.converters["text script"]=function(){}),s=function(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];o=c.shift();while(o)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(!(a=l[u+" "+o]||l["* "+o]))for(i in l)if((s=i.split(" "))[1]===o&&(a=l[u+" "+s[0]]||l["* "+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e["throws"])t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}(v,s,T,i),i?(v.ifModified&&((u=T.getResponseHeader("Last-Modified"))&&(S.lastModified[f]=u),(u=T.getResponseHeader("etag"))&&(S.etag[f]=u)),204===e||"HEAD"===v.type?l="nocontent":304===e?l="notmodified":(l=s.state,o=s.data,i=!(a=s.error))):(a=l,!e&&l||(l="error",e<0&&(e=0))),T.status=e,T.statusText=(t||l)+"",i?x.resolveWith(y,[o,l,T]):x.rejectWith(y,[T,l,a]),T.statusCode(w),w=void 0,g&&m.trigger(i?"ajaxSuccess":"ajaxError",[T,v,i?o:a]),b.fireWith(y,[T,l]),g&&(m.trigger("ajaxComplete",[T,v]),--S.active||S.event.trigger("ajaxStop")))}return T},getJSON:function(e,t,n){return S.get(e,t,n,"json")},getScript:function(e,t){return S.get(e,void 0,t,"script")}}),S.each(["get","post"],function(e,i){S[i]=function(e,t,n,r){return m(t)&&(r=r||n,n=t,t=void 0),S.ajax(S.extend({url:e,type:i,dataType:r,data:t,success:n},S.isPlainObject(e)&&e))}}),S.ajaxPrefilter(function(e){var t;for(t in e.headers)"content-type"===t.toLowerCase()&&(e.contentType=e.headers[t]||"")}),S._evalUrl=function(e,t,n){return S.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(e){S.globalEval(e,t,n)}})},S.fn.extend({wrapAll:function(e){var t;return this[0]&&(m(e)&&(e=e.call(this[0])),t=S(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstElementChild)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(n){return m(n)?this.each(function(e){S(this).wrapInner(n.call(this,e))}):this.each(function(){var e=S(this),t=e.contents();t.length?t.wrapAll(n):e.append(n)})},wrap:function(t){var n=m(t);return this.each(function(e){S(this).wrapAll(n?t.call(this,e):t)})},unwrap:function(e){return this.parent(e).not("body").each(function(){S(this).replaceWith(this.childNodes)}),this}}),S.expr.pseudos.hidden=function(e){return!S.expr.pseudos.visible(e)},S.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},S.ajaxSettings.xhr=function(){try{return new C.XMLHttpRequest}catch(e){}};var _t={0:200,1223:204},zt=S.ajaxSettings.xhr();y.cors=!!zt&&"withCredentials"in zt,y.ajax=zt=!!zt,S.ajaxTransport(function(i){var o,a;if(y.cors||zt&&!i.crossDomain)return{send:function(e,t){var n,r=i.xhr();if(r.open(i.type,i.url,i.async,i.username,i.password),i.xhrFields)for(n in i.xhrFields)r[n]=i.xhrFields[n];for(n in i.mimeType&&r.overrideMimeType&&r.overrideMimeType(i.mimeType),i.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest"),e)r.setRequestHeader(n,e[n]);o=function(e){return function(){o&&(o=a=r.onload=r.onerror=r.onabort=r.ontimeout=r.onreadystatechange=null,"abort"===e?r.abort():"error"===e?"number"!=typeof r.status?t(0,"error"):t(r.status,r.statusText):t(_t[r.status]||r.status,r.statusText,"text"!==(r.responseType||"text")||"string"!=typeof r.responseText?{binary:r.response}:{text:r.responseText},r.getAllResponseHeaders()))}},r.onload=o(),a=r.onerror=r.ontimeout=o("error"),void 0!==r.onabort?r.onabort=a:r.onreadystatechange=function(){4===r.readyState&&C.setTimeout(function(){o&&a()})},o=o("abort");try{r.send(i.hasContent&&i.data||null)}catch(e){if(o)throw e}},abort:function(){o&&o()}}}),S.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),S.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return S.globalEval(e),e}}}),S.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),S.ajaxTransport("script",function(n){var r,i;if(n.crossDomain||n.scriptAttrs)return{send:function(e,t){r=S("<script>").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Ut,Xt=[],Vt=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Xt.pop()||S.expando+"_"+Ct.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Vt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Vt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Vt,"$1"+r):!1!==e.jsonp&&(e.url+=(Et.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Xt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Ut=E.implementation.createHTMLDocument("").body).innerHTML="<form></form><form></form>",2===Ut.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1<s&&(r=vt(e.slice(s)),e=e.slice(0,s)),m(t)?(n=t,t=void 0):t&&"object"==typeof t&&(i="POST"),0<a.length&&S.ajax({url:e,type:i||"GET",dataType:"html",data:t}).done(function(e){o=arguments,a.html(r?S("<div>").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):("number"==typeof f.top&&(f.top+="px"),"number"==typeof f.left&&(f.left+="px"),c.css(f))}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=$e(y.pixelPosition,function(e,t){if(t)return t=Be(e,n),Me.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return $(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){S.fn[n]=function(e,t){return 0<arguments.length?this.on(n,null,e,t):this.trigger(n)}});var Gt=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;S.proxy=function(e,t){var n,r,i;if("string"==typeof t&&(n=e[t],t=e,e=n),m(e))return r=s.call(arguments,2),(i=function(){return e.apply(t||this,r.concat(s.call(arguments)))}).guid=e.guid=e.guid||S.guid++,i},S.holdReady=function(e){e?S.readyWait++:S.ready(!0)},S.isArray=Array.isArray,S.parseJSON=JSON.parse,S.nodeName=A,S.isFunction=m,S.isWindow=x,S.camelCase=X,S.type=w,S.now=Date.now,S.isNumeric=function(e){var t=S.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},S.trim=function(e){return null==e?"":(e+"").replace(Gt,"")},"function"==typeof define&&define.amd&&define("jquery",[],function(){return S});var Yt=C.jQuery,Qt=C.$;return S.noConflict=function(e){return C.$===S&&(C.$=Qt),e&&C.jQuery===S&&(C.jQuery=Yt),S},"undefined"==typeof e&&(C.jQuery=C.$=S),S});
diff --git a/javadoc/script-dir/jquery-ui.min.css b/javadoc/script-dir/jquery-ui.min.css
new file mode 100644
index 0000000..6be72f5
--- /dev/null
+++ b/javadoc/script-dir/jquery-ui.min.css
@@ -0,0 +1,7 @@
+/*! jQuery UI - v1.12.1 - 2018-12-06
+* http://jqueryui.com
+* Includes: core.css, autocomplete.css, menu.css, theme.css
+* To view and modify this theme, visit http://jqueryui.com/themeroller/?scope=&folderName=custom-theme&bgImgOpacityError=95&bgImgOpacityHighlight=55&bgImgOpacityActive=65&bgImgOpacityHover=75&bgImgOpacityDefault=75&bgImgOpacityContent=75&bgImgOpacityHeader=75&cornerRadiusShadow=8px&offsetLeftShadow=-8px&offsetTopShadow=-8px&thicknessShadow=8px&opacityShadow=30&bgImgOpacityShadow=0&bgTextureShadow=flat&bgColorShadow=%23aaaaaa&opacityOverlay=30&bgImgOpacityOverlay=0&bgTextureOverlay=flat&bgColorOverlay=%23aaaaaa&iconColorError=%23cd0a0a&fcError=%23cd0a0a&borderColorError=%23cd0a0a&bgTextureError=glass&bgColorError=%23fef1ec&iconColorHighlight=%232e83ff&fcHighlight=%23363636&borderColorHighlight=%23fcefa1&bgTextureHighlight=glass&bgColorHighlight=%23fbf9ee&iconColorActive=%23454545&fcActive=%23212121&borderColorActive=%23aaaaaa&bgTextureActive=glass&bgColorActive=%23dadada&iconColorHover=%23454545&fcHover=%23212121&borderColorHover=%23999999&bgTextureHover=glass&bgColorHover=%23dadada&iconColorDefault=%23888888&fcDefault=%23555555&borderColorDefault=%23d3d3d3&bgTextureDefault=glass&bgColorDefault=%23e6e6e6&iconColorContent=%23222222&fcContent=%23222222&borderColorContent=%23aaaaaa&bgTextureContent=flat&bgColorContent=%23ffffff&iconColorHeader=%23222222&fcHeader=%23222222&borderColorHeader=%23aaaaaa&bgTextureHeader=highlight_soft&bgColorHeader=%23cccccc&cornerRadius=4px&fwDefault=normal&fsDefault=1.1em&ffDefault=Verdana%2CArial%2Csans-serif
+* Copyright jQuery Foundation and other contributors; Licensed MIT */
+
+.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:before,.ui-helper-clearfix:after{content:"";display:table;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.ui-front{z-index:100}.ui-state-disabled{cursor:default!important;pointer-events:none}.ui-icon{display:inline-block;vertical-align:middle;margin-top:-.25em;position:relative;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-icon-block{left:50%;margin-left:-8px;display:block}.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.ui-autocomplete{position:absolute;top:0;left:0;cursor:default}.ui-menu{list-style:none;padding:0;margin:0;display:block;outline:0}.ui-menu .ui-menu{position:absolute}.ui-menu .ui-menu-item{margin:0;cursor:pointer;list-style-image:url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7")}.ui-menu .ui-menu-item-wrapper{position:relative;padding:3px 1em 3px .4em}.ui-menu .ui-menu-divider{margin:5px 0;height:0;font-size:0;line-height:0;border-width:1px 0 0 0}.ui-menu .ui-state-focus,.ui-menu .ui-state-active{margin:-1px}.ui-menu-icons{position:relative}.ui-menu-icons .ui-menu-item-wrapper{padding-left:2em}.ui-menu .ui-icon{position:absolute;top:0;bottom:0;left:.2em;margin:auto 0}.ui-menu .ui-menu-icon{left:auto;right:0}.ui-widget{font-family:Verdana,Arial,sans-serif;font-size:1.1em}.ui-widget .ui-widget{font-size:1em}.ui-widget input,.ui-widget select,.ui-widget textarea,.ui-widget button{font-family:Verdana,Arial,sans-serif;font-size:1em}.ui-widget.ui-widget-content{border:1px solid #d3d3d3}.ui-widget-content{border:1px solid #aaa;background:#fff;color:#222}.ui-widget-content a{color:#222}.ui-widget-header{border:1px solid #aaa;background:#ccc url("images/ui-bg_highlight-soft_75_cccccc_1x100.png") 50% 50% repeat-x;color:#222;font-weight:bold}.ui-widget-header a{color:#222}.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .ui-state-default,.ui-button,html .ui-button.ui-state-disabled:hover,html .ui-button.ui-state-disabled:active{border:1px solid #d3d3d3;background:#e6e6e6 url("images/ui-bg_glass_75_e6e6e6_1x400.png") 50% 50% repeat-x;font-weight:normal;color:#555}.ui-state-default a,.ui-state-default a:link,.ui-state-default a:visited,a.ui-button,a:link.ui-button,a:visited.ui-button,.ui-button{color:#555;text-decoration:none}.ui-state-hover,.ui-widget-content .ui-state-hover,.ui-widget-header .ui-state-hover,.ui-state-focus,.ui-widget-content .ui-state-focus,.ui-widget-header .ui-state-focus,.ui-button:hover,.ui-button:focus{border:1px solid #999;background:#dadada url("images/ui-bg_glass_75_dadada_1x400.png") 50% 50% repeat-x;font-weight:normal;color:#212121}.ui-state-hover a,.ui-state-hover a:hover,.ui-state-hover a:link,.ui-state-hover a:visited,.ui-state-focus a,.ui-state-focus a:hover,.ui-state-focus a:link,.ui-state-focus a:visited,a.ui-button:hover,a.ui-button:focus{color:#212121;text-decoration:none}.ui-visual-focus{box-shadow:0 0 3px 1px rgb(94,158,214)}.ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active,a.ui-button:active,.ui-button:active,.ui-button.ui-state-active:hover{border:1px solid #aaa;background:#dadada url("images/ui-bg_glass_65_dadada_1x400.png") 50% 50% repeat-x;font-weight:normal;color:#212121}.ui-icon-background,.ui-state-active .ui-icon-background{border:#aaa;background-color:#212121}.ui-state-active a,.ui-state-active a:link,.ui-state-active a:visited{color:#212121;text-decoration:none}.ui-state-highlight,.ui-widget-content .ui-state-highlight,.ui-widget-header .ui-state-highlight{border:1px solid #fcefa1;background:#fbf9ee url("images/ui-bg_glass_55_fbf9ee_1x400.png") 50% 50% repeat-x;color:#363636}.ui-state-checked{border:1px solid #fcefa1;background:#fbf9ee}.ui-state-highlight a,.ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a{color:#363636}.ui-state-error,.ui-widget-content .ui-state-error,.ui-widget-header .ui-state-error{border:1px solid #cd0a0a;background:#fef1ec url("images/ui-bg_glass_95_fef1ec_1x400.png") 50% 50% repeat-x;color:#cd0a0a}.ui-state-error a,.ui-widget-content .ui-state-error a,.ui-widget-header .ui-state-error a{color:#cd0a0a}.ui-state-error-text,.ui-widget-content .ui-state-error-text,.ui-widget-header .ui-state-error-text{color:#cd0a0a}.ui-priority-primary,.ui-widget-content .ui-priority-primary,.ui-widget-header .ui-priority-primary{font-weight:bold}.ui-priority-secondary,.ui-widget-content .ui-priority-secondary,.ui-widget-header .ui-priority-secondary{opacity:.7;filter:Alpha(Opacity=70);font-weight:normal}.ui-state-disabled,.ui-widget-content .ui-state-disabled,.ui-widget-header .ui-state-disabled{opacity:.35;filter:Alpha(Opacity=35);background-image:none}.ui-state-disabled .ui-icon{filter:Alpha(Opacity=35)}.ui-icon{width:16px;height:16px}.ui-icon,.ui-widget-content .ui-icon{background-image:url("images/ui-icons_222222_256x240.png")}.ui-widget-header .ui-icon{background-image:url("images/ui-icons_222222_256x240.png")}.ui-state-hover .ui-icon,.ui-state-focus .ui-icon,.ui-button:hover .ui-icon,.ui-button:focus .ui-icon{background-image:url("images/ui-icons_454545_256x240.png")}.ui-state-active .ui-icon,.ui-button:active .ui-icon{background-image:url("images/ui-icons_454545_256x240.png")}.ui-state-highlight .ui-icon,.ui-button .ui-state-highlight.ui-icon{background-image:url("images/ui-icons_2e83ff_256x240.png")}.ui-state-error .ui-icon,.ui-state-error-text .ui-icon{background-image:url("images/ui-icons_cd0a0a_256x240.png")}.ui-button .ui-icon{background-image:url("images/ui-icons_888888_256x240.png")}.ui-icon-blank{background-position:16px 16px}.ui-icon-caret-1-n{background-position:0 0}.ui-icon-caret-1-ne{background-position:-16px 0}.ui-icon-caret-1-e{background-position:-32px 0}.ui-icon-caret-1-se{background-position:-48px 0}.ui-icon-caret-1-s{background-position:-65px 0}.ui-icon-caret-1-sw{background-position:-80px 0}.ui-icon-caret-1-w{background-position:-96px 0}.ui-icon-caret-1-nw{background-position:-112px 0}.ui-icon-caret-2-n-s{background-position:-128px 0}.ui-icon-caret-2-e-w{background-position:-144px 0}.ui-icon-triangle-1-n{background-position:0 -16px}.ui-icon-triangle-1-ne{background-position:-16px -16px}.ui-icon-triangle-1-e{background-position:-32px -16px}.ui-icon-triangle-1-se{background-position:-48px -16px}.ui-icon-triangle-1-s{background-position:-65px -16px}.ui-icon-triangle-1-sw{background-position:-80px -16px}.ui-icon-triangle-1-w{background-position:-96px -16px}.ui-icon-triangle-1-nw{background-position:-112px -16px}.ui-icon-triangle-2-n-s{background-position:-128px -16px}.ui-icon-triangle-2-e-w{background-position:-144px -16px}.ui-icon-arrow-1-n{background-position:0 -32px}.ui-icon-arrow-1-ne{background-position:-16px -32px}.ui-icon-arrow-1-e{background-position:-32px -32px}.ui-icon-arrow-1-se{background-position:-48px -32px}.ui-icon-arrow-1-s{background-position:-65px -32px}.ui-icon-arrow-1-sw{background-position:-80px -32px}.ui-icon-arrow-1-w{background-position:-96px -32px}.ui-icon-arrow-1-nw{background-position:-112px -32px}.ui-icon-arrow-2-n-s{background-position:-128px -32px}.ui-icon-arrow-2-ne-sw{background-position:-144px -32px}.ui-icon-arrow-2-e-w{background-position:-160px -32px}.ui-icon-arrow-2-se-nw{background-position:-176px -32px}.ui-icon-arrowstop-1-n{background-position:-192px -32px}.ui-icon-arrowstop-1-e{background-position:-208px -32px}.ui-icon-arrowstop-1-s{background-position:-224px -32px}.ui-icon-arrowstop-1-w{background-position:-240px -32px}.ui-icon-arrowthick-1-n{background-position:1px -48px}.ui-icon-arrowthick-1-ne{background-position:-16px -48px}.ui-icon-arrowthick-1-e{background-position:-32px -48px}.ui-icon-arrowthick-1-se{background-position:-48px -48px}.ui-icon-arrowthick-1-s{background-position:-64px -48px}.ui-icon-arrowthick-1-sw{background-position:-80px -48px}.ui-icon-arrowthick-1-w{background-position:-96px -48px}.ui-icon-arrowthick-1-nw{background-position:-112px -48px}.ui-icon-arrowthick-2-n-s{background-position:-128px -48px}.ui-icon-arrowthick-2-ne-sw{background-position:-144px -48px}.ui-icon-arrowthick-2-e-w{background-position:-160px -48px}.ui-icon-arrowthick-2-se-nw{background-position:-176px -48px}.ui-icon-arrowthickstop-1-n{background-position:-192px -48px}.ui-icon-arrowthickstop-1-e{background-position:-208px -48px}.ui-icon-arrowthickstop-1-s{background-position:-224px -48px}.ui-icon-arrowthickstop-1-w{background-position:-240px -48px}.ui-icon-arrowreturnthick-1-w{background-position:0 -64px}.ui-icon-arrowreturnthick-1-n{background-position:-16px -64px}.ui-icon-arrowreturnthick-1-e{background-position:-32px -64px}.ui-icon-arrowreturnthick-1-s{background-position:-48px -64px}.ui-icon-arrowreturn-1-w{background-position:-64px -64px}.ui-icon-arrowreturn-1-n{background-position:-80px -64px}.ui-icon-arrowreturn-1-e{background-position:-96px -64px}.ui-icon-arrowreturn-1-s{background-position:-112px -64px}.ui-icon-arrowrefresh-1-w{background-position:-128px -64px}.ui-icon-arrowrefresh-1-n{background-position:-144px -64px}.ui-icon-arrowrefresh-1-e{background-position:-160px -64px}.ui-icon-arrowrefresh-1-s{background-position:-176px -64px}.ui-icon-arrow-4{background-position:0 -80px}.ui-icon-arrow-4-diag{background-position:-16px -80px}.ui-icon-extlink{background-position:-32px -80px}.ui-icon-newwin{background-position:-48px -80px}.ui-icon-refresh{background-position:-64px -80px}.ui-icon-shuffle{background-position:-80px -80px}.ui-icon-transfer-e-w{background-position:-96px -80px}.ui-icon-transferthick-e-w{background-position:-112px -80px}.ui-icon-folder-collapsed{background-position:0 -96px}.ui-icon-folder-open{background-position:-16px -96px}.ui-icon-document{background-position:-32px -96px}.ui-icon-document-b{background-position:-48px -96px}.ui-icon-note{background-position:-64px -96px}.ui-icon-mail-closed{background-position:-80px -96px}.ui-icon-mail-open{background-position:-96px -96px}.ui-icon-suitcase{background-position:-112px -96px}.ui-icon-comment{background-position:-128px -96px}.ui-icon-person{background-position:-144px -96px}.ui-icon-print{background-position:-160px -96px}.ui-icon-trash{background-position:-176px -96px}.ui-icon-locked{background-position:-192px -96px}.ui-icon-unlocked{background-position:-208px -96px}.ui-icon-bookmark{background-position:-224px -96px}.ui-icon-tag{background-position:-240px -96px}.ui-icon-home{background-position:0 -112px}.ui-icon-flag{background-position:-16px -112px}.ui-icon-calendar{background-position:-32px -112px}.ui-icon-cart{background-position:-48px -112px}.ui-icon-pencil{background-position:-64px -112px}.ui-icon-clock{background-position:-80px -112px}.ui-icon-disk{background-position:-96px -112px}.ui-icon-calculator{background-position:-112px -112px}.ui-icon-zoomin{background-position:-128px -112px}.ui-icon-zoomout{background-position:-144px -112px}.ui-icon-search{background-position:-160px -112px}.ui-icon-wrench{background-position:-176px -112px}.ui-icon-gear{background-position:-192px -112px}.ui-icon-heart{background-position:-208px -112px}.ui-icon-star{background-position:-224px -112px}.ui-icon-link{background-position:-240px -112px}.ui-icon-cancel{background-position:0 -128px}.ui-icon-plus{background-position:-16px -128px}.ui-icon-plusthick{background-position:-32px -128px}.ui-icon-minus{background-position:-48px -128px}.ui-icon-minusthick{background-position:-64px -128px}.ui-icon-close{background-position:-80px -128px}.ui-icon-closethick{background-position:-96px -128px}.ui-icon-key{background-position:-112px -128px}.ui-icon-lightbulb{background-position:-128px -128px}.ui-icon-scissors{background-position:-144px -128px}.ui-icon-clipboard{background-position:-160px -128px}.ui-icon-copy{background-position:-176px -128px}.ui-icon-contact{background-position:-192px -128px}.ui-icon-image{background-position:-208px -128px}.ui-icon-video{background-position:-224px -128px}.ui-icon-script{background-position:-240px -128px}.ui-icon-alert{background-position:0 -144px}.ui-icon-info{background-position:-16px -144px}.ui-icon-notice{background-position:-32px -144px}.ui-icon-help{background-position:-48px -144px}.ui-icon-check{background-position:-64px -144px}.ui-icon-bullet{background-position:-80px -144px}.ui-icon-radio-on{background-position:-96px -144px}.ui-icon-radio-off{background-position:-112px -144px}.ui-icon-pin-w{background-position:-128px -144px}.ui-icon-pin-s{background-position:-144px -144px}.ui-icon-play{background-position:0 -160px}.ui-icon-pause{background-position:-16px -160px}.ui-icon-seek-next{background-position:-32px -160px}.ui-icon-seek-prev{background-position:-48px -160px}.ui-icon-seek-end{background-position:-64px -160px}.ui-icon-seek-start{background-position:-80px -160px}.ui-icon-seek-first{background-position:-80px -160px}.ui-icon-stop{background-position:-96px -160px}.ui-icon-eject{background-position:-112px -160px}.ui-icon-volume-off{background-position:-128px -160px}.ui-icon-volume-on{background-position:-144px -160px}.ui-icon-power{background-position:0 -176px}.ui-icon-signal-diag{background-position:-16px -176px}.ui-icon-signal{background-position:-32px -176px}.ui-icon-battery-0{background-position:-48px -176px}.ui-icon-battery-1{background-position:-64px -176px}.ui-icon-battery-2{background-position:-80px -176px}.ui-icon-battery-3{background-position:-96px -176px}.ui-icon-circle-plus{background-position:0 -192px}.ui-icon-circle-minus{background-position:-16px -192px}.ui-icon-circle-close{background-position:-32px -192px}.ui-icon-circle-triangle-e{background-position:-48px -192px}.ui-icon-circle-triangle-s{background-position:-64px -192px}.ui-icon-circle-triangle-w{background-position:-80px -192px}.ui-icon-circle-triangle-n{background-position:-96px -192px}.ui-icon-circle-arrow-e{background-position:-112px -192px}.ui-icon-circle-arrow-s{background-position:-128px -192px}.ui-icon-circle-arrow-w{background-position:-144px -192px}.ui-icon-circle-arrow-n{background-position:-160px -192px}.ui-icon-circle-zoomin{background-position:-176px -192px}.ui-icon-circle-zoomout{background-position:-192px -192px}.ui-icon-circle-check{background-position:-208px -192px}.ui-icon-circlesmall-plus{background-position:0 -208px}.ui-icon-circlesmall-minus{background-position:-16px -208px}.ui-icon-circlesmall-close{background-position:-32px -208px}.ui-icon-squaresmall-plus{background-position:-48px -208px}.ui-icon-squaresmall-minus{background-position:-64px -208px}.ui-icon-squaresmall-close{background-position:-80px -208px}.ui-icon-grip-dotted-vertical{background-position:0 -224px}.ui-icon-grip-dotted-horizontal{background-position:-16px -224px}.ui-icon-grip-solid-vertical{background-position:-32px -224px}.ui-icon-grip-solid-horizontal{background-position:-48px -224px}.ui-icon-gripsmall-diagonal-se{background-position:-64px -224px}.ui-icon-grip-diagonal-se{background-position:-80px -224px}.ui-corner-all,.ui-corner-top,.ui-corner-left,.ui-corner-tl{border-top-left-radius:4px}.ui-corner-all,.ui-corner-top,.ui-corner-right,.ui-corner-tr{border-top-right-radius:4px}.ui-corner-all,.ui-corner-bottom,.ui-corner-left,.ui-corner-bl{border-bottom-left-radius:4px}.ui-corner-all,.ui-corner-bottom,.ui-corner-right,.ui-corner-br{border-bottom-right-radius:4px}.ui-widget-overlay{background:#aaa;opacity:.3;filter:Alpha(Opacity=30)}.ui-widget-shadow{-webkit-box-shadow:-8px -8px 8px #aaa;box-shadow:-8px -8px 8px #aaa}
\ No newline at end of file
diff --git a/javadoc/script-dir/jquery-ui.min.js b/javadoc/script-dir/jquery-ui.min.js
new file mode 100644
index 0000000..54d4beb
--- /dev/null
+++ b/javadoc/script-dir/jquery-ui.min.js
@@ -0,0 +1,6 @@
+/*! jQuery UI - v1.12.1 - 2018-12-06
+* http://jqueryui.com
+* Includes: widget.js, position.js, keycode.js, unique-id.js, widgets/autocomplete.js, widgets/menu.js
+* Copyright jQuery Foundation and other contributors; Licensed MIT */
+
+(function(t){"function"==typeof define&&define.amd?define(["jquery"],t):t(jQuery)})(function(t){t.ui=t.ui||{},t.ui.version="1.12.1";var e=0,i=Array.prototype.slice;t.cleanData=function(e){return function(i){var s,n,o;for(o=0;null!=(n=i[o]);o++)try{s=t._data(n,"events"),s&&s.remove&&t(n).triggerHandler("remove")}catch(a){}e(i)}}(t.cleanData),t.widget=function(e,i,s){var n,o,a,r={},l=e.split(".")[0];e=e.split(".")[1];var h=l+"-"+e;return s||(s=i,i=t.Widget),t.isArray(s)&&(s=t.extend.apply(null,[{}].concat(s))),t.expr[":"][h.toLowerCase()]=function(e){return!!t.data(e,h)},t[l]=t[l]||{},n=t[l][e],o=t[l][e]=function(t,e){return this._createWidget?(arguments.length&&this._createWidget(t,e),void 0):new o(t,e)},t.extend(o,n,{version:s.version,_proto:t.extend({},s),_childConstructors:[]}),a=new i,a.options=t.widget.extend({},a.options),t.each(s,function(e,s){return t.isFunction(s)?(r[e]=function(){function t(){return i.prototype[e].apply(this,arguments)}function n(t){return i.prototype[e].apply(this,t)}return function(){var e,i=this._super,o=this._superApply;return this._super=t,this._superApply=n,e=s.apply(this,arguments),this._super=i,this._superApply=o,e}}(),void 0):(r[e]=s,void 0)}),o.prototype=t.widget.extend(a,{widgetEventPrefix:n?a.widgetEventPrefix||e:e},r,{constructor:o,namespace:l,widgetName:e,widgetFullName:h}),n?(t.each(n._childConstructors,function(e,i){var s=i.prototype;t.widget(s.namespace+"."+s.widgetName,o,i._proto)}),delete n._childConstructors):i._childConstructors.push(o),t.widget.bridge(e,o),o},t.widget.extend=function(e){for(var s,n,o=i.call(arguments,1),a=0,r=o.length;r>a;a++)for(s in o[a])n=o[a][s],o[a].hasOwnProperty(s)&&void 0!==n&&(e[s]=t.isPlainObject(n)?t.isPlainObject(e[s])?t.widget.extend({},e[s],n):t.widget.extend({},n):n);return e},t.widget.bridge=function(e,s){var n=s.prototype.widgetFullName||e;t.fn[e]=function(o){var a="string"==typeof o,r=i.call(arguments,1),l=this;return a?this.length||"instance"!==o?this.each(function(){var i,s=t.data(this,n);return"instance"===o?(l=s,!1):s?t.isFunction(s[o])&&"_"!==o.charAt(0)?(i=s[o].apply(s,r),i!==s&&void 0!==i?(l=i&&i.jquery?l.pushStack(i.get()):i,!1):void 0):t.error("no such method '"+o+"' for "+e+" widget instance"):t.error("cannot call methods on "+e+" prior to initialization; "+"attempted to call method '"+o+"'")}):l=void 0:(r.length&&(o=t.widget.extend.apply(null,[o].concat(r))),this.each(function(){var e=t.data(this,n);e?(e.option(o||{}),e._init&&e._init()):t.data(this,n,new s(o,this))})),l}},t.Widget=function(){},t.Widget._childConstructors=[],t.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"<div>",options:{classes:{},disabled:!1,create:null},_createWidget:function(i,s){s=t(s||this.defaultElement||this)[0],this.element=t(s),this.uuid=e++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=t(),this.hoverable=t(),this.focusable=t(),this.classesElementLookup={},s!==this&&(t.data(s,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===s&&this.destroy()}}),this.document=t(s.style?s.ownerDocument:s.document||s),this.window=t(this.document[0].defaultView||this.document[0].parentWindow)),this.options=t.widget.extend({},this.options,this._getCreateOptions(),i),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:t.noop,_create:t.noop,_init:t.noop,destroy:function(){var e=this;this._destroy(),t.each(this.classesElementLookup,function(t,i){e._removeClass(i,t)}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:t.noop,widget:function(){return this.element},option:function(e,i){var s,n,o,a=e;if(0===arguments.length)return t.widget.extend({},this.options);if("string"==typeof e)if(a={},s=e.split("."),e=s.shift(),s.length){for(n=a[e]=t.widget.extend({},this.options[e]),o=0;s.length-1>o;o++)n[s[o]]=n[s[o]]||{},n=n[s[o]];if(e=s.pop(),1===arguments.length)return void 0===n[e]?null:n[e];n[e]=i}else{if(1===arguments.length)return void 0===this.options[e]?null:this.options[e];a[e]=i}return this._setOptions(a),this},_setOptions:function(t){var e;for(e in t)this._setOption(e,t[e]);return this},_setOption:function(t,e){return"classes"===t&&this._setOptionClasses(e),this.options[t]=e,"disabled"===t&&this._setOptionDisabled(e),this},_setOptionClasses:function(e){var i,s,n;for(i in e)n=this.classesElementLookup[i],e[i]!==this.options.classes[i]&&n&&n.length&&(s=t(n.get()),this._removeClass(n,i),s.addClass(this._classes({element:s,keys:i,classes:e,add:!0})))},_setOptionDisabled:function(t){this._toggleClass(this.widget(),this.widgetFullName+"-disabled",null,!!t),t&&(this._removeClass(this.hoverable,null,"ui-state-hover"),this._removeClass(this.focusable,null,"ui-state-focus"))},enable:function(){return this._setOptions({disabled:!1})},disable:function(){return this._setOptions({disabled:!0})},_classes:function(e){function i(i,o){var a,r;for(r=0;i.length>r;r++)a=n.classesElementLookup[i[r]]||t(),a=e.add?t(t.unique(a.get().concat(e.element.get()))):t(a.not(e.element).get()),n.classesElementLookup[i[r]]=a,s.push(i[r]),o&&e.classes[i[r]]&&s.push(e.classes[i[r]])}var s=[],n=this;return e=t.extend({element:this.element,classes:this.options.classes||{}},e),this._on(e.element,{remove:"_untrackClassesElement"}),e.keys&&i(e.keys.match(/\S+/g)||[],!0),e.extra&&i(e.extra.match(/\S+/g)||[]),s.join(" ")},_untrackClassesElement:function(e){var i=this;t.each(i.classesElementLookup,function(s,n){-1!==t.inArray(e.target,n)&&(i.classesElementLookup[s]=t(n.not(e.target).get()))})},_removeClass:function(t,e,i){return this._toggleClass(t,e,i,!1)},_addClass:function(t,e,i){return this._toggleClass(t,e,i,!0)},_toggleClass:function(t,e,i,s){s="boolean"==typeof s?s:i;var n="string"==typeof t||null===t,o={extra:n?e:i,keys:n?t:e,element:n?this.element:t,add:s};return o.element.toggleClass(this._classes(o),s),this},_on:function(e,i,s){var n,o=this;"boolean"!=typeof e&&(s=i,i=e,e=!1),s?(i=n=t(i),this.bindings=this.bindings.add(i)):(s=i,i=this.element,n=this.widget()),t.each(s,function(s,a){function r(){return e||o.options.disabled!==!0&&!t(this).hasClass("ui-state-disabled")?("string"==typeof a?o[a]:a).apply(o,arguments):void 0}"string"!=typeof a&&(r.guid=a.guid=a.guid||r.guid||t.guid++);var l=s.match(/^([\w:-]*)\s*(.*)$/),h=l[1]+o.eventNamespace,c=l[2];c?n.on(h,c,r):i.on(h,r)})},_off:function(e,i){i=(i||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,e.off(i).off(i),this.bindings=t(this.bindings.not(e).get()),this.focusable=t(this.focusable.not(e).get()),this.hoverable=t(this.hoverable.not(e).get())},_delay:function(t,e){function i(){return("string"==typeof t?s[t]:t).apply(s,arguments)}var s=this;return setTimeout(i,e||0)},_hoverable:function(e){this.hoverable=this.hoverable.add(e),this._on(e,{mouseenter:function(e){this._addClass(t(e.currentTarget),null,"ui-state-hover")},mouseleave:function(e){this._removeClass(t(e.currentTarget),null,"ui-state-hover")}})},_focusable:function(e){this.focusable=this.focusable.add(e),this._on(e,{focusin:function(e){this._addClass(t(e.currentTarget),null,"ui-state-focus")},focusout:function(e){this._removeClass(t(e.currentTarget),null,"ui-state-focus")}})},_trigger:function(e,i,s){var n,o,a=this.options[e];if(s=s||{},i=t.Event(i),i.type=(e===this.widgetEventPrefix?e:this.widgetEventPrefix+e).toLowerCase(),i.target=this.element[0],o=i.originalEvent)for(n in o)n in i||(i[n]=o[n]);return this.element.trigger(i,s),!(t.isFunction(a)&&a.apply(this.element[0],[i].concat(s))===!1||i.isDefaultPrevented())}},t.each({show:"fadeIn",hide:"fadeOut"},function(e,i){t.Widget.prototype["_"+e]=function(s,n,o){"string"==typeof n&&(n={effect:n});var a,r=n?n===!0||"number"==typeof n?i:n.effect||i:e;n=n||{},"number"==typeof n&&(n={duration:n}),a=!t.isEmptyObject(n),n.complete=o,n.delay&&s.delay(n.delay),a&&t.effects&&t.effects.effect[r]?s[e](n):r!==e&&s[r]?s[r](n.duration,n.easing,o):s.queue(function(i){t(this)[e](),o&&o.call(s[0]),i()})}}),t.widget,function(){function e(t,e,i){return[parseFloat(t[0])*(u.test(t[0])?e/100:1),parseFloat(t[1])*(u.test(t[1])?i/100:1)]}function i(e,i){return parseInt(t.css(e,i),10)||0}function s(e){var i=e[0];return 9===i.nodeType?{width:e.width(),height:e.height(),offset:{top:0,left:0}}:t.isWindow(i)?{width:e.width(),height:e.height(),offset:{top:e.scrollTop(),left:e.scrollLeft()}}:i.preventDefault?{width:0,height:0,offset:{top:i.pageY,left:i.pageX}}:{width:e.outerWidth(),height:e.outerHeight(),offset:e.offset()}}var n,o=Math.max,a=Math.abs,r=/left|center|right/,l=/top|center|bottom/,h=/[\+\-]\d+(\.[\d]+)?%?/,c=/^\w+/,u=/%$/,d=t.fn.position;t.position={scrollbarWidth:function(){if(void 0!==n)return n;var e,i,s=t("<div style='display:block;position:absolute;width:50px;height:50px;overflow:hidden;'><div style='height:100px;width:auto;'></div></div>"),o=s.children()[0];return t("body").append(s),e=o.offsetWidth,s.css("overflow","scroll"),i=o.offsetWidth,e===i&&(i=s[0].clientWidth),s.remove(),n=e-i},getScrollInfo:function(e){var i=e.isWindow||e.isDocument?"":e.element.css("overflow-x"),s=e.isWindow||e.isDocument?"":e.element.css("overflow-y"),n="scroll"===i||"auto"===i&&e.width<e.element[0].scrollWidth,o="scroll"===s||"auto"===s&&e.height<e.element[0].scrollHeight;return{width:o?t.position.scrollbarWidth():0,height:n?t.position.scrollbarWidth():0}},getWithinInfo:function(e){var i=t(e||window),s=t.isWindow(i[0]),n=!!i[0]&&9===i[0].nodeType,o=!s&&!n;return{element:i,isWindow:s,isDocument:n,offset:o?t(e).offset():{left:0,top:0},scrollLeft:i.scrollLeft(),scrollTop:i.scrollTop(),width:i.outerWidth(),height:i.outerHeight()}}},t.fn.position=function(n){if(!n||!n.of)return d.apply(this,arguments);n=t.extend({},n);var u,p,f,g,m,_,v=t(n.of),b=t.position.getWithinInfo(n.within),y=t.position.getScrollInfo(b),w=(n.collision||"flip").split(" "),k={};return _=s(v),v[0].preventDefault&&(n.at="left top"),p=_.width,f=_.height,g=_.offset,m=t.extend({},g),t.each(["my","at"],function(){var t,e,i=(n[this]||"").split(" ");1===i.length&&(i=r.test(i[0])?i.concat(["center"]):l.test(i[0])?["center"].concat(i):["center","center"]),i[0]=r.test(i[0])?i[0]:"center",i[1]=l.test(i[1])?i[1]:"center",t=h.exec(i[0]),e=h.exec(i[1]),k[this]=[t?t[0]:0,e?e[0]:0],n[this]=[c.exec(i[0])[0],c.exec(i[1])[0]]}),1===w.length&&(w[1]=w[0]),"right"===n.at[0]?m.left+=p:"center"===n.at[0]&&(m.left+=p/2),"bottom"===n.at[1]?m.top+=f:"center"===n.at[1]&&(m.top+=f/2),u=e(k.at,p,f),m.left+=u[0],m.top+=u[1],this.each(function(){var s,r,l=t(this),h=l.outerWidth(),c=l.outerHeight(),d=i(this,"marginLeft"),_=i(this,"marginTop"),x=h+d+i(this,"marginRight")+y.width,C=c+_+i(this,"marginBottom")+y.height,D=t.extend({},m),T=e(k.my,l.outerWidth(),l.outerHeight());"right"===n.my[0]?D.left-=h:"center"===n.my[0]&&(D.left-=h/2),"bottom"===n.my[1]?D.top-=c:"center"===n.my[1]&&(D.top-=c/2),D.left+=T[0],D.top+=T[1],s={marginLeft:d,marginTop:_},t.each(["left","top"],function(e,i){t.ui.position[w[e]]&&t.ui.position[w[e]][i](D,{targetWidth:p,targetHeight:f,elemWidth:h,elemHeight:c,collisionPosition:s,collisionWidth:x,collisionHeight:C,offset:[u[0]+T[0],u[1]+T[1]],my:n.my,at:n.at,within:b,elem:l})}),n.using&&(r=function(t){var e=g.left-D.left,i=e+p-h,s=g.top-D.top,r=s+f-c,u={target:{element:v,left:g.left,top:g.top,width:p,height:f},element:{element:l,left:D.left,top:D.top,width:h,height:c},horizontal:0>i?"left":e>0?"right":"center",vertical:0>r?"top":s>0?"bottom":"middle"};h>p&&p>a(e+i)&&(u.horizontal="center"),c>f&&f>a(s+r)&&(u.vertical="middle"),u.important=o(a(e),a(i))>o(a(s),a(r))?"horizontal":"vertical",n.using.call(this,t,u)}),l.offset(t.extend(D,{using:r}))})},t.ui.position={fit:{left:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollLeft:s.offset.left,a=s.width,r=t.left-e.collisionPosition.marginLeft,l=n-r,h=r+e.collisionWidth-a-n;e.collisionWidth>a?l>0&&0>=h?(i=t.left+l+e.collisionWidth-a-n,t.left+=l-i):t.left=h>0&&0>=l?n:l>h?n+a-e.collisionWidth:n:l>0?t.left+=l:h>0?t.left-=h:t.left=o(t.left-r,t.left)},top:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollTop:s.offset.top,a=e.within.height,r=t.top-e.collisionPosition.marginTop,l=n-r,h=r+e.collisionHeight-a-n;e.collisionHeight>a?l>0&&0>=h?(i=t.top+l+e.collisionHeight-a-n,t.top+=l-i):t.top=h>0&&0>=l?n:l>h?n+a-e.collisionHeight:n:l>0?t.top+=l:h>0?t.top-=h:t.top=o(t.top-r,t.top)}},flip:{left:function(t,e){var i,s,n=e.within,o=n.offset.left+n.scrollLeft,r=n.width,l=n.isWindow?n.scrollLeft:n.offset.left,h=t.left-e.collisionPosition.marginLeft,c=h-l,u=h+e.collisionWidth-r-l,d="left"===e.my[0]?-e.elemWidth:"right"===e.my[0]?e.elemWidth:0,p="left"===e.at[0]?e.targetWidth:"right"===e.at[0]?-e.targetWidth:0,f=-2*e.offset[0];0>c?(i=t.left+d+p+f+e.collisionWidth-r-o,(0>i||a(c)>i)&&(t.left+=d+p+f)):u>0&&(s=t.left-e.collisionPosition.marginLeft+d+p+f-l,(s>0||u>a(s))&&(t.left+=d+p+f))},top:function(t,e){var i,s,n=e.within,o=n.offset.top+n.scrollTop,r=n.height,l=n.isWindow?n.scrollTop:n.offset.top,h=t.top-e.collisionPosition.marginTop,c=h-l,u=h+e.collisionHeight-r-l,d="top"===e.my[1],p=d?-e.elemHeight:"bottom"===e.my[1]?e.elemHeight:0,f="top"===e.at[1]?e.targetHeight:"bottom"===e.at[1]?-e.targetHeight:0,g=-2*e.offset[1];0>c?(s=t.top+p+f+g+e.collisionHeight-r-o,(0>s||a(c)>s)&&(t.top+=p+f+g)):u>0&&(i=t.top-e.collisionPosition.marginTop+p+f+g-l,(i>0||u>a(i))&&(t.top+=p+f+g))}},flipfit:{left:function(){t.ui.position.flip.left.apply(this,arguments),t.ui.position.fit.left.apply(this,arguments)},top:function(){t.ui.position.flip.top.apply(this,arguments),t.ui.position.fit.top.apply(this,arguments)}}}}(),t.ui.position,t.ui.keyCode={BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38},t.fn.extend({uniqueId:function(){var t=0;return function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++t)})}}(),removeUniqueId:function(){return this.each(function(){/^ui-id-\d+$/.test(this.id)&&t(this).removeAttr("id")})}}),t.ui.safeActiveElement=function(t){var e;try{e=t.activeElement}catch(i){e=t.body}return e||(e=t.body),e.nodeName||(e=t.body),e},t.widget("ui.menu",{version:"1.12.1",defaultElement:"<ul>",delay:300,options:{icons:{submenu:"ui-icon-caret-1-e"},items:"> *",menus:"ul",position:{my:"left top",at:"right top"},role:"menu",blur:null,focus:null,select:null},_create:function(){this.activeMenu=this.element,this.mouseHandled=!1,this.element.uniqueId().attr({role:this.options.role,tabIndex:0}),this._addClass("ui-menu","ui-widget ui-widget-content"),this._on({"mousedown .ui-menu-item":function(t){t.preventDefault()},"click .ui-menu-item":function(e){var i=t(e.target),s=t(t.ui.safeActiveElement(this.document[0]));!this.mouseHandled&&i.not(".ui-state-disabled").length&&(this.select(e),e.isPropagationStopped()||(this.mouseHandled=!0),i.has(".ui-menu").length?this.expand(e):!this.element.is(":focus")&&s.closest(".ui-menu").length&&(this.element.trigger("focus",[!0]),this.active&&1===this.active.parents(".ui-menu").length&&clearTimeout(this.timer)))},"mouseenter .ui-menu-item":function(e){if(!this.previousFilter){var i=t(e.target).closest(".ui-menu-item"),s=t(e.currentTarget);i[0]===s[0]&&(this._removeClass(s.siblings().children(".ui-state-active"),null,"ui-state-active"),this.focus(e,s))}},mouseleave:"collapseAll","mouseleave .ui-menu":"collapseAll",focus:function(t,e){var i=this.active||this.element.find(this.options.items).eq(0);e||this.focus(t,i)},blur:function(e){this._delay(function(){var i=!t.contains(this.element[0],t.ui.safeActiveElement(this.document[0]));i&&this.collapseAll(e)})},keydown:"_keydown"}),this.refresh(),this._on(this.document,{click:function(t){this._closeOnDocumentClick(t)&&this.collapseAll(t),this.mouseHandled=!1}})},_destroy:function(){var e=this.element.find(".ui-menu-item").removeAttr("role aria-disabled"),i=e.children(".ui-menu-item-wrapper").removeUniqueId().removeAttr("tabIndex role aria-haspopup");this.element.removeAttr("aria-activedescendant").find(".ui-menu").addBack().removeAttr("role aria-labelledby aria-expanded aria-hidden aria-disabled tabIndex").removeUniqueId().show(),i.children().each(function(){var e=t(this);e.data("ui-menu-submenu-caret")&&e.remove()})},_keydown:function(e){var i,s,n,o,a=!0;switch(e.keyCode){case t.ui.keyCode.PAGE_UP:this.previousPage(e);break;case t.ui.keyCode.PAGE_DOWN:this.nextPage(e);break;case t.ui.keyCode.HOME:this._move("first","first",e);break;case t.ui.keyCode.END:this._move("last","last",e);break;case t.ui.keyCode.UP:this.previous(e);break;case t.ui.keyCode.DOWN:this.next(e);break;case t.ui.keyCode.LEFT:this.collapse(e);break;case t.ui.keyCode.RIGHT:this.active&&!this.active.is(".ui-state-disabled")&&this.expand(e);break;case t.ui.keyCode.ENTER:case t.ui.keyCode.SPACE:this._activate(e);break;case t.ui.keyCode.ESCAPE:this.collapse(e);break;default:a=!1,s=this.previousFilter||"",o=!1,n=e.keyCode>=96&&105>=e.keyCode?""+(e.keyCode-96):String.fromCharCode(e.keyCode),clearTimeout(this.filterTimer),n===s?o=!0:n=s+n,i=this._filterMenuItems(n),i=o&&-1!==i.index(this.active.next())?this.active.nextAll(".ui-menu-item"):i,i.length||(n=String.fromCharCode(e.keyCode),i=this._filterMenuItems(n)),i.length?(this.focus(e,i),this.previousFilter=n,this.filterTimer=this._delay(function(){delete this.previousFilter},1e3)):delete this.previousFilter}a&&e.preventDefault()},_activate:function(t){this.active&&!this.active.is(".ui-state-disabled")&&(this.active.children("[aria-haspopup='true']").length?this.expand(t):this.select(t))},refresh:function(){var e,i,s,n,o,a=this,r=this.options.icons.submenu,l=this.element.find(this.options.menus);this._toggleClass("ui-menu-icons",null,!!this.element.find(".ui-icon").length),s=l.filter(":not(.ui-menu)").hide().attr({role:this.options.role,"aria-hidden":"true","aria-expanded":"false"}).each(function(){var e=t(this),i=e.prev(),s=t("<span>").data("ui-menu-submenu-caret",!0);a._addClass(s,"ui-menu-icon","ui-icon "+r),i.attr("aria-haspopup","true").prepend(s),e.attr("aria-labelledby",i.attr("id"))}),this._addClass(s,"ui-menu","ui-widget ui-widget-content ui-front"),e=l.add(this.element),i=e.find(this.options.items),i.not(".ui-menu-item").each(function(){var e=t(this);a._isDivider(e)&&a._addClass(e,"ui-menu-divider","ui-widget-content")}),n=i.not(".ui-menu-item, .ui-menu-divider"),o=n.children().not(".ui-menu").uniqueId().attr({tabIndex:-1,role:this._itemRole()}),this._addClass(n,"ui-menu-item")._addClass(o,"ui-menu-item-wrapper"),i.filter(".ui-state-disabled").attr("aria-disabled","true"),this.active&&!t.contains(this.element[0],this.active[0])&&this.blur()},_itemRole:function(){return{menu:"menuitem",listbox:"option"}[this.options.role]},_setOption:function(t,e){if("icons"===t){var i=this.element.find(".ui-menu-icon");this._removeClass(i,null,this.options.icons.submenu)._addClass(i,null,e.submenu)}this._super(t,e)},_setOptionDisabled:function(t){this._super(t),this.element.attr("aria-disabled",t+""),this._toggleClass(null,"ui-state-disabled",!!t)},focus:function(t,e){var i,s,n;this.blur(t,t&&"focus"===t.type),this._scrollIntoView(e),this.active=e.first(),s=this.active.children(".ui-menu-item-wrapper"),this._addClass(s,null,"ui-state-active"),this.options.role&&this.element.attr("aria-activedescendant",s.attr("id")),n=this.active.parent().closest(".ui-menu-item").children(".ui-menu-item-wrapper"),this._addClass(n,null,"ui-state-active"),t&&"keydown"===t.type?this._close():this.timer=this._delay(function(){this._close()},this.delay),i=e.children(".ui-menu"),i.length&&t&&/^mouse/.test(t.type)&&this._startOpening(i),this.activeMenu=e.parent(),this._trigger("focus",t,{item:e})},_scrollIntoView:function(e){var i,s,n,o,a,r;this._hasScroll()&&(i=parseFloat(t.css(this.activeMenu[0],"borderTopWidth"))||0,s=parseFloat(t.css(this.activeMenu[0],"paddingTop"))||0,n=e.offset().top-this.activeMenu.offset().top-i-s,o=this.activeMenu.scrollTop(),a=this.activeMenu.height(),r=e.outerHeight(),0>n?this.activeMenu.scrollTop(o+n):n+r>a&&this.activeMenu.scrollTop(o+n-a+r))},blur:function(t,e){e||clearTimeout(this.timer),this.active&&(this._removeClass(this.active.children(".ui-menu-item-wrapper"),null,"ui-state-active"),this._trigger("blur",t,{item:this.active}),this.active=null)},_startOpening:function(t){clearTimeout(this.timer),"true"===t.attr("aria-hidden")&&(this.timer=this._delay(function(){this._close(),this._open(t)},this.delay))},_open:function(e){var i=t.extend({of:this.active},this.options.position);clearTimeout(this.timer),this.element.find(".ui-menu").not(e.parents(".ui-menu")).hide().attr("aria-hidden","true"),e.show().removeAttr("aria-hidden").attr("aria-expanded","true").position(i)},collapseAll:function(e,i){clearTimeout(this.timer),this.timer=this._delay(function(){var s=i?this.element:t(e&&e.target).closest(this.element.find(".ui-menu"));s.length||(s=this.element),this._close(s),this.blur(e),this._removeClass(s.find(".ui-state-active"),null,"ui-state-active"),this.activeMenu=s},this.delay)},_close:function(t){t||(t=this.active?this.active.parent():this.element),t.find(".ui-menu").hide().attr("aria-hidden","true").attr("aria-expanded","false")},_closeOnDocumentClick:function(e){return!t(e.target).closest(".ui-menu").length},_isDivider:function(t){return!/[^\-\u2014\u2013\s]/.test(t.text())},collapse:function(t){var e=this.active&&this.active.parent().closest(".ui-menu-item",this.element);e&&e.length&&(this._close(),this.focus(t,e))},expand:function(t){var e=this.active&&this.active.children(".ui-menu ").find(this.options.items).first();e&&e.length&&(this._open(e.parent()),this._delay(function(){this.focus(t,e)}))},next:function(t){this._move("next","first",t)},previous:function(t){this._move("prev","last",t)},isFirstItem:function(){return this.active&&!this.active.prevAll(".ui-menu-item").length},isLastItem:function(){return this.active&&!this.active.nextAll(".ui-menu-item").length},_move:function(t,e,i){var s;this.active&&(s="first"===t||"last"===t?this.active["first"===t?"prevAll":"nextAll"](".ui-menu-item").eq(-1):this.active[t+"All"](".ui-menu-item").eq(0)),s&&s.length&&this.active||(s=this.activeMenu.find(this.options.items)[e]()),this.focus(i,s)},nextPage:function(e){var i,s,n;return this.active?(this.isLastItem()||(this._hasScroll()?(s=this.active.offset().top,n=this.element.height(),this.active.nextAll(".ui-menu-item").each(function(){return i=t(this),0>i.offset().top-s-n}),this.focus(e,i)):this.focus(e,this.activeMenu.find(this.options.items)[this.active?"last":"first"]())),void 0):(this.next(e),void 0)},previousPage:function(e){var i,s,n;return this.active?(this.isFirstItem()||(this._hasScroll()?(s=this.active.offset().top,n=this.element.height(),this.active.prevAll(".ui-menu-item").each(function(){return i=t(this),i.offset().top-s+n>0}),this.focus(e,i)):this.focus(e,this.activeMenu.find(this.options.items).first())),void 0):(this.next(e),void 0)},_hasScroll:function(){return this.element.outerHeight()<this.element.prop("scrollHeight")},select:function(e){this.active=this.active||t(e.target).closest(".ui-menu-item");var i={item:this.active};this.active.has(".ui-menu").length||this.collapseAll(e,!0),this._trigger("select",e,i)},_filterMenuItems:function(e){var i=e.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&"),s=RegExp("^"+i,"i");return this.activeMenu.find(this.options.items).filter(".ui-menu-item").filter(function(){return s.test(t.trim(t(this).children(".ui-menu-item-wrapper").text()))})}}),t.widget("ui.autocomplete",{version:"1.12.1",defaultElement:"<input>",options:{appendTo:null,autoFocus:!1,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null,change:null,close:null,focus:null,open:null,response:null,search:null,select:null},requestIndex:0,pending:0,_create:function(){var e,i,s,n=this.element[0].nodeName.toLowerCase(),o="textarea"===n,a="input"===n;this.isMultiLine=o||!a&&this._isContentEditable(this.element),this.valueMethod=this.element[o||a?"val":"text"],this.isNewMenu=!0,this._addClass("ui-autocomplete-input"),this.element.attr("autocomplete","off"),this._on(this.element,{keydown:function(n){if(this.element.prop("readOnly"))return e=!0,s=!0,i=!0,void 0;e=!1,s=!1,i=!1;var o=t.ui.keyCode;switch(n.keyCode){case o.PAGE_UP:e=!0,this._move("previousPage",n);break;case o.PAGE_DOWN:e=!0,this._move("nextPage",n);break;case o.UP:e=!0,this._keyEvent("previous",n);break;case o.DOWN:e=!0,this._keyEvent("next",n);break;case o.ENTER:this.menu.active&&(e=!0,n.preventDefault(),this.menu.select(n));break;case o.TAB:this.menu.active&&this.menu.select(n);break;case o.ESCAPE:this.menu.element.is(":visible")&&(this.isMultiLine||this._value(this.term),this.close(n),n.preventDefault());break;default:i=!0,this._searchTimeout(n)}},keypress:function(s){if(e)return e=!1,(!this.isMultiLine||this.menu.element.is(":visible"))&&s.preventDefault(),void 0;if(!i){var n=t.ui.keyCode;switch(s.keyCode){case n.PAGE_UP:this._move("previousPage",s);break;case n.PAGE_DOWN:this._move("nextPage",s);break;case n.UP:this._keyEvent("previous",s);break;case n.DOWN:this._keyEvent("next",s)}}},input:function(t){return s?(s=!1,t.preventDefault(),void 0):(this._searchTimeout(t),void 0)},focus:function(){this.selectedItem=null,this.previous=this._value()},blur:function(t){return this.cancelBlur?(delete this.cancelBlur,void 0):(clearTimeout(this.searching),this.close(t),this._change(t),void 0)}}),this._initSource(),this.menu=t("<ul>").appendTo(this._appendTo()).menu({role:null}).hide().menu("instance"),this._addClass(this.menu.element,"ui-autocomplete","ui-front"),this._on(this.menu.element,{mousedown:function(e){e.preventDefault(),this.cancelBlur=!0,this._delay(function(){delete this.cancelBlur,this.element[0]!==t.ui.safeActiveElement(this.document[0])&&this.element.trigger("focus")})},menufocus:function(e,i){var s,n;return this.isNewMenu&&(this.isNewMenu=!1,e.originalEvent&&/^mouse/.test(e.originalEvent.type))?(this.menu.blur(),this.document.one("mousemove",function(){t(e.target).trigger(e.originalEvent)}),void 0):(n=i.item.data("ui-autocomplete-item"),!1!==this._trigger("focus",e,{item:n})&&e.originalEvent&&/^key/.test(e.originalEvent.type)&&this._value(n.value),s=i.item.attr("aria-label")||n.value,s&&t.trim(s).length&&(this.liveRegion.children().hide(),t("<div>").text(s).appendTo(this.liveRegion)),void 0)},menuselect:function(e,i){var s=i.item.data("ui-autocomplete-item"),n=this.previous;this.element[0]!==t.ui.safeActiveElement(this.document[0])&&(this.element.trigger("focus"),this.previous=n,this._delay(function(){this.previous=n,this.selectedItem=s})),!1!==this._trigger("select",e,{item:s})&&this._value(s.value),this.term=this._value(),this.close(e),this.selectedItem=s}}),this.liveRegion=t("<div>",{role:"status","aria-live":"assertive","aria-relevant":"additions"}).appendTo(this.document[0].body),this._addClass(this.liveRegion,null,"ui-helper-hidden-accessible"),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_destroy:function(){clearTimeout(this.searching),this.element.removeAttr("autocomplete"),this.menu.element.remove(),this.liveRegion.remove()},_setOption:function(t,e){this._super(t,e),"source"===t&&this._initSource(),"appendTo"===t&&this.menu.element.appendTo(this._appendTo()),"disabled"===t&&e&&this.xhr&&this.xhr.abort()},_isEventTargetInWidget:function(e){var i=this.menu.element[0];return e.target===this.element[0]||e.target===i||t.contains(i,e.target)},_closeOnClickOutside:function(t){this._isEventTargetInWidget(t)||this.close()},_appendTo:function(){var e=this.options.appendTo;return e&&(e=e.jquery||e.nodeType?t(e):this.document.find(e).eq(0)),e&&e[0]||(e=this.element.closest(".ui-front, dialog")),e.length||(e=this.document[0].body),e},_initSource:function(){var e,i,s=this;t.isArray(this.options.source)?(e=this.options.source,this.source=function(i,s){s(t.ui.autocomplete.filter(e,i.term))}):"string"==typeof this.options.source?(i=this.options.source,this.source=function(e,n){s.xhr&&s.xhr.abort(),s.xhr=t.ajax({url:i,data:e,dataType:"json",success:function(t){n(t)},error:function(){n([])}})}):this.source=this.options.source},_searchTimeout:function(t){clearTimeout(this.searching),this.searching=this._delay(function(){var e=this.term===this._value(),i=this.menu.element.is(":visible"),s=t.altKey||t.ctrlKey||t.metaKey||t.shiftKey;(!e||e&&!i&&!s)&&(this.selectedItem=null,this.search(null,t))},this.options.delay)},search:function(t,e){return t=null!=t?t:this._value(),this.term=this._value(),t.length<this.options.minLength?this.close(e):this._trigger("search",e)!==!1?this._search(t):void 0},_search:function(t){this.pending++,this._addClass("ui-autocomplete-loading"),this.cancelSearch=!1,this.source({term:t},this._response())},_response:function(){var e=++this.requestIndex;return t.proxy(function(t){e===this.requestIndex&&this.__response(t),this.pending--,this.pending||this._removeClass("ui-autocomplete-loading")},this)},__response:function(t){t&&(t=this._normalize(t)),this._trigger("response",null,{content:t}),!this.options.disabled&&t&&t.length&&!this.cancelSearch?(this._suggest(t),this._trigger("open")):this._close()},close:function(t){this.cancelSearch=!0,this._close(t)},_close:function(t){this._off(this.document,"mousedown"),this.menu.element.is(":visible")&&(this.menu.element.hide(),this.menu.blur(),this.isNewMenu=!0,this._trigger("close",t))},_change:function(t){this.previous!==this._value()&&this._trigger("change",t,{item:this.selectedItem})},_normalize:function(e){return e.length&&e[0].label&&e[0].value?e:t.map(e,function(e){return"string"==typeof e?{label:e,value:e}:t.extend({},e,{label:e.label||e.value,value:e.value||e.label})})},_suggest:function(e){var i=this.menu.element.empty();this._renderMenu(i,e),this.isNewMenu=!0,this.menu.refresh(),i.show(),this._resizeMenu(),i.position(t.extend({of:this.element},this.options.position)),this.options.autoFocus&&this.menu.next(),this._on(this.document,{mousedown:"_closeOnClickOutside"})},_resizeMenu:function(){var t=this.menu.element;t.outerWidth(Math.max(t.width("").outerWidth()+1,this.element.outerWidth()))},_renderMenu:function(e,i){var s=this;t.each(i,function(t,i){s._renderItemData(e,i)})},_renderItemData:function(t,e){return this._renderItem(t,e).data("ui-autocomplete-item",e)},_renderItem:function(e,i){return t("<li>").append(t("<div>").text(i.label)).appendTo(e)},_move:function(t,e){return this.menu.element.is(":visible")?this.menu.isFirstItem()&&/^previous/.test(t)||this.menu.isLastItem()&&/^next/.test(t)?(this.isMultiLine||this._value(this.term),this.menu.blur(),void 0):(this.menu[t](e),void 0):(this.search(null,e),void 0)},widget:function(){return this.menu.element},_value:function(){return this.valueMethod.apply(this.element,arguments)},_keyEvent:function(t,e){(!this.isMultiLine||this.menu.element.is(":visible"))&&(this._move(t,e),e.preventDefault())},_isContentEditable:function(t){if(!t.length)return!1;var e=t.prop("contentEditable");return"inherit"===e?this._isContentEditable(t.parent()):"true"===e}}),t.extend(t.ui.autocomplete,{escapeRegex:function(t){return t.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")},filter:function(e,i){var s=RegExp(t.ui.autocomplete.escapeRegex(i),"i");return t.grep(e,function(t){return s.test(t.label||t.value||t)})}}),t.widget("ui.autocomplete",t.ui.autocomplete,{options:{messages:{noResults:"No search results.",results:function(t){return t+(t>1?" results are":" result is")+" available, use up and down arrow keys to navigate."}}},__response:function(e){var i;this._superApply(arguments),this.options.disabled||this.cancelSearch||(i=e&&e.length?this.options.messages.results(e.length):this.options.messages.noResults,this.liveRegion.children().hide(),t("<div>").text(i).appendTo(this.liveRegion))}}),t.ui.autocomplete});
\ No newline at end of file
diff --git a/javadoc/script-dir/jquery-ui.structure.min.css b/javadoc/script-dir/jquery-ui.structure.min.css
new file mode 100644
index 0000000..e880892
--- /dev/null
+++ b/javadoc/script-dir/jquery-ui.structure.min.css
@@ -0,0 +1,5 @@
+/*! jQuery UI - v1.12.1 - 2018-12-06
+* http://jqueryui.com
+* Copyright jQuery Foundation and other contributors; Licensed MIT */
+
+.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:before,.ui-helper-clearfix:after{content:"";display:table;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.ui-front{z-index:100}.ui-state-disabled{cursor:default!important;pointer-events:none}.ui-icon{display:inline-block;vertical-align:middle;margin-top:-.25em;position:relative;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-icon-block{left:50%;margin-left:-8px;display:block}.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.ui-autocomplete{position:absolute;top:0;left:0;cursor:default}.ui-menu{list-style:none;padding:0;margin:0;display:block;outline:0}.ui-menu .ui-menu{position:absolute}.ui-menu .ui-menu-item{margin:0;cursor:pointer;list-style-image:url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7")}.ui-menu .ui-menu-item-wrapper{position:relative;padding:3px 1em 3px .4em}.ui-menu .ui-menu-divider{margin:5px 0;height:0;font-size:0;line-height:0;border-width:1px 0 0 0}.ui-menu .ui-state-focus,.ui-menu .ui-state-active{margin:-1px}.ui-menu-icons{position:relative}.ui-menu-icons .ui-menu-item-wrapper{padding-left:2em}.ui-menu .ui-icon{position:absolute;top:0;bottom:0;left:.2em;margin:auto 0}.ui-menu .ui-menu-icon{left:auto;right:0}
\ No newline at end of file
diff --git a/javadoc/script.js b/javadoc/script.js
new file mode 100644
index 0000000..0765364
--- /dev/null
+++ b/javadoc/script.js
@@ -0,0 +1,132 @@
+/*
+ * Copyright (c) 2013, 2020, Oracle and/or its affiliates. All rights reserved.
+ * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ */
+
+var moduleSearchIndex;
+var packageSearchIndex;
+var typeSearchIndex;
+var memberSearchIndex;
+var tagSearchIndex;
+function loadScripts(doc, tag) {
+    createElem(doc, tag, 'search.js');
+
+    createElem(doc, tag, 'module-search-index.js');
+    createElem(doc, tag, 'package-search-index.js');
+    createElem(doc, tag, 'type-search-index.js');
+    createElem(doc, tag, 'member-search-index.js');
+    createElem(doc, tag, 'tag-search-index.js');
+}
+
+function createElem(doc, tag, path) {
+    var script = doc.createElement(tag);
+    var scriptElement = doc.getElementsByTagName(tag)[0];
+    script.src = pathtoroot + path;
+    scriptElement.parentNode.insertBefore(script, scriptElement);
+}
+
+function show(tableId, selected, columns) {
+    if (tableId !== selected) {
+        document.querySelectorAll('div.' + tableId + ':not(.' + selected + ')')
+            .forEach(function(elem) {
+                elem.style.display = 'none';
+            });
+    }
+    document.querySelectorAll('div.' + selected)
+        .forEach(function(elem, index) {
+            elem.style.display = '';
+            var isEvenRow = index % (columns * 2) < columns;
+            elem.classList.remove(isEvenRow ? oddRowColor : evenRowColor);
+            elem.classList.add(isEvenRow ? evenRowColor : oddRowColor);
+        });
+    updateTabs(tableId, selected);
+}
+
+function updateTabs(tableId, selected) {
+    document.querySelector('div#' + tableId +' .summary-table')
+        .setAttribute('aria-labelledby', selected);
+    document.querySelectorAll('button[id^="' + tableId + '"]')
+        .forEach(function(tab, index) {
+            if (selected === tab.id || (tableId === selected && index === 0)) {
+                tab.className = activeTableTab;
+                tab.setAttribute('aria-selected', true);
+                tab.setAttribute('tabindex',0);
+            } else {
+                tab.className = tableTab;
+                tab.setAttribute('aria-selected', false);
+                tab.setAttribute('tabindex',-1);
+            }
+        });
+}
+
+function switchTab(e) {
+    var selected = document.querySelector('[aria-selected=true]');
+    if (selected) {
+        if ((e.keyCode === 37 || e.keyCode === 38) && selected.previousSibling) {
+            // left or up arrow key pressed: move focus to previous tab
+            selected.previousSibling.click();
+            selected.previousSibling.focus();
+            e.preventDefault();
+        } else if ((e.keyCode === 39 || e.keyCode === 40) && selected.nextSibling) {
+            // right or down arrow key pressed: move focus to next tab
+            selected.nextSibling.click();
+            selected.nextSibling.focus();
+            e.preventDefault();
+        }
+    }
+}
+
+var updateSearchResults = function() {};
+
+function indexFilesLoaded() {
+    return moduleSearchIndex
+        && packageSearchIndex
+        && typeSearchIndex
+        && memberSearchIndex
+        && tagSearchIndex;
+}
+
+// Workaround for scroll position not being included in browser history (8249133)
+document.addEventListener("DOMContentLoaded", function(e) {
+    var contentDiv = document.querySelector("div.flex-content");
+    window.addEventListener("popstate", function(e) {
+        if (e.state !== null) {
+            contentDiv.scrollTop = e.state;
+        }
+    });
+    window.addEventListener("hashchange", function(e) {
+        history.replaceState(contentDiv.scrollTop, document.title);
+    });
+    contentDiv.addEventListener("scroll", function(e) {
+        var timeoutID;
+        if (!timeoutID) {
+            timeoutID = setTimeout(function() {
+                history.replaceState(contentDiv.scrollTop, document.title);
+                timeoutID = null;
+            }, 100);
+        }
+    });
+    if (!location.hash) {
+        history.replaceState(contentDiv.scrollTop, document.title);
+    }
+});
diff --git a/javadoc/search.js b/javadoc/search.js
new file mode 100644
index 0000000..13aba85
--- /dev/null
+++ b/javadoc/search.js
@@ -0,0 +1,354 @@
+/*
+ * Copyright (c) 2015, 2020, Oracle and/or its affiliates. All rights reserved.
+ * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ */
+
+var noResult = {l: "No results found"};
+var loading = {l: "Loading search index..."};
+var catModules = "Modules";
+var catPackages = "Packages";
+var catTypes = "Classes and Interfaces";
+var catMembers = "Members";
+var catSearchTags = "Search Tags";
+var highlight = "<span class=\"result-highlight\">$&</span>";
+var searchPattern = "";
+var fallbackPattern = "";
+var RANKING_THRESHOLD = 2;
+var NO_MATCH = 0xffff;
+var MIN_RESULTS = 3;
+var MAX_RESULTS = 500;
+var UNNAMED = "<Unnamed>";
+function escapeHtml(str) {
+    return str.replace(/</g, "&lt;").replace(/>/g, "&gt;");
+}
+function getHighlightedText(item, matcher, fallbackMatcher) {
+    var escapedItem = escapeHtml(item);
+    var highlighted = escapedItem.replace(matcher, highlight);
+    if (highlighted === escapedItem) {
+        highlighted = escapedItem.replace(fallbackMatcher, highlight)
+    }
+    return highlighted;
+}
+function getURLPrefix(ui) {
+    var urlPrefix="";
+    var slash = "/";
+    if (ui.item.category === catModules) {
+        return ui.item.l + slash;
+    } else if (ui.item.category === catPackages && ui.item.m) {
+        return ui.item.m + slash;
+    } else if (ui.item.category === catTypes || ui.item.category === catMembers) {
+        if (ui.item.m) {
+            urlPrefix = ui.item.m + slash;
+        } else {
+            $.each(packageSearchIndex, function(index, item) {
+                if (item.m && ui.item.p === item.l) {
+                    urlPrefix = item.m + slash;
+                }
+            });
+        }
+    }
+    return urlPrefix;
+}
+function createSearchPattern(term) {
+    var pattern = "";
+    var isWordToken = false;
+    term.replace(/,\s*/g, ", ").trim().split(/\s+/).forEach(function(w, index) {
+        if (index > 0) {
+            // whitespace between identifiers is significant
+            pattern += (isWordToken && /^\w/.test(w)) ? "\\s+" : "\\s*";
+        }
+        var tokens = w.split(/(?=[A-Z,.()<>[\/])/);
+        for (var i = 0; i < tokens.length; i++) {
+            var s = tokens[i];
+            if (s === "") {
+                continue;
+            }
+            pattern += $.ui.autocomplete.escapeRegex(s);
+            isWordToken =  /\w$/.test(s);
+            if (isWordToken) {
+                pattern += "([a-z0-9_$<>\\[\\]]*?)";
+            }
+        }
+    });
+    return pattern;
+}
+function createMatcher(pattern, flags) {
+    var isCamelCase = /[A-Z]/.test(pattern);
+    return new RegExp(pattern, flags + (isCamelCase ? "" : "i"));
+}
+var watermark = 'Search';
+$(function() {
+    var search = $("#search-input");
+    var reset = $("#reset-button");
+    search.val('');
+    search.prop("disabled", false);
+    reset.prop("disabled", false);
+    search.val(watermark).addClass('watermark');
+    search.blur(function() {
+        if ($(this).val().length === 0) {
+            $(this).val(watermark).addClass('watermark');
+        }
+    });
+    search.on('click keydown paste', function() {
+        if ($(this).val() === watermark) {
+            $(this).val('').removeClass('watermark');
+        }
+    });
+    reset.click(function() {
+        search.val('').focus();
+    });
+    search.focus()[0].setSelectionRange(0, 0);
+});
+$.widget("custom.catcomplete", $.ui.autocomplete, {
+    _create: function() {
+        this._super();
+        this.widget().menu("option", "items", "> :not(.ui-autocomplete-category)");
+    },
+    _renderMenu: function(ul, items) {
+        var rMenu = this;
+        var currentCategory = "";
+        rMenu.menu.bindings = $();
+        $.each(items, function(index, item) {
+            var li;
+            if (item.category && item.category !== currentCategory) {
+                ul.append("<li class=\"ui-autocomplete-category\">" + item.category + "</li>");
+                currentCategory = item.category;
+            }
+            li = rMenu._renderItemData(ul, item);
+            if (item.category) {
+                li.attr("aria-label", item.category + " : " + item.l);
+                li.attr("class", "result-item");
+            } else {
+                li.attr("aria-label", item.l);
+                li.attr("class", "result-item");
+            }
+        });
+    },
+    _renderItem: function(ul, item) {
+        var label = "";
+        var matcher = createMatcher(escapeHtml(searchPattern), "g");
+        var fallbackMatcher = new RegExp(fallbackPattern, "gi")
+        if (item.category === catModules) {
+            label = getHighlightedText(item.l, matcher, fallbackMatcher);
+        } else if (item.category === catPackages) {
+            label = getHighlightedText(item.l, matcher, fallbackMatcher);
+        } else if (item.category === catTypes) {
+            label = (item.p && item.p !== UNNAMED)
+                    ? getHighlightedText(item.p + "." + item.l, matcher, fallbackMatcher)
+                    : getHighlightedText(item.l, matcher, fallbackMatcher);
+        } else if (item.category === catMembers) {
+            label = (item.p && item.p !== UNNAMED)
+                    ? getHighlightedText(item.p + "." + item.c + "." + item.l, matcher, fallbackMatcher)
+                    : getHighlightedText(item.c + "." + item.l, matcher, fallbackMatcher);
+        } else if (item.category === catSearchTags) {
+            label = getHighlightedText(item.l, matcher, fallbackMatcher);
+        } else {
+            label = item.l;
+        }
+        var li = $("<li/>").appendTo(ul);
+        var div = $("<div/>").appendTo(li);
+        if (item.category === catSearchTags && item.h) {
+            if (item.d) {
+                div.html(label + "<span class=\"search-tag-holder-result\"> (" + item.h + ")</span><br><span class=\"search-tag-desc-result\">"
+                                + item.d + "</span><br>");
+            } else {
+                div.html(label + "<span class=\"search-tag-holder-result\"> (" + item.h + ")</span>");
+            }
+        } else {
+            if (item.m) {
+                div.html(item.m + "/" + label);
+            } else {
+                div.html(label);
+            }
+        }
+        return li;
+    }
+});
+function rankMatch(match, category) {
+    if (!match) {
+        return NO_MATCH;
+    }
+    var index = match.index;
+    var input = match.input;
+    var leftBoundaryMatch = 2;
+    var periferalMatch = 0;
+    // make sure match is anchored on a left word boundary
+    if (index === 0 || /\W/.test(input[index - 1]) || "_" === input[index]) {
+        leftBoundaryMatch = 0;
+    } else if ("_" === input[index - 1] || (input[index] === input[index].toUpperCase() && !/^[A-Z0-9_$]+$/.test(input))) {
+        leftBoundaryMatch = 1;
+    }
+    var matchEnd = index + match[0].length;
+    var leftParen = input.indexOf("(");
+    var endOfName = leftParen > -1 ? leftParen : input.length;
+    // exclude peripheral matches
+    if (category !== catModules && category !== catSearchTags) {
+        var delim = category === catPackages ? "/" : ".";
+        if (leftParen > -1 && leftParen < index) {
+            periferalMatch += 2;
+        } else if (input.lastIndexOf(delim, endOfName) >= matchEnd) {
+            periferalMatch += 2;
+        }
+    }
+    var delta = match[0].length === endOfName ? 0 : 1; // rank full match higher than partial match
+    for (var i = 1; i < match.length; i++) {
+        // lower ranking if parts of the name are missing
+        if (match[i])
+            delta += match[i].length;
+    }
+    if (category === catTypes) {
+        // lower ranking if a type name contains unmatched camel-case parts
+        if (/[A-Z]/.test(input.substring(matchEnd)))
+            delta += 5;
+        if (/[A-Z]/.test(input.substring(0, index)))
+            delta += 5;
+    }
+    return leftBoundaryMatch + periferalMatch + (delta / 200);
+
+}
+function doSearch(request, response) {
+    var result = [];
+    searchPattern = createSearchPattern(request.term);
+    fallbackPattern = createSearchPattern(request.term.toLowerCase());
+    if (searchPattern === "") {
+        return this.close();
+    }
+    var camelCaseMatcher = createMatcher(searchPattern, "");
+    var fallbackMatcher = new RegExp(fallbackPattern, "i");
+
+    function searchIndexWithMatcher(indexArray, matcher, category, nameFunc) {
+        if (indexArray) {
+            var newResults = [];
+            $.each(indexArray, function (i, item) {
+                item.category = category;
+                var ranking = rankMatch(matcher.exec(nameFunc(item)), category);
+                if (ranking < RANKING_THRESHOLD) {
+                    newResults.push({ranking: ranking, item: item});
+                }
+                return newResults.length <= MAX_RESULTS;
+            });
+            return newResults.sort(function(e1, e2) {
+                return e1.ranking - e2.ranking;
+            }).map(function(e) {
+                return e.item;
+            });
+        }
+        return [];
+    }
+    function searchIndex(indexArray, category, nameFunc) {
+        var primaryResults = searchIndexWithMatcher(indexArray, camelCaseMatcher, category, nameFunc);
+        result = result.concat(primaryResults);
+        if (primaryResults.length <= MIN_RESULTS && !camelCaseMatcher.ignoreCase) {
+            var secondaryResults = searchIndexWithMatcher(indexArray, fallbackMatcher, category, nameFunc);
+            result = result.concat(secondaryResults.filter(function (item) {
+                return primaryResults.indexOf(item) === -1;
+            }));
+        }
+    }
+
+    searchIndex(moduleSearchIndex, catModules, function(item) { return item.l; });
+    searchIndex(packageSearchIndex, catPackages, function(item) {
+        return (item.m && request.term.indexOf("/") > -1)
+            ? (item.m + "/" + item.l) : item.l;
+    });
+    searchIndex(typeSearchIndex, catTypes, function(item) {
+        return request.term.indexOf(".") > -1 ? item.p + "." + item.l : item.l;
+    });
+    searchIndex(memberSearchIndex, catMembers, function(item) {
+        return request.term.indexOf(".") > -1
+            ? item.p + "." + item.c + "." + item.l : item.l;
+    });
+    searchIndex(tagSearchIndex, catSearchTags, function(item) { return item.l; });
+
+    if (!indexFilesLoaded()) {
+        updateSearchResults = function() {
+            doSearch(request, response);
+        }
+        result.unshift(loading);
+    } else {
+        updateSearchResults = function() {};
+    }
+    response(result);
+}
+$(function() {
+    $("#search-input").catcomplete({
+        minLength: 1,
+        delay: 300,
+        source: doSearch,
+        response: function(event, ui) {
+            if (!ui.content.length) {
+                ui.content.push(noResult);
+            } else {
+                $("#search-input").empty();
+            }
+        },
+        autoFocus: true,
+        focus: function(event, ui) {
+            return false;
+        },
+        position: {
+            collision: "flip"
+        },
+        select: function(event, ui) {
+            if (ui.item.category) {
+                var url = getURLPrefix(ui);
+                if (ui.item.category === catModules) {
+                    url += "module-summary.html";
+                } else if (ui.item.category === catPackages) {
+                    if (ui.item.u) {
+                        url = ui.item.u;
+                    } else {
+                        url += ui.item.l.replace(/\./g, '/') + "/package-summary.html";
+                    }
+                } else if (ui.item.category === catTypes) {
+                    if (ui.item.u) {
+                        url = ui.item.u;
+                    } else if (ui.item.p === UNNAMED) {
+                        url += ui.item.l + ".html";
+                    } else {
+                        url += ui.item.p.replace(/\./g, '/') + "/" + ui.item.l + ".html";
+                    }
+                } else if (ui.item.category === catMembers) {
+                    if (ui.item.p === UNNAMED) {
+                        url += ui.item.c + ".html" + "#";
+                    } else {
+                        url += ui.item.p.replace(/\./g, '/') + "/" + ui.item.c + ".html" + "#";
+                    }
+                    if (ui.item.u) {
+                        url += ui.item.u;
+                    } else {
+                        url += ui.item.l;
+                    }
+                } else if (ui.item.category === catSearchTags) {
+                    url += ui.item.u;
+                }
+                if (top !== window) {
+                    parent.classFrame.location = pathtoroot + url;
+                } else {
+                    window.location.href = pathtoroot + url;
+                }
+                $("#search-input").focus();
+            }
+        }
+    });
+});
diff --git a/javadoc/serialized-form.html b/javadoc/serialized-form.html
new file mode 100644
index 0000000..ab5f6b0
--- /dev/null
+++ b/javadoc/serialized-form.html
@@ -0,0 +1,72 @@
+<!DOCTYPE HTML>
+<html lang="en">
+<head>
+<!-- Generated by javadoc (17) on Sun May 01 19:43:43 CEST 2022 -->
+<title>Serialized Form</title>
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<meta name="dc.created" content="2022-05-01">
+<meta name="description" content="serialized forms">
+<meta name="generator" content="javadoc/SerializedFormWriterImpl">
+<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<link rel="stylesheet" type="text/css" href="script-dir/jquery-ui.min.css" title="Style">
+<link rel="stylesheet" type="text/css" href="jquery-ui.overrides.css" title="Style">
+<script type="text/javascript" src="script.js"></script>
+<script type="text/javascript" src="script-dir/jquery-3.5.1.min.js"></script>
+<script type="text/javascript" src="script-dir/jquery-ui.min.js"></script>
+</head>
+<body class="serialized-form-page">
+<script type="text/javascript">var pathtoroot = "./";
+loadScripts(document, 'script');</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<div class="flex-box">
+<header role="banner" class="flex-header">
+<nav role="navigation">
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="top-nav" id="navbar-top">
+<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
+<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
+<li><a href="edu.ntnu.idatt2001.carljgu.client/module-summary.html">Module</a></li>
+<li>Package</li>
+<li>Class</li>
+<li><a href="overview-tree.html">Tree</a></li>
+<li><a href="index-files/index-1.html">Index</a></li>
+<li><a href="help-doc.html#serialized-form">Help</a></li>
+</ul>
+</div>
+<div class="sub-nav">
+<div class="nav-list-search"><label for="search-input">SEARCH:</label>
+<input type="text" id="search-input" value="search" disabled="disabled">
+<input type="reset" id="reset-button" value="reset" disabled="disabled">
+</div>
+</div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<span class="skip-nav" id="skip-navbar-top"></span></nav>
+</header>
+<div class="flex-content">
+<main role="main">
+<div class="header">
+<h1 title="Serialized Form" class="title">Serialized Form</h1>
+</div>
+<ul class="block-list">
+<li>
+<section class="serialized-package-container">
+<h2 title="Package">Package&nbsp;<a href="edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/package-summary.html">edu.ntnu.idatt2001.carljgu</a></h2>
+<ul class="block-list">
+<li>
+<section class="serialized-class-details" id="edu.ntnu.idatt2001.carljgu.FileExtensionException">
+<h3>Exception&nbsp;<a href="edu.ntnu.idatt2001.carljgu.client/edu/ntnu/idatt2001/carljgu/FileExtensionException.html" title="class in edu.ntnu.idatt2001.carljgu">edu.ntnu.idatt2001.carljgu.FileExtensionException</a></h3>
+<div class="type-signature">class FileExtensionException extends <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/IllegalArgumentException.html" title="class or interface in java.lang" class="external-link">IllegalArgumentException</a> implements <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/Serializable.html" title="class or interface in java.io" class="external-link">Serializable</a></div>
+</section>
+</li>
+</ul>
+</section>
+</li>
+</ul>
+</main>
+</div>
+</div>
+</body>
+</html>
diff --git a/javadoc/stylesheet.css b/javadoc/stylesheet.css
new file mode 100644
index 0000000..836c62d
--- /dev/null
+++ b/javadoc/stylesheet.css
@@ -0,0 +1,865 @@
+/*
+ * Javadoc style sheet
+ */
+
+@import url('resources/fonts/dejavu.css');
+
+/*
+ * Styles for individual HTML elements.
+ *
+ * These are styles that are specific to individual HTML elements. Changing them affects the style of a particular
+ * HTML element throughout the page.
+ */
+
+body {
+    background-color:#ffffff;
+    color:#353833;
+    font-family:'DejaVu Sans', Arial, Helvetica, sans-serif;
+    font-size:14px;
+    margin:0;
+    padding:0;
+    height:100%;
+    width:100%;
+}
+iframe {
+    margin:0;
+    padding:0;
+    height:100%;
+    width:100%;
+    overflow-y:scroll;
+    border:none;
+}
+a:link, a:visited {
+    text-decoration:none;
+    color:#4A6782;
+}
+a[href]:hover, a[href]:focus {
+    text-decoration:none;
+    color:#bb7a2a;
+}
+a[name] {
+    color:#353833;
+}
+pre {
+    font-family:'DejaVu Sans Mono', monospace;
+    font-size:14px;
+}
+h1 {
+    font-size:20px;
+}
+h2 {
+    font-size:18px;
+}
+h3 {
+    font-size:16px;
+}
+h4 {
+    font-size:15px;
+}
+h5 {
+    font-size:14px;
+}
+h6 {
+    font-size:13px;
+}
+ul {
+    list-style-type:disc;
+}
+code, tt {
+    font-family:'DejaVu Sans Mono', monospace;
+}
+:not(h1, h2, h3, h4, h5, h6) > code,
+:not(h1, h2, h3, h4, h5, h6) > tt {
+    font-size:14px;
+    padding-top:4px;
+    margin-top:8px;
+    line-height:1.4em;
+}
+dt code {
+    font-family:'DejaVu Sans Mono', monospace;
+    font-size:14px;
+    padding-top:4px;
+}
+.summary-table dt code {
+    font-family:'DejaVu Sans Mono', monospace;
+    font-size:14px;
+    vertical-align:top;
+    padding-top:4px;
+}
+sup {
+    font-size:8px;
+}
+button {
+    font-family: 'DejaVu Sans', Arial, Helvetica, sans-serif;
+    font-size: 14px;
+}
+/*
+ * Styles for HTML generated by javadoc.
+ *
+ * These are style classes that are used by the standard doclet to generate HTML documentation.
+ */
+
+/*
+ * Styles for document title and copyright.
+ */
+.clear {
+    clear:both;
+    height:0;
+    overflow:hidden;
+}
+.about-language {
+    float:right;
+    padding:0 21px 8px 8px;
+    font-size:11px;
+    margin-top:-9px;
+    height:2.9em;
+}
+.legal-copy {
+    margin-left:.5em;
+}
+.tab {
+    background-color:#0066FF;
+    color:#ffffff;
+    padding:8px;
+    width:5em;
+    font-weight:bold;
+}
+/*
+ * Styles for navigation bar.
+ */
+@media screen {
+    .flex-box {
+        position:fixed;
+        display:flex;
+        flex-direction:column;
+        height: 100%;
+        width: 100%;
+    }
+    .flex-header {
+        flex: 0 0 auto;
+    }
+    .flex-content {
+        flex: 1 1 auto;
+        overflow-y: auto;
+    }
+}
+.top-nav {
+    background-color:#4D7A97;
+    color:#FFFFFF;
+    float:left;
+    padding:0;
+    width:100%;
+    clear:right;
+    min-height:2.8em;
+    padding-top:10px;
+    overflow:hidden;
+    font-size:12px;
+}
+.sub-nav {
+    background-color:#dee3e9;
+    float:left;
+    width:100%;
+    overflow:hidden;
+    font-size:12px;
+}
+.sub-nav div {
+    clear:left;
+    float:left;
+    padding:0 0 5px 6px;
+    text-transform:uppercase;
+}
+.sub-nav .nav-list {
+    padding-top:5px;
+}
+ul.nav-list {
+    display:block;
+    margin:0 25px 0 0;
+    padding:0;
+}
+ul.sub-nav-list {
+    float:left;
+    margin:0 25px 0 0;
+    padding:0;
+}
+ul.nav-list li {
+    list-style:none;
+    float:left;
+    padding: 5px 6px;
+    text-transform:uppercase;
+}
+.sub-nav .nav-list-search {
+    float:right;
+    margin:0 0 0 0;
+    padding:5px 6px;
+    clear:none;
+}
+.nav-list-search label {
+    position:relative;
+    right:-16px;
+}
+ul.sub-nav-list li {
+    list-style:none;
+    float:left;
+    padding-top:10px;
+}
+.top-nav a:link, .top-nav a:active, .top-nav a:visited {
+    color:#FFFFFF;
+    text-decoration:none;
+    text-transform:uppercase;
+}
+.top-nav a:hover {
+    text-decoration:none;
+    color:#bb7a2a;
+    text-transform:uppercase;
+}
+.nav-bar-cell1-rev {
+    background-color:#F8981D;
+    color:#253441;
+    margin: auto 5px;
+}
+.skip-nav {
+    position:absolute;
+    top:auto;
+    left:-9999px;
+    overflow:hidden;
+}
+/*
+ * Hide navigation links and search box in print layout
+ */
+@media print {
+    ul.nav-list, div.sub-nav  {
+        display:none;
+    }
+}
+/*
+ * Styles for page header and footer.
+ */
+.title {
+    color:#2c4557;
+    margin:10px 0;
+}
+.sub-title {
+    margin:5px 0 0 0;
+}
+.header ul {
+    margin:0 0 15px 0;
+    padding:0;
+}
+.header ul li, .footer ul li {
+    list-style:none;
+    font-size:13px;
+}
+/*
+ * Styles for headings.
+ */
+body.class-declaration-page .summary h2,
+body.class-declaration-page .details h2,
+body.class-use-page  h2,
+body.module-declaration-page  .block-list h2 {
+    font-style: italic;
+    padding:0;
+    margin:15px 0;
+}
+body.class-declaration-page .summary h3,
+body.class-declaration-page .details h3,
+body.class-declaration-page .summary .inherited-list h2 {
+    background-color:#dee3e9;
+    border:1px solid #d0d9e0;
+    margin:0 0 6px -8px;
+    padding:7px 5px;
+}
+/*
+ * Styles for page layout containers.
+ */
+main {
+    clear:both;
+    padding:10px 20px;
+    position:relative;
+}
+dl.notes > dt {
+    font-family: 'DejaVu Sans', Arial, Helvetica, sans-serif;
+    font-size:12px;
+    font-weight:bold;
+    margin:10px 0 0 0;
+    color:#4E4E4E;
+}
+dl.notes > dd {
+    margin:5px 10px 10px 0;
+    font-size:14px;
+    font-family:'DejaVu Serif', Georgia, "Times New Roman", Times, serif;
+}
+dl.name-value > dt {
+    margin-left:1px;
+    font-size:1.1em;
+    display:inline;
+    font-weight:bold;
+}
+dl.name-value > dd {
+    margin:0 0 0 1px;
+    font-size:1.1em;
+    display:inline;
+}
+/*
+ * Styles for lists.
+ */
+li.circle {
+    list-style:circle;
+}
+ul.horizontal li {
+    display:inline;
+    font-size:0.9em;
+}
+div.inheritance {
+    margin:0;
+    padding:0;
+}
+div.inheritance div.inheritance {
+    margin-left:2em;
+}
+ul.block-list,
+ul.details-list,
+ul.member-list,
+ul.summary-list {
+    margin:10px 0 10px 0;
+    padding:0;
+}
+ul.block-list > li,
+ul.details-list > li,
+ul.member-list > li,
+ul.summary-list > li {
+    list-style:none;
+    margin-bottom:15px;
+    line-height:1.4;
+}
+.summary-table dl, .summary-table dl dt, .summary-table dl dd {
+    margin-top:0;
+    margin-bottom:1px;
+}
+ul.see-list, ul.see-list-long {
+    padding-left: 0;
+    list-style: none;
+}
+ul.see-list li {
+    display: inline;
+}
+ul.see-list li:not(:last-child):after,
+ul.see-list-long li:not(:last-child):after {
+    content: ", ";
+    white-space: pre-wrap;
+}
+/*
+ * Styles for tables.
+ */
+.summary-table, .details-table {
+    width:100%;
+    border-spacing:0;
+    border-left:1px solid #EEE;
+    border-right:1px solid #EEE;
+    border-bottom:1px solid #EEE;
+    padding:0;
+}
+.caption {
+    position:relative;
+    text-align:left;
+    background-repeat:no-repeat;
+    color:#253441;
+    font-weight:bold;
+    clear:none;
+    overflow:hidden;
+    padding:0;
+    padding-top:10px;
+    padding-left:1px;
+    margin:0;
+    white-space:pre;
+}
+.caption a:link, .caption a:visited {
+    color:#1f389c;
+}
+.caption a:hover,
+.caption a:active {
+    color:#FFFFFF;
+}
+.caption span {
+    white-space:nowrap;
+    padding-top:5px;
+    padding-left:12px;
+    padding-right:12px;
+    padding-bottom:7px;
+    display:inline-block;
+    float:left;
+    background-color:#F8981D;
+    border: none;
+    height:16px;
+}
+div.table-tabs {
+    padding:10px 0 0 1px;
+    margin:0;
+}
+div.table-tabs > button {
+   border: none;
+   cursor: pointer;
+   padding: 5px 12px 7px 12px;
+   font-weight: bold;
+   margin-right: 3px;
+}
+div.table-tabs > button.active-table-tab {
+   background: #F8981D;
+   color: #253441;
+}
+div.table-tabs > button.table-tab {
+   background: #4D7A97;
+   color: #FFFFFF;
+}
+.two-column-summary {
+    display: grid;
+    grid-template-columns: minmax(15%, max-content) minmax(15%, auto);
+}
+.three-column-summary {
+    display: grid;
+    grid-template-columns: minmax(10%, max-content) minmax(15%, max-content) minmax(15%, auto);
+}
+.four-column-summary {
+    display: grid;
+    grid-template-columns: minmax(10%, max-content) minmax(10%, max-content) minmax(10%, max-content) minmax(10%, auto);
+}
+@media screen and (max-width: 600px) {
+    .two-column-summary {
+        display: grid;
+        grid-template-columns: 1fr;
+    }
+}
+@media screen and (max-width: 800px) {
+    .three-column-summary {
+        display: grid;
+        grid-template-columns: minmax(10%, max-content) minmax(25%, auto);
+    }
+    .three-column-summary .col-last {
+        grid-column-end: span 2;
+    }
+}
+@media screen and (max-width: 1000px) {
+    .four-column-summary {
+        display: grid;
+        grid-template-columns: minmax(15%, max-content) minmax(15%, auto);
+    }
+}
+.summary-table > div, .details-table > div {
+    text-align:left;
+    padding: 8px 3px 3px 7px;
+}
+.col-first, .col-second, .col-last, .col-constructor-name, .col-summary-item-name {
+    vertical-align:top;
+    padding-right:0;
+    padding-top:8px;
+    padding-bottom:3px;
+}
+.table-header {
+    background:#dee3e9;
+    font-weight: bold;
+}
+.col-first, .col-first {
+    font-size:13px;
+}
+.col-second, .col-second, .col-last, .col-constructor-name, .col-summary-item-name, .col-last {
+    font-size:13px;
+}
+.col-first, .col-second, .col-constructor-name {
+    vertical-align:top;
+    overflow: auto;
+}
+.col-last {
+    white-space:normal;
+}
+.col-first a:link, .col-first a:visited,
+.col-second a:link, .col-second a:visited,
+.col-first a:link, .col-first a:visited,
+.col-second a:link, .col-second a:visited,
+.col-constructor-name a:link, .col-constructor-name a:visited,
+.col-summary-item-name a:link, .col-summary-item-name a:visited,
+.constant-values-container a:link, .constant-values-container a:visited,
+.all-classes-container a:link, .all-classes-container a:visited,
+.all-packages-container a:link, .all-packages-container a:visited {
+    font-weight:bold;
+}
+.table-sub-heading-color {
+    background-color:#EEEEFF;
+}
+.even-row-color, .even-row-color .table-header {
+    background-color:#FFFFFF;
+}
+.odd-row-color, .odd-row-color .table-header {
+    background-color:#EEEEEF;
+}
+/*
+ * Styles for contents.
+ */
+.deprecated-content {
+    margin:0;
+    padding:10px 0;
+}
+div.block {
+    font-size:14px;
+    font-family:'DejaVu Serif', Georgia, "Times New Roman", Times, serif;
+}
+.col-last div {
+    padding-top:0;
+}
+.col-last a {
+    padding-bottom:3px;
+}
+.module-signature,
+.package-signature,
+.type-signature,
+.member-signature {
+    font-family:'DejaVu Sans Mono', monospace;
+    font-size:14px;
+    margin:14px 0;
+    white-space: pre-wrap;
+}
+.module-signature,
+.package-signature,
+.type-signature {
+    margin-top: 0;
+}
+.member-signature .type-parameters-long,
+.member-signature .parameters,
+.member-signature .exceptions {
+    display: inline-block;
+    vertical-align: top;
+    white-space: pre;
+}
+.member-signature .type-parameters {
+    white-space: normal;
+}
+/*
+ * Styles for formatting effect.
+ */
+.source-line-no {
+    color:green;
+    padding:0 30px 0 0;
+}
+h1.hidden {
+    visibility:hidden;
+    overflow:hidden;
+    font-size:10px;
+}
+.block {
+    display:block;
+    margin:0 10px 5px 0;
+    color:#474747;
+}
+.deprecated-label, .descfrm-type-label, .implementation-label, .member-name-label, .member-name-link,
+.module-label-in-package, .module-label-in-type, .override-specify-label, .package-label-in-type,
+.package-hierarchy-label, .type-name-label, .type-name-link, .search-tag-link, .preview-label {
+    font-weight:bold;
+}
+.deprecation-comment, .help-footnote, .preview-comment {
+    font-style:italic;
+}
+.deprecation-block {
+    font-size:14px;
+    font-family:'DejaVu Serif', Georgia, "Times New Roman", Times, serif;
+    border-style:solid;
+    border-width:thin;
+    border-radius:10px;
+    padding:10px;
+    margin-bottom:10px;
+    margin-right:10px;
+    display:inline-block;
+}
+.preview-block {
+    font-size:14px;
+    font-family:'DejaVu Serif', Georgia, "Times New Roman", Times, serif;
+    border-style:solid;
+    border-width:thin;
+    border-radius:10px;
+    padding:10px;
+    margin-bottom:10px;
+    margin-right:10px;
+    display:inline-block;
+}
+div.block div.deprecation-comment {
+    font-style:normal;
+}
+/*
+ * Styles specific to HTML5 elements.
+ */
+main, nav, header, footer, section {
+    display:block;
+}
+/*
+ * Styles for javadoc search.
+ */
+.ui-autocomplete-category {
+    font-weight:bold;
+    font-size:15px;
+    padding:7px 0 7px 3px;
+    background-color:#4D7A97;
+    color:#FFFFFF;
+}
+.result-item {
+    font-size:13px;
+}
+.ui-autocomplete {
+    max-height:85%;
+    max-width:65%;
+    overflow-y:scroll;
+    overflow-x:scroll;
+    white-space:nowrap;
+    box-shadow: 0 3px 6px rgba(0,0,0,0.16), 0 3px 6px rgba(0,0,0,0.23);
+}
+ul.ui-autocomplete {
+    position:fixed;
+    z-index:999999;
+}
+ul.ui-autocomplete  li {
+    float:left;
+    clear:both;
+    width:100%;
+}
+.result-highlight {
+    font-weight:bold;
+}
+#search-input {
+    background-image:url('resources/glass.png');
+    background-size:13px;
+    background-repeat:no-repeat;
+    background-position:2px 3px;
+    padding-left:20px;
+    position:relative;
+    right:-18px;
+    width:400px;
+}
+#reset-button {
+    background-color: rgb(255,255,255);
+    background-image:url('resources/x.png');
+    background-position:center;
+    background-repeat:no-repeat;
+    background-size:12px;
+    border:0 none;
+    width:16px;
+    height:16px;
+    position:relative;
+    left:-4px;
+    top:-4px;
+    font-size:0px;
+}
+.watermark {
+    color:#545454;
+}
+.search-tag-desc-result {
+    font-style:italic;
+    font-size:11px;
+}
+.search-tag-holder-result {
+    font-style:italic;
+    font-size:12px;
+}
+.search-tag-result:target {
+    background-color:yellow;
+}
+.module-graph span {
+    display:none;
+    position:absolute;
+}
+.module-graph:hover span {
+    display:block;
+    margin: -100px 0 0 100px;
+    z-index: 1;
+}
+.inherited-list {
+    margin: 10px 0 10px 0;
+}
+section.class-description {
+    line-height: 1.4;
+}
+.summary section[class$="-summary"], .details section[class$="-details"],
+.class-uses .detail, .serialized-class-details {
+    padding: 0px 20px 5px 10px;
+    border: 1px solid #ededed;
+    background-color: #f8f8f8;
+}
+.inherited-list, section[class$="-details"] .detail {
+    padding:0 0 5px 8px;
+    background-color:#ffffff;
+    border:none;
+}
+.vertical-separator {
+    padding: 0 5px;
+}
+ul.help-section-list {
+    margin: 0;
+}
+ul.help-subtoc > li {
+  display: inline-block;
+  padding-right: 5px;
+  font-size: smaller;
+}
+ul.help-subtoc > li::before {
+  content: "\2022" ;
+  padding-right:2px;
+}
+span.help-note {
+    font-style: italic;
+}
+/*
+ * Indicator icon for external links.
+ */
+main a[href*="://"]::after {
+    content:"";
+    display:inline-block;
+    background-image:url('data:image/svg+xml; utf8, \
+      <svg xmlns="http://www.w3.org/2000/svg" width="768" height="768">\
+        <path d="M584 664H104V184h216V80H0v688h688V448H584zM384 0l132 \
+        132-240 240 120 120 240-240 132 132V0z" fill="%234a6782"/>\
+      </svg>');
+    background-size:100% 100%;
+    width:7px;
+    height:7px;
+    margin-left:2px;
+    margin-bottom:4px;
+}
+main a[href*="://"]:hover::after,
+main a[href*="://"]:focus::after {
+    background-image:url('data:image/svg+xml; utf8, \
+      <svg xmlns="http://www.w3.org/2000/svg" width="768" height="768">\
+        <path d="M584 664H104V184h216V80H0v688h688V448H584zM384 0l132 \
+        132-240 240 120 120 240-240 132 132V0z" fill="%23bb7a2a"/>\
+      </svg>');
+}
+
+/*
+ * Styles for user-provided tables.
+ *
+ * borderless:
+ *      No borders, vertical margins, styled caption.
+ *      This style is provided for use with existing doc comments.
+ *      In general, borderless tables should not be used for layout purposes.
+ *
+ * plain:
+ *      Plain borders around table and cells, vertical margins, styled caption.
+ *      Best for small tables or for complex tables for tables with cells that span
+ *      rows and columns, when the "striped" style does not work well.
+ *
+ * striped:
+ *      Borders around the table and vertical borders between cells, striped rows,
+ *      vertical margins, styled caption.
+ *      Best for tables that have a header row, and a body containing a series of simple rows.
+ */
+
+table.borderless,
+table.plain,
+table.striped {
+    margin-top: 10px;
+    margin-bottom: 10px;
+}
+table.borderless > caption,
+table.plain > caption,
+table.striped > caption {
+    font-weight: bold;
+    font-size: smaller;
+}
+table.borderless th, table.borderless td,
+table.plain th, table.plain td,
+table.striped th, table.striped td {
+    padding: 2px 5px;
+}
+table.borderless,
+table.borderless > thead > tr > th, table.borderless > tbody > tr > th, table.borderless > tr > th,
+table.borderless > thead > tr > td, table.borderless > tbody > tr > td, table.borderless > tr > td {
+    border: none;
+}
+table.borderless > thead > tr, table.borderless > tbody > tr, table.borderless > tr {
+    background-color: transparent;
+}
+table.plain {
+    border-collapse: collapse;
+    border: 1px solid black;
+}
+table.plain > thead > tr, table.plain > tbody tr, table.plain > tr {
+    background-color: transparent;
+}
+table.plain > thead > tr > th, table.plain > tbody > tr > th, table.plain > tr > th,
+table.plain > thead > tr > td, table.plain > tbody > tr > td, table.plain > tr > td {
+    border: 1px solid black;
+}
+table.striped {
+    border-collapse: collapse;
+    border: 1px solid black;
+}
+table.striped > thead {
+    background-color: #E3E3E3;
+}
+table.striped > thead > tr > th, table.striped > thead > tr > td {
+    border: 1px solid black;
+}
+table.striped > tbody > tr:nth-child(even) {
+    background-color: #EEE
+}
+table.striped > tbody > tr:nth-child(odd) {
+    background-color: #FFF
+}
+table.striped > tbody > tr > th, table.striped > tbody > tr > td {
+    border-left: 1px solid black;
+    border-right: 1px solid black;
+}
+table.striped > tbody > tr > th {
+    font-weight: normal;
+}
+/**
+ * Tweak font sizes and paddings for small screens.
+ */
+@media screen and (max-width: 1050px) {
+    #search-input {
+        width: 300px;
+    }
+}
+@media screen and (max-width: 800px) {
+    #search-input {
+        width: 200px;
+    }
+    .top-nav,
+    .bottom-nav {
+        font-size: 11px;
+        padding-top: 6px;
+    }
+    .sub-nav {
+        font-size: 11px;
+    }
+    .about-language {
+        padding-right: 16px;
+    }
+    ul.nav-list li,
+    .sub-nav .nav-list-search {
+        padding: 6px;
+    }
+    ul.sub-nav-list li {
+        padding-top: 5px;
+    }
+    main {
+        padding: 10px;
+    }
+    .summary section[class$="-summary"], .details section[class$="-details"],
+    .class-uses .detail, .serialized-class-details {
+        padding: 0 8px 5px 8px;
+    }
+    body {
+        -webkit-text-size-adjust: none;
+    }
+}
+@media screen and (max-width: 500px) {
+    #search-input {
+        width: 150px;
+    }
+    .top-nav,
+    .bottom-nav {
+        font-size: 10px;
+    }
+    .sub-nav {
+        font-size: 10px;
+    }
+    .about-language {
+        font-size: 10px;
+        padding-right: 12px;
+    }
+}
diff --git a/javadoc/tag-search-index.js b/javadoc/tag-search-index.js
new file mode 100644
index 0000000..bf10aaf
--- /dev/null
+++ b/javadoc/tag-search-index.js
@@ -0,0 +1 @@
+tagSearchIndex = [{"l":"Constant Field Values","h":"","u":"constant-values.html"},{"l":"Serialized Form","h":"","u":"serialized-form.html"}];updateSearchResults();
\ No newline at end of file
diff --git a/javadoc/type-search-index.js b/javadoc/type-search-index.js
new file mode 100644
index 0000000..d277906
--- /dev/null
+++ b/javadoc/type-search-index.js
@@ -0,0 +1 @@
+typeSearchIndex = [{"l":"All Classes and Interfaces","u":"allclasses-index.html"},{"p":"edu.ntnu.idatt2001.carljgu.client","l":"App"},{"p":"edu.ntnu.idatt2001.carljgu.units","l":"Army"},{"p":"edu.ntnu.idatt2001.carljgu","l":"ArmyFileHandler"},{"p":"edu.ntnu.idatt2001.carljgu.battle","l":"Battle"},{"p":"edu.ntnu.idatt2001.carljgu.client","l":"BattleController"},{"p":"edu.ntnu.idatt2001.carljgu.units.specialized","l":"CavalryUnit"},{"p":"edu.ntnu.idatt2001.carljgu.units.specialized","l":"CommanderUnit"},{"p":"edu.ntnu.idatt2001.carljgu.client.dialogs","l":"DialogBox"},{"p":"edu.ntnu.idatt2001.carljgu.client.dialogs","l":"DialogBoxBuilder"},{"p":"edu.ntnu.idatt2001.carljgu","l":"FileExtensionException"},{"p":"edu.ntnu.idatt2001.carljgu.units.specialized","l":"InfantryUnit"},{"p":"edu.ntnu.idatt2001.carljgu.client","l":"Main"},{"p":"edu.ntnu.idatt2001.carljgu.units.specialized","l":"RangedUnit"},{"p":"edu.ntnu.idatt2001.carljgu.battle","l":"SimulationAttack"},{"p":"edu.ntnu.idatt2001.carljgu","l":"Terrain"},{"p":"edu.ntnu.idatt2001.carljgu.units","l":"Unit"},{"p":"edu.ntnu.idatt2001.carljgu.units","l":"UnitFactory"}];updateSearchResults();
\ No newline at end of file
diff --git a/src/main/java/edu/ntnu/idatt2001/carljgu/ArmyFileHandler.java b/src/main/java/edu/ntnu/idatt2001/carljgu/ArmyFileHandler.java
index 9ab33c7..3af1018 100644
--- a/src/main/java/edu/ntnu/idatt2001/carljgu/ArmyFileHandler.java
+++ b/src/main/java/edu/ntnu/idatt2001/carljgu/ArmyFileHandler.java
@@ -5,17 +5,25 @@ import edu.ntnu.idatt2001.carljgu.units.*;
 import javafx.stage.FileChooser;
 
 import java.io.*;
+import java.util.ArrayList;
 
 /**
  * Handles writing, reading and importing
  * armies to and from a file.
  *
  * @author Carl Gützkow
- * @version 1.3 13.04.2022
+ * @version 1.4 1.05.2022
  */
 public class ArmyFileHandler {
 
-    private int readLinesSkipped = 0;
+    private final ArrayList<String> readLinesSkipped;
+
+    /**
+     * Constructor which initiates the readLinesSkipped arraylist
+     */
+    public ArmyFileHandler() {
+        readLinesSkipped = new ArrayList<>();
+    }
 
     /**
      * Gets the amount of units
@@ -24,7 +32,7 @@ public class ArmyFileHandler {
      * @return readLinesSkipped - amount of lines skipped when
      * reading army from file because of invalid unit.
      */
-    public int getReadLinesSkipped() {
+    public ArrayList<String> getReadLinesSkipped() {
         return readLinesSkipped;
     }
 
@@ -64,13 +72,13 @@ public class ArmyFileHandler {
      * with an error message the client creates.
      *
      * @param filePath - String - name of the file path to read from
-     * @return army - Army - an army read from a csv file
-     * @throws FileExtensionException thrown if file extension is not csv
      * @throws IOException thrown if an I/O error occurs
      * @throws FileNotFoundException thrown if the filepath was not found
+     * @throws IllegalArgumentException thrown if file extension is not csv or if army could not be created.
+     * @return army - Army - an army read from a csv file
      */
     public Army readArmyFromFile(String filePath)
-        throws FileExtensionException, IOException, FileNotFoundException {
+        throws IOException, FileNotFoundException, IllegalArgumentException {
         if (!filePath.endsWith(".csv")) throw new FileExtensionException("File extension has to be csv");
 
         UnitFactory unitFactory = new UnitFactory();
@@ -86,8 +94,10 @@ public class ArmyFileHandler {
                     int health = Integer.parseInt(unit[2].trim());
 
                     army.addUnit(unitFactory.createUnit(unitType, name, health));
-                } catch (IllegalArgumentException | IndexOutOfBoundsException e) {
-                    readLinesSkipped++;
+                } catch (IllegalArgumentException e) {
+                    readLinesSkipped.add("Line \"" + line + "\" skipped because \"" + e.getMessage() + "\"");
+                } catch (ArrayIndexOutOfBoundsException e) {
+                    readLinesSkipped.add("Line \"" + line + "\" skipped because it did not contain enough information");
                 }
             }
             return army;
diff --git a/src/main/java/edu/ntnu/idatt2001/carljgu/Terrain.java b/src/main/java/edu/ntnu/idatt2001/carljgu/Terrain.java
index 2ab411c..3d1ede1 100644
--- a/src/main/java/edu/ntnu/idatt2001/carljgu/Terrain.java
+++ b/src/main/java/edu/ntnu/idatt2001/carljgu/Terrain.java
@@ -1,7 +1,7 @@
 package edu.ntnu.idatt2001.carljgu;
 
 /**
- * En enum that represents the different terrain
+ * An enum that represents the different terrains
  * that the battles can occur on.
  *
  * @author Carl Gützkow
diff --git a/src/main/java/edu/ntnu/idatt2001/carljgu/client/App.java b/src/main/java/edu/ntnu/idatt2001/carljgu/client/App.java
index 9f43d4b..cb1b317 100644
--- a/src/main/java/edu/ntnu/idatt2001/carljgu/client/App.java
+++ b/src/main/java/edu/ntnu/idatt2001/carljgu/client/App.java
@@ -1,16 +1,22 @@
 package edu.ntnu.idatt2001.carljgu.client;
 
 import java.io.IOException;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+
+import edu.ntnu.idatt2001.carljgu.client.dialogs.DialogBoxBuilder;
 import javafx.application.Application;
 import javafx.fxml.FXMLLoader;
 import javafx.scene.Scene;
 import javafx.scene.image.Image;
 import javafx.stage.Stage;
 
+import static javafx.scene.control.Alert.AlertType.ERROR;
+
 /**
  * Class that extends Application
  * from javafx.
- * Responsibility for configuring the stage.
+ * Responsibility for creating the stage.
  *
  * @author Carl Gützkow
  * @version 1.1 27.03.2022
@@ -33,16 +39,22 @@ public class App extends Application {
             FXMLLoader fxmlLoader = new FXMLLoader(App.class.getClassLoader().getResource("wargames.fxml"));
             scene = new Scene(fxmlLoader.load(), 1300, 740);
             scene.getStylesheets().add("stylesheet.css");
+
+            stage.setTitle("Wargames");
+
+            Path currentPath = Paths.get("").toAbsolutePath();
+            Path imagePath = Paths.get(currentPath.toString(), "src","main","resources","icons","wargames-logo.png");
+            Image icon = new Image(imagePath.toString());
+            stage.getIcons().add(icon);
+
+            stage.setScene(scene);
+            stage.show();
         } catch (IOException | IllegalStateException e) {
-            System.out.println(e.getMessage());
+            new DialogBoxBuilder(ERROR)
+                    .addHeader("Program could not be started. File was not found.")
+                    .build().showAndWait();
         }
-        stage.setTitle("Wargames");
-
-        Image icon = new Image("wargames-logo.png");
-        stage.getIcons().add(icon);
 
-        stage.setScene(scene);
-        stage.show();
     }
 
     /**
diff --git a/src/main/java/edu/ntnu/idatt2001/carljgu/client/BattleController.java b/src/main/java/edu/ntnu/idatt2001/carljgu/client/BattleController.java
index 41e2fbd..d5ee1d5 100644
--- a/src/main/java/edu/ntnu/idatt2001/carljgu/client/BattleController.java
+++ b/src/main/java/edu/ntnu/idatt2001/carljgu/client/BattleController.java
@@ -11,17 +11,16 @@ import edu.ntnu.idatt2001.carljgu.units.UnitFactory;
 
 import java.io.IOException;
 import java.net.URL;
+import java.nio.file.Path;
+import java.nio.file.Paths;
 import java.util.ArrayList;
-import java.util.Optional;
 import java.util.ResourceBundle;
 
 import javafx.fxml.Initializable;
 import javafx.scene.control.Button;
 import javafx.scene.control.ChoiceBox;
 import javafx.fxml.FXML;
-import javafx.scene.control.ButtonType;
 import javafx.scene.control.ListView;
-import javafx.scene.input.MouseButton;
 import javafx.scene.text.Text;
 import static javafx.scene.control.Alert.AlertType.*;
 
@@ -31,7 +30,7 @@ import static javafx.scene.control.Alert.AlertType.*;
  * This includes requesting to import
  * armies and simulate the battle
  *
- * @version 1.6 30.04.2022
+ * @version 1.7 01.05.2022
  * @author Carl Gützkow
  */
 public class BattleController implements Initializable {
@@ -80,21 +79,37 @@ public class BattleController implements Initializable {
      */
     private void importArmy(int armyNumber) {
         ArmyFileHandler fileHandler = new ArmyFileHandler();
-        new DialogBoxBuilder(ERROR).build().showAndWait();
 
         try {
-            filePaths[armyNumber] = fileHandler.getFilePath();
 
-            if (filePaths[armyNumber] == null)
+            String filePath = fileHandler.getFilePath();
+            if (filePath != null)
+                filePaths[armyNumber] = filePath;
+            else
                 return;
 
             armies[armyNumber] = fileHandler.readArmyFromFile(filePaths[armyNumber]);
             displayArmy(armyNumber, armies[armyNumber]);
-            new DialogBoxBuilder(INFORMATION)
+
+            ArrayList<String> linesSkipped = fileHandler.getReadLinesSkipped();
+            DialogBoxBuilder dialogBoxBuilder = new DialogBoxBuilder(INFORMATION)
                     .addTitle("Army imported")
-                    .addMessage("Army was successfully imported.\n" +
-                        "In the process " + fileHandler.getReadLinesSkipped() + " units were corrupted")
-                    .build().showAndWait();
+                    .addMessage("Army was successfully imported.");
+
+            if (linesSkipped.size() > 0) {
+                Path currentPath = Paths.get("").toAbsolutePath();
+                Path imagePath = Paths.get(currentPath.toString(), "src","main","resources","icons", "corrupt-file.png");
+                dialogBoxBuilder.addMessage(
+                        dialogBoxBuilder.getMessage() + "\n" +
+                        "In the process " + linesSkipped.size() + " units were corrupted.\n" +
+                        "Expand the \"Show details\" button to see all corrupted lines."
+                )
+                .addImage(imagePath.toString())
+                .addListMessage(linesSkipped);
+            }
+            dialogBoxBuilder.build().showAndWait();
+
+
         } catch (FileExtensionException e) {
             new DialogBoxBuilder(ERROR)
                     .addTitle("File is not supported")
@@ -103,7 +118,10 @@ public class BattleController implements Initializable {
         } catch (IOException e) {
             new DialogBoxBuilder(ERROR)
                     .addHeader("File could not be loaded")
-                    .addMessage(DialogBoxBuilder.recurringErrorMessage)
+                    .build().showAndWait();
+        } catch (IllegalArgumentException e) {
+            new DialogBoxBuilder(ERROR)
+                    .addMessage(e.getMessage())
                     .build().showAndWait();
         }
         scores[0] = 0;
@@ -233,32 +251,6 @@ public class BattleController implements Initializable {
         armyUnitListViews.get(armyNumber).getItems().addAll(army.getAllUnits());
     }
 
-    /**
-     * Sets a selection model that is activated when
-     * the list view receives a double click.
-     *
-     * @param armyNumber int - the number of the list view
-     * which is to be updated and corresponds to the army shown.
-     */
-    public void setDoubleClickSelectionModeOnListView(int armyNumber) {
-        armyUnitListViews.get(armyNumber).setOnMouseClicked(click -> {
-            if (click.getButton() == MouseButton.PRIMARY && click.getClickCount() == 2) {
-                Unit selectedUnit = armyUnitListViews.get(armyNumber).getSelectionModel().getSelectedItem();
-                if (selectedUnit != null) {
-                    Optional<ButtonType> optional = new DialogBoxBuilder(CONFIRMATION)
-                            .addTitle("Delete unit?")
-                            .addMessage("Are you sure you want to delete this unit?")
-                            .build().showAndWait();
-                    boolean result = optional.filter(buttonType -> buttonType == ButtonType.OK).isPresent();
-                    if (result) {
-                        armies[armyNumber].remove(selectedUnit);
-                        displayArmy(armyNumber, armies[armyNumber]);
-                    }
-                }
-            }
-        });
-    }
-
     /**
      * Run when the fxml file is first loaded.
      * Fills in the tables of information for the armies
@@ -286,9 +278,5 @@ public class BattleController implements Initializable {
         terrainChoiceBox.getItems().clear();
         terrainChoiceBox.getItems().addAll(Terrain.PLAINS, Terrain.FOREST, Terrain.HILL);
         terrainChoiceBox.setValue(Terrain.PLAINS);
-
-        setDoubleClickSelectionModeOnListView(0);
-        setDoubleClickSelectionModeOnListView(1);
-
     }
 }
diff --git a/src/main/java/edu/ntnu/idatt2001/carljgu/client/dialogs/DialogBox.java b/src/main/java/edu/ntnu/idatt2001/carljgu/client/dialogs/DialogBox.java
index 8a800b1..0375929 100644
--- a/src/main/java/edu/ntnu/idatt2001/carljgu/client/dialogs/DialogBox.java
+++ b/src/main/java/edu/ntnu/idatt2001/carljgu/client/dialogs/DialogBox.java
@@ -2,6 +2,7 @@ package edu.ntnu.idatt2001.carljgu.client.dialogs;
 
 import javafx.scene.control.Alert;
 import javafx.scene.control.ButtonType;
+import javafx.scene.control.ListView;
 import javafx.scene.image.ImageView;
 import javafx.stage.Stage;
 
@@ -10,7 +11,7 @@ import javafx.stage.Stage;
  * a builder to build a dialog box.
  *
  * @author Carl Gützkow
- * @version 1.1 17.04.2022
+ * @version 1.2 01.05.2022
  */
 public class DialogBox extends Alert {
 
@@ -24,7 +25,7 @@ public class DialogBox extends Alert {
      * the default image is used. Otherwise, this
      * constructor will add image from resource folder.
      *
-     * @param builder
+     * @param builder DialogBoxBuilder - a builder class to configure a dialog box
      */
     public DialogBox(DialogBoxBuilder builder) {
         super(builder.getAlertType());
@@ -35,11 +36,17 @@ public class DialogBox extends Alert {
         if (builder.getAlertType() == AlertType.NONE) {
             this.getDialogPane().getButtonTypes().add(ButtonType.OK);
         }
+
         if (builder.getImage() != null) {
-            this.setGraphic(new ImageView(builder.getImage()));
             Stage stage = (Stage) this.getDialogPane().getScene().getWindow();
             stage.getIcons().add(builder.getImage());
+            this.setGraphic(new ImageView(builder.getImage()));
         }
-    }
 
+        if (builder.getListMessages() != null) {
+            ListView<String> list = new ListView<>();
+            list.getItems().addAll(builder.getListMessages());
+            getDialogPane().setExpandableContent(list);
+        }
+    }
 }
diff --git a/src/main/java/edu/ntnu/idatt2001/carljgu/client/dialogs/DialogBoxBuilder.java b/src/main/java/edu/ntnu/idatt2001/carljgu/client/dialogs/DialogBoxBuilder.java
index dd51f27..84bab52 100644
--- a/src/main/java/edu/ntnu/idatt2001/carljgu/client/dialogs/DialogBoxBuilder.java
+++ b/src/main/java/edu/ntnu/idatt2001/carljgu/client/dialogs/DialogBoxBuilder.java
@@ -3,19 +3,21 @@ package edu.ntnu.idatt2001.carljgu.client.dialogs;
 import javafx.scene.control.Alert.AlertType;
 import javafx.scene.image.Image;
 
+import java.util.ArrayList;
+
 /**
- * A builder class which simplifies the
- * DialogBox class. Using a builder makes it easy
+ * A builder class which simplifies the process of
+ * building a DialogBox object. Using a builder makes it easy
  * to create complex dialogs while still avoiding
  * the telescoping constructors problem.
  * It also makes it easier to add attributes in the future.
  *
  * @author Carl Gützkow
- * @version 1.1 17.04.2022
+ * @version 1.2 01.05.2022
  */
 public class DialogBoxBuilder {
 
-    public static final String recurringErrorMessage =
+    public static final String recurringDialogMessage =
             "If this a recurring and unsolvable event, please contact the creator of this program.";
 
     private AlertType alertType;
@@ -23,6 +25,7 @@ public class DialogBoxBuilder {
     private String header;
     private String message;
     private Image image;
+    private ArrayList<String> listMessages;
 
     /**
      * Instantiates a new dialog box builder.
@@ -35,7 +38,7 @@ public class DialogBoxBuilder {
     public DialogBoxBuilder(AlertType alertType) {
         this.alertType = alertType;
         this.title = alertType.name();
-        this.message = recurringErrorMessage;
+        this.message = recurringDialogMessage;
     }
 
     /**
@@ -93,7 +96,18 @@ public class DialogBoxBuilder {
      * @return dialogBoxBuilder - DialogBoxBuilder - returned to add further configurations.
      */
     public DialogBoxBuilder addImage(String imageName) {
-        this.image = new Image(imageName);
+        this.image = new Image(imageName, 50 ,50, false, false);
+        return this;
+    }
+
+    /**
+     * Adds a list message for the dialog box.
+     *
+     * @param listMessages - ArrayList - the dialog box' list of messages
+     * @return dialogBoxBuilder - DialogBoxBuilder - returned to add further configurations.
+     */
+    public DialogBoxBuilder addListMessage(ArrayList<String> listMessages) {
+        this.listMessages = listMessages;
         return this;
     }
 
@@ -135,11 +149,20 @@ public class DialogBoxBuilder {
     }
 
     /**
-     * Gets the image for the dialog box-
+     * Gets the image for the dialog box.
      *
      * @return image - Image - the dialog box' icon and image
      */
     public Image getImage() {
         return image;
     }
+
+    /**
+     * Gets the list message for the dialog box.
+     *
+     * @return listMessages - ArrayList - the dialog box' list of messages
+     */
+    public ArrayList<String> getListMessages() {
+        return listMessages;
+    }
 }
diff --git a/src/main/java/edu/ntnu/idatt2001/carljgu/units/Army.java b/src/main/java/edu/ntnu/idatt2001/carljgu/units/Army.java
index 46f057e..7a1d961 100644
--- a/src/main/java/edu/ntnu/idatt2001/carljgu/units/Army.java
+++ b/src/main/java/edu/ntnu/idatt2001/carljgu/units/Army.java
@@ -30,7 +30,7 @@ public class Army {
      * Used if a list of units already exists.
      *
      * @param name String - the name of the army.
-     * @param units ArrayList<Unit> - the units of the army.
+     * @param units ArrayList - the units of the army.
      * @throws IllegalArgumentException thrown if name is not valid.
      */
     public Army(String name, ArrayList<Unit> units) throws IllegalArgumentException {
@@ -73,7 +73,7 @@ public class Army {
      * Iterates over units and adds them if
      * they do not exist from before.
      *
-     * @param units ArrayList<Unit> - a list of units.
+     * @param units ArrayList - a list of units.
      */
     public void addUnits(ArrayList<Unit> units) {
         for (Unit unit : units) {
@@ -102,7 +102,7 @@ public class Army {
     /**
      * Gets all units.
      *
-     * @return units - ArrayList<Unit> - a list of units.
+     * @return units - ArrayList - a list of units.
      */
     public ArrayList<Unit> getAllUnits() {
         return units;
diff --git a/src/main/java/edu/ntnu/idatt2001/carljgu/units/Unit.java b/src/main/java/edu/ntnu/idatt2001/carljgu/units/Unit.java
index 517eeb7..c4c5074 100644
--- a/src/main/java/edu/ntnu/idatt2001/carljgu/units/Unit.java
+++ b/src/main/java/edu/ntnu/idatt2001/carljgu/units/Unit.java
@@ -139,13 +139,4 @@ public abstract class Unit {
      * @return the resist bonus
      */
     public abstract int getResistBonus(Terrain terrain);
-
-    /**
-     * Returns a deep copy of
-     * the object.
-     * Abstract method that is to defined in subclasses.
-     *
-     * @return unit - Unit - a deep copy of the unit
-     */
-    public abstract Unit deepCopyUnit();
 }
diff --git a/src/main/java/edu/ntnu/idatt2001/carljgu/units/specialized/CavalryUnit.java b/src/main/java/edu/ntnu/idatt2001/carljgu/units/specialized/CavalryUnit.java
index abe3588..f712df9 100644
--- a/src/main/java/edu/ntnu/idatt2001/carljgu/units/specialized/CavalryUnit.java
+++ b/src/main/java/edu/ntnu/idatt2001/carljgu/units/specialized/CavalryUnit.java
@@ -9,7 +9,7 @@ import edu.ntnu.idatt2001.carljgu.units.Unit;
  * the superclass.
  *
  * @author Carl Gützkow
- * @version 1.3 09.04.2022
+ * @version 1.4 01.05.2022
  */
 public class CavalryUnit extends Unit {
 
@@ -18,6 +18,8 @@ public class CavalryUnit extends Unit {
     for structure and simplification if they are to be changed.
     Constant meleeAttackBonus is used to calculate attack bonus.
     Constant resistBonus is used to return resist bonus.
+    Constant plains_bonus is the bonus for attacking in the plains terrain.
+    Constant forest_bonus is the resulting resist bonus when attacking in a forest
     Integer usedAttackBonus is the variable that is to be used
     for calculating attack bonus. In the method getAttackBonus
     this variable changes the first time it is run and therefore
@@ -88,16 +90,4 @@ public class CavalryUnit extends Unit {
     public int getResistBonus(Terrain terrain) {
         return (terrain == Terrain.FOREST) ? FOREST_BONUS : RESIST_BONUS;
     }
-
-    /**
-     * Overrides the abstract method deepCopyUnit from Unit.
-     * Returns a deep copy of
-     * the object.
-     *
-     * @return cavalryUnit - Unit - a deep copy of the unit
-     */
-    @Override
-    public Unit deepCopyUnit() {
-        return new CavalryUnit(this.getName(), this.getHealth(), this.getAttack(), this.getArmor());
-    }
 }
diff --git a/src/main/java/edu/ntnu/idatt2001/carljgu/units/specialized/CommanderUnit.java b/src/main/java/edu/ntnu/idatt2001/carljgu/units/specialized/CommanderUnit.java
index ccbe8bf..25aea43 100644
--- a/src/main/java/edu/ntnu/idatt2001/carljgu/units/specialized/CommanderUnit.java
+++ b/src/main/java/edu/ntnu/idatt2001/carljgu/units/specialized/CommanderUnit.java
@@ -1,14 +1,12 @@
 package edu.ntnu.idatt2001.carljgu.units.specialized;
 
-import edu.ntnu.idatt2001.carljgu.units.Unit;
-
 /**
  * Class CommanderUnit that inherits from CavalryUnit.
  * CommanderUnit objects does not implement methods from
  * the superclass Unit as they are defined in CavalryUnit.
  *
  * @author Carl Gützkow
- * @version 1.3 09.04.2022
+ * @version 1.4 01.05.2022
  */
 public class CommanderUnit extends CavalryUnit {
 
@@ -38,16 +36,4 @@ public class CommanderUnit extends CavalryUnit {
     public CommanderUnit(String name, int health) {
         super(name, health, 25, 15);
     }
-
-    /**
-     * Overrides the abstract method deepCopyUnit from Unit.
-     * Returns a deep copy of
-     * the object.
-     *
-     * @return commanderUnit - Unit - a deep copy of the unit
-     */
-    @Override
-    public Unit deepCopyUnit() {
-        return new CommanderUnit(this.getName(), this.getHealth(), this.getAttack(), this.getArmor());
-    }
 }
diff --git a/src/main/java/edu/ntnu/idatt2001/carljgu/units/specialized/InfantryUnit.java b/src/main/java/edu/ntnu/idatt2001/carljgu/units/specialized/InfantryUnit.java
index 4555383..9ade0e7 100644
--- a/src/main/java/edu/ntnu/idatt2001/carljgu/units/specialized/InfantryUnit.java
+++ b/src/main/java/edu/ntnu/idatt2001/carljgu/units/specialized/InfantryUnit.java
@@ -9,7 +9,7 @@ import edu.ntnu.idatt2001.carljgu.units.Unit;
  * the superclass.
  *
  * @author Carl Gützkow
- * @version 1.3 09.04.2022
+ * @version 1.4 01.05.2022
  */
 public class InfantryUnit extends Unit {
 
@@ -18,6 +18,7 @@ public class InfantryUnit extends Unit {
     for structure and simplification if they are to be changed.
     Constant attackBonus is the attack bonus for the object's lifetime.
     Constant resistBonus is the resistance bonus for the object's lifetime.
+    Constant forest_bonus is a bonus for attacking and defending in a forest.
      */
     private final int ATTACK_BONUS = 2;
     private final int RESIST_BONUS = 1;
@@ -72,18 +73,6 @@ public class InfantryUnit extends Unit {
      */
     @Override
     public int getResistBonus(Terrain terrain) {
-        return (terrain == Terrain.FOREST) ? RESIST_BONUS + FOREST_BONUS : ATTACK_BONUS;
-    }
-
-    /**
-     * Overrides the abstract method deepCopyUnit from Unit.
-     * Returns a deep copy of
-     * the object.
-     *
-     * @return infantryUunit - Unit - a deep copy of the unit
-     */
-    @Override
-    public Unit deepCopyUnit() {
-        return new InfantryUnit(this.getName(), this.getHealth(), this.getAttack(), this.getArmor());
+        return (terrain == Terrain.FOREST) ? RESIST_BONUS + FOREST_BONUS : RESIST_BONUS;
     }
 }
diff --git a/src/main/java/edu/ntnu/idatt2001/carljgu/units/specialized/RangedUnit.java b/src/main/java/edu/ntnu/idatt2001/carljgu/units/specialized/RangedUnit.java
index 96675c6..01f9dc9 100644
--- a/src/main/java/edu/ntnu/idatt2001/carljgu/units/specialized/RangedUnit.java
+++ b/src/main/java/edu/ntnu/idatt2001/carljgu/units/specialized/RangedUnit.java
@@ -9,21 +9,23 @@ import edu.ntnu.idatt2001.carljgu.units.Unit;
  * the superclass.
  *
  * @author Carl Gützkow
- * @version 1.3 09.04.2022
+ * @version 1.4 01.05.2022
  */
 public class RangedUnit extends Unit {
 
     /*
-        Constants are defined here
-        for structure and simplification if they are to be changed.
-        Constant attackBonus is the attack bonus for the object's lifetime.
-        Constant initialResistBonus is the first resistance bonus.
-        Constant finalResistBonus is the default resistance bonus after a number
-        of times resisted.
-        Integer timesResisted is used to calculate the resistance bonus.
-        In the method getResistBonus this variable increases for each time the
-        method is called. Therefore, it can not be a constant.
-         */
+    Constants are defined here
+    for structure and simplification if they are to be changed.
+    Constant attackBonus is the attack bonus for the object's lifetime.
+    Constant initialResistBonus is the first resistance bonus.
+    Constant finalResistBonus is the default resistance bonus after a number
+    of times resisted.
+    Constant hill_bonus is a bonus for an attack on a hill
+    Constant forest_penalty is a penalty for an attack in the forest.
+    Integer timesResisted is used to calculate the resistance bonus.
+    In the method getResistBonus this variable increases for each time the
+    method is called. Therefore, it can not be a constant.
+    */
     private final int ATTACK_BONUS = 3;
     private final int INITIAL_RESIST_BONUS = 6;
     private final int FINAL_RESIST_BONUS = 2;
@@ -94,16 +96,4 @@ public class RangedUnit extends Unit {
         timesResisted++;
         return resistBonus;
     }
-
-    /**
-     * Overrides the abstract method deepCopyUnit from Unit.
-     * Returns a deep copy of
-     * the object.
-     *
-     * @return rangedUnit - Unit - a deep copy of the unit
-     */
-    @Override
-    public Unit deepCopyUnit() {
-        return new RangedUnit(this.getName(), this.getHealth(), this.getAttack(), this.getArmor());
-    }
 }
diff --git a/src/main/java/module-info.java b/src/main/java/module-info.java
index 98e2cde..f848caa 100644
--- a/src/main/java/module-info.java
+++ b/src/main/java/module-info.java
@@ -4,10 +4,10 @@ module edu.ntnu.idatt2001.carljgu.client {
     requires javafx.graphics;
 
     opens edu.ntnu.idatt2001.carljgu.client to javafx.fxml;
+    opens edu.ntnu.idatt2001.carljgu.client.dialogs to javafx.fxml;
     exports edu.ntnu.idatt2001.carljgu.client ;
     exports edu.ntnu.idatt2001.carljgu.units ;
     exports edu.ntnu.idatt2001.carljgu ;
     exports edu.ntnu.idatt2001.carljgu.battle;
     exports edu.ntnu.idatt2001.carljgu.client.dialogs;
-    opens edu.ntnu.idatt2001.carljgu.client.dialogs to javafx.fxml;
 }
diff --git a/src/main/resources/icons/corrupt-file.png b/src/main/resources/icons/corrupt-file.png
new file mode 100644
index 0000000000000000000000000000000000000000..5f72b53b20a17a7f289c2c19efd4feed3ab45207
GIT binary patch
literal 17416
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
Z{GWG)=8e>Fg%#jT>FMg{vd$@?2>|}?*tP%w

literal 0
HcmV?d00001

diff --git a/src/main/resources/wargames-logo.png b/src/main/resources/icons/wargames-logo.png
similarity index 100%
rename from src/main/resources/wargames-logo.png
rename to src/main/resources/icons/wargames-logo.png
diff --git a/src/main/resources/stylesheet.css b/src/main/resources/stylesheet.css
index ea7f51a..381f959 100644
--- a/src/main/resources/stylesheet.css
+++ b/src/main/resources/stylesheet.css
@@ -1,9 +1,4 @@
 .root{
-    -fx-font-size: 20pt;
+    -fx-font-size: 20px;
     -fx-font-family: "Arial";
 }
-
-.vbox {
-    -fx-background-color: #98bb84;
-    -fx-border-color: red;
-}
\ No newline at end of file
diff --git a/src/main/resources/wargames.fxml b/src/main/resources/wargames.fxml
index 8a46e11..29e0686 100644
--- a/src/main/resources/wargames.fxml
+++ b/src/main/resources/wargames.fxml
@@ -28,7 +28,7 @@
                <Insets bottom="10.0" top="10.0" />
             </VBox.margin>
          </Text>
-         <Text fx:id="armyOneToString" strokeType="OUTSIDE" strokeWidth="0.0" text="Import an army" textAlignment="CENTER" wrappingWidth="301.96319580078125" VBox.vgrow="ALWAYS">
+         <Text fx:id="armyOneToString" strokeType="OUTSIDE" strokeWidth="0.0" text="Import an army" textAlignment="CENTER" wrappingWidth="250" VBox.vgrow="ALWAYS">
             <font>
                <Font name="Arial" size="20.0" />
             </font>
@@ -52,7 +52,14 @@
                </HBox.margin>
             </Button>
          </HBox>
-         <Text fx:id="armyOneImportPath" strokeType="OUTSIDE" strokeWidth="0.0" />
+         <Text fx:id="armyOneImportPath" strokeType="OUTSIDE" VBox.vgrow="ALWAYS" strokeWidth="0.0" wrappingWidth="250">
+            <font>
+               <Font name="Arial" size="18.0" />
+            </font>
+            <VBox.margin>
+               <Insets bottom="10.0" />
+            </VBox.margin>
+         </Text>
          <TitledPane animated="false" collapsible="false" maxHeight="500.0" text="Units" VBox.vgrow="ALWAYS">
             <font>
                <Font name="Arial" size="18.0" />
@@ -164,7 +171,7 @@
                <Insets bottom="10.0" top="10.0" />
             </VBox.margin>
          </Text>
-         <Text fx:id="armyTwoToString" strokeType="OUTSIDE" strokeWidth="0.0" text="Import an army" textAlignment="CENTER" wrappingWidth="301.96319580078125" VBox.vgrow="ALWAYS">
+         <Text fx:id="armyTwoToString" strokeType="OUTSIDE" strokeWidth="0.0" text="Import an army" textAlignment="CENTER" wrappingWidth="250" VBox.vgrow="ALWAYS">
             <font>
                <Font name="Arial" size="20.0" />
             </font>
@@ -188,7 +195,14 @@
                </HBox.margin>
             </Button>
          </HBox>
-         <Text fx:id="armyTwoImportPath" strokeType="OUTSIDE" strokeWidth="0.0" VBox.vgrow="ALWAYS" />
+         <Text fx:id="armyTwoImportPath" strokeType="OUTSIDE" VBox.vgrow="ALWAYS" strokeWidth="0.0" wrappingWidth="250">
+            <font>
+               <Font name="Arial" size="18.0" />
+            </font>
+            <VBox.margin>
+               <Insets bottom="10.0" />
+            </VBox.margin>
+         </Text>
          <TitledPane animated="false" collapsible="false" maxHeight="500.0" text="Units" VBox.vgrow="ALWAYS">
             <font>
                <Font name="Arial" size="18.0" />
diff --git a/src/test/java/edu/ntnu/idatt2001/carljgu/ArmyFileHandlerTest.java b/src/test/java/edu/ntnu/idatt2001/carljgu/ArmyFileHandlerTest.java
index 5176f18..5a57b6c 100644
--- a/src/test/java/edu/ntnu/idatt2001/carljgu/ArmyFileHandlerTest.java
+++ b/src/test/java/edu/ntnu/idatt2001/carljgu/ArmyFileHandlerTest.java
@@ -44,7 +44,7 @@ public class ArmyFileHandlerTest {
     }
 
     @Nested
-    public class write_army_to_file {
+    public class Write_army_to_file {
 
         @Test
         public void writing_to_file_does_not_cause_error_and_file_path_is_valid() {
@@ -67,21 +67,51 @@ public class ArmyFileHandlerTest {
 
             assertThrows(FileExtensionException.class, () -> fileHandler.writeToFile(army, filePath));
         }
+
+        @Test
+        public void army_read_from_file_is_equal_to_army_written() {
+            /* Does not use army's equals method as the unit list will be different */
+            ArmyFileHandler fileHandler = new ArmyFileHandler();
+
+            String filePath = tempDir.resolve("valid-name.csv").toString();
+            Army readArmy = new Army("empty-army");
+
+            try {
+                fileHandler.writeToFile(army, filePath);
+                readArmy = fileHandler.readArmyFromFile(filePath);
+            } catch (IOException e) {
+                fail();
+            }
+
+            assertEquals(readArmy.getAllUnits().size(), army.getAllUnits().size());
+            assertEquals(readArmy.getName(), army.getName());
+        }
     }
 
     @Nested
-    public class read_army_from_file {
+    public class Read_invalid_army_values_from_file {
+
+        String filePath;
+
+        @BeforeEach
+        public void write_valid_army_to_file() {
+            ArmyFileHandler fileHandler = new ArmyFileHandler();
+            filePath = tempDir.resolve("valid-name.csv").toString();
+            try {
+                fileHandler.writeToFile(army, filePath);
+            } catch (IOException e) {
+                fail();
+            }
+        }
 
         @Test
         public void file_handler_reads_forty_one_units_from_file_when_several_extra_lines_are_not_valid_units_but_one_is() {
             ArmyFileHandler fileHandler = new ArmyFileHandler();
 
-            String filePath = tempDir.resolve("valid-name.csv").toString();
             int unitSize = army.getAllUnits().size();
             int rangedUnitSize = army.getRangedUnits().size();
 
             try (FileWriter fileWriter = new FileWriter(filePath, true)) {
-                fileHandler.writeToFile(army, filePath);
                 fileWriter.write("InfantryUnit,unit,2.0\n");
                 fileWriter.write("InfantryUnit,unit,NaN\n");
                 fileWriter.write("RangedUnit,infantry,10\n");
@@ -96,10 +126,30 @@ public class ArmyFileHandlerTest {
 
                 assertEquals(unitSize + 1, armyFromFile.getAllUnits().size());
                 assertEquals(rangedUnitSize + 1, armyFromFile.getRangedUnits().size());
-                assertEquals(4, fileHandler.getReadLinesSkipped());
+                assertEquals(4, fileHandler.getReadLinesSkipped().size());
             } catch (IOException e) {
                 fail();
             }
         }
+
+        @Test
+        public void line_skipped_when_line_can_not_be_seperated() {
+            ArmyFileHandler fileHandler = new ArmyFileHandler();
+
+            try (FileWriter fileWriter = new FileWriter(filePath, true)) {
+                fileWriter.write("InfantryUnit\n");
+            } catch (IOException e) {
+                fail();
+            }
+
+            try {
+                fileHandler.readArmyFromFile(filePath);
+            } catch (IOException e) {
+                fail();
+            }
+
+            assertEquals(1, fileHandler.getReadLinesSkipped().size());
+            assertEquals("Line \"InfantryUnit\" skipped because it did not contain enough information", fileHandler.getReadLinesSkipped().get(0));
+        }
     }
 }
diff --git a/src/test/java/edu/ntnu/idatt2001/carljgu/WarUnitTest.java b/src/test/java/edu/ntnu/idatt2001/carljgu/WarUnitTest.java
index 7cb11ec..bba713d 100644
--- a/src/test/java/edu/ntnu/idatt2001/carljgu/WarUnitTest.java
+++ b/src/test/java/edu/ntnu/idatt2001/carljgu/WarUnitTest.java
@@ -88,11 +88,6 @@ public class WarUnitTest {
                     public int getResistBonus(Terrain terrain) {
                         return 0;
                     }
-
-                    @Override
-                    public Unit deepCopyUnit() {
-                        return null;
-                    }
                 };
 
             defender =
@@ -106,11 +101,6 @@ public class WarUnitTest {
                     public int getResistBonus(Terrain terrain) {
                         return 0;
                     }
-
-                    @Override
-                    public Unit deepCopyUnit() {
-                        return null;
-                    }
                 };
         }
 
diff --git a/wargames.bmpr b/wargames.bmpr
index 093d72fd34c3bed29bf12ce003c9dee966f7dec4..2a5bfb7d1093fe21d3a04eda179f44d287e3829e 100644
GIT binary patch
delta 50586
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
Lw)8KHs4@otV=mi&

delta 21525
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%0D7h%tx6mZO%{McwJjmB4tSa2lF*VYtD6=>{J3S)5
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

-- 
GitLab