From 468fc17e1d809e785fec76dcc10bc00a354e3d32 Mon Sep 17 00:00:00 2001
From: penguinn <michellewerth@hotmail.com>
Date: Mon, 16 Sep 2019 15:36:26 +0200
Subject: [PATCH] Add N-Bishops

---
 Apples_and_Oranges.ipynb               |  22 +-
 N-Bishops.ipynb                        | 303 +++++++++++++++++++++++++
 ProB_Jupyter_Notebook_Overview.ipynb   |   2 +-
 images/ChessPieces/Chess_bdd45.gif     | Bin 0 -> 1130 bytes
 images/ChessPieces/Chess_bdl45.gif     | Bin 0 -> 1114 bytes
 images/ChessPieces/Chess_bld45.gif     | Bin 0 -> 1267 bytes
 images/ChessPieces/Chess_bll45.gif     | Bin 0 -> 1256 bytes
 images/ChessPieces/Chess_emptyXg45.gif | Bin 0 -> 120 bytes
 images/ChessPieces/Chess_emptyd45.gif  | Bin 0 -> 878 bytes
 images/ChessPieces/Chess_emptyg45.gif  | Bin 0 -> 78 bytes
 images/ChessPieces/Chess_emptyl45.gif  | Bin 0 -> 878 bytes
 images/ChessPieces/Chess_kdd45.gif     | Bin 0 -> 1348 bytes
 images/ChessPieces/Chess_kdl45.gif     | Bin 0 -> 1343 bytes
 images/ChessPieces/Chess_kld45.gif     | Bin 0 -> 1332 bytes
 images/ChessPieces/Chess_kll45.gif     | Bin 0 -> 1341 bytes
 images/ChessPieces/Chess_krd45.gif     | Bin 0 -> 623 bytes
 images/ChessPieces/Chess_krl45.gif     | Bin 0 -> 624 bytes
 images/ChessPieces/Chess_krt45.gif     | Bin 0 -> 1210 bytes
 images/ChessPieces/Chess_ndd45.gif     | Bin 0 -> 1199 bytes
 images/ChessPieces/Chess_ndl45.gif     | Bin 0 -> 1201 bytes
 images/ChessPieces/Chess_nld45.gif     | Bin 0 -> 1269 bytes
 images/ChessPieces/Chess_nll45.gif     | Bin 0 -> 1271 bytes
 images/ChessPieces/Chess_pdd45.gif     | Bin 0 -> 1027 bytes
 images/ChessPieces/Chess_pdl45.gif     | Bin 0 -> 1030 bytes
 images/ChessPieces/Chess_pld45.gif     | Bin 0 -> 1132 bytes
 images/ChessPieces/Chess_pll45.gif     | Bin 0 -> 1126 bytes
 images/ChessPieces/Chess_qdd45.gif     | Bin 0 -> 1402 bytes
 images/ChessPieces/Chess_qdl45.gif     | Bin 0 -> 1402 bytes
 images/ChessPieces/Chess_qgg45.gif     | Bin 0 -> 1612 bytes
 images/ChessPieces/Chess_qgt45.gif     | Bin 0 -> 1285 bytes
 images/ChessPieces/Chess_qld45.gif     | Bin 0 -> 1508 bytes
 images/ChessPieces/Chess_qll45.gif     | Bin 0 -> 1492 bytes
 images/ChessPieces/Chess_qrg45.gif     | Bin 0 -> 1626 bytes
 images/ChessPieces/Chess_qrt45.gif     | Bin 0 -> 1289 bytes
 images/ChessPieces/Chess_qyt45.gif     | Bin 0 -> 1391 bytes
 images/ChessPieces/Chess_rdd45.gif     | Bin 0 -> 1053 bytes
 images/ChessPieces/Chess_rdl45.gif     | Bin 0 -> 1054 bytes
 images/ChessPieces/Chess_rld45.gif     | Bin 0 -> 1115 bytes
 images/ChessPieces/Chess_rll45.gif     | Bin 0 -> 1118 bytes
 images/ChessPieces/Licence.txt         |  26 +++
 40 files changed, 348 insertions(+), 5 deletions(-)
 create mode 100644 N-Bishops.ipynb
 create mode 100644 images/ChessPieces/Chess_bdd45.gif
 create mode 100644 images/ChessPieces/Chess_bdl45.gif
 create mode 100644 images/ChessPieces/Chess_bld45.gif
 create mode 100644 images/ChessPieces/Chess_bll45.gif
 create mode 100644 images/ChessPieces/Chess_emptyXg45.gif
 create mode 100644 images/ChessPieces/Chess_emptyd45.gif
 create mode 100644 images/ChessPieces/Chess_emptyg45.gif
 create mode 100644 images/ChessPieces/Chess_emptyl45.gif
 create mode 100644 images/ChessPieces/Chess_kdd45.gif
 create mode 100644 images/ChessPieces/Chess_kdl45.gif
 create mode 100644 images/ChessPieces/Chess_kld45.gif
 create mode 100644 images/ChessPieces/Chess_kll45.gif
 create mode 100644 images/ChessPieces/Chess_krd45.gif
 create mode 100644 images/ChessPieces/Chess_krl45.gif
 create mode 100644 images/ChessPieces/Chess_krt45.gif
 create mode 100644 images/ChessPieces/Chess_ndd45.gif
 create mode 100644 images/ChessPieces/Chess_ndl45.gif
 create mode 100644 images/ChessPieces/Chess_nld45.gif
 create mode 100644 images/ChessPieces/Chess_nll45.gif
 create mode 100644 images/ChessPieces/Chess_pdd45.gif
 create mode 100644 images/ChessPieces/Chess_pdl45.gif
 create mode 100644 images/ChessPieces/Chess_pld45.gif
 create mode 100644 images/ChessPieces/Chess_pll45.gif
 create mode 100644 images/ChessPieces/Chess_qdd45.gif
 create mode 100644 images/ChessPieces/Chess_qdl45.gif
 create mode 100644 images/ChessPieces/Chess_qgg45.gif
 create mode 100644 images/ChessPieces/Chess_qgt45.gif
 create mode 100644 images/ChessPieces/Chess_qld45.gif
 create mode 100644 images/ChessPieces/Chess_qll45.gif
 create mode 100644 images/ChessPieces/Chess_qrg45.gif
 create mode 100644 images/ChessPieces/Chess_qrt45.gif
 create mode 100644 images/ChessPieces/Chess_qyt45.gif
 create mode 100644 images/ChessPieces/Chess_rdd45.gif
 create mode 100644 images/ChessPieces/Chess_rdl45.gif
 create mode 100644 images/ChessPieces/Chess_rld45.gif
 create mode 100644 images/ChessPieces/Chess_rll45.gif
 create mode 100644 images/ChessPieces/Licence.txt

diff --git a/Apples_and_Oranges.ipynb b/Apples_and_Oranges.ipynb
index 0a60d46..ec626b6 100644
--- a/Apples_and_Oranges.ipynb
+++ b/Apples_and_Oranges.ipynb
@@ -266,11 +266,25 @@
    ]
   },
   {
-   "cell_type": "code",
-   "execution_count": null,
+   "cell_type": "markdown",
    "metadata": {},
-   "outputs": [],
-   "source": []
+   "source": [
+    "## Argumentation Theory\n",
+    "\n",
+    "\n",
+    "\n",
+    "Below we try to model some concepts of argumentation theory in B. The examples try to show that classical (monotonic) logic with set theory can be used to model some aspects of argumentation theory quite naturally, and that ProB can solve and visualise some problems in argumentation theory. Alternative solutions are encoding arguments as normal logic programs (with non-monotonic negation) and using answer set solvers for problem solving.\n",
+    "\n",
+    "The following model was inspired by a talk given by Claudia Schulz.\n",
+    "\n",
+    "The model below represents the labelling of the arguments as a total function from arguments to its status, which can either be in (the argument is accepted), out (the argument is rejected), or undec (the argument is undecided). The relation between the arguments is given in the binary attacks relation.\n",
+    "\n",
+    "In case you are new to B, you probably need to know the following operators to understand the specification below (we als have a summary page about the B syntax in our handbook):\n",
+    "\n",
+    "* `x : S` specifies that x is an element of S\n",
+    "* `a|→b` represents the pair (a,b); note that a relation and function in B is a set of pairs.\n",
+    "* "
+   ]
   }
  ],
  "metadata": {
diff --git a/N-Bishops.ipynb b/N-Bishops.ipynb
new file mode 100644
index 0000000..fd2c351
--- /dev/null
+++ b/N-Bishops.ipynb
@@ -0,0 +1,303 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# N-Bishops Puzzle\n",
+    "\n",
+    "\n",
+    "This puzzle is a variation of the N-Queens puzzle. You can find the N-Queens puzzle in our modeling examples as well. In this puzzle we try to place as many bishops as possible on a n by n chess board. In contrast to the N-Queens puzzle, one can place more than one bishop per row. As such, we can now longer represent the positions of the bishops as an total function `1..n >-> 1..n`. \n",
+    "\n",
+    "There are two encodings shown below. The first and following represents the bishops as a subset of the Cartesian product `(1..n)*(1..n)`, i.e., a set of positions (aka a binary relation on `1..n`).\n",
+    "\n",
+    "First of all we have to load the machine, if you are struggeling with any operation of our jupyter kernel, try out `:help` or take a look at our `ProB Jupyter Noteboook Overview`."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 1,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Loaded machine: NBishopsSets"
+      ]
+     },
+     "execution_count": 1,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "::load\n",
+    "MACHINE NBishopsSets\n",
+    "CONSTANTS n, nbishops, hasbishop\n",
+    "PROPERTIES\n",
+    " n=8 &\n",
+    " hasbishop <: (1..n)*(1..n) &\n",
+    " !(i,j).(i:1..n & j:1..n\n",
+    "    =>\n",
+    "    ( (i,j): hasbishop\n",
+    "       =>\n",
+    "        (!k.(k:(i+1)..n =>\n",
+    "           (k,j+k-i) /: hasbishop &\n",
+    "           (k,j-k+i) /: hasbishop\n",
+    "        ))\n",
+    "    ))\n",
+    " & nbishops = card(hasbishop)\n",
+    " & nbishops >13\n",
+    "END"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "One can try and find the maximum number of bishops by gradually\n",
+    "increasing the lower limit for nbishops in the last line of the model\n",
+    "before the final END. The maximum number of bishops that can be placed\n",
+    "is 2*n - 2; see [here](http://mathworld.wolfram.com/BishopsProblem.html).\n",
+    "\n",
+    "To show this graphically, we will now include the ANIMATION_FUNCTION for this example. The ANIMATION_FUNCTION has to be declared in the `DEFINITIONS` section as follows:"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 2,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Loaded machine: NBishopsSets"
+      ]
+     },
+     "execution_count": 2,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "::load\n",
+    "MACHINE NBishopsSets\n",
+    "DEFINITIONS\n",
+    "      BWOFFSET(x,y) == (x+y) mod 2;\n",
+    "      ANIMATION_FUNCTION_DEFAULT == ( {r,c,i|r:1..n & c:1..n & i=(r+c) mod 2 }  );\n",
+    "      ANIMATION_FUNCTION == {r,c,i|(r,c):hasbishop & i= 2+BWOFFSET(r,c)} ;\n",
+    "      ANIMATION_IMG0 == \"images/ChessPieces/Chess_emptyl45.gif\";\n",
+    "      ANIMATION_IMG1 == \"images/ChessPieces/Chess_emptyd45.gif\";\n",
+    "      ANIMATION_IMG2 == \"images/ChessPieces/Chess_bll45.gif\";\n",
+    "      ANIMATION_IMG3 == \"images/ChessPieces/Chess_bld45.gif\";\n",
+    "     SET_PREF_TK_CUSTOM_STATE_VIEW_PADDING == 1;\n",
+    "CONSTANTS n, nbishops, hasbishop\n",
+    "PROPERTIES\n",
+    " n=8 &\n",
+    " hasbishop <: (1..n)*(1..n) &\n",
+    " !(i,j).(i:1..n & j:1..n\n",
+    "    =>\n",
+    "    ( (i,j): hasbishop\n",
+    "       =>\n",
+    "        (!k.(k:(i+1)..n =>\n",
+    "           (k,j+k-i) /: hasbishop &\n",
+    "           (k,j-k+i) /: hasbishop\n",
+    "        ))\n",
+    "    ))\n",
+    " & nbishops = card(hasbishop)\n",
+    " & nbishops >13\n",
+    "END"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "We will now initialise the machine and run the default setting to take a look at the animation."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 3,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Machine constants set up using operation 0: $setup_constants()"
+      ]
+     },
+     "execution_count": 3,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":constants"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 4,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Machine initialised using operation 1: $initialise_machine()"
+      ]
+     },
+     "execution_count": 4,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":init"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "With the `:show` command from the jupyter kernel you can see the results of the N-Queens problem for yourself.\n",
+    "\n",
+    "Please note, that the image paths given in the DEFINITIONS have to be relative to the jupyter notebook."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 5,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "<table style=\"font-family:monospace\"><tbody>\n",
+       "<tr>\n",
+       "<td style=\"padding:1px\"><img alt=\"2\" src=\"images/ChessPieces/Chess_bll45.gif\"/></td>\n",
+       "<td style=\"padding:1px\"><img alt=\"3\" src=\"images/ChessPieces/Chess_bld45.gif\"/></td>\n",
+       "<td style=\"padding:1px\"><img alt=\"2\" src=\"images/ChessPieces/Chess_bll45.gif\"/></td>\n",
+       "<td style=\"padding:1px\"><img alt=\"3\" src=\"images/ChessPieces/Chess_bld45.gif\"/></td>\n",
+       "<td style=\"padding:1px\"><img alt=\"2\" src=\"images/ChessPieces/Chess_bll45.gif\"/></td>\n",
+       "<td style=\"padding:1px\"><img alt=\"3\" src=\"images/ChessPieces/Chess_bld45.gif\"/></td>\n",
+       "<td style=\"padding:1px\"><img alt=\"2\" src=\"images/ChessPieces/Chess_bll45.gif\"/></td>\n",
+       "<td style=\"padding:1px\"><img alt=\"3\" src=\"images/ChessPieces/Chess_bld45.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:1px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n",
+       "<td style=\"padding:1px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n",
+       "<td style=\"padding:1px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n",
+       "<td style=\"padding:1px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n",
+       "<td style=\"padding:1px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n",
+       "<td style=\"padding:1px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n",
+       "<td style=\"padding:1px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n",
+       "<td style=\"padding:1px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:1px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n",
+       "<td style=\"padding:1px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n",
+       "<td style=\"padding:1px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n",
+       "<td style=\"padding:1px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n",
+       "<td style=\"padding:1px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n",
+       "<td style=\"padding:1px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n",
+       "<td style=\"padding:1px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n",
+       "<td style=\"padding:1px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:1px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n",
+       "<td style=\"padding:1px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n",
+       "<td style=\"padding:1px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n",
+       "<td style=\"padding:1px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n",
+       "<td style=\"padding:1px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n",
+       "<td style=\"padding:1px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n",
+       "<td style=\"padding:1px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n",
+       "<td style=\"padding:1px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:1px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n",
+       "<td style=\"padding:1px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n",
+       "<td style=\"padding:1px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n",
+       "<td style=\"padding:1px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n",
+       "<td style=\"padding:1px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n",
+       "<td style=\"padding:1px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n",
+       "<td style=\"padding:1px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n",
+       "<td style=\"padding:1px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:1px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n",
+       "<td style=\"padding:1px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n",
+       "<td style=\"padding:1px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n",
+       "<td style=\"padding:1px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n",
+       "<td style=\"padding:1px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n",
+       "<td style=\"padding:1px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n",
+       "<td style=\"padding:1px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n",
+       "<td style=\"padding:1px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:1px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n",
+       "<td style=\"padding:1px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n",
+       "<td style=\"padding:1px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n",
+       "<td style=\"padding:1px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n",
+       "<td style=\"padding:1px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n",
+       "<td style=\"padding:1px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n",
+       "<td style=\"padding:1px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n",
+       "<td style=\"padding:1px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:1px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n",
+       "<td style=\"padding:1px\"><img alt=\"2\" src=\"images/ChessPieces/Chess_bll45.gif\"/></td>\n",
+       "<td style=\"padding:1px\"><img alt=\"3\" src=\"images/ChessPieces/Chess_bld45.gif\"/></td>\n",
+       "<td style=\"padding:1px\"><img alt=\"2\" src=\"images/ChessPieces/Chess_bll45.gif\"/></td>\n",
+       "<td style=\"padding:1px\"><img alt=\"3\" src=\"images/ChessPieces/Chess_bld45.gif\"/></td>\n",
+       "<td style=\"padding:1px\"><img alt=\"2\" src=\"images/ChessPieces/Chess_bll45.gif\"/></td>\n",
+       "<td style=\"padding:1px\"><img alt=\"3\" src=\"images/ChessPieces/Chess_bld45.gif\"/></td>\n",
+       "<td style=\"padding:1px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n",
+       "</tr>\n",
+       "</tbody></table>"
+      ],
+      "text/plain": [
+       "<Animation function visualisation>"
+      ]
+     },
+     "execution_count": 5,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":show"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "For the chess pieces we have used the images available at [this site](https://commons.wikimedia.org/wiki/Category:SVG_chess_pieces). These images are available under the [Creative Commons](https://en.wikipedia.org/wiki/Creative_Commons)\n",
+    "[Attribution-Share Alike 3.0 Unported license](https://creativecommons.org/licenses/by-sa/3.0/deed.en). The same applies to the screenshots shown here."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": []
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "ProB 2",
+   "language": "prob",
+   "name": "prob2"
+  },
+  "language_info": {
+   "codemirror_mode": "prob2_jupyter_repl",
+   "file_extension": ".prob",
+   "mimetype": "text/x-prob2-jupyter-repl",
+   "name": "prob"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 2
+}
diff --git a/ProB_Jupyter_Notebook_Overview.ipynb b/ProB_Jupyter_Notebook_Overview.ipynb
index bb1e4ea..ce36b85 100644
--- a/ProB_Jupyter_Notebook_Overview.ipynb
+++ b/ProB_Jupyter_Notebook_Overview.ipynb
@@ -6,7 +6,7 @@
    "source": [
     "# ProB2 Jupyter Notebook Overview\n",
     "\n",
-    "In this jupyter notebook we want to give you an overview over the functionalities of the ProB2 Jupyter Notebook.\n",
+    "In this jupyter notebook, we will give you an extended overview of the functionalities that come with the ProB2 jupyter kernel.\n",
     "For this purpose, we will take a look at the simple machine `Lift.mch` taken from the [ProB Public Examples](https://www3.hhu.de/stups/downloads/prob/source/)."
    ]
   },
diff --git a/images/ChessPieces/Chess_bdd45.gif b/images/ChessPieces/Chess_bdd45.gif
new file mode 100644
index 0000000000000000000000000000000000000000..b05bb2a9e0c1acbc4ef61a4e4802835626836e65
GIT binary patch
literal 1130
zcmZ?wbhEHb)Me0R_|9PX9|L^H0M~k)(9pRaClu7;bPfp}YjHwGdoe+^(_SRB6%$lj
zZbe4LmRpg~+G0y&v^3ii8O_NyL_x`hbCA%KWJ6@s6J>~sG<%{Ds3l4h8C3^qBBSEs
zY!sB8U5t#pG>cJ?VzCzr%Jx!3K~9R<NGKT-I4LG0p(sm5R3s5)i9kVy63EEQPy!h_
zX$l}COEjP<V2O+r1uT(}AsSE=FhoL{iUKG|f<qGtDWU-h4n-s+A;5u*1keBnhX4v<
z5a2*T92^WNh=G9v2{B**R$V~`1_s5SEQ|~c{}^;Y@}NAy!113!l0(L0!-9j&9Ku>L
zCpIiR+%BN(HD^bFlK`iP@voo9FZ#Q6x><CYd=gxwF;T{KYE6aE(o<7;ofoNaPF~m&
zp_H7sW@W%>iz)w)Wj?G7aPnTDSuT{S;3yfi;MA0Bdpf^J2F-POu8_*wAbQEtM%Cu&
zE76r#`lAAsxEL4Ya=190yrRQak{ivC-*{}*&oA;f_Zb}Rdwc7<&e47U*D$qp3V*!3
z*I=tfot4Rk%O{l<f3jJ4Cc5MN0_XM*%ibIbQl979{msqzjsKa)JoPHgkxOFcWrn=|
zH>YjI?7O?}3Y-m_oou#fM%RC4Z<7-j_bqB-u~T$*o1oyf$|q}1ageC;_0{v;C#=12
zLi5on!Sur_ixWS6IhwD2ha-OH@s{_2i^MJUqIG=g5`?_X)^~21@9|wVrA0pFgTp;%
Zp$`si@@sWdAGS)Qt$5hR!pg#64FL2=m+t@o

literal 0
HcmV?d00001

diff --git a/images/ChessPieces/Chess_bdl45.gif b/images/ChessPieces/Chess_bdl45.gif
new file mode 100644
index 0000000000000000000000000000000000000000..cdc9b73e2029bc32e30290aedf54e56ed10dcfac
GIT binary patch
literal 1114
zcmZ?wbhEHb)Me0R_|9PX9}S$F^B)O)M+3*^d`F-u-;Y7j`(sm((eu4MaCC2L4-#s*
zw-te|t!+U@=ayE((Xlzj$Y?Jzm{YtLj;0jvg`urzU`qB@WYm+r6^7RKWW&+YmSki!
zr8)|Mile3=p`PL(WYm%!1V`1y#V9D*s~QOv7iS|-lv6PbWk)$7P>@qL5=uq`L6*r#
zD9Xzc2^mIt!H|<-6cX~XG(<w0UY1bgWT}aQ3^ko#$PyVCDq12VO+`x>GDHKKiiQXz
zVW<g3nu-$0ND&Q42q?mkgoFSJ5)hDpApsP?As_%l92^2jhyw*MaB#p70|N&PF`xqd
zkQodN42nNl7#SG;G3bCKL3x6K<39s8hm6OD1qYisgtcN$Y*=`>T|n7u&WQ`GN4r@s
z{JGu1mV87_+F9x24}+i+y%RmGOe&3*dbKI|_tl&X2=NFs5qDE8|8#$=h9&=|H=RZr
zjxjFPkBp)Yr1_`26h4!2{vz5C?sELXo(Wg9!WNlq{bEzX+;CI6y(+7+^NUL4W`+yj
z=6p4JX}`Ygb=lro;Y;t<2mGE?^2_|yX^qy&Otq0ZA5Shdu~gYzws_Oi)8^|`9}ASQ
zr=FRy{;fgP*^TEHB>Dc2_MXi9;`-E^Pqr}s-a2>A($M(RCq2H}ueFTj*(!Z<kr$tW
z!;S()<*s>=#a~?}ZnUv{-eGOy`#H8^mb?IOb+LK)S*wM|KJK$t`*K<Mu4#$-dSBtE
r?7i}Vmy7aC`2R2Y)na{Qp(~fx(gm(Eiw&1PXyP$@kr2Sh$Y2csULVMu

literal 0
HcmV?d00001

diff --git a/images/ChessPieces/Chess_bld45.gif b/images/ChessPieces/Chess_bld45.gif
new file mode 100644
index 0000000000000000000000000000000000000000..db5698ea45c728587fb7f24785ad3370e7f07a67
GIT binary patch
literal 1267
zcmZ?wbhEHb)Me0R_|9PX9~FE@0`FnqITE;s1g^nBkJB|6I)@B;oX$Z|i_<w6ItB+V
zPRC$qFEXfh+6zNlkwLZPRtPG#+zLi(kwLNLS{Pc246-ek!q6OKkZm{zf|3pAfYB5<
zNH&}TLp{hK%CHBDG<%|;s0A5BX|{k-H8Kd&tcIatWZ<P)3`L5?UQm>c47?PxA;?KF
z8;p{Xfs<k~3`HRWOT{Pzl8CYdp&(>nC=mohUdX^u!V89+kb$M869j1rIDwHR0vK9a
z!jPtbB?Ku7Si+E@q5uSGA_GMMO$d?@(1amH1dvcv1R)7zAiyC3MgquygF^s{7z8+=
zhyw*MaBzST0|N&bF(85LuMrFk42nNl7#SG;G3bC~KzV|J<3EEwhm6OD1qYisgtcN$
zY*=`>T|n7u&W;a<C-I9ItNl7|80gj+{4X}E@a6p}{Q|M3%m<8SX;0w~-Nf=hXxZTj
z%HH#~ocwUupznWM;**she0J4u)4Tag{T<K6X8D-EkGCd1V~hJA!&_VR(0NOJLRuHA
zaEZ46{Qq?wtqR}VZ!WL9)OGj6`d4Sv|NjyAs}Q8au&XS6n#pg&yr$i&8dg;q86UK_
zwrO7}^jpR7_|c?L-p4=v`|j^AwLkqceR6)p{s#NWsy-V(r!(ZZPTpqObN%)0J!ZFU
zKCeHTyI=R8rLOPV@A=aXuH1M|V)2iV&<l%KANtiF#j{TFzvpzn+UIeFXZh}5@Vnr1
z=TlGFzoY+nAAY=i`u5}Ky7#_yHTjz>yFQoIEHf|kul>|-UbICaE?M_P<NP>(T}9D=
zmlee#0qb-Eqj)TzY&aqmJYnNWe+SmBoRYygGZJ~8tD3m#J!*Ne$b9;WuZLBC?BtkY
zG5^Vh2@M8KACK@mY`buXjs4fLASP)J&L{l-4T+K|T)8UjEcPb?PfU%7tK=*Vj-8Y`
zt?17NM^8Cbm4uF$9mb08k2;LcsCU*F`OMB(^)hLumRizr0Zpqf2L;Mh9?6Ech-JN4
M*rDbX;J{!F01ICd@c;k-

literal 0
HcmV?d00001

diff --git a/images/ChessPieces/Chess_bll45.gif b/images/ChessPieces/Chess_bll45.gif
new file mode 100644
index 0000000000000000000000000000000000000000..fcd6eabb2fbc0cb85aff75df3394d221a0c3964c
GIT binary patch
literal 1256
zcmZ?wbhEHb)Me0R_|9PX9}S$F^B;!3!@;pR-=S#A_hTUR9uAI8c@IO+k-^@c=U{XX
z8Eoyj2SqLSwnEW0I9S_q4TjDkgQeByz~~qp%qczwLwk|IoZ`I@G^Kbi3~faQQ?j>0
zP*3(&Fj@--J=tr)XelyiNnQ#=bCAFkIH-=A0zt)5Q^2SP859Tgz)%YuWCyi?Q8gSS
zdsV|wF*1m9Dh8u$IEZq}hM*v)Y%oej20@m|FcgIhyey*-$S}$ajGPRkz$gd?ypVyV
zp%)ZsdRan|6AG|&asneuO(zI4)N}$POE@r8w1gu~MN2R;)Kr8cO&Cx_1`-mAP$Zxz
z0YVZ8ARr+DMgjs7U?hM7I0OX1h=W4_j5rX0frA5t7?1#a$2A592F0H&j0_C_7<51~
zpgh6A@t=X4L&jsnf`iQ*!dfvWHY_~cE}-l+=fnlJqus3E{@mWdp6sIe--_|&m-n5=
z+ZV22jPTUG;@Pel&Xn<UlcL8&72j(q5!sLTM_G#}aeiMPzC7;#p+wFqgDdvQMk%KZ
zzMWUS+<5li!HFkD&+ShO=l-(hkSNP_E&G|5e!7Rf+P}i+_@Bj_H#>Q(V@TO^)VpZ;
zta_nGyFR_l>ha<Hf8~nLv#!@O4oY(umrh;t%-+7@^Sh(3pU;1~w&Lrdx37LaeR_uB
zOxnAc&C?98Z0KdI?R+XPaHFE}Pjr;=>)bmGCCztlD!vX5KQVdtqF-B?gOw&uRZsVO
zl4X(AnCQJgtnX#~)g6v1NBN}Q&;RoI#Q&q*vqb(@E^^%7%B*L6XWN3AlYTKy`fDIy
z?{ZOe3a{VKCw><1euPYQ)h~5m;xxN)fLW|lW$^?1lPXQD{DO8bVq9EKY&zS@)pnUP
zGPJ}=q*FTgGY2Q{({v@7<d8&V0f!S8?&mXjC@}Y#g&DHROwe35!L6<#pjE!d<Ymg_
zxdz`u)cx&Vx{Df3xDx2pAM@gz*}EgkX*S=kemWu7e?{s3jE^-l7c@nyxwt4~?f5W>
VJBuYKHlpU+%jfeOj6?+(tN}?YK2HDu

literal 0
HcmV?d00001

diff --git a/images/ChessPieces/Chess_emptyXg45.gif b/images/ChessPieces/Chess_emptyXg45.gif
new file mode 100644
index 0000000000000000000000000000000000000000..3da0f39e28bbe7e32bdf8bc7867d963fcb1fbd75
GIT binary patch
literal 120
zcmZ?wbhEHb)Me0R_`qP8IwymHfkB6Xfq?-e!oU>X(!cWbTmHp!w%qF8d~eTh{<cRR
z)1FzfHZJaawQJ9kITwt3wk*&4pq6`kZ_NrtFGm}x{=JIpIK1x_oxg4TVinU8dA;e)
bwk_88*G}v7TYde_w%@${r=QPeVz34PA*nTI

literal 0
HcmV?d00001

diff --git a/images/ChessPieces/Chess_emptyd45.gif b/images/ChessPieces/Chess_emptyd45.gif
new file mode 100644
index 0000000000000000000000000000000000000000..fc51105a88b05dccfa99c13b758484d3fb6d10b5
GIT binary patch
literal 878
zcmZ?wbhEHb)Me0R_|9PX|NsAMJx-%&Gz3Ok2yA}T!@$6x_>+Z^f#Dy64g&)N11L{0
zaCkE?bI5pXSa7hJLs%>3#D;~3+Xa-p=6GyebhKN-IP1=djf;=>D>!$_cy3y9a<WG7
ks+g0TmY$w&kbG*6=jLT+XIm7%x^r^#^7HdKnVA@@0p}mi#Q*>R

literal 0
HcmV?d00001

diff --git a/images/ChessPieces/Chess_emptyg45.gif b/images/ChessPieces/Chess_emptyg45.gif
new file mode 100644
index 0000000000000000000000000000000000000000..bf86c6255b568b8efcb9125d1af4e3e9f7b41b59
GIT binary patch
literal 78
zcmZ?wbhEHb)Me0R_`qP8IwymHfkB6Xfq?-e!oZ~4(!cWbTmHp!w%qF8d~eTh{<cRR
i)1GxMdv$8tJMQD3e6D}%eg5m*_ka96T<yI~4AuZUsv)ZY

literal 0
HcmV?d00001

diff --git a/images/ChessPieces/Chess_emptyl45.gif b/images/ChessPieces/Chess_emptyl45.gif
new file mode 100644
index 0000000000000000000000000000000000000000..3e169e90e4f3e4d49b97aa71bb25a3ba898e197a
GIT binary patch
literal 878
zcmZ?wbhEHb)Me0R_|9PX|NsC0=jM!}(GVDEA#kEei-Cbb@h1x-1H(TC9R>yl22h@0
z;P7T(=8*B&u;5@bhp<-6i46-6w+kqH&GFc{=xDcuan_v^8y6q%S8(o<@!YiJ<YbND
lRWT<wEj>NmAo<iB&&|uu&bBCib?4;f<>%*fGBYt)0|48vkk|kK

literal 0
HcmV?d00001

diff --git a/images/ChessPieces/Chess_kdd45.gif b/images/ChessPieces/Chess_kdd45.gif
new file mode 100644
index 0000000000000000000000000000000000000000..7bd6ad3c88ba95f13605617c6be959df370a31e7
GIT binary patch
literal 1348
zcmZ?wbhEHb)Me0R_|9PX9|?Sif%h=*90u;ez%@ANak>UZ=is0x=o|<+o$CRk7N>J9
zPRHP&C+HXiwKyFEqrGrY?X(w!EcaG}&{hOkyLBrV6<cmCwp<Gb)j?}P$ZKsi7!_Nt
z1*4^KQ0%l6g0d}_LXqLpY{NNlkZm{zf|3pAfYB5L=$SGFjFJtffKd+|L}~VbQ41VY
zSGRysH5>$KR)bM790VB_Ly(tZF&JgTftO-71UV^YgHbXZI4LHBQ4}0lN<@KC5FB`U
z1$lV|St`PiM3ALKkRcR#A%K&Y7Z^D?d4Z6nmlGIS8hSyIqL-zjmmvg6co~9_6C7At
zI$2se87e}Nri2p+2{>tjkR<{bT3Q-fYDz$nqJX8MfFS~C8XAI;qJSY7X(E84rY0Ck
z2xx*3ho%GwDZ+sShav<Ca43S21Of<1NPv(49B^<5fDs1*FmP~y5d#AU0|E$&yE8B_
zDE?$&WMKHmpaYTs<p~Ck{|xFJG9DWi9Bk$g)`~f?Vd3F+0cEc_9vdGW=G|Zxv1G-Q
z`ICADABx=mmLF|sp&;9(k|~tx)h=tluSTMHnX_2mKg*=V;)UE5|C<gKUle}GHp#I$
z?{dVJ1yhy;EZuWQfi-Mf?(PQ$f0<2R&gYaqVIj3soBw>f<F?AGNlHhjxmv{*y#4i_
z|9Wvv(UKDv(`G3zvzu+oP;j8BmAU2WoMu<^7h7Z)7)&-8NI3K*H3)CADmWl~CDUK&
zbEZsN!R+FI+a76K1Gt`K_MTt5f#>TSR)$2W|DRJLSEVudm#~M<ReG7b<B)T7PzF~+
z`osS}82+>W-1)(k!AJ86FHhBlOA~Ha{Quu>JJl(S;Yh!HPU4^a>g+O_Dw7vC{=RT<
zum54)%Nbg??yX!lui&{!0YmoMmD8HbZzwLGoqJC3sDR9>$P2Ln2ey1<N$n6cyD6L-
zBQZt2Bk+>EbIOE{Xg*oF35SIJTLjs9G`Gw+tTe%t!AC%FrvYygyG`QUg6vWWH#gy*
z2?sMg=RW3?ui0{uZOXg_(?sMoZv+Oq|M$6kEN5b?W?G8o7tt%7f|?Ic<}ySGu*o0r
zNq%a1nc=XzL{8KOj#&af6>es}`&;ZM-TZOG(hkYIjD!^S8i}N!%O5;1=jj;zO6oD*
zl)5;5lGPHGM5n&+l-YJ6QyiIn*rY_{O;Qp9BRp6YckxQjj8q9Xyde6yy~TIqf)<gK
V35u;k>87b~Hl9$+&T(L{1^{mz7&ZU^

literal 0
HcmV?d00001

diff --git a/images/ChessPieces/Chess_kdl45.gif b/images/ChessPieces/Chess_kdl45.gif
new file mode 100644
index 0000000000000000000000000000000000000000..6feb427b24f36f5700f2c1810ebba9123dc27a30
GIT binary patch
literal 1343
zcmZ?wbhEHb)Me0R_|9PX9~qpR^B;`9!@;>Z-y!JOobMns<@+%ZdJhN3=DdfZDesR>
zdA}Emp2NZ3p63v>wdeWPo_lbxwdWobwcOhZLf7D6ZOgT_E$851ZO=IfTH10BimJ~o
z1)*bbu(ahE1kI^F21a|~VC&YsTet3=Qw&8@iuZ!iRydeaycLSFw@v|}wQ$gry%vm?
z!a+;&QZSkW2h~w?z-S5_R7Xt#qaHZO4(b7;76hnnX#u0`s1_&+YRLwnYB)&tss^KC
z7|4c$D5q>NN``|Vr(`IyOb)V4_JX1)IPkKJ0;3=V@Cpj@3i5&@rywr~vJCRF403`X
z!yqRR@<IS7FE221GW3EVOG7V9Lnj2VbaDbCOG_sZGIX*8BSTFmFtUULO+`yEGK2$7
zO+ye;G}MG32}4Z@O*l}L&;%nz7?6Mi0RagCB*4KT07e`Lz`(%)LJTl)^W$;`1_s5S
zEQ|~c{}^;Y!k|3C!114flS9U1!-9j&9Ku>LCpIiR+%BN(HOFJ)BWK>lCJ{>_p2Sb=
z6})b-_*?(1&87;nT`HMEsb1}}_WNoiikCU_&iz+<DI-{stMq@<D(8#FiYFI1t`xPs
z!LstQn(^k6MQ*uMyqU`9DD74LaQaIA!FLS}63sGtCLR+OFskMYcdd!~uj=*1|E{v0
z#|{ZD^^=J`8LA8(GYp-Z9@xEdJNj2$Uq+mP!RrhMPlNY{wtXrd2cDY9NS){xyDXT)
zp%LUf(Ovh<CyP5tr5;+=q2|mCbC3Qn2yL5HAi`j>qj`~A(-yN85B}SI_gyjD_>=qo
z|F&gvG9nG3T&3>LawT7qo$vgQ{D1tOG{cV%jp;4^dWn+{>Bo4j`Oh<_+Tym2*sn=v
zWxxJ>@M?-eV-~k*qm=la$a0y6t!s_MoU<309WHZpP3DlAEU7jlB}2j~F<^(pG_N|o
zTERuRF&P?-Q5hE;*`+d8o?zAJpDN(PBY4!IH&JMTV{AcsrpIv&QJ<8<JPQ?<^6B;4
zBy}kIK1zxT=vO!>>h9Q@?2$8}^rdQw#~aZpKEk4n-nk5C9F8krY)PJF_0Z)rhit|<
z2CkVxHw7XyUtdl2NH7ZtInpkcq@j=^RPaJE=-~s&K=&O>IyAcV4t2Ej%(3LUII-!c
zMBIc-wx~c(&u^ZpLatF?SS^?Rb3P|-yjSKaPtmzMj#q+M8UkE|<7+Ou2=YJDdb8n(
Kn02rNgEaul1yFnd

literal 0
HcmV?d00001

diff --git a/images/ChessPieces/Chess_kld45.gif b/images/ChessPieces/Chess_kld45.gif
new file mode 100644
index 0000000000000000000000000000000000000000..5cf3e77b783bce66e18b1f7f25f4c20868622669
GIT binary patch
literal 1332
zcmZ?wbhEHb)Me0R_|9PX9~FFuf%iz@ISkx`fosU1$LSgjor8lOr*jb0;&cv-jv<2<
zr(-a*7Y?eO_QKFsIH<PV3PHt|Tft~8GAOoO3r0)fAlq;$49$UqY{NMalx#Q$hNd8c
zWWy<7)B^`mnmsVof()WGTOcS%vjvQ*gES$i7!JHNi=jxd*b9oXk%5<DHXJ!AW`j{O
zGH_B%2BRoAu#|`bqaZl2ln8<#Lx~_5@<IlN5?)~B1P7LuP7tIi;RHnjPMRQOi3~Ia
zEFnlyz!HWGQGlkQAs8tN7=n=|94HECLXd=jCKPdKN`R0e0!Sz-!jJ@qA_NI=D8i5g
z0tiS*fRTWJ1Qc;d2!N0P3g8eB03!|#0Wjh~00s^YFk)cf03!xepabH9@&W_Le+FF+
z8IKJM4mNWLYsH+{u<&rZfU?&dkByHG^Ubr0SaRZt{N!H2-8$Oe*WcNsry#qobL*S?
zn<BD<?B4tceCE?{CcEpym-Cam=Wu6F$O+xV7SJL)q3|+;1G9OGRKM7p9n1|^Wi5is
zUOeKwxhc4?F6zPO^Q&&w*XZQrZsCd4v2&CEmvPc}vRdN*e{)wkURx8orT0@&_R`Mq
zdv1Zv`yPi~eZy>ir|Mtz1B>_eHa=&S4t!o8k+j51@W<6Pn)yPT^Zs$3wvjr(wU>M4
zwr{JS%A2p||F>1h_IB3WSsea%-{o#IlVdov<D(j1!)*1|ry_>trz0=!7rneTD~j!J
z#kXhwO=|zMZ-`CQiF>@!?A*JUhqLO}%-nx$-rwzq_};hF&Yy2vuG1##X)arTMls-w
zb)oJTInC2Mm$AyNRZ*W|u=c@1*4i}7ul|DkrHQxsv?J7Ks8u|8*e0!-B@`Lgl@K0n
zY3~xkY}E8{qg<i&gN=*g=HGqN7SFL}f{Rd8hT#(~-eqF$uCi-CG>9#YR9iY_R>sEz
z*#|tY2nMctII)F|UqL~Qi9cfki(JLaX;)q3iWa*zvt|iOddbA5U*+O=J8^d2oq!C*
z+6bec{bEYD+!l3eJX*LYwd+Rs@?5jD>5sc2PtBNa;CaAOn#ps?%m*&fTbIn9uH6v1
wY=XeE(x86PzX#lP-up;q-n7m?sxdXn$Kax?_|8pLuh$=7(|+T|$jD#~0AG?6-T(jq

literal 0
HcmV?d00001

diff --git a/images/ChessPieces/Chess_kll45.gif b/images/ChessPieces/Chess_kll45.gif
new file mode 100644
index 0000000000000000000000000000000000000000..6a9c9b727cb2e738e823dddfbbeb725d82c63039
GIT binary patch
literal 1341
zcmZ?wbhEHb)Me0R_|9PX9}S$F^B;!3!@;pR-=S#A_hTUR9uAI8c@IH*r@RNF=WwvM
z=Q#vz?RgGE_mIKXo_kQ#a&Idbt!=pnM%UnAZOb(<I)@CFR-c2RW5{4m^)WEoiwx!z
z?}eZ##d~3BD;!KI-U>z8Tc?1~+MaAUT8a#MvX??oOY%}Mnga*bQFFj(3NomUngT;T
zaF89;14b=ykR8+lM%Bn5*{d3iis2y2sThp1;ULN>8-|jRL6BuK1bJB|gHaS5cv(il
zP!JqA83uuo7c#Ik^a3L%I55<7f+0%;FtoG;BSS??2+~xv1S3N@&{Q;pA_+rH5YmJL
zMF~wXQbYj~ii#j4fdB#$5?~}CAOS`KD1bvi0E{>|1i**`0T?(qz=(l?1B@7ufb+i_
z3=9m4KUo+V82&NnfMh^<f`Q{d12>0^$A$$5n>mEFVoq#Wc(`3a*=vr+#z)RPOAI2G
zcs!Ax*eiJRf!4S65_)C|vRx{fLaAQuviAFGB#M_g^UV8Kc_||}kt_dy#oy1<7Ns9b
zy6459@o?>oi_PBuY8f5Ap5Cu&ys<(ntY^w;rmBB|vcLWN59rQo5uLpBIP($lD{Z@q
zMBm=u@2h#JZ|Sf17Zi8jd&c$G{N%&#h3?<Hb}&!5V$YeZ`X~B3|D;PNn!U_ixGMES
zIoG{eCOO+uitl`K|DVZQ1-e77RKMq08l{wxeuE(;+1KNg^t&5V8C^b?{oZaK#I>^Z
z*Iw~U`vd+9884SQmFbi}VOc-xD=+KN@N*)M{y%yu%kbsRy}h|XJD%Qu`f}6z3jfdj
z$DQ&o?m2!vZuZwhD^4H$-d}UZ(_l_C&&H4a+D9K2u&eChVUIA`<4|-wv-;tKUh8j`
zSLT_=%LsA>6ge`TRA`>@f~)gh%cL1O_x1=}<koRgk}Y<3aC&6FB*b81cC$vAi&W;F
zLiUO7BGV(4MN3<pIm=tpu1^WM_4Jgi>VpS?lO1m!J*|*wb8{w3<TAq(2~H<XF1DA8
zgexTf&pD{t#^<E*FhC^A<M}k1zmt!3H0(@L>eAXI!Bv~(C2}>uENi-Q=WgFAO|chi
z9;)RCEeX7CZxpq~HOA3#(lJ5*G)tA1vOwkM-jxp@`ArSpCDq(5=V}|;!0w{6@u--$
TK;we72iUaVY%peJVXy`O)DdAb

literal 0
HcmV?d00001

diff --git a/images/ChessPieces/Chess_krd45.gif b/images/ChessPieces/Chess_krd45.gif
new file mode 100644
index 0000000000000000000000000000000000000000..d9dcd5fe497f2ce4abad88196d4057fd1c9bb2bb
GIT binary patch
literal 623
zcmZ?wbhEHb)Me0R_{w1The708kJGsxr@hrqTdOVC7F#aOHk>nO&YWz+o}QkbD9!31
z&En$XVlU0??CfkW#i*#LC`$=1FE1}c2`5WSCrt@UOG`^l0YgJg5Kt7*ln~IA;E<4z
zkPzSy;NW1OG0*{-5Aq8G+y4U%1s*z5{U??boy@VCe_=(5*IGMP;l`<542s(VS&uV+
zDiBF{{^$^6p<efw&A+Ff-&^)PfoT@cCvTP%u~e1@4<>0@h8|hzsCL)bo+%ZXOkBd!
zGNQcojQk2ydKCB>X9&tji}Sbnv*yYQ2}vp_h_WnP%&=5&o2;0S#5TbRjq=^Qd1PxB
zE#9WUx0``aLF!mX*X1cf+jc8R-kvJzJ^4`&r^3lSV$WYp^ALUg{N*Ld&(CFrz2pSm
zO}VOI@tfU&iM{R;2UCKYW8%SPPrZbK6WxpKRJqxNuDsBTm35Inr1_+R?+B|}?4R6_
z6%U(Nt4eC-6em2qx1L8#$S*nVK_}Cc(jJz7lO7ykWM*?!HQ2n=Xl^@GAV<!RrJv_F
zFWtW3Zlc3PA!Y&IRWr0X)~>nPw#3fsr4xtD!6*femAs4f9Iv-3TqsbC+}wPh&tmz(
zXl|v(fKr!UrP2i=QY`&RE3NiqW$TGBZ8MT7s9<<^T64y&BWta?maR38S}jsh@US^D
dLq5W>w}gw4iIpp7`LeUSx4*w1-Ne9P4FF{z!j1p{

literal 0
HcmV?d00001

diff --git a/images/ChessPieces/Chess_krl45.gif b/images/ChessPieces/Chess_krl45.gif
new file mode 100644
index 0000000000000000000000000000000000000000..b39c25e9dc8434a36e15fbb1920f555e88eb79ec
GIT binary patch
literal 624
zcmZ?wbhEHb)Me0R_{w1The6=~xjFBTO?kg}%JaQF_qO)jTibGOY4x!=)qCd@Z=I68
zwkLb((xr3e%$ZXi)zj0{lO0rDU0t2*RUGA%ot>Q><&+#`ne1g56%`fbW$ESR<z;E;
zWT<IrX=!PwXsM}as41bTsi~<bAt50lAiyEO!NEXPpaU`u<QE3E{|6chJanY`Pb?`q
znPWBo!io~FwRY??8>e;|C~ga6f1doSKqg`Nj2yS+bML<YEjizsUHr0ZcDR_Enyi{K
zYptieGDDZLe49I`TGu2s&SEZcd3nh^MuCZw7}NxuxW(n<r3F|5*p!;3q!iWE#8~Go
zSSTd4S$RW~ny4RJ^9~072Fdx8Rn$a|3a0vY9GxV!d54<fmC4fHT&Hd??CffM*u_7^
zOY-rvh36FCJX4nRQj&PvC88$r;F(0Pr<=uLc7_RTO$;Ut0f!bc9}3`ij|kYbV7_Jd
zLm!z4BPVIco+~~j(M&Jp>?Z7Zur}$@fg_GtvJXCTJuJB0AtXIFM5dkbg7#D{5hWLf
zRR^DQOn%`e(UElEg+q-<&8!m&38%Jm@T)q`4p{2FH8SCFQ>~=exhZ=4vu1g}UV7>r
zdu0F2hzp{3n7IslFD+pxpA@MXEA{2cQpObli`)!NGQ3$YEm;0`(YaMFOAo9O;1MvJ
zkeak|D(gBXN4D1TX&k%qa|$&S#d0|L1h_1@92gv%Sh<B1A}n`re}DhLa~4JhYXI?l
B(v<)J

literal 0
HcmV?d00001

diff --git a/images/ChessPieces/Chess_krt45.gif b/images/ChessPieces/Chess_krt45.gif
new file mode 100644
index 0000000000000000000000000000000000000000..dc04c8250750c8bbf5ef53e22932e2df73e7ee94
GIT binary patch
literal 1210
zcmZ?wbhEHb)Me0R_|9PX|NsAc3=Fu?H3kM;=o|wBE_9560T<fKz<>*FWnjRC)-o{Q
zLQ5GKaG^O247kt~1_oTHhk*eXYGGi&g{m1CaG_!b23#ncfdLmvW?;aDq8J!(p&$kZ
zT*!-o0T*&&V8Dee85nROLk0$1NRxp97gA(kz=b3j7;qs01_oS+gMk4TV!#WIZ1~8)
zz@Ye(g^_{bAA=4^EhtYgaQtWZ%PHfrVZp&>4q>gB6B`yDZWmDYn&Yui=}5hpZqgZz
zkMrI8W%TRrNPJQ}IY}+B%Vwp~!sE#b(YwxsDLHiJ=%n)fnXb}sUd7V5Pv^(^<rgPA
zTmL&9wp#4W4A)*ZiJe=ntyu0TsJB<K)Jb}doVvu^4~9W!H`XWV#b|}CI?uV-CeLuz
zv}MtY9X1R7G5@~qqM3K?v>)Yb*4}4mxSnRMBU-S8;rJ%Ww4UIH`;YhZy8RNLo}D(o
zP&fIX3`4r^r3GJqDfd`8+_^YkJKFBIWP$XR=n(D{-&<xc5AG`OSDO2+>>1}K>3^$J
zf4I$FonW74Ew-{ZeX)77@Y!$b?@k9!{I_Mg<bU;`wJ#R$V7iufA$gm}bz}8Tk-2{l
z)_;s%zP0}T=U&}h7o$@ezPu54#r}OPzaOgXTkaEl+{NsY;lj)#GfOAmHEk@u$5|T7
z>AB^jd*#E<=`6YC8aM8V)n9SC8uYa?<h1-wPSwZq>S+=OSQNJXnAm$fXW`<uXdBT>
l?ps}&9`LG8DL7pJ?C*_B-TJRmo=%NOTlsVv3o8qQH2`$1J(d6f

literal 0
HcmV?d00001

diff --git a/images/ChessPieces/Chess_ndd45.gif b/images/ChessPieces/Chess_ndd45.gif
new file mode 100644
index 0000000000000000000000000000000000000000..fdf77b49a4cdbbeccf69ca50f61813a9155fa31f
GIT binary patch
literal 1199
zcmZ?wbhEHb)Me0R_|9PX9~FFuf%h=*90}ZmfopKk<8%#%&LM*yr*jb0;&cv-j=@2T
z(=iy@3kTIsd!fj3Z#4*QMF!QDTOp{}aw{0Eg@a<twP3Uq4zewmg3%l}$Tpk<LCJ=5
zU}y?5=;@gPMJ-c$U?|ye3K;dkL6l(+6lwNEflvz^R9Ck^P;qt(1Vw4KKv0lo3m8>b
z7ei5yW;F~IduhUuVzCzpWg`PG#cT+2Qp^UUWH<=&N`@dO#bhvwf&)v%C@7MMvV@`_
zIIxrmf*?bQATaVm28I$|VB`b`mWECcq$%NqKmtyhP-F=QngW&(q$pqsLx#veQ_&ED
z6a@^yND~eu1T>+DLsJ5T6yZRELlKN5kbwY)1Q-dx0SAKs3~?X;0|y5fF)(m|5d$jF
z0dYZjfq~;cgEohZ$A$$5n>mEFVoq#Wc(`3a*=vr+#zjZF*=HIk-f+CQoKHej>gRX=
zi3j+Oc+BIRIf3(Jy|(DyKSzWVCrtmp?P1CHPX3-*GIt-!{L-JS7~NHOt;O++>aKc8
z28I(8I)y!YG-gk#`E@?v%F6RS2~#4kOt?0EjR1p#Ku+?}+5aOvRm;CE?b>?vj-SuZ
z_lynfrG@uu8`d3lng0KTXR4^g^7{rmRmvXRG7V0iQ^feB_r&v}yK)Rw3C%YS7T?V(
zZnRO!j(UC9#zcBrUai^XkaE6A^J|gi>u$7e)~|08{jpBbf#>`LpGiyfiteQ!X7CWI
zRQ#9_v^rBYSh3>mZJwV-Q}TEDuKaXh1>>LHvnKqw*{`nooz3B0`JvCg;e1zO!*dP(
za{68qDPn$jJtAbLz={Cw`8mw8IxLFMW)`a1vTzu7ZBT#M!mve9+Eu!WO)5py(Dk<c
zf>=i%*PU}Z9+hbOr9A2^R~20B(y-%)f3LaQ6S-c7mW#?RHH?}nt~COSpG@*GyQv}*
V?sJGeAS5jF>C}j{mjMn8)&Ro1<9q-B

literal 0
HcmV?d00001

diff --git a/images/ChessPieces/Chess_ndl45.gif b/images/ChessPieces/Chess_ndl45.gif
new file mode 100644
index 0000000000000000000000000000000000000000..9dc2583a3e5156945b904262799008a45c923953
GIT binary patch
literal 1201
zcmZ?wbhEHb)Me0R_|9PX9~qpR^B;`9!@;pR-=S#A_hTUR9uD?Sc@IX<;b3pia|qhn
z^Bj!s!NJy^dr;JJZz~90gM+m#*TCo;94u`)2SwHAmV(eRIG9s?42<@|!JOi~5HzKD
z@08-La4@BKD->mKodQB@;b7^UwGh;ky%vm?!a+;&QZSkW2h~w?s-vbLK+lvZVARtx
z1%j%hra(|})D$r4frH|x9w-XxDF&nLpdK)4L4fL(7BI>VY5}8aI7s%Y2BYHaC@6~Z
zDuyDb;wTWxhJz@lY%ofOgQ%!v2nw=Hh9ED?WH5??124-c2y!xv0;3=}a54-6BQH2`
zvh;!=OHD6JO(!_8)O3O%Lro_zvP1wwOG_{^)U<>mMN30POHC*;)Kr8ZO*l}L&;%nz
zIFJxfln{_W009XQS3p7liUb5WpooJ*0E{>gfPsSpj2IX=z=#0`4C0?MFfb_oWMO1r
z_{X3F5(ec729Ey>oE$P98x|aF<`CA3Ik92k;dTLKuQ?tY7ai?pZ+xM#;+5dBR>OaP
zy-g-e_t26TW)l3#pQ<!%VUSYH!B6wI%z7giD5$tO;p}{++|W}?)1A)qI7IgSzRt|h
zz(3DpnaRvA_b=5ipT$&gv4`!LyQ6k!YUXQZ29Dzm5leoapLThp>D)O-w@p+E-7Np$
zTF$S;If0$pu2x%@ZeMoOXq8%9a%5*g;<V#)l0I_@o=M(OH1|W-k9VIUa{P{eELm~f
z_|CGnC1xhP->+OQ<cp8n$7%kht8K1)veMG+nW|PiD?56G+4Vl8Rq-;um{hTFRs90S
zgw?xT5)!ZLCFn2lvU$1fHcQLvzTSWRi5fd*aO73XSRHfv=o!d2C02r|A^DT29vfGi
z!k<HW3<X~G+`bK+CR_drUv_AWeKtFbSM^Z09E<4-1%`$RNrJp<{wjydob{dJn78cY
z)uU-5w$~Gb)q`3>+I@7d^SDksc;Zoy@X8%Z422Ig1Vd%nZYcNe5y^Zq(L<@zO{7QQ
T#^uQYZkkW0gcykkFjxZsSlt!s

literal 0
HcmV?d00001

diff --git a/images/ChessPieces/Chess_nld45.gif b/images/ChessPieces/Chess_nld45.gif
new file mode 100644
index 0000000000000000000000000000000000000000..d58243f821a78a431440c1cd8e0117b31b6eab5e
GIT binary patch
literal 1269
zcmZ?wbhEHb)Me0R_|9PXA02%E{~wILzyA+L-(lcA3_OQ{doXYf4tkuf!O%H4=y5s+
zK`l<_z~~qpv^X6DqrGrY?X(w)EcaG}&{kwnZMhYKiY>Q-(ONhtwp<HFOW`2faw!<i
zfrD(rIS`a=I0uZTz(KO%6fo+6gDAruDAMeS0-+W-h|+9<pdif_FseodL7LTIR161R
zn#EA0SnLHt*>K>cm<>TrirFxf3<pk%$zT)(2bL01U=)M^UO_=%WGN8@L531RVC01i
z3?;n4$O#TCEuA1pQ^E;~1e`QM$Px|=4J{!^Q@|2}6a_3{$Pf+`1q{JR6Aly=HK9mA
zQxS|L1T>+DLsJ5T6yZRELlJ@mI26H10s#ahB)~|3LjsHh5P(BK0E{>|1fYmPfCGd$
z5P*S$1B@6LIKYSj73hGtpuE7q@t?tzL&jsnf`iQ*!dfvWHY_~cE}-l+$7AE7quuQD
zZ4@P#1eOR$h^qbk&OhORzz&Z#&Y2%h+DHBmWBPS`iL}Zzj`lyyOvbnNyD_9}Y!*pp
z^Xq#fWts8CQ<FjMsK>u<wi6oXB>!(?xN%C9fr&w6Mvc->LzPqYe7lPNo|@`3zy9&0
zggKln9Ku^GwpVrR+PLVPovz2Sv#YN$p4lf{SXwNwRpQ~Eo|^|}yqMI<JV{sX`O**l
zQ;!H-l(A=ZnsM^(p6GvyWfITh)6Oz<)mGi%6+a^IChhREJI@MVDe|XRHSi|9NjUL8
z&y45ed7+Qn|0kGBJugsWy^*`j?K;ns`FC2+G-ln(n^F^Eeq;K31D?<4o#)$4NL&@K
z)?HzEp8IUILgn7<?!5mM3mJ>|db;0r+HvLkyr`S5$)eSV4^ETv;F@{-YSU3wcg2iF
z2d~{N=iE45GCiYr>m>){z1yOF9{l{m>9c9cvU?714!X-QyfkECRyk+!nZIGNz>^>?
z^P*58m+}Wp9IaA2R8AL~-%6P{IpAJJylaGL@YCK+H{1lZ|9=Tr36BkGnHrW{_O)}m
z(A~zcSy`JTC$<(8ZB=vCJh|xkyqa$>pW7EXiLmRnh-JN4*dZi!Jg~>?)r-Xw++GDZ
HFjxZs(Rc#0

literal 0
HcmV?d00001

diff --git a/images/ChessPieces/Chess_nll45.gif b/images/ChessPieces/Chess_nll45.gif
new file mode 100644
index 0000000000000000000000000000000000000000..ef43eaf63d33e247af8b21ad0daf1e562c97893a
GIT binary patch
literal 1271
zcmZ?wbhEHb)Me0R_|9PX9|e5>{~wIb&G`>T-{IicobOOH<@+%ZdJhMCr@RNF=WwvM
z=Q#vz?RgGH_uyb_&pjw=xwjRBuED|DmTO>i4i1*KoP(n3b4x+!7#z&0J_bg6;b2bj
zUI>~}ycdkN!oif{tx%M`bqWZrg@c~#wP3Uq4qB3zg3%l}sE(Rb9W@0Gs-vbrP;t~0
zFzSJW;;0@d3hF5aqwJs_FlxyTf}m<RNcO4*qhdIS@+yWRr{X9O%7%j|r))4vhJzr>
zWC-%IOa`MUIPkKJf*>cuC@>0w11G~EF!F)}OHD5@azX%0Cnqqn)O3O%Lro_zvV;Re
zMN0_MRI~&mLpab>G=w4vLrpMJlrRJ%O$1QX)C40%MNKG@&{PB=ML3WUPy{0h1Q3vr
z03!hb2?1olAs_%o92^2*#DM?|92{W8z`y}U3^1U~`<a1(LGdRGBLl-f1|5(vC{HkO
z{Ab|jknz~C;9xU{uvW~84GRyq3n+Wd@z}WNXg7QN7mX900>@fS{{8)ITrl;7mb@_E
z&+l*Kz3l(*X_-AmXkmAKP{3d2Z~lS|v2Qp+H3K(4*zY48pgEV}fVcO=8?PcXPCb;D
zW{B9FCi>9z`H5Mp?-^e85_`?!`hU;e10EV`0{W?sk7ZaMd34st!R1)5wd3{uy&~bQ
zvoCzQ8Mp8JA>XMxgw}Z|v_J0paXeGW?69xm@vltgdb8`Z72AF;xBO%r(msD}*9pGT
z6b9ina^F7nuQ+V=KWPu!g3qNEllboM?Cbe<|FzFOnL{EUtIqp9p1AZ+@x=+T%O3xi
zisah<`@VErXwmyCHxFNb|2^(-aCqE_mp7l(pV`X9`Tc$8f%+%$+FZvArs^>~p7=Dz
z=!&esyu9_b$1bScNnG0D&v0attmDZ)+oR)5bVTG*-uq7I^kz925|uJ};T8e2{}rNr
z#fbtUaxJ@$UVG#uX2QhduXNGmg4f13%dUp=|J>*$%d&RK=?FU}fj(8SyC2R^^i2DD
zrb@W*z&T?Nx0R=}L<*VWr$ps?28M<=&YY^ZH^3xnTEe26s%dFSPoKG{X{J7(Tk&jV
i@GRlhji=@}uxY(mP=7As%EAt{RWBCx7>NilSOWk<iaYcG

literal 0
HcmV?d00001

diff --git a/images/ChessPieces/Chess_pdd45.gif b/images/ChessPieces/Chess_pdd45.gif
new file mode 100644
index 0000000000000000000000000000000000000000..e018fe3aae56113557e64a78931afe81deba7941
GIT binary patch
literal 1027
zcmZ?wbhEHb)Me0R_|9PX|NsAMJx+MgxgIB+sKx0VZgi~02^ZR1ZHWu5Ew;pimS$Vx
zMutnXaiTfdhPcp_WJ6r2C&~~v((H-CiL$*EaUv(hY#b=rNf8f<vXsDuf-EI)B14HF
z9LUR10uOT16u^ZnH3e`YMFC6P$WT!L7g7}9z=H%h81Ntt4hCF^fe_FEDFEdK296gD
z%p5Wv8x|aF<`CA3Ik92k;dTLKuQ?tY7ai@EFwVLok<cg;x95q@gB1boJL)w8Unx`;
z96UKi<7jV+X8@nijG_#oC#A-!`g57nzq(j*uW*>{T+9?ZA?wBd5aUd%qOMC5&#8q3
zn=L$P{CfX<74ZsR$x!8<jT(s)t~7p|AJvz1aoW`zrrHscBKGDzowZfNyFc0WP;Qsl
zt79v3|3{wvp<3u=A`xrVXBn<^>E!<@K~s8u&Og&tY5o7Uwcy4VM};?bx^?D$&e|mG
ozsIdI>Cw%b`O0l^zEY2vWDhiR%lp|>q%J-&Sv%g(K!L#;0G+=~tN;K2

literal 0
HcmV?d00001

diff --git a/images/ChessPieces/Chess_pdl45.gif b/images/ChessPieces/Chess_pdl45.gif
new file mode 100644
index 0000000000000000000000000000000000000000..cb36dbc4cff7410d73388677bfc816a8d2be39a5
GIT binary patch
literal 1030
zcmZ?wbhEHb)Me0R_|9PX|NsC0=jLFd@5km~LsPyVLqYG4O~FLZ_x4~xTYH{kplfSe
zFwwcCE!a@?xuq!R*wSh&XioJp477JnF%~qXcrON8+mnrndWxg4p`e~(RFoamgMnJI
zgD_EXloJ}tj&j0+f}FB3P;!tH7UX4_jDe!OEHP1#lOY=Nax%n%EDgP|AWbhzbmU~I
zi3J%dI-w#<Lq$wvs40O3DM}b(APE5hY=}cb038W%a9|<^Y#=>q3j+g#;!hSv28MqO
zIv^#WJi);6n1Pu?#$&^RgUuYmS}`X!EIiyUpzJlrW8<Qu-4e!GcQg!obRrYA3PL)Z
z@9dxa|ADAvr-7{3lt&R#JfA<MO3Y+Qz3Q@)>$!u!wSUzo%?rL4>hn6-7^F&8_&d7$
za~(RVqUEJ#R2ubH-TPVC6rIo-+m%TweH;HLZE(>xzJ5K%Xm#FEt<5t-cNk^n?X{fr
z^18Ro!bN|NyDy%0P-AO~N#~FFGu>{|^Pfad-1y|U$Wt#n&+<hN&i-E(w1n-K%GR!>
u2mPK*_@&a`nG`*JYQ&PS`=<(N8{9m*d;9zQdt9|-{r2oAY+__&um%9;j;+7|

literal 0
HcmV?d00001

diff --git a/images/ChessPieces/Chess_pld45.gif b/images/ChessPieces/Chess_pld45.gif
new file mode 100644
index 0000000000000000000000000000000000000000..6c599168884f80d99bef94fd57324b074d1e3c18
GIT binary patch
literal 1132
zcmZ?wbhEHb)Me0R_|9PX9|OEc1<z5zH8jxUbPWleLjyfd=isQt=^PR|*5ZVW_M(Am
z%e^qP6&0*S1I3nWk<ij?OC)5tG#iTMpn+_|IY?+qvLPJxL>ZzY&7LR(YC#3nsGt}X
zWP2$hkdtCI3?-uhC&gqW6om#XC8A&`2n|?D1i_J^L=Y14LIZ{pUP#DEQvi-E(SW9a
zB^)UVSRx@qG@z+z2uF$nhDb;g9VlvQB9I~)kdRPBAPz+d1d>1l0vr-BBp|?nKpY$b
zNQeU+FmP}{5d#L$0f~U}0t3f?25k-*j|~eBHggDT#hlo%@Nm0;vez7sjf;+UOBiR}
ziFn8?8?oU<&4U#iICj<_@B8~ZyyeM3{wIBo3=9m142zUwg_eBISMz0%`gif7r@*xJ
z^X>Z&Dp`HFVz|Vle{Pc2gysIT1X_arD!h`HUsCh0^VG`Xi}t1gj4OU_?^rQqb7tnc
zsf&cCZQWtNUsv_#!+6O(MgJ#W<#=+R?*K#DA7-ab9f?P}B#Ynt7B7%IsF!HVx+diL
z?Ngc0g<7AQzkRw=&vu<j3d2f9XKh!%cc-M@XK!rQpT){sk$bx*`hn8Fonk!4_}_%_
zw(shS&Fi!=)p3_9$#8wrw#@nMlRb}ai`|;IE%1l?^hZiX4;OA)yJBr{)snee0^f9h
zt9|gCH}y|;()_f^^+rA+Go*AyG9EN?DD9Y*BDi<!rDg#)jfc%oUB5UAN~EoL*d~+K
RAs?#HrtzqQnU#gX8UQv=ytn`W

literal 0
HcmV?d00001

diff --git a/images/ChessPieces/Chess_pll45.gif b/images/ChessPieces/Chess_pll45.gif
new file mode 100644
index 0000000000000000000000000000000000000000..99b4a47c6fd0f9938224db9690fb68b58cbf59f5
GIT binary patch
literal 1126
zcmZ?wbhEHb)Me0R_|9PX9}S$F^B)O)KQ{+~j?MXwKvTXSgQEAy;MkP+aI|;Idl-6-
z47T<>hoNi8U~S7a7&?axmbRQjpz3o=q3GDsY6O~7eGCchMFLxq!Ia{y2$a2b3JmpR
zZ-t??XrL#1Eey>;0xifOJE#SYlD%4Bs2Uk0dsV|wF&c<+Du$tCWDw+(j6jyjK``WH
znG8cw$iT}o3JC=v11G~E81g~}PKI7^WNGMyK$>2bP~>E(i9m*$PB3JN3=9=5VaN~#
zXc`(qktQ-wl+c7BMHC>Rs0c+8C_q3$0)_+xBw$DY1#k!mzz_$A01R;;0R{}90}=t{
z1qP1)4BQ+t9vc=MY~~QwiaD`i;o)`xWv@9N8y6kzmN3q`6XC!t6S?U@#e)?A?c3|m
z&G|c7z2%7`@4Y!I85kT|jq~+*H~lo9ti~Yu|Hcy)4euHL^UtO5%FZ}>GjP^9BVExQ
zo7H_q9hZxp__F@OMW_Eu^m@Pap9^Lv`DZF+we(HotjzgOrl`JM>!0rx`_DO9{GI)D
zvwyiSxf4#?i>s7!sO3bkd-7LvF8;av;8KI-wR1U7SE_!xy(PG9*Qc72O{*4K{}0_%
zaK&k9eWYhmZ0_~ah`vUT@4nI=$`adKYL~H2zBqgR1OM8Gdpe%a=Xv7Z_-N;gbwXd3
zFPj#eQ~l)EMdknNLcDXHoc$eK*{S7aoceEtW~ON4cK6@qi#qF5o?TY?eE!Ih10^zw
v4;om+A`+rHJXKh7c+6frXy)B!GLcUtEaPFTMA(X}Z8Bvq7CJIAGFSru`LFQb

literal 0
HcmV?d00001

diff --git a/images/ChessPieces/Chess_qdd45.gif b/images/ChessPieces/Chess_qdd45.gif
new file mode 100644
index 0000000000000000000000000000000000000000..949355f804dbc40621313a601b4e89122992cdd2
GIT binary patch
literal 1402
zcmZ?wbhEHb)Me0R_|9PX9|?Sif%h=*90}ZmfopKk<8%#%&LM*yr*jb0;&cv-j=@2T
z(=iy@3kTIsd!fj3Z#4*QMF!QDTOp{}aw{0Eg@a<twP3Uq4zewmLXqLpY$%!o2gP1<
z;3(U04g@6|&H<w-$ROEp3K;buffhKZE^dLK;_Ma(iqdR>pdif_7^+4FQBKtm6r@=V
zM#XU8rCAI`ip5?alnn<#me~;GrI-yy$;iM-F&T`a;K0c+3XUu#qQEE!4lE^tAjnW6
z2!_0nfu*4r92rV@!H^R&(3Eh3A^|5&5VC{=O#w>?QWUTRBSSb)6flG#O*l|g)Px`j
z4oxspL<SNZiV!5gp$JA2a3H`T0Y(CFz`-B@LmUXez`+4V3=AA##DD}GlZ+V{7!-f9
zFfuUwW6%M~fbs+b$A1P*4jGRP3l27O2y4Zh*s$<$yMVIS9FL8QocVe?Odll#KAaM{
zd6|I9xAiK9P4doVbAmQ4@!-;rnpUGYA@%fhk@S;uR1KE-%n~Wt_T;63s^3D@&LD-%
zB85x!UcGW#UT#|EGe^cl=yAr^wCk%_=ey;8Umxh`|KCP5=ga!L7w57a6-ud|^k8fK
zb*@P!uSN14SN$&tO8CvM!OEw*^N`NT@7WJl?oK<GYO}%Pv=TF?dEB4;=?Trg#?x)g
z3;a*pGM^8WJ255kNqsKcB35hbx8YlvZcn*$)F8lHj44}qZ?sYVg=sq?x9}X9pmp)q
ze+z|anz3qmOXl<Yt^ZZhpE}dkhyVXlhKP+$S5<EpR#ctce#YU*<RS&@TMu7Pn)gn8
zdgt{2dN1~vK9Q?u5zBaBf5w#MMk9~V3|Xh!rW%P!{Jt59o&rbJgH5JiILIPw)AHk?
z;%b-R1%-Ss!-5PF5*QA2>sviwU^6=OLy0Yc<#JGtz}cb`jOI;+ot<n&Hy(Af8!Wuy
zEHmfeVO8-{C7i-pGrkA-99*;L>9m-#lS}*BJX_j(Q>I0#$%$1?S~@+aOp+&0_^(6C
z6kS(gHJ9~!W*kzq@{%~CsJUmw2^XDMrZ#2+s|ifP2@Q_!i*1%PWb`Dg`E=f8^BK=`
zS|uME4l+6@RWh*IT-eBES^7_5qME*4=c?8xG2w>}cl&#U98vUXsbb(ym>}U}av-ge
zL&E08sUuopR$rRcum3rDcuCr^6U_6kS1elPD&r$~LhriE<fp0+)_r<yx|_wwb(1Xb
Yk%Qd&A_w($y*#G<e$N*-5dj8k0JZElhyVZp

literal 0
HcmV?d00001

diff --git a/images/ChessPieces/Chess_qdl45.gif b/images/ChessPieces/Chess_qdl45.gif
new file mode 100644
index 0000000000000000000000000000000000000000..b8042b0933c07162baeda70b9cf6f1a8cc9fa880
GIT binary patch
literal 1402
zcmZ?wbhEHb)Me0R_|9PX9~qpR^B;`9!@;pR-=S#A_hTUR9uAI8c@IH*r@RNF=WwvK
z=Q$YNgM+O-_aJC(%RMl<1_x_fu7S}xI9S?p4vMPJEd`-ta4@I(7!(yBn*&07;b2bj
zUNG7U2Xm^oLQqfkRxnx%154qcC3z_r&4GjJ<T+3jHK!VcroccC9JEyTKu~pZ4+IrQ
z^*~T|P!AZjAV76X3m9bwwSZAI9ArmTLr}6;H5e7cL6lc97-hpjkW)4oCBs3KS26?z
zStf%~6dZV2MnREblouE|8AgFo5FB_p1woLLVGtO3!GWcw7Z^FgfuW`o6e&6xf{-N~
z7%Eyqkfx#~7#YHWrlKJfNf>H^kR}2sYHEU!qJ$<GDI$P`q9Pbc2q=P)1RMwmNPv+5
z0&oZjfDs3W02px~00RdH7%?z#fDr={@R&4{fq_BsCkrD3!#@TckPIkKFmU{5;N+0;
z*s$PWGl#HN%!v&P54Q^_d(H9K_{iCD6H8=_#ggFViY%#rr8T<~j`vHq_sFbtPUxJf
z?9CCfb5rV3KLhKXEkFI$80To0TG?<0DO{N7#Mz-@`QgR>B`*AzQZxhDeP%N?|JAm<
zkac!uIIorOD(5@)F08VDi$er1+80I~?>g%#aPC^uk$-~P8bW-IJ6ZPz$!cV%us3OQ
z7D=q!m>tn<)gY&4b7{SUly)Z1mf!0)9ysd1Q7*;n=l$)CabZ=GKY9yKOyp?{lUz~u
zVd>QAtJbAxZ{P}Qn{zi(AmaB*hivV&l6Q44H0?gcvz%-1+!+l1jRwX4V<JNyvdr+=
zw*LPer5R7fcKIauW!$KGvWwHNbL+#KYWWv9Ux&@hd+}vb@Lrpn;v%K{O^-<WbEvI&
zU_Z@u`-5iwvh5ej1;S2TuHuVap_s$3*sfqQ>q8@}nEw=uM@s7*CNC)BpKCrzKV=8Q
zfga<!4~^Vrmn;@@r~ELAbD68dbg(ZaW6`1}g<}@VED<WK7bX2OHYxhdN+@J=?f&`c
z)U=qgm#Ne3{LCgwSxw7aHZv>YNyoJKZ7-MV@9_;eG%<J`OD~7WQX^%7?jI2g^}87i
zAIl4`T*4_Sf8htCK*R(`Hu*j~MwdmVlRloZ7cO;LZn6Hu#};k@o}DTzdNv1-Yp3<H
z^!f`}8YNFz85OS4r{;e~W1+K&PE+d&0UJlQu6+*5Yo>Ki_{g$8Voy_|i)u^~?*jjT
zs<dAJFPUdm4Rc%?_zFrc@t8zqDZSG^Xm*)XW>IFg0K3u!g{B#=j%mN&^Tka>fWaC7
DW3p9>

literal 0
HcmV?d00001

diff --git a/images/ChessPieces/Chess_qgg45.gif b/images/ChessPieces/Chess_qgg45.gif
new file mode 100644
index 0000000000000000000000000000000000000000..d82331a43807c787e671eb78b6c93081c3081809
GIT binary patch
literal 1612
zcmZ?wbhEHb)Me0R_|9PX|NsC0=jOoC_hWOA(3J1TK<NFkDG0Q8%6k}kzO@H}?rrTs
zLM`{Ug3;QRdoXluZ3`ToTUrf4$Cg$@(VXgIFtm40F%(TH-U~xpr)0y?+MaAUn$waD
zMb*i3U}#Ep6dd(r2SHFvb`Sz3d$oX3b+Q*66-PNiP<D_L93=-?B9ND5G7Lp|S;CNE
zlou2QIT^x{m!&2IIaz8#k)fs&3|Sf~!jYk-A`+4?)C3_-MF}`kR1`oU2?0eIl8_L9
zBLM*pIO0G73>+L_#K6D-Mhxc|5a<{K103yTV1S^l3=9yomVp6+mNGEF(HsT_2%5sc
z06{$r3=q`9zyL?p3=9xd%)kIg*$fO2l+3^YK~W40a1_MA06|_13~=PczyLv(3=9xt
z$iM(cnhXpOq{zSkK@toM5G26B07np?Lr4Y$n6pTPfq_BspKXb!ud70GMrmGlPHLWl
zxk6@oUVc$(iWM)HW3aQQr<H=<Z9P3bWffj757!7Q1p{*zCj)asV?zTYV<Qs=#h)yU
z3=IDmbU-G9G8F^Ie}>2y36Bj64mNWLE2TIpHXLpjQ1+VRQK;0~CTg5@r=oE2@qPj8
zrk;$X6qkvT>~42Hu7AomnJ+Nt$>kuvBlV9OI)AfIJUY`@$K=!$iKq8BCjXyeVe*kb
zLNnpN7hA%|_jh;KJ8JXwYN*Gq40@Skb)+)q`C;St`}SE+7F_DTfWO<Sc-j|5@9F86
zr$zn#kb8|mX=T*WUjcq+J0kuizP!09HSA#c<}R1j)7~DQ7IgmK=05^$kM~SXPFk{O
zdU1pE|7|WcU)~40DC;Utdd4lW_`!Mp%uh8Z78o*jtoUiL&TB{6ed8I5ul`;9DZjPe
z;MX>he-mCl+wUwaA2d%-_A7(ezq9{Wy%yM6{-Dc0Y0K@PmCklAUsP$#pJvAL{JCt~
z|L;ams@mmD%;Fh7Y@HOx(4P~0%4}VudR!gjHj@X=(U#x&OF!sVcrxs@4Cad6Z>z)?
zArYl<F|0kOd5Qo_)l%;Ic`t)bbsJPXyHe>SvGr`(E6<X)aBIg2595kju6t>+X*td+
z|K2;JFLRNn%TfEKJ>|zHlrS#39%mBxd20EIvq7iqL+1RL@2u15dEGuv@#dta_}t5r
zW+ZHV^04CXPxZhCzpFRX=E~K%UZ4MR!%xu=;h>6V5pu7T)Mq!Fs%3gle0GH^R!mpw
zz>?m*m*-kM%2C!@aX0qp%RF1J7Ae!?FN&UoZ#ecs>vj0r7e!}^ZI(#|_BEb+^?H5D
z#tb#r6JI^EwKuD*UbAWKo~jpVBDtXweyw4tSC=nYmOORk%Qq@v%c3?~c5mK)tSe{X
zEVsyuQ=V?~PK$nNwWYP<fXrha(<?n(t5*E5D&{eGymDFS9>Fs2-u?fX7N0(J;7Yc>
z>7$V9g9k)2J=1sZ>-)}nRJgK?=h)j>qPe?HOyu6Q=2NfFM49(Hsy?k*t1xx>Iu*}X
znJaETSZ%y-ahCSW{0BiL2YKBB4BKQ{Y>ZB-PL4A=soZkHkWJL>j={!L2C2TAuSI&F
XHuZ?Be=Eq!q?z*VX2xa#0S0RTR7-pF

literal 0
HcmV?d00001

diff --git a/images/ChessPieces/Chess_qgt45.gif b/images/ChessPieces/Chess_qgt45.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c36122b3f8c1b3f974a3fe662c2d415176aed83d
GIT binary patch
literal 1285
zcmZ?wbhEHb)Me0R_|9PX|Nno6a}4;<F$M-aXfFc;9<-H#0T)`!z<>uWWnjRC<}fhe
zK~oqQ@Sq+B23)9xfdLPyW?;aBiWwMip=<^QJSdrg0T+s5V8DZd7#Q#%F9rrY$ccdg
z7qVnvz=I4K7;qs?1_nGxk%0jZl3-xKg9I2D@E{Hb20VxXA2|BbgMooT@h1x-1H(TC
z9gtE`o?zhk&+wO1#$&^RgUuYmS}`X!EIiyUpzJlrW8<U4^%A;zM`jd0*dOj6_gDMI
zMI|@GB)6&>p$DB_jsMp~R(pP&zkz|VW$zyix8?5H7U@npFZq+_TA6eU^-4}r3!G#$
zw@BsZl*N}<u+L-@cxAXUXuWr19;@~=?K7+VrwU!kDtmioN$~YWt<smX!*>-3K3tj=
zzAiX1_y58PuRiA;UV3Q4KbhBpfe$zHJr)xUTlm=CkI~|-%g2aMZhN(I)A(Z58y+oM
zU)1(*xw+BuDF*rPIQA+Z$eE$T{a<*orBT4d$+N}Q3M|+ZG{?@~$nKB+frK7&-((T%
zX{JSe8ca)kH6nJscqC!?_|cU+v0wLJYHr^YA{$$pImhGn>z;Q-882m@Fz(-)W%}y4
zy67A+$@<Hj%4f9K7c5d}VtaS|e!!Z}jm(7>p&1WbEkZXmODu3Lk!w?E<A{&vO576H
zCc0q3qb}_*2Sq=<i4l+7t&XZpZsgc^X+b@Ep7=}yjXfGkt(tabf^N=TFCI5&*eJTm
zb|`F8XyS5<Y?tu2NuT7qUZF^Jn*SSxXTpAVogIDNMk2vwo=q#BPE6XOsZ=18sIp{^
z7?;HqQ{hLIiL4uBPfj#t50iYlFsNwJ;$|tq7aEOHu39gbObN?+xpXoc3xhQP{QyUO

literal 0
HcmV?d00001

diff --git a/images/ChessPieces/Chess_qld45.gif b/images/ChessPieces/Chess_qld45.gif
new file mode 100644
index 0000000000000000000000000000000000000000..83f1bfebdad694c9309eeaa760e1f74ccf6e89a9
GIT binary patch
literal 1508
zcmZ?wbhEHb)Me0R_|9PX9~FE@0`FnqITE;s1g;^29;a(Cbgst<idvk`!O$^e(BgCq
zjP}AowbNcO+KLRSEw@5YvE^1US_=oomTO^XDKf~mTna^oOS3^}4jg0~&Vit0!#Q9y
z1sNn8PJy8wWDsT814WuWQ6SU;2SJ)GU{s9^f;6jPs2CY|DHelKHXL{<W<!vZVm1sV
zBLgSJWH5?C29}CZP$Us$2}MD0U?~v<MqbFkP{Iq0oREQ~r4s~cN;pB0fRiQ^St0{X
z0ZRx{6tDy%LpV?rFa#q_I8ap7L?8i8MKF>O(1aomO$jJcL;(_tieMzcp$I_&9ExBh
z0S5vc5?~~N0yqQ&z=(rG0ERdafPsSpj2IX=z=#0}gwF6~U|>-E$->CM@Q*<UBm>G5
z3>^O%3^`;xHY_;U%pt55b7I57!|ejfUUPO#a2Dhfk-fAau;9%8{$wMqCkd|?>-I=k
z{Bd6Dbj^N>#GDqcr!FdN_W!5p{Cw`7FtJ{XVa1Pdmj#pS9~=-A&GZ&yVAzzy8KRlp
z={;rP0b5q_R||b+F&7p+JXE~kcz*(0+TB}MU!0l6)~^;jYtxhclUWr1HoJUyzN4_@
zsg`b3fiA;37JDJN9k1@MYI1*>WYDu?!?nY?taiW6S1LRxWPMnp;$ivu!2DwI<PF@x
zOM_-en0edwmV7v<v`|ENi}a-z_GbSdB>kw|{{DEtDqg=|-+9u46E_<^_{siIUT*9E
zMSM>-?EHLavn{LHf7RR053~{)T5SD(=J%I1TKxYScH{A5`@Yqwst<GuWRw|t8q{P<
z-(O6KuN2*CelEwC@dh8eRv{xpq(txIE7jY2HXrxqwLN^oPtnxkiiA6>=@eo2mkd)w
z<a7_7Fy@=f&Y<;w%LN67lQ)cFnHb)*AJ>}hdi9Xk%eBV^{1`&EpXyDqZN3+L;qSMQ
zkX}ayhe+Pa6xGO^wp;Jp|F=DQ!adCC>%^9;XSWB`YAw6|bjp8^A0m-{2Y)W%`>$|f
zf>#cM!J)RBoQtQ_wp>#?<39Jr1crhQx*;#zJvo)V)#n-{X)fKwVU@8^AotiYA>}DQ
zudG-yZPpVGZwB_q&T=O+U#;FS>EO~d=bbBOFtBL7SkUa3{B_mjby^Mwl;<t8bh)(n
zgj#mcV!o^F=Y+IcxEeRuR8_v-qP${5OHh?pi^`e@aguVbJC~mFST^gH_{t?cHNX5f
z3S3Q}Z!pzp({Z_+C)Mwlw%=->?{czXamJ4IY6}iq+;c6tBE-^u`=q^aYH04^^^?>m
z>ONRuV0d(~+J@jLK|%JHOTImty?$S{!KF@}*+m+HynY8Bx@&AR_#AHCy6v;L@wS#n
Y>@t3TvM*n75zqZ{(L>!g(1F1k04thppa1{>

literal 0
HcmV?d00001

diff --git a/images/ChessPieces/Chess_qll45.gif b/images/ChessPieces/Chess_qll45.gif
new file mode 100644
index 0000000000000000000000000000000000000000..53d83b61605ea846bb8629cdacf4a5b71b87cbf6
GIT binary patch
literal 1492
zcmZ?wbhEHb)Me0R_|9PX9~qpR^B;`9!@;>Z-y!JOobOOH<@+%ZdJhN3ro4xsy;I(U
z(Q`Q1+w&ZZ?!m#<o_kQ#a&IdLU4w(QE!V*492_idIR{16=ayC<gM+2j#~^4<^)V<a
zJ~ju0_QJuO;=K?wrFbtGZH0p=#ap2$d+QVsS_=m~*=xaQDIByUF9oAHa8R8*2aKk`
zL3Pv=2r7=60!BS>P#o0*LD@k)VAKK!*+DH3l<d_4M%8eT>{Sg$#c&YiR18MhFpvxf
zL6*s26a@!fmQi371P4xrL15$s2bP9jP^9T)2|`YAV5#W@L57-6U}OmghKiODq^W2L
zMurHWX=n&Wnwo}Cq-dxKMv4-KV5A8Lii(<0B%!GYLW*!8A)yFG0*VqKB!K_|5)xn}
zARqxo0tmn%AOJ=j90Fj(fdC8~9AL!2zyU@KNI(a~2IU0?j{gjt95Nmo794Em5Y~!0
zv0>rib^&FtIXesv^Ky&G?kWfjIK96=%1H0Z*TCxz-2d}LcYf_x5b~Qdp+lwM#r+wE
z|M@ugd|c1bp#49O!{w8H%#L~^<8_x<84hd?WeU6}b+|}jd4ccY!m1xe&koEgdh$f(
zh2WCVH4Iz$-ptyf5V+WbecdmPsR_O|diHgH47a?vxGjBip6m_n3`f8JZ0rAC?^}Oh
zbrY|X-|86$V!T<m|Ggcy;oSaR{TEl2MwjRx+^Oq7?U==eThI3_l@<R}_;r5H>9pTM
zUD_YmW1IGEy=N9NdGnp1^Hsb@KIb2@-?K2kQEh>xz~N0+tn0K|Co41hou9+^|J;ZE
z0L=@g|65~TIIaKw_M9~5ooSp7YLCyj&Jn-yZ}Iom{|-WZMboAx$=k3@P-kaIN_B9s
zV0-88p#RWel9cn+lqO+mR;GZKDwm&M6op)384uLu+?e8N%GX%_$X+$)`jy}_rmP2w
zS1c%v<NPo2!zY#NDoX=L=gAWf?Dw{qD|@z>l*%P3-I;N>^uNo_=zd?z@BX#Esh<L;
z=>OZSF!8nFm3f^EB54WJlWu8To27s6l1RXR!;pFHVr|8zjon{9T^@hFX39xX;Wuo7
z^XsI(p3z-8WzxyTz3(`$&wuFfL`pIFh(TlToU&UlSqytNN*fEzytr)nie*(xBn1`I
zlvcRL>?}O$n|QTq@*3BSU%^Sj6TduPf8bZ<B^MJB(_^BB9Sh#DoH4U*+@y5G;B}x$
zipr8ztNNx+R5cTvbaGyelxm*Ed7W9D%l;?01=h>YoXx2+K|o1=Pyf4@>6{{l!hV9Y
zlU~1MabR3I(f40cG*`D!?A82(E4oxeTvoR%);>I+DfF4M&C8|B7r#Gdt*<iSUQ>oO
ypVt>g(HxmWC$+BT2=m$09}+%ic6H66lZrV3fuDSAzQ6f=-ho}W#Ep@W!5RQH5S|tQ

literal 0
HcmV?d00001

diff --git a/images/ChessPieces/Chess_qrg45.gif b/images/ChessPieces/Chess_qrg45.gif
new file mode 100644
index 0000000000000000000000000000000000000000..5203f59c43825a21df097dd695e9c51a1338c7c9
GIT binary patch
literal 1626
zcmZ?wbhEHb)Me0R_|9PX|NsC0=jOoC_hWOA(3J1TK<NFkDNwX`%6k}kzO@IA?rrUX
zp_Y4F!DwyEJvd@uxCcYm*0vxJ1H&~iI=8eMffyLhfzh$0)d)1F`WPHBFdPG;y>p5Y
zXiD*3IAUPf3r1U~WJ3`H!&Wd_+mnqz3=C_*Xek2&9L;G-hN9}^IS|CaFb9mLR7W8Y
z1H%+B>d6j*A_j&YFlxyTLZD=?76@WsXaS?@WG@6_V5o+n;wUEsVqho+qwF9j1Y%&w
z2BYL4ODOWPOok%{hGZ~`^0GuAC&MT>Vqk~@qaY_k1Y%$af*~(UO$1_K@B$+zLro;4
z=wt{+3=B?SWND~~K$?n{5X8V>2}XvRiU_1AVF*DC42EE&sVIR!5(1iV#K52lLy8gt
z2*kjk2tyJK3=ky1!2v}K3<5C3fdUvfIKYU3fdh;fkid?XMg|53#ecRXp1!UM$r+`2
z**U3s3g!x#>3R7@sVP>xT#muco}N|;dbjlS^z_VlxjbAWtP~8)T^tQe4J{3g42_J<
z7!-f9FfuUwW6%K^4a!su9RC^eV<bE_EI8QAA*{5=P_f}~yMVIS9FM|BEp4L4S$8T5
z7a#8zux{!(k(A;xQIg%Q=F|G8!jt&|gL1BJ5<OCX^nl23_K$69zUC&Urg%J$pKbR4
zibcvtejg5l|6Xi6KAxYmv))mgulI&mbcevL9IGQY)1Eu~KHE3z@)W_P{tNiKe|?<%
zMbUeD`sKEW-yd?XF(|E!I{ItEGy9GFtbc{CY)(DBrfGeeXlI!2?RMRz^Zu6qT-blS
zQup|gh|2uu443|?c4fSszqKPd%1P&}xPjZj1@gZp{hi==wVp>|*|)1dzNhpAo2Ity
z_&s0j{C}yxpD%7#{n+kf`CoR`kFD>LZnfC{5BYrFBewn2*4XkJvkE<)@V(b6eX&~N
zF5ipG*Xlm_hiv@%<nQN8)q<rDB<dKiupdr(b5zJl=ibEhBlUceH-wt_bFbb{{37~!
zfhFUQXYL#&tm(b&B5V$mHEiax#5a4CPF&C)%<<!<h~kwOhtqRg91_Ld95pV6&8i6P
zvE;w9JWTt^L4iX}SyR5<XMR?(;%w$(&n3t06=y8(oTTzkxhJmr?X?r(|25NHIR3vd
zeA3OhVT)R<MeWuH_I!1s-rm{2Zd~ek#_N&L=v%w=tbN?VpXWQ`FFswku%nJuv`zAm
zq(h12rj8Y6;g-)bL!ZfXsY@7mq)%Kr-%4zi+0i49R;_+e_-&R}zMkKdDCJzAhfl)y
ze0#NeZtxbxxhBi~SX378S6i(UYqZaEVv+49E@mFLknFWvFMsP2nKm`dMYtk7a%-01
zldQup6BfQ}nXy^Kw;^NxDYfh)3#X+;UYz#v+3mFGuU1n$Dib)gyEHaTdj0Caj;6$W
zSy5lJ6<05MaEnbM!6(u1sJrQ-`76XtVlK}3@a*?$!DkMSKDyX+&3Qjh-Mi)5IxY3;
z_}yQ(CH1W{{LjT4)O5`%uuM0!vfxOs$XdgL8)aT*790&KaTH2^Vd$xSCL;N4g5&ID
rQ{%Nhi;hcpmiQR^q->7<b~AdeZP2Z(dXq*6uA{o&@0hc&FjxZsVor#j

literal 0
HcmV?d00001

diff --git a/images/ChessPieces/Chess_qrt45.gif b/images/ChessPieces/Chess_qrt45.gif
new file mode 100644
index 0000000000000000000000000000000000000000..bb437aca8f3a9e5e6828f0f84b4f0473c0fe6c1b
GIT binary patch
literal 1289
zcmZ?wbhEHb)Me0R_|9PX|NsAc3=Fu?H3kM;=o|wBE_9560T<fKz<>*FWnjRC)-o{Q
zLQ5GKaG^O247kt~1_oTHhk*eXYGGi&g{m1CaG_!b23#ncfdLmvW?;aDq8J!(p&$kZ
zT*!-o0T*&&V8Dee85nROLk0$1NRxp97gA(kz=b3j7;qs01_oS+gMk4TV!#WYp3-7q
zU{L(Y!pOkzk3k2d7L+F#IQ}#I<&^Q*u;5@bhp<-6i46-6w+kqH&GFdy=y1J+uHKOu
zg%9>ed1n39zHw3Mm~OONm5-1@r&r_uO{vwMAMbBuVC>ubXNT*O<2e@TPC767lV_Wm
zbPM%LPEiY-WHh%(<>!>emshaQWD|I0xH4$HcVix__B8D?tNf=5UCAnYduB=S-9xUo
zr@e~VQUC7N-5pz|o!hFq<loy@rmHVUdDQoPl{lFm-d@;!ZPta4_g641E}K^HN3>|k
zsjUX9|6EsdNIJ<Vll+ILGQ?}f!u+0nf(~Y9bXU6PpXB+u?0mm(w;zYY&J{QAFJw19
zBB5Y#?7}j`F4^Dj`TZtJc(ZuS{xH96$$`$~XM1{#H-CTaHe3ANIiuyib9Q<^cBv9x
ze(slEd({4qH=k|X9#*I_*>9Svp<|pgtHxc!<5!GMHS_=aI=|^oY4}|+a~}5lZ8CWl
z2YI8PY>g}bRGRUqbGd4Vbd9i2z@ct~LpL6^Y4)zTP%M0E3UBk)FDDlC8Jb2UI-6yd
zKk8J~Fc&O#m$Ouvcu!R@NoAtTjmOO)|2Db`otv2wtUEDdXR46-l$kA4f`5H|;&xNw
z=911>y`7I{tAA1xbd$Q2nbhT+I(gwdS-%grCNar1r_QKX`Nck!-%ldaSH$ht3b!d?
RSudB)NL#him64Ib8UX$8Wr6?z

literal 0
HcmV?d00001

diff --git a/images/ChessPieces/Chess_qyt45.gif b/images/ChessPieces/Chess_qyt45.gif
new file mode 100644
index 0000000000000000000000000000000000000000..20ae45062bcc781bf1f4f9cbfc432c4f4a02fc09
GIT binary patch
literal 1391
zcmZ?wbhEHb)Me0R_|9PX|NsC0_ZZO8HHQDF==(JWH1z%)0~&gMi~$YZJH~*H_A=Z<
zMc4K+prEY`*O1V;tqf@B*jfe@w3Oi(656|z0S#@P!+?g?PGLYsOM4j5(3~CybkxEy
z2MJASVL(GY)eI=8n4t#=wG=a;qilv2R8*bKfQ*Wh8PHI66az9!j$%MZK@7=AD9Vcg
z4F!2IAR{j)26SY};Dw5uEE$lIr6B_vGSp;1Lz;>V$VgF<0Ub#&C?X*V2?lf|z#xHy
z1Oyn+5eI_+D&pW^Kt~J=97u=(16Z0eF)%PF{<AId^mSE8&M3{x&PmNvFjvS-&&w}L
zO|jzTatwC%^t4jYyR8QTyj&ix5mpKY<}OYKriP{lE(Xqq<_wBISr{1@{xRr)EC6LH
z29Ey>e>r75HY_;U%pt55b7I57!|ejfUUNJ)J~~`4p{sXfM&SedSnra*+BYsLx#`8Y
zRmBJ;bb2-ZUlUpF`B8oY17pM9KPOz5xMy3WJL$aSPo8aN(k;|0IYljSlF{5Em7h}<
zUtYmJlTF~2;mV-(-i>*z+S9bptn!~KbS10o?U^OPcMrMVp7ttcNAtT|cXxzLH(ai|
z<W<aUv(>?|9=2}W0=dhT=f}z((_NMAbi95ZQ^l=FrcdD~`}AI4TJtG>HbbW-dqa=m
zmK1-@#6G>CT^<a#4A!pEJDa*WC3$yfzpj;H!_!4cwRJon!awb2Xf*6|>n$`qckDmg
zLy^vnE)9n`{#X8Y-*w00*cl7+?)!NnyTV)lFM9B&dh*}QIUcW{|6#XrnDU)7Rr~<o
z!kZ~)qQeSRF3100B6O6cl6UF@`{xnKJO=BRJUZF7au3s)#^*j92^BXBHy&oUSi0g-
zmuB4tX7S2iiF>s=*D{i`gkDX1#3DQ;z=_v^>7{bNRurRL{CXLQV3Ugs%sqPRUp!Ko
zY#jOH)I^?}Pv-WTO*4pal_=Cyn-<x%ou#MGV$(zIoV*#&6k>D)=X(Cx`^ZCH!&T5#
zu;x`~kbIwtr&`Um9L==eV!to^;_Y2CyLuS^1;;ElcaoZC>gwaQvP<~LvK37SGJZT$
mSi(1HnfgkG<^@Y@I$yk6Aa#^m>-Cx~*Ro!(<zr=Gum%8$TJ~Q6

literal 0
HcmV?d00001

diff --git a/images/ChessPieces/Chess_rdd45.gif b/images/ChessPieces/Chess_rdd45.gif
new file mode 100644
index 0000000000000000000000000000000000000000..75a5812c100ca032e42054f07b9881470a4f68b9
GIT binary patch
literal 1053
zcmZ?wbhEHb)Me0R_|9PXpA>Md$B9UEuEmK+G$-4TNYq0#s1DL35)~5<ycCOxL)l)6
zM55%VC}L5NWioLnifG_uX-FipR1_c*87c}8i8Lhyh(;Wm5=0>eQh+y4A_D`1;!hSv
z28MqOIv}l}Ji);6i$R`4#$&^RgUuYmS}`X!EIiyUpzJlrW8<Qu-4e!Gb1I%pJ09)M
zR`!P@Naf@N;rzeRKi^+-n5q-Kuji#v>X~VB`Ro2vY+mLv!>XC<tEAwH3yXC+oqR%<
zuDrZFV6mC6>&C#o)e)Ps?pAFLJgV$*c+r|2Nx}`AGcK>P-JR)rEHkmx?{bF8x-&hc
zkG0m$Fn<%*RXg$D)=YEFyNB97D&4EB`1oLc_xmKCnlFVeJG!4Iy-6rro4#eXRYH$&
zW$K*nWUKnPy)R3S7A%cy+w2jk|Mo_YYTuvDyT0GFmpg8@M)u|=$47mNO71y(9(YW;
Xu-N;*M$O`{uWxM5zHeu!z+epk!!3#*

literal 0
HcmV?d00001

diff --git a/images/ChessPieces/Chess_rdl45.gif b/images/ChessPieces/Chess_rdl45.gif
new file mode 100644
index 0000000000000000000000000000000000000000..7e679265235f4a26588577b78537056823cec747
GIT binary patch
literal 1054
zcmZ?wbhEHb)Me0R_|9PXpLlR?&VNE^@0?<SXijx95h!X-H38H^3@DE3A%t48g9xHx
zVnA|KF(H&p6o^VrCWNA*k_n+GB7m2ZB|+q5s7Vl68Y&V-nu?Z$kfEj`LBv4>U?3Xk
zfK-C=0t3f?23Zanj|~eBHggDT#hlo%@Nm0;vez7sjf;+UOBiR($v8CAJzb5h><>qf
z%E<}BxqqX7p1<ZWRVR91&r74!GxhTM>&|#iR`Qwa(0pym591Yq)0~x8eLA>h<>lo8
zGgmEo;ns6?b;RbZt*@3X>RFr+7<MIrqv7V}jLWm8E>T=;yuoU2rU={jWgB*uCf_^j
zVgCNqUWwnoSZe|c;tq-NUU!WNG>kbWBHP?*6Zk3cl#s6UQJKKvfO7(0SIG8;`MYV?
zB}eUCaYXp#^)y>e&pEf&9bL3_ve4SQ!H+yHZb*FnQDd88-o3rDa_;+rz8`veX0G;>
d#MQgLzP_<Jefq|YyT8AGaJZX!zk~pTH2^?~vK#;a

literal 0
HcmV?d00001

diff --git a/images/ChessPieces/Chess_rld45.gif b/images/ChessPieces/Chess_rld45.gif
new file mode 100644
index 0000000000000000000000000000000000000000..2d9be5808b3276302b3cdcdb5c7b989f485ef99a
GIT binary patch
literal 1115
zcmZ?wbhEHb)Me0R_|9PXp9pZR#|aNQ*W!c+?Zpe`;04t|ns`t#LExoWj2mTpDdIs<
zmJ)c76Mmp6;Dj4l;s=TXmbj6jq5vMGi62M^XyQf^_<;b21a2gNA8;@T;6@w-00RdH
zZp6UAfg3Rp0&h=TWME)W{K>+|!0?Yj2c#U7Cm1;XGe~mCcx+g3u$e<xE9S(8g@@Y(
zl)dJ7Y+Q7-Tf#VNj>qB&$DK^r%KmT!shpf3%>CE8_*wkIMy<$gHJS#`e7ah{F)(a6
zzVvv#Rr$9+93dLMotEXRCY%g9>c`+c)9PuZNz$d|5u3A2y$Wx7ElW7u^mltt(wzFW
zM^>fYdKEvXEB4>d8(!th`|D%%j{V&=?WO%5$$Zwe-KFPsd&4>H?*?B@N;(=M$lrD*
z!syA-UTwRu7|X|LhvpjAt&{%sC}Y=BS^sBqB%fzpSgYQ5ie=HZx3_l~_nyjl7_TOO
zpqX3#-ZiFUn*SYQ?r}c4Kc(CA-#5|U-z$#>)<<XFKeu=HxBa_K_gn0nbL&;bsg2@&
zQ|#vM@}I(&oc76Yf8Da#{QmmKc`l~?eyQhZBIL;;mhr&-L++9XO+02V9yE)vvM^W!
E0GhLIJ^%m!

literal 0
HcmV?d00001

diff --git a/images/ChessPieces/Chess_rll45.gif b/images/ChessPieces/Chess_rll45.gif
new file mode 100644
index 0000000000000000000000000000000000000000..86c7d22b1c49b63d7c35b6f6e99a03ec58078e55
GIT binary patch
literal 1118
zcmZ?wbhEHb)Me0R_|9PXA3r!Z=RXc~3<ubY8_dB2s*~qnM^SUCv7;V5pg5`rE6NV)
z!G>D0gRrAyuNG{mI@t>=D#inny^3+5Y}_Eo$q*}Y!UYU9ov<NGJit)V5(hHG1vC{6
zu^~;|KoJ*^5KzR1Bm_8cApsnK0|#Kh3v@uTpuE7q@t;AIL&jsnf`iQ*!dfvWHY_~c
zE}-l+$7AE7qumn5S#xeQO?QveWh?u`5u|c*g0Sh#$tox3ENj$?+*YG$@XV)cmI@<-
z!pr-|>#fSa{gDh2^6j)NpETj*q$7R|-ZQP9R+=PTS{|`EOEgL}X?y*mLtV1o+urQY
z6A}HZd~D0w=w(O#X|Aexc7OKTigLDJ-=8GKCZ#gB_g1SVn+8^H?OL_0Q1sD}2-me)
ze<VKnot&a;e{{~pjn7U`whrHRMso4<^Go&TU7K_3QP!n}zWr@?c0J0zwJ}uq_JQ5o
z-`_t{6dm(=@s5v=PdrZh^C|yOI)m_!IGa!WYZ4A#?ceb)eckTw?;q^{?<|~W`l5K9
z*!p?PPhCv@`ufA_YL}M=Y8yZN_`JE4Gw|=PHEv(iWoua4zWRrAUtMsriO1~4gJ%9~
T8!onpgk?Nzm537&V6X-ND`CcH

literal 0
HcmV?d00001

diff --git a/images/ChessPieces/Licence.txt b/images/ChessPieces/Licence.txt
new file mode 100644
index 0000000..10a82f1
--- /dev/null
+++ b/images/ChessPieces/Licence.txt
@@ -0,0 +1,26 @@
+Source: https://commons.wikimedia.org/wiki/Category:SVG_chess_pieces
+
+By en:User:Cburnett [GFDL (http://www.gnu.org/copyleft/fdl.html), CC-BY-SA-3.0 (http://creativecommons.org/licenses/by-sa/3.0/), BSD (http://opensource.org/licenses/bsd-license.php) or GPL (http://www.gnu.org/licenses/gpl.html)], via Wikimedia Commons from Wikimedia Commons
+
+I, the copyright holder of this work, hereby publish it under the following licenses:
+GNU head	Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled GNU Free Documentation License.
+w:en:Creative Commons
+attribution share alike	This file is licensed under the Creative Commons Attribution-Share Alike 3.0 Unported license.	
+You are free:
+to share – to copy, distribute and transmit the work
+to remix – to adapt the work
+Under the following conditions:
+attribution – You must attribute the work in the manner specified by the author or licensor (but not in any way that suggests that they endorse you or your use of the work).
+share alike – If you alter, transform, or build upon this work, you may distribute the resulting work only under the same or similar license to this one.
+This licensing tag was added to this file as part of the GFDL licensing update.
+BSD wordmark.svg		Copyright The author
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+Neither the name of The author nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR AND CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+Čeština | Deutsch | Ελληνικά | English | Español | فارسی | Suomi | Français | Italiano | 日本語 | 한국어 | Македонски | Nederlands | Polski | Português | Português do Brasil | Русский | 中文 | 中文(简体)‎ | 中文(繁體)‎ | +/−
+GNU head	This work is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or any later version. This work is distributed in the hope that it will be useful, but without any warranty; without even the implied warranty of merchantability or fitness for a particular purpose. See version 2 and version 3 of the GNU General Public License for more details.
+You may select the license of your choice.
\ No newline at end of file
-- 
GitLab