From 93c0b96a70e4896dc1b87fd1c2634a8ba0192bfa Mon Sep 17 00:00:00 2001
From: penguinn <michellewerth@hotmail.com>
Date: Thu, 4 Jul 2019 12:03:53 +0200
Subject: [PATCH] Add Overview

---
 .../Bridges_Puzzle-checkpoint.ipynb           |  603 ++++
 .../Cheryls_Birthday-checkpoint.ipynb         |  404 +++
 .ipynb_checkpoints/N_Queens-checkpoint.ipynb  | 1893 +++++++++++++
 ...Jupyter_Notebook_Overview-checkpoint.ipynb | 2475 +++++++++++++++++
 Bridges_Puzzle.ipynb                          |  612 ++++
 Cheryls_Birthday.ipynb                        |  404 +++
 N_Queens.ipynb                                | 1893 +++++++++++++
 ProB_Jupyter_Notebook_Overview.ipynb          | 2475 +++++++++++++++++
 images/B_CallButtonDown_Off.gif               |  Bin 0 -> 762 bytes
 images/B_CallButtonDown_On.gif                |  Bin 0 -> 759 bytes
 images/B_CallButtonOff.gif                    |  Bin 0 -> 235 bytes
 images/B_CallButtonOn.gif                     |  Bin 0 -> 293 bytes
 images/B_CallButtonUp_Off.gif                 |  Bin 0 -> 769 bytes
 images/B_CallButtonUp_On.gif                  |  Bin 0 -> 767 bytes
 images/B_CallButton_DownArrow_On.gif          |  Bin 0 -> 2635 bytes
 images/B_CallButton_UpArrow_On.gif            |  Bin 0 -> 2643 bytes
 images/B_CallButton_UpDownArrows_Off.gif      |  Bin 0 -> 1593 bytes
 images/B_DownButton_On.gif                    |  Bin 0 -> 1355 bytes
 images/B_LiftClosed.gif                       |  Bin 0 -> 3825 bytes
 images/B_LiftOpen.gif                         |  Bin 0 -> 3397 bytes
 images/B_UpButton_On.gif                      |  Bin 0 -> 1358 bytes
 images/B_UpDownButtons_Off.gif                |  Bin 0 -> 1345 bytes
 images/B_UpDownButtons_On.gif                 |  Bin 0 -> 1358 bytes
 images/B_down_arrow.gif                       |  Bin 0 -> 1348 bytes
 images/B_down_arrow_off.gif                   |  Bin 0 -> 300 bytes
 images/B_floor_1_off.gif                      |  Bin 0 -> 242 bytes
 images/B_floor_1_on.gif                       |  Bin 0 -> 772 bytes
 images/B_floor_2_off.gif                      |  Bin 0 -> 249 bytes
 images/B_floor_2_on.gif                       |  Bin 0 -> 718 bytes
 images/B_floor_3_off.gif                      |  Bin 0 -> 1429 bytes
 images/B_floor_3_on.gif                       |  Bin 0 -> 2358 bytes
 images/B_floor_E_off.gif                      |  Bin 0 -> 240 bytes
 images/B_floor_E_on.gif                       |  Bin 0 -> 673 bytes
 images/B_up_arrow.gif                         |  Bin 0 -> 1384 bytes
 images/B_up_arrow_off.gif                     |  Bin 0 -> 313 bytes
 images/CallButtonOff.gif                      |  Bin 0 -> 1152 bytes
 images/CallButtonOn.gif                       |  Bin 0 -> 1780 bytes
 images/LiftClosed.gif                         |  Bin 0 -> 3444 bytes
 images/LiftEmpty.gif                          |  Bin 0 -> 2273 bytes
 images/LiftOpen.gif                           |  Bin 0 -> 4898 bytes
 images/down_arrow.gif                         |  Bin 0 -> 1453 bytes
 images/sm_empty_box.gif                       |  Bin 0 -> 139 bytes
 images/sm_gray_box.gif                        |  Bin 0 -> 157 bytes
 images/sm_queen_black.gif                     |  Bin 0 -> 393 bytes
 images/sm_queen_white.gif                     |  Bin 0 -> 387 bytes
 images/up_arrow.gif                           |  Bin 0 -> 1455 bytes
 notebook.tex                                  | 1604 +++++++++++
 output_78_0.pdf                               |  Bin 0 -> 11213 bytes
 output_78_0.svg                               |   98 +
 output_79_0.pdf                               |  Bin 0 -> 11323 bytes
 output_79_0.svg                               |   99 +
 51 files changed, 12560 insertions(+)
 create mode 100644 .ipynb_checkpoints/Bridges_Puzzle-checkpoint.ipynb
 create mode 100644 .ipynb_checkpoints/Cheryls_Birthday-checkpoint.ipynb
 create mode 100644 .ipynb_checkpoints/N_Queens-checkpoint.ipynb
 create mode 100644 .ipynb_checkpoints/ProB_Jupyter_Notebook_Overview-checkpoint.ipynb
 create mode 100644 Bridges_Puzzle.ipynb
 create mode 100644 Cheryls_Birthday.ipynb
 create mode 100644 N_Queens.ipynb
 create mode 100644 ProB_Jupyter_Notebook_Overview.ipynb
 create mode 100644 images/B_CallButtonDown_Off.gif
 create mode 100644 images/B_CallButtonDown_On.gif
 create mode 100644 images/B_CallButtonOff.gif
 create mode 100644 images/B_CallButtonOn.gif
 create mode 100644 images/B_CallButtonUp_Off.gif
 create mode 100644 images/B_CallButtonUp_On.gif
 create mode 100644 images/B_CallButton_DownArrow_On.gif
 create mode 100644 images/B_CallButton_UpArrow_On.gif
 create mode 100644 images/B_CallButton_UpDownArrows_Off.gif
 create mode 100644 images/B_DownButton_On.gif
 create mode 100644 images/B_LiftClosed.gif
 create mode 100644 images/B_LiftOpen.gif
 create mode 100644 images/B_UpButton_On.gif
 create mode 100644 images/B_UpDownButtons_Off.gif
 create mode 100644 images/B_UpDownButtons_On.gif
 create mode 100644 images/B_down_arrow.gif
 create mode 100644 images/B_down_arrow_off.gif
 create mode 100644 images/B_floor_1_off.gif
 create mode 100644 images/B_floor_1_on.gif
 create mode 100644 images/B_floor_2_off.gif
 create mode 100644 images/B_floor_2_on.gif
 create mode 100644 images/B_floor_3_off.gif
 create mode 100644 images/B_floor_3_on.gif
 create mode 100644 images/B_floor_E_off.gif
 create mode 100644 images/B_floor_E_on.gif
 create mode 100644 images/B_up_arrow.gif
 create mode 100644 images/B_up_arrow_off.gif
 create mode 100644 images/CallButtonOff.gif
 create mode 100644 images/CallButtonOn.gif
 create mode 100644 images/LiftClosed.gif
 create mode 100644 images/LiftEmpty.gif
 create mode 100644 images/LiftOpen.gif
 create mode 100644 images/down_arrow.gif
 create mode 100644 images/sm_empty_box.gif
 create mode 100644 images/sm_gray_box.gif
 create mode 100644 images/sm_queen_black.gif
 create mode 100644 images/sm_queen_white.gif
 create mode 100644 images/up_arrow.gif
 create mode 100644 notebook.tex
 create mode 100644 output_78_0.pdf
 create mode 100644 output_78_0.svg
 create mode 100644 output_79_0.pdf
 create mode 100644 output_79_0.svg

diff --git a/.ipynb_checkpoints/Bridges_Puzzle-checkpoint.ipynb b/.ipynb_checkpoints/Bridges_Puzzle-checkpoint.ipynb
new file mode 100644
index 0000000..640d397
--- /dev/null
+++ b/.ipynb_checkpoints/Bridges_Puzzle-checkpoint.ipynb
@@ -0,0 +1,603 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# Bridges Puzzle (Hashiwokakero)\n",
+    "\n",
+    "\n",
+    "The [Hashiwokakero](https://en.wikipedia.org/wiki/Hashiwokakero) Puzzle is a logical puzzle where one has to build bridges between islands. The puzzle is also known under the name Ai-Ki-Ai. The puzzles can also be [played online](http://www.puzzle-bridges.com).\n",
+    "\n",
+    "The requirements for this puzzle are as follows:\n",
+    "\n",
+    "* the goal is to build bridges between islands so as to generate a connected graph\n",
+    "* every island has a number on it, indicating exactly how many bridges should be linked with the island\n",
+    "* there is an upper bound (MAXBRIDGES) on the number of bridges that can be built-between two islands\n",
+    "* bridges cannot cross each other\n",
+    "\n",
+    "A B model for this puzzle can be found below. The constants and sets of the model are as follows:\n",
+    "\n",
+    "* N are the nodes (islands); we have added a constant ignore where one can stipulate which islands should be ignored in this puzzle\n",
+    "* nl (number of links) stipulates for each island how many bridges it should be linked with\n",
+    "* xc, yc are the x- and y-coordinates for every island\n",
+    "\n",
+    "A simple puzzle with four islands would be defined as follows, assuming\n",
+    "the basic set N is defined as `N = {a,b,c,d,e,f,g,h,i,j,k,l,m,n}`:\n",
+    "\n",
+    "~~~~\n",
+    " xc(a)=0 & xc(b)=1 & xc(c)=0 & xc(d) = 1 &\n",
+    " yc(a)=0 & yc(b)=0 & yc(c)=1 & yc(d) = 1 &\n",
+    " nl = {a|->2, b|->2, c|->2, d|->2} &\n",
+    " ignore = {e,f,g,h,i,j,k,l,m,n}\n",
+    "~~~~\n",
+    "\n",
+    "Below we will use a more complicated puzzle to illustrate the B model.\n",
+    "\n",
+    "The model then contains the following derived constants:\n",
+    "\n",
+    "* plx,ply: the possible links between islands on the x- and y-axis respectively\n",
+    "* pl: the possible links both on the x- and y-axis combined\n",
+    "* cs: the conflict set of links which overlap, i.e., one cannot build bridges on both links (a,b) when the pair (a,b) is in cs\n",
+    "* connected: the set of links on which at least one bridge was built\n",
+    "\n",
+    "The model also sets up the goal constant `sol` which maps every link in `pl` to a number indicating how many bridges are built on it. The model also stipulates that the graph set up by connected generates a fully connected graph.\n",
+    "\n",
+    "If you need help or want to find out more about jupyter notebook functionalities type in `:help` and `:help COMMAND` for an overview of the commands and a more detailed information about the command."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 1,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Loaded machine: Bridges"
+      ]
+     },
+     "execution_count": 1,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "::load DOT=/usr/bin/dot\n",
+    "MACHINE Bridges\n",
+    "DEFINITIONS\n",
+    " MAXBRIDGES==2;\n",
+    " LINKS == 1..(MAXBRIDGES*4);\n",
+    " COORD == 0..10;\n",
+    " p1 == prj1(nodes,nodes);\n",
+    " p2 == prj2(nodes,nodes);\n",
+    " p1i == prj1(nodes,INTEGER)\n",
+    "SETS\n",
+    " N = {a,b,c,d,e,f,g,h,i,j,k,l,m,n}\n",
+    "CONSTANTS nodes, ignore, nl, xc,yc, plx,ply,pl, cs, sol, connected\n",
+    "PROPERTIES\n",
+    " nodes = N \\ ignore &\n",
+    " // target number of links per node:\n",
+    " nl : nodes --> LINKS & /* number of links */\n",
+    "\n",
+    "// coordinates of nodes\n",
+    " xc: nodes --> COORD & yc: nodes --> COORD &\n",
+    "\n",
+    "// possible links:\n",
+    " pl : nodes <-> nodes &\n",
+    " plx : nodes <-> nodes &\n",
+    " ply : nodes <-> nodes &\n",
+    "\n",
+    " plx = {n1,n2 | xc(n1)=xc(n2) & n1 /= n2 & yc(n2)>yc(n1) &\n",
+    "        !n3.(xc(n3)=xc(n1) => yc(n3) /: yc(n1)+1..yc(n2)-1) } &\n",
+    " ply =  {n1,n2 | yc(n1)=yc(n2) & n1 /= n2 & xc(n2)>xc(n1) &\n",
+    "        !n3.(yc(n3)=yc(n1) => xc(n3) /: xc(n1)+1..xc(n2)-1)} &\n",
+    " pl = plx \\/ ply &\n",
+    " \n",
+    "// compute conflict set (assumes xc,yc coordinates ordered in plx,ply)\n",
+    "cs = {pl1,pl2 | pl1:plx & pl2:ply &\n",
+    "                xc(p1(pl1)): xc(p1(pl2))+1..xc(p2(pl2))-1 &\n",
+    "                yc(p1(pl2)): yc(p1(pl1))+1..yc(p2(pl1))-1} &\n",
+    "\n",
+    "sol : pl --> 0..MAXBRIDGES &\n",
+    "!nn.(nn:nodes => SIGMA(l).(l:pl &\n",
+    "   (p1(l)=nn or p2(l)=nn)|sol(l))=nl(nn)) &\n",
+    "\n",
+    "!(pl1,pl2).( (pl1,pl2):cs => sol(pl1)=0 or sol(pl2)=0) & // no conflicts\n",
+    "\n",
+    "// check graph connected\n",
+    " connected = {pl|sol(pl)>0} &\n",
+    " closure1(connected \\/ connected~)[{a}] = {nn|nn:nodes & nl(nn)>0} &\n",
+    " \n",
+    "// encoding of puzzle\n",
+    "// A puzzle from bridges.png\n",
+    " xc(a)=1 & yc(a)=1 & nl(a)=4 &\n",
+    " xc(b)=1 & yc(b)=4 & nl(b)=6 &\n",
+    " xc(c)=1 & yc(c)=6 & nl(c)=3 &\n",
+    "\n",
+    " xc(d)=2 & yc(d)=2 & nl(d)=1 &\n",
+    " xc(e)=2 & yc(e)=5 & nl(e)=2 &\n",
+    "\n",
+    " xc(f)=3 & yc(f)=2 & nl(f)=4 &\n",
+    " xc(g)=3 & yc(g)=4 & nl(g)=6 &\n",
+    " xc(h)=3 & yc(h)=5 & nl(h)=4 &\n",
+    "\n",
+    " xc(i)=4 & yc(i)=3 & nl(i)=3 &\n",
+    " xc(j)=4 & yc(j)=6 & nl(j)=3 &\n",
+    "\n",
+    " xc(k)=5 & yc(k)=2 & nl(k)=1 &\n",
+    "\n",
+    " xc(l)=6 & yc(l)=1 & nl(l)=4 &\n",
+    " xc(m)=6 & yc(m)=3 & nl(m)=5 &\n",
+    " xc(n)=6 & yc(n)=5 & nl(n)=2 &\n",
+    " ignore = {}\n",
+    "\n",
+    "END"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 2,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Machine constants set up using operation 0: $setup_constants()"
+      ]
+     },
+     "execution_count": 2,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":constants"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 3,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Machine initialised using operation 1: $initialise_machine()"
+      ]
+     },
+     "execution_count": 3,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":init"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "After setting the constants and initialising the machine with the above commands, one can see that the solution for this puzzle, which is saved in `sol`, is the following:\n",
+    "\n",
+    "(Simply type in `sol` to get the value for it.)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 4,
+   "metadata": {
+    "scrolled": true
+   },
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "$\\{(\\mathit{a}\\mapsto \\mathit{b}\\mapsto 2),(\\mathit{a}\\mapsto \\mathit{l}\\mapsto 2),(\\mathit{b}\\mapsto \\mathit{c}\\mapsto 2),(\\mathit{b}\\mapsto \\mathit{g}\\mapsto 2),(\\mathit{c}\\mapsto \\mathit{j}\\mapsto 1),(\\mathit{d}\\mapsto \\mathit{e}\\mapsto 0),(\\mathit{d}\\mapsto \\mathit{f}\\mapsto 1),(\\mathit{e}\\mapsto \\mathit{h}\\mapsto 2),(\\mathit{f}\\mapsto \\mathit{g}\\mapsto 2),(\\mathit{f}\\mapsto \\mathit{k}\\mapsto 1),(\\mathit{g}\\mapsto \\mathit{h}\\mapsto 2),(\\mathit{h}\\mapsto \\mathit{n}\\mapsto 0),(\\mathit{i}\\mapsto \\mathit{j}\\mapsto 2),(\\mathit{i}\\mapsto \\mathit{m}\\mapsto 1),(\\mathit{l}\\mapsto \\mathit{m}\\mapsto 2),(\\mathit{m}\\mapsto \\mathit{n}\\mapsto 2)\\}$"
+      ],
+      "text/plain": [
+       "{(a↦b↦2),(a↦l↦2),(b↦c↦2),(b↦g↦2),(c↦j↦1),(d↦e↦0),(d↦f↦1),(e↦h↦2),(f↦g↦2),(f↦k↦1),(g↦h↦2),(h↦n↦0),(i↦j↦2),(i↦m↦1),(l↦m↦2),(m↦n↦2)}"
+      ]
+     },
+     "execution_count": 4,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "sol"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Adding Graphical Visualisation\n",
+    "\n",
+    "To show the solution graphically, we can add the following to the\n",
+    "`DEFINITIONS` clause in the model:\n",
+    "\n",
+    "~~~~\n",
+    " CUSTOM_GRAPH_NODES == {n,w,w2|(n|->w):nl & w=w2}; // %n1.(n1:nodes|nl(n1));\n",
+    " CUSTOM_GRAPH_EDGES == {n1,w,n2|n1:nl & n2:nl &  (p1i(n1),p1i(n2),w):sol}\n",
+    "~~~~"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 5,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Loaded machine: Bridges"
+      ]
+     },
+     "execution_count": 5,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "::load DOT=/usr/bin/dot\n",
+    "MACHINE Bridges\n",
+    "DEFINITIONS\n",
+    " MAXBRIDGES==2;\n",
+    " LINKS == 1..(MAXBRIDGES*4);\n",
+    " COORD == 0..10;\n",
+    " p1 == prj1(nodes,nodes);\n",
+    " p2 == prj2(nodes,nodes);\n",
+    " p1i == prj1(nodes,INTEGER);\n",
+    " CUSTOM_GRAPH_NODES == {n,w,w2|(n|->w):nl & w=w2}; // %n1.(n1:nodes|nl(n1));\n",
+    " CUSTOM_GRAPH_EDGES == {n1,w,n2|n1:nl & n2:nl &  (p1i(n1),p1i(n2),w):sol}\n",
+    "SETS\n",
+    " N = {a,b,c,d,e,f,g,h,i,j,k,l,m,n}\n",
+    "CONSTANTS nodes, ignore, nl, xc,yc, plx,ply,pl, cs, sol, connected\n",
+    "PROPERTIES\n",
+    " nodes = N \\ ignore &\n",
+    " // target number of links per node:\n",
+    " nl : nodes --> LINKS & /* number of links */\n",
+    "\n",
+    "// coordinates of nodes\n",
+    " xc: nodes --> COORD & yc: nodes --> COORD &\n",
+    "\n",
+    "// possible links:\n",
+    " pl : nodes <-> nodes &\n",
+    " plx : nodes <-> nodes &\n",
+    " ply : nodes <-> nodes &\n",
+    "\n",
+    " plx = {n1,n2 | xc(n1)=xc(n2) & n1 /= n2 & yc(n2)>yc(n1) &\n",
+    "        !n3.(xc(n3)=xc(n1) => yc(n3) /: yc(n1)+1..yc(n2)-1) } &\n",
+    " ply =  {n1,n2 | yc(n1)=yc(n2) & n1 /= n2 & xc(n2)>xc(n1) &\n",
+    "        !n3.(yc(n3)=yc(n1) => xc(n3) /: xc(n1)+1..xc(n2)-1)} &\n",
+    " pl = plx \\/ ply &\n",
+    " \n",
+    "// compute conflict set (assumes xc,yc coordinates ordered in plx,ply)\n",
+    "cs = {pl1,pl2 | pl1:plx & pl2:ply &\n",
+    "                xc(p1(pl1)): xc(p1(pl2))+1..xc(p2(pl2))-1 &\n",
+    "                yc(p1(pl2)): yc(p1(pl1))+1..yc(p2(pl1))-1} &\n",
+    "\n",
+    "sol : pl --> 0..MAXBRIDGES &\n",
+    "!nn.(nn:nodes => SIGMA(l).(l:pl &\n",
+    "   (p1(l)=nn or p2(l)=nn)|sol(l))=nl(nn)) &\n",
+    "\n",
+    "!(pl1,pl2).( (pl1,pl2):cs => sol(pl1)=0 or sol(pl2)=0) & // no conflicts\n",
+    "\n",
+    "// check graph connected\n",
+    " connected = {pl|sol(pl)>0} &\n",
+    " closure1(connected \\/ connected~)[{a}] = {nn|nn:nodes & nl(nn)>0} &\n",
+    " \n",
+    "// encoding of puzzle\n",
+    "// A puzzle from bridges.png\n",
+    " xc(a)=1 & yc(a)=1 & nl(a)=4 &\n",
+    " xc(b)=1 & yc(b)=4 & nl(b)=6 &\n",
+    " xc(c)=1 & yc(c)=6 & nl(c)=3 &\n",
+    "\n",
+    " xc(d)=2 & yc(d)=2 & nl(d)=1 &\n",
+    " xc(e)=2 & yc(e)=5 & nl(e)=2 &\n",
+    "\n",
+    " xc(f)=3 & yc(f)=2 & nl(f)=4 &\n",
+    " xc(g)=3 & yc(g)=4 & nl(g)=6 &\n",
+    " xc(h)=3 & yc(h)=5 & nl(h)=4 &\n",
+    "\n",
+    " xc(i)=4 & yc(i)=3 & nl(i)=3 &\n",
+    " xc(j)=4 & yc(j)=6 & nl(j)=3 &\n",
+    "\n",
+    " xc(k)=5 & yc(k)=2 & nl(k)=1 &\n",
+    "\n",
+    " xc(l)=6 & yc(l)=1 & nl(l)=4 &\n",
+    " xc(m)=6 & yc(m)=3 & nl(m)=5 &\n",
+    " xc(n)=6 & yc(n)=5 & nl(n)=2 &\n",
+    " ignore = {}\n",
+    "\n",
+    "END"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 6,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Machine constants set up using operation 0: $setup_constants()"
+      ]
+     },
+     "execution_count": 6,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":constants"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 7,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Machine initialised using operation 1: $initialise_machine()"
+      ]
+     },
+     "execution_count": 7,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":init"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "One can then initialise the model, as above and the execute the command `:dot custom_graph`. This leads to the following picture:"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 8,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "image/svg+xml": [
+       "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
+       "<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
+       " \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
+       "<!-- Generated by graphviz version 2.40.1 (20161225.0304)\n",
+       " -->\n",
+       "<!-- Title: prob_graph Pages: 1 -->\n",
+       "<svg width=\"540pt\" height=\"717pt\"\n",
+       " viewBox=\"0.00 0.00 540.00 717.37\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
+       "<g id=\"graph0\" class=\"graph\" transform=\"scale(.9854 .9854) rotate(0) translate(4 724)\">\n",
+       "<title>prob_graph</title>\n",
+       "<polygon fill=\"#ffffff\" stroke=\"transparent\" points=\"-4,4 -4,-724 544,-724 544,4 -4,4\"/>\n",
+       "<!-- 0 -->\n",
+       "<g id=\"node1\" class=\"node\">\n",
+       "<title>0</title>\n",
+       "<polygon fill=\"#d3d3d3\" stroke=\"#d3d3d3\" points=\"145.4659,-698 91.4659,-698 91.4659,-662 145.4659,-662 145.4659,-698\"/>\n",
+       "<text text-anchor=\"middle\" x=\"118.4659\" y=\"-676.9\" font-family=\"Times,serif\" font-size=\"12.00\" fill=\"#000000\">(a|&#45;&gt;4)</text>\n",
+       "</g>\n",
+       "<!-- 1 -->\n",
+       "<g id=\"node2\" class=\"node\">\n",
+       "<title>1</title>\n",
+       "<polygon fill=\"#ffff00\" stroke=\"#ffff00\" points=\"220.4659,-538 166.4659,-538 166.4659,-502 220.4659,-502 220.4659,-538\"/>\n",
+       "<text text-anchor=\"middle\" x=\"193.4659\" y=\"-516.9\" font-family=\"Times,serif\" font-size=\"12.00\" fill=\"#000000\">(b|&#45;&gt;6)</text>\n",
+       "</g>\n",
+       "<!-- 0&#45;&gt;1 -->\n",
+       "<g id=\"edge1\" class=\"edge\">\n",
+       "<title>0&#45;&gt;1</title>\n",
+       "<path fill=\"none\" stroke=\"#ff0000\" d=\"M126.9236,-661.957C139.9775,-634.1086 165.1293,-580.4514 180.4941,-547.6731\"/>\n",
+       "<polygon fill=\"#ff0000\" stroke=\"#ff0000\" points=\"183.8488,-548.7627 184.9241,-538.2226 177.5106,-545.7916 183.8488,-548.7627\"/>\n",
+       "</g>\n",
+       "<!-- 11 -->\n",
+       "<g id=\"node12\" class=\"node\">\n",
+       "<title>11</title>\n",
+       "<polygon fill=\"#d3d3d3\" stroke=\"#d3d3d3\" points=\"68.4659,-538 14.4659,-538 14.4659,-502 68.4659,-502 68.4659,-538\"/>\n",
+       "<text text-anchor=\"middle\" x=\"41.4659\" y=\"-516.9\" font-family=\"Times,serif\" font-size=\"12.00\" fill=\"#000000\">(l|&#45;&gt;4)</text>\n",
+       "</g>\n",
+       "<!-- 0&#45;&gt;11 -->\n",
+       "<g id=\"edge2\" class=\"edge\">\n",
+       "<title>0&#45;&gt;11</title>\n",
+       "<path fill=\"none\" stroke=\"#ff0000\" d=\"M109.7827,-661.957C96.3229,-633.9886 70.3353,-579.9884 54.5802,-547.2504\"/>\n",
+       "<polygon fill=\"#ff0000\" stroke=\"#ff0000\" points=\"57.7258,-545.7156 50.2355,-538.2226 51.4182,-548.7512 57.7258,-545.7156\"/>\n",
+       "</g>\n",
+       "<!-- 2 -->\n",
+       "<g id=\"node3\" class=\"node\">\n",
+       "<title>2</title>\n",
+       "<polygon fill=\"#00ff00\" stroke=\"#00ff00\" points=\"220.4659,-378 166.4659,-378 166.4659,-342 220.4659,-342 220.4659,-378\"/>\n",
+       "<text text-anchor=\"middle\" x=\"193.4659\" y=\"-356.9\" font-family=\"Times,serif\" font-size=\"12.00\" fill=\"#000000\">(c|&#45;&gt;3)</text>\n",
+       "</g>\n",
+       "<!-- 1&#45;&gt;2 -->\n",
+       "<g id=\"edge3\" class=\"edge\">\n",
+       "<title>1&#45;&gt;2</title>\n",
+       "<path fill=\"none\" stroke=\"#ff0000\" d=\"M193.4659,-501.957C193.4659,-474.3487 193.4659,-421.3746 193.4659,-388.5255\"/>\n",
+       "<polygon fill=\"#ff0000\" stroke=\"#ff0000\" points=\"196.966,-388.2225 193.4659,-378.2226 189.966,-388.2226 196.966,-388.2225\"/>\n",
+       "</g>\n",
+       "<!-- 6 -->\n",
+       "<g id=\"node7\" class=\"node\">\n",
+       "<title>6</title>\n",
+       "<polygon fill=\"#ffff00\" stroke=\"#ffff00\" points=\"330.4659,-378 276.4659,-378 276.4659,-342 330.4659,-342 330.4659,-378\"/>\n",
+       "<text text-anchor=\"middle\" x=\"303.4659\" y=\"-356.9\" font-family=\"Times,serif\" font-size=\"12.00\" fill=\"#000000\">(g|&#45;&gt;6)</text>\n",
+       "</g>\n",
+       "<!-- 1&#45;&gt;6 -->\n",
+       "<g id=\"edge4\" class=\"edge\">\n",
+       "<title>1&#45;&gt;6</title>\n",
+       "<path fill=\"none\" stroke=\"#ff0000\" d=\"M205.8705,-501.957C225.1813,-473.8685 262.5429,-419.5244 285.0202,-386.8301\"/>\n",
+       "<polygon fill=\"#ff0000\" stroke=\"#ff0000\" points=\"288.1567,-388.4459 290.9379,-378.2226 282.3884,-384.4801 288.1567,-388.4459\"/>\n",
+       "</g>\n",
+       "<!-- 9 -->\n",
+       "<g id=\"node10\" class=\"node\">\n",
+       "<title>9</title>\n",
+       "<polygon fill=\"#00ff00\" stroke=\"#00ff00\" points=\"220.4659,-218 166.4659,-218 166.4659,-182 220.4659,-182 220.4659,-218\"/>\n",
+       "<text text-anchor=\"middle\" x=\"193.4659\" y=\"-196.9\" font-family=\"Times,serif\" font-size=\"12.00\" fill=\"#000000\">(j|&#45;&gt;3)</text>\n",
+       "</g>\n",
+       "<!-- 2&#45;&gt;9 -->\n",
+       "<g id=\"edge5\" class=\"edge\">\n",
+       "<title>2&#45;&gt;9</title>\n",
+       "<path fill=\"none\" stroke=\"#0000ff\" d=\"M193.4659,-341.957C193.4659,-314.3487 193.4659,-261.3746 193.4659,-228.5255\"/>\n",
+       "<polygon fill=\"#0000ff\" stroke=\"#0000ff\" points=\"196.966,-228.2225 193.4659,-218.2226 189.966,-228.2226 196.966,-228.2225\"/>\n",
+       "</g>\n",
+       "<!-- 3 -->\n",
+       "<g id=\"node4\" class=\"node\">\n",
+       "<title>3</title>\n",
+       "<polygon fill=\"#0000ff\" stroke=\"#0000ff\" points=\"470.4659,-698 416.4659,-698 416.4659,-662 470.4659,-662 470.4659,-698\"/>\n",
+       "<text text-anchor=\"middle\" x=\"443.4659\" y=\"-676.9\" font-family=\"Times,serif\" font-size=\"12.00\" fill=\"#000000\">(d|&#45;&gt;1)</text>\n",
+       "</g>\n",
+       "<!-- 4 -->\n",
+       "<g id=\"node5\" class=\"node\">\n",
+       "<title>4</title>\n",
+       "<polygon fill=\"#ff0000\" stroke=\"#ff0000\" points=\"525.4659,-538 471.4659,-538 471.4659,-502 525.4659,-502 525.4659,-538\"/>\n",
+       "<text text-anchor=\"middle\" x=\"498.4659\" y=\"-516.9\" font-family=\"Times,serif\" font-size=\"12.00\" fill=\"#000000\">(e|&#45;&gt;2)</text>\n",
+       "</g>\n",
+       "<!-- 3&#45;&gt;4 -->\n",
+       "<g id=\"edge6\" class=\"edge\">\n",
+       "<title>3&#45;&gt;4</title>\n",
+       "<path fill=\"none\" stroke=\"#f2f2f2\" d=\"M449.6682,-661.957C459.1998,-634.2286 477.5269,-580.9135 488.8072,-548.0982\"/>\n",
+       "<polygon fill=\"#f2f2f2\" stroke=\"#f2f2f2\" points=\"492.2609,-548.8172 492.2019,-538.2226 485.6411,-546.5416 492.2609,-548.8172\"/>\n",
+       "</g>\n",
+       "<!-- 5 -->\n",
+       "<g id=\"node6\" class=\"node\">\n",
+       "<title>5</title>\n",
+       "<polygon fill=\"#d3d3d3\" stroke=\"#d3d3d3\" points=\"415.4659,-538 361.4659,-538 361.4659,-502 415.4659,-502 415.4659,-538\"/>\n",
+       "<text text-anchor=\"middle\" x=\"388.4659\" y=\"-516.9\" font-family=\"Times,serif\" font-size=\"12.00\" fill=\"#000000\">(f|&#45;&gt;4)</text>\n",
+       "</g>\n",
+       "<!-- 3&#45;&gt;5 -->\n",
+       "<g id=\"edge7\" class=\"edge\">\n",
+       "<title>3&#45;&gt;5</title>\n",
+       "<path fill=\"none\" stroke=\"#0000ff\" d=\"M437.2636,-661.957C427.732,-634.2286 409.4049,-580.9135 398.1246,-548.0982\"/>\n",
+       "<polygon fill=\"#0000ff\" stroke=\"#0000ff\" points=\"401.2907,-546.5416 394.7299,-538.2226 394.6709,-548.8172 401.2907,-546.5416\"/>\n",
+       "</g>\n",
+       "<!-- 7 -->\n",
+       "<g id=\"node8\" class=\"node\">\n",
+       "<title>7</title>\n",
+       "<polygon fill=\"#d3d3d3\" stroke=\"#d3d3d3\" points=\"330.4659,-218 276.4659,-218 276.4659,-182 330.4659,-182 330.4659,-218\"/>\n",
+       "<text text-anchor=\"middle\" x=\"303.4659\" y=\"-196.9\" font-family=\"Times,serif\" font-size=\"12.00\" fill=\"#000000\">(h|&#45;&gt;4)</text>\n",
+       "</g>\n",
+       "<!-- 4&#45;&gt;7 -->\n",
+       "<g id=\"edge8\" class=\"edge\">\n",
+       "<title>4&#45;&gt;7</title>\n",
+       "<path fill=\"none\" stroke=\"#ff0000\" d=\"M496.7918,-501.8486C493.0204,-468.205 481.6125,-394.7891 450.4659,-342 421.5426,-292.979 371.1514,-249.6391 337.5509,-224.107\"/>\n",
+       "<polygon fill=\"#ff0000\" stroke=\"#ff0000\" points=\"339.498,-221.1927 329.3935,-218.0069 335.3059,-226.7986 339.498,-221.1927\"/>\n",
+       "</g>\n",
+       "<!-- 5&#45;&gt;6 -->\n",
+       "<g id=\"edge10\" class=\"edge\">\n",
+       "<title>5&#45;&gt;6</title>\n",
+       "<path fill=\"none\" stroke=\"#ff0000\" d=\"M378.8806,-501.957C364.0223,-473.9886 335.3347,-419.9884 317.9427,-387.2504\"/>\n",
+       "<polygon fill=\"#ff0000\" stroke=\"#ff0000\" points=\"320.9292,-385.4117 313.1466,-378.2226 314.7473,-388.6958 320.9292,-385.4117\"/>\n",
+       "</g>\n",
+       "<!-- 10 -->\n",
+       "<g id=\"node11\" class=\"node\">\n",
+       "<title>10</title>\n",
+       "<polygon fill=\"#0000ff\" stroke=\"#0000ff\" points=\"441.4659,-378 387.4659,-378 387.4659,-342 441.4659,-342 441.4659,-378\"/>\n",
+       "<text text-anchor=\"middle\" x=\"414.4659\" y=\"-356.9\" font-family=\"Times,serif\" font-size=\"12.00\" fill=\"#000000\">(k|&#45;&gt;1)</text>\n",
+       "</g>\n",
+       "<!-- 5&#45;&gt;10 -->\n",
+       "<g id=\"edge9\" class=\"edge\">\n",
+       "<title>5&#45;&gt;10</title>\n",
+       "<path fill=\"none\" stroke=\"#0000ff\" d=\"M391.3979,-501.957C395.9038,-474.2286 404.5675,-420.9135 409.9,-388.0982\"/>\n",
+       "<polygon fill=\"#0000ff\" stroke=\"#0000ff\" points=\"413.3554,-388.6545 411.5047,-378.2226 406.446,-387.5317 413.3554,-388.6545\"/>\n",
+       "</g>\n",
+       "<!-- 6&#45;&gt;7 -->\n",
+       "<g id=\"edge11\" class=\"edge\">\n",
+       "<title>6&#45;&gt;7</title>\n",
+       "<path fill=\"none\" stroke=\"#ff0000\" d=\"M303.4659,-341.957C303.4659,-314.3487 303.4659,-261.3746 303.4659,-228.5255\"/>\n",
+       "<polygon fill=\"#ff0000\" stroke=\"#ff0000\" points=\"306.966,-228.2225 303.4659,-218.2226 299.966,-228.2226 306.966,-228.2225\"/>\n",
+       "</g>\n",
+       "<!-- 13 -->\n",
+       "<g id=\"node14\" class=\"node\">\n",
+       "<title>13</title>\n",
+       "<polygon fill=\"#ff0000\" stroke=\"#ff0000\" points=\"220.4659,-58 166.4659,-58 166.4659,-22 220.4659,-22 220.4659,-58\"/>\n",
+       "<text text-anchor=\"middle\" x=\"193.4659\" y=\"-36.9\" font-family=\"Times,serif\" font-size=\"12.00\" fill=\"#000000\">(n|&#45;&gt;2)</text>\n",
+       "</g>\n",
+       "<!-- 7&#45;&gt;13 -->\n",
+       "<g id=\"edge12\" class=\"edge\">\n",
+       "<title>7&#45;&gt;13</title>\n",
+       "<path fill=\"none\" stroke=\"#f2f2f2\" d=\"M291.0613,-181.957C271.7505,-153.8685 234.3889,-99.5244 211.9116,-66.8301\"/>\n",
+       "<polygon fill=\"#f2f2f2\" stroke=\"#f2f2f2\" points=\"214.5434,-64.4801 205.9939,-58.2226 208.7751,-68.4459 214.5434,-64.4801\"/>\n",
+       "</g>\n",
+       "<!-- 8 -->\n",
+       "<g id=\"node9\" class=\"node\">\n",
+       "<title>8</title>\n",
+       "<polygon fill=\"#00ff00\" stroke=\"#00ff00\" points=\"109.4659,-378 55.4659,-378 55.4659,-342 109.4659,-342 109.4659,-378\"/>\n",
+       "<text text-anchor=\"middle\" x=\"82.4659\" y=\"-356.9\" font-family=\"Times,serif\" font-size=\"12.00\" fill=\"#000000\">(i|&#45;&gt;3)</text>\n",
+       "</g>\n",
+       "<!-- 8&#45;&gt;9 -->\n",
+       "<g id=\"edge14\" class=\"edge\">\n",
+       "<title>8&#45;&gt;9</title>\n",
+       "<path fill=\"none\" stroke=\"#ff0000\" d=\"M94.9833,-341.957C114.4696,-313.8685 152.1709,-259.5244 174.8525,-226.8301\"/>\n",
+       "<polygon fill=\"#ff0000\" stroke=\"#ff0000\" points=\"177.9996,-228.434 180.824,-218.2226 172.2481,-224.4439 177.9996,-228.434\"/>\n",
+       "</g>\n",
+       "<!-- 12 -->\n",
+       "<g id=\"node13\" class=\"node\">\n",
+       "<title>12</title>\n",
+       "<polygon fill=\"#ffa500\" stroke=\"#ffa500\" points=\"109.4659,-218 55.4659,-218 55.4659,-182 109.4659,-182 109.4659,-218\"/>\n",
+       "<text text-anchor=\"middle\" x=\"82.4659\" y=\"-196.9\" font-family=\"Times,serif\" font-size=\"12.00\" fill=\"#000000\">(m|&#45;&gt;5)</text>\n",
+       "</g>\n",
+       "<!-- 8&#45;&gt;12 -->\n",
+       "<g id=\"edge13\" class=\"edge\">\n",
+       "<title>8&#45;&gt;12</title>\n",
+       "<path fill=\"none\" stroke=\"#0000ff\" d=\"M82.4659,-341.957C82.4659,-314.3487 82.4659,-261.3746 82.4659,-228.5255\"/>\n",
+       "<polygon fill=\"#0000ff\" stroke=\"#0000ff\" points=\"85.966,-228.2225 82.4659,-218.2226 78.966,-228.2226 85.966,-228.2225\"/>\n",
+       "</g>\n",
+       "<!-- 11&#45;&gt;12 -->\n",
+       "<g id=\"edge15\" class=\"edge\">\n",
+       "<title>11&#45;&gt;12</title>\n",
+       "<path fill=\"none\" stroke=\"#ff0000\" d=\"M40.6692,-501.9531C39.5337,-469.6806 38.3962,-400.0254 46.4659,-342 52.0821,-301.6169 64.7818,-256.1256 73.491,-227.7602\"/>\n",
+       "<polygon fill=\"#ff0000\" stroke=\"#ff0000\" points=\"76.8596,-228.7145 76.4985,-218.1258 70.1776,-226.6285 76.8596,-228.7145\"/>\n",
+       "</g>\n",
+       "<!-- 12&#45;&gt;13 -->\n",
+       "<g id=\"edge16\" class=\"edge\">\n",
+       "<title>12&#45;&gt;13</title>\n",
+       "<path fill=\"none\" stroke=\"#ff0000\" d=\"M94.9833,-181.957C114.4696,-153.8685 152.1709,-99.5244 174.8525,-66.8301\"/>\n",
+       "<polygon fill=\"#ff0000\" stroke=\"#ff0000\" points=\"177.9996,-68.434 180.824,-58.2226 172.2481,-64.4439 177.9996,-68.434\"/>\n",
+       "</g>\n",
+       "</g>\n",
+       "</svg>"
+      ],
+      "text/plain": [
+       "<Dot visualization: custom_graph []>"
+      ]
+     },
+     "execution_count": 8,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":dot custom_graph"
+   ]
+  },
+  {
+   "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/.ipynb_checkpoints/Cheryls_Birthday-checkpoint.ipynb b/.ipynb_checkpoints/Cheryls_Birthday-checkpoint.ipynb
new file mode 100644
index 0000000..060f25f
--- /dev/null
+++ b/.ipynb_checkpoints/Cheryls_Birthday-checkpoint.ipynb
@@ -0,0 +1,404 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# Cheryl's Birthday\n",
+    "\n",
+    "This Puzzle is a variation of another Puzzle (Sum and Product) and has\n",
+    "been described\n",
+    "in a New York Times article(http://www.nytimes.com/2015/04/15/science/a-math-problem-from-singapore-goes-viral-when-is-cheryls-birthday.html).\n",
+    "\n",
+    "Here is a first solution in B, where the text of the puzzle has been\n",
+    "integrated as comments. There are almost certainly more elegant\n",
+    "encodings of the problem in B.\n",
+    "\n",
+    "In case you are new to B, you probably need to know the following\n",
+    "operators to understand the specification below (we als have a\n",
+    "<<summary-of-b-syntax,summary page about the B syntax>>):\n",
+    "\n",
+    "* `x : S` specifies that x is an element of S\n",
+    "* `dom(r)` is the domain of a function or relation r\n",
+    "* `r~` is the inverse of a function or relation r\n",
+    "* `r[S]` is the relational image of a relation r for a set of domain values S\n",
+    "* `card(S)` is the cardinality of a set S\n",
+    "* `a|->b` represents the pair (a,b); note that a relation and function in B is a set of pairs.\n",
+    "* `!x.(P => Q)` denotes universal quantification over variable x\n",
+    "\n",
+    "In case you are new to using the jupyter notebook, simply type in `:help` to get an overview over the full range of options you have with the ProB core."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 1,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Loaded machine: CherylsBirthday"
+      ]
+     },
+     "execution_count": 1,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "::load\n",
+    "MACHINE CherylsBirthday\n",
+    "/* A simplified version of the SumProduct Puzzle taken from\n",
+    " http://www.nytimes.com/2015/04/15/science/a-math-problem-from-singapore-goes-viral-when-is-cheryls-birthday.html\n",
+    "*/\n",
+    "DEFINITIONS\n",
+    "  DontKnowFromDay(PossDates,KDay) == card(PossDates~[{KDay}]) > 1;\n",
+    "  KnowFromDay(PossDates,KDay) == card(PossDates~[{KDay}]) = 1\n",
+    "CONSTANTS Month, Day, PD, PD2\n",
+    "PROPERTIES\n",
+    "  /* Albert and Bernard just met Cheryl. “When’s your birthday?” Albert asked Cheryl.*/\n",
+    "  Month:STRING & Day:1..31 &\n",
+    "\n",
+    "  /* Cheryl thought a second and said, “I’m not going to tell you, but I’ll give you some clues.” She wrote down a list of 10 dates: */\n",
+    " PD = {(\"aug\"|->14),(\"aug\"|->15),(\"aug\"|->17),\n",
+    "       (\"july\"|->14),(\"july\"|->16),(\"june\"|->17),(\"june\"|->18),\n",
+    "       (\"may\"|->15),(\"may\"|->16),(\"may\"|->19)}\n",
+    " &\n",
+    " /*\n",
+    "Then Cheryl whispered in Albert’s ear the month — and only the month — of her birthday.\n",
+    "To Bernard, she whispered the day, and only the day.\n",
+    "*/\n",
+    "  Month : dom(PD) &\n",
+    "  Day : ran(PD) &\n",
+    "  Month|->Day : PD &\n",
+    "\n",
+    " /* Albert: I don’t know when your birthday is, */\n",
+    " card(PD[{Month}]) > 1 &\n",
+    " /* but I know Bernard doesn’t know, either. */\n",
+    " !x.(x:PD[{Month}] => DontKnowFromDay(PD,x) ) &\n",
+    "\n",
+    " /* Bernard: I didn’t know originally, */\n",
+    "  DontKnowFromDay(PD,Day) &\n",
+    " /* but now I do. */\n",
+    "  PD2 = {m,d| (m|->d):PD &  !x.(x:PD[{m}] => DontKnowFromDay(PD,x) ) } &\n",
+    "  KnowFromDay(PD2,Day) &\n",
+    "\n",
+    "  /* Albert: Well, now I know, too! */\n",
+    "   card({d|Month|->d : PD2 & KnowFromDay(PD2,d)})=1\n",
+    "\n",
+    "ASSERTIONS /* single solution found by ProB */\n",
+    "  Month = \"july\";\n",
+    "  Day = 16\n",
+    "END"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "After loading this B machine, you will see that there is only a single solution (solving time 20-30 ms) : `Month = \"july\"` and `Day = 16`.\n",
+    "\n",
+    "With jupyter notebook, you have to type in `:constants` to set up the models constants. \n",
+    "After doing that, you can use `:init` to initialise your machine."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 2,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Machine constants set up using operation 0: $setup_constants()"
+      ]
+     },
+     "execution_count": 2,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":constants"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 3,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Machine initialised using operation 1: $initialise_machine()"
+      ]
+     },
+     "execution_count": 3,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":init"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "You can check for the solution simply by typing in `Month` and `Day`. You will see, there is only one solution for this problem."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 4,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "$\\text{\"july\"}$"
+      ],
+      "text/plain": [
+       "\"july\""
+      ]
+     },
+     "execution_count": 4,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "Month"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 5,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "$16$"
+      ],
+      "text/plain": [
+       "16"
+      ]
+     },
+     "execution_count": 5,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "Day"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Using an enumerated set\n",
+    "\n",
+    "It is possible to use an enumerated set for the Months. One simply has to add:\n",
+    "\n",
+    "~~~~\n",
+    "SETS MONTHS = {may, june, july, aug, sep}\n",
+    "~~~~\n",
+    "\n",
+    "change the definition of the possible dates:\n",
+    "\n",
+    "~~~~\n",
+    "PD = {(aug|->14), (aug|->15), (aug|->17),\n",
+    "       (july|->14),(july|->16),(june|->17),\n",
+    "       (june|->18),\n",
+    "       (may|->15),(may|->16),(may|->19)}\n",
+    "~~~~\n",
+    "\n",
+    "and change the type of Month to `MONTHS`. This possible solution makes the constraint solving via ProB marginally faster."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 6,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Loaded machine: CherylsBirthday"
+      ]
+     },
+     "execution_count": 6,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "::load\n",
+    "MACHINE CherylsBirthday\n",
+    "/* A simplified version of the SumProduct Puzzle taken from\n",
+    " http://www.nytimes.com/2015/04/15/science/a-math-problem-from-singapore-goes-viral-when-is-cheryls-birthday.html\n",
+    "*/\n",
+    "DEFINITIONS\n",
+    "  DontKnowFromDay(PossDates,KDay) == card(PossDates~[{KDay}]) > 1;\n",
+    "  KnowFromDay(PossDates,KDay) == card(PossDates~[{KDay}]) = 1\n",
+    "SETS \n",
+    "  MONTHS = {may, june, july, aug, sep}\n",
+    "CONSTANTS Month, Day, PD, PD2\n",
+    "PROPERTIES\n",
+    "  /* Albert and Bernard just met Cheryl. “When’s your birthday?” Albert asked Cheryl.*/\n",
+    "  Month:MONTHS & Day:1..31 &\n",
+    "\n",
+    "  /* Cheryl thought a second and said, “I’m not going to tell you, but I’ll give you some clues.” She wrote down a list of 10 dates: */\n",
+    "  PD = {(aug|->14), (aug|->15), (aug|->17),\n",
+    "       (july|->14),(july|->16),(june|->17),\n",
+    "       (june|->18),\n",
+    "       (may|->15),(may|->16),(may|->19)}\n",
+    " &\n",
+    " /*\n",
+    "Then Cheryl whispered in Albert’s ear the month — and only the month — of her birthday.\n",
+    "To Bernard, she whispered the day, and only the day.\n",
+    "*/\n",
+    "  Month : dom(PD) &\n",
+    "  Day : ran(PD) &\n",
+    "  Month|->Day : PD &\n",
+    "\n",
+    " /* Albert: I don’t know when your birthday is, */\n",
+    " card(PD[{Month}]) > 1 &\n",
+    " /* but I know Bernard doesn’t know, either. */\n",
+    " !x.(x:PD[{Month}] => DontKnowFromDay(PD,x) ) &\n",
+    "\n",
+    " /* Bernard: I didn’t know originally, */\n",
+    "  DontKnowFromDay(PD,Day) &\n",
+    " /* but now I do. */\n",
+    "  PD2 = {m,d| (m|->d):PD &  !x.(x:PD[{m}] => DontKnowFromDay(PD,x) ) } &\n",
+    "  KnowFromDay(PD2,Day) &\n",
+    "\n",
+    "  /* Albert: Well, now I know, too! */\n",
+    "   card({d|Month|->d : PD2 & KnowFromDay(PD2,d)})=1\n",
+    "\n",
+    "ASSERTIONS /* single solution found by ProB */\n",
+    "  Month = july;\n",
+    "  Day = 16\n",
+    "END"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 7,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Machine constants set up using operation 0: $setup_constants()"
+      ]
+     },
+     "execution_count": 7,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":constants"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 8,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Machine initialised using operation 1: $initialise_machine()"
+      ]
+     },
+     "execution_count": 8,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":init"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "One will get one possible solution with this code as well. By typing in `Month` and `Day` again, it is possible to check this."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 9,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "$\\mathit{july}$"
+      ],
+      "text/plain": [
+       "july"
+      ]
+     },
+     "execution_count": 9,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "Month"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 10,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "$16$"
+      ],
+      "text/plain": [
+       "16"
+      ]
+     },
+     "execution_count": 10,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "Day"
+   ]
+  },
+  {
+   "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/.ipynb_checkpoints/N_Queens-checkpoint.ipynb b/.ipynb_checkpoints/N_Queens-checkpoint.ipynb
new file mode 100644
index 0000000..99041d2
--- /dev/null
+++ b/.ipynb_checkpoints/N_Queens-checkpoint.ipynb
@@ -0,0 +1,1893 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# N-Queens\n",
+    "\n",
+    "The N-Queens is a famous constraint solving benchmark puzzle. It is a generalisation of the original [eight queens puzzle](https://en.wikipedia.org/wiki/Eight_queens_puzzle), where the goal is to place eight queens on a 8*8 chessboard so that no two queens attach each other.\n",
+    "\n",
+    "Here is one way to encode the N-Queens puzzle in B.\n",
+    "\n",
+    "If you are new to using jupyter notebook with the ProB kernel, just try typing in `:help`. This will give you an overview for your options on interacting with the machine."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 1,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Loaded machine: NQueens"
+      ]
+     },
+     "execution_count": 1,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "::load\n",
+    "MACHINE NQueens\n",
+    "CONSTANTS n,queens\n",
+    "PROPERTIES\n",
+    " n = 40 &\n",
+    " queens : 1..n >-> 1..n /* for each column the row in which the queen is in */\n",
+    " &\n",
+    " !(q1,q2).(q1:1..n & q2:2..n & q2>q1\n",
+    "    => queens(q1)+q2-q1 /= queens(q2) & queens(q1)-q2+q1 /= queens(q2))\n",
+    "END"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 2,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Machine constants set up using operation 0: $setup_constants()"
+      ]
+     },
+     "execution_count": 2,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":constants"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 3,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Machine initialised using operation 1: $initialise_machine()"
+      ]
+     },
+     "execution_count": 3,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":init"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "One can use graphical visualisation features to display the solution, by declaring the ANIMATION_FUNCTION. 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": 4,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Loaded machine: NQueens40"
+      ]
+     },
+     "execution_count": 4,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "::load\n",
+    "MACHINE NQueens40\n",
+    "CONSTANTS n,queens\n",
+    "PROPERTIES\n",
+    " n = 40 &\n",
+    " queens : 1..n >-> 1..n /* for each column the row in which the queen is in */\n",
+    " &\n",
+    " !(q1,q2).(q1:1..n & q2:2..n & q2>q1\n",
+    "    => queens(q1)+q2-q1 /= queens(q2) & queens(q1)-q2+q1 /= queens(q2))\n",
+    "DEFINITIONS\n",
+    "      ANIMATION_FUNCTION_DEFAULT == ( {r,c,i|r:1..n & c:1..n & i=(r+c) mod 2 }  );\n",
+    "      ANIMATION_FUNCTION == ( {r,c,i|c:1..n & r=queens(c) & i=2+((r+c) mod 2) }  );\n",
+    "      ANIMATION_IMG0 == \"images/sm_empty_box.gif\";\n",
+    "      ANIMATION_IMG1 == \"images/sm_gray_box.gif\";\n",
+    "      ANIMATION_IMG2 == \"images/sm_queen_white.gif\";\n",
+    "      ANIMATION_IMG3 == \"images/sm_queen_black.gif\";\n",
+    "      SET_PREF_CLPFD == TRUE;\n",
+    "END"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 5,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Machine constants set up using operation 0: $setup_constants()"
+      ]
+     },
+     "execution_count": 5,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":constants"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 6,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Machine initialised using operation 1: $initialise_machine()"
+      ]
+     },
+     "execution_count": 6,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":init"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 7,
+   "metadata": {
+    "scrolled": false
+   },
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "<table style=\"font-family:monospace\"><tbody>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"3\" src=\"images/sm_queen_black.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"2\" src=\"images/sm_queen_white.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"2\" src=\"images/sm_queen_white.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"3\" src=\"images/sm_queen_black.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"3\" src=\"images/sm_queen_black.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"2\" src=\"images/sm_queen_white.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"2\" src=\"images/sm_queen_white.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"2\" src=\"images/sm_queen_white.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"3\" src=\"images/sm_queen_black.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"3\" src=\"images/sm_queen_black.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"2\" src=\"images/sm_queen_white.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"3\" src=\"images/sm_queen_black.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"2\" src=\"images/sm_queen_white.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"3\" src=\"images/sm_queen_black.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"3\" src=\"images/sm_queen_black.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"2\" src=\"images/sm_queen_white.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"3\" src=\"images/sm_queen_black.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"2\" src=\"images/sm_queen_white.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"2\" src=\"images/sm_queen_white.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"2\" src=\"images/sm_queen_white.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"3\" src=\"images/sm_queen_black.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"3\" src=\"images/sm_queen_black.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"3\" src=\"images/sm_queen_black.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"3\" src=\"images/sm_queen_black.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"2\" src=\"images/sm_queen_white.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"3\" src=\"images/sm_queen_black.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"2\" src=\"images/sm_queen_white.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"2\" src=\"images/sm_queen_white.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"2\" src=\"images/sm_queen_white.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"3\" src=\"images/sm_queen_black.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"3\" src=\"images/sm_queen_black.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"2\" src=\"images/sm_queen_white.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"3\" src=\"images/sm_queen_black.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"2\" src=\"images/sm_queen_white.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"2\" src=\"images/sm_queen_white.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"3\" src=\"images/sm_queen_black.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"2\" src=\"images/sm_queen_white.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"3\" src=\"images/sm_queen_black.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"3\" src=\"images/sm_queen_black.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"2\" src=\"images/sm_queen_white.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "</tr>\n",
+       "</tbody></table>"
+      ],
+      "text/plain": [
+       "<Animation function visualisation>"
+      ]
+     },
+     "execution_count": 7,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":show"
+   ]
+  }
+ ],
+ "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/.ipynb_checkpoints/ProB_Jupyter_Notebook_Overview-checkpoint.ipynb b/.ipynb_checkpoints/ProB_Jupyter_Notebook_Overview-checkpoint.ipynb
new file mode 100644
index 0000000..bb1e4ea
--- /dev/null
+++ b/.ipynb_checkpoints/ProB_Jupyter_Notebook_Overview-checkpoint.ipynb
@@ -0,0 +1,2475 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "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",
+    "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/)."
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## The Help Command\n",
+    "\n",
+    "If you want to find out more about the commands and how to use them, type in `:help [COMMAND]`. The ProB2 Jupyter Notebook has an autocompletion function which also helps you to find what you need. Simply press `TAB` after the space after `:help`."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 1,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "```\n",
+       ":help [COMMAND]\n",
+       "```\n",
+       "\n",
+       "Display help for a specific command, or general help about the REPL."
+      ],
+      "text/plain": [
+       ":help [COMMAND]\n",
+       "Display help for a specific command, or general help about the REPL."
+      ]
+     },
+     "execution_count": 1,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":help :help"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Loading a Machine\n",
+    "\n",
+    "To start of with the ProB Jupyter Kernel, we have to load a machine. This can be done by typing `::load` in a Code cell before the machine code and pressing `Shift+Enter`."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 2,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "```\n",
+       "::load [PREF=VALUE ...]\n",
+       "MACHINE\n",
+       "...\n",
+       "END\n",
+       "```\n",
+       "\n",
+       "Load the machine source code given in the cell body.\n",
+       "\n",
+       "There must be a newline between the `::load` command name and the machine code.\n",
+       "\n",
+       "Any number of preference assignments may be included after `::load` (only on the first line). Preferences can also be changed on a loaded machine using the `:pref` command, however certain preferences do not take full effect when set using `:pref` and must be set when the machine is loaded."
+      ],
+      "text/plain": [
+       "::load [PREF=VALUE ...]\n",
+       "MACHINE\n",
+       "...\n",
+       "END\n",
+       "Load the machine source code given in the cell body.\n",
+       "\n",
+       "There must be a newline between the `::load` command name and the machine code.\n",
+       "\n",
+       "Any number of preference assignments may be included after `::load` (only on the first line). Preferences can also be changed on a loaded machine using the `:pref` command, however certain preferences do not take full effect when set using `:pref` and must be set when the machine is loaded."
+      ]
+     },
+     "execution_count": 2,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":help ::load"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 3,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Loaded machine: Lift"
+      ]
+     },
+     "execution_count": 3,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "::load DOT=/usr/bin/dot\n",
+    "MODEL Lift\n",
+    "DEFINITIONS SET_PREF_SHOW_EVENTB_ANY_VALUES==TRUE;\n",
+    "  ASSERT_LTL == \"G( [push_call_button(groundf)] => F {cur_floor=groundf & door_open=TRUE})\";\n",
+    "  Rconv == (topf-r+groundf);\n",
+    "CONSTANTS groundf,topf\n",
+    "PROPERTIES\n",
+    "  topf : INTEGER & groundf : INTEGER & (groundf = -1) & (topf = 2) & (groundf < topf)\n",
+    "VARIABLES call_buttons,cur_floor,direction_up,door_open\n",
+    "INVARIANT\n",
+    "       cur_floor : (groundf .. topf) & \n",
+    "       door_open : BOOL & \n",
+    "       call_buttons : POW(groundf .. topf) &\n",
+    "       direction_up : BOOL &\n",
+    "       (door_open = TRUE => cur_floor : call_buttons)\n",
+    "INITIALISATION cur_floor := (groundf) || door_open := FALSE || call_buttons := ({}) || direction_up := TRUE\n",
+    "OPERATIONS\n",
+    " move_up = SELECT door_open = FALSE & cur_floor < topf & direction_up = TRUE &\n",
+    "             # c.((c : INTEGER) & ((c : INTEGER) & (c > cur_floor) & (c : call_buttons))) &\n",
+    "            (cur_floor /: call_buttons) THEN\n",
+    "   cur_floor := ((cur_floor)+(1))\n",
+    " END ;\n",
+    " move_down = SELECT door_open = FALSE & cur_floor > groundf & (direction_up = FALSE) &\n",
+    "       # cu.((cu : INTEGER) & ((cu : INTEGER) & (cu < cur_floor) & (cu : call_buttons))) &\n",
+    "      (cur_floor /: call_buttons) THEN\n",
+    "   cur_floor := ((cur_floor)-(1))\n",
+    " END ;\n",
+    " reverse_lift_up = SELECT direction_up = FALSE & door_open = FALSE &\n",
+    "   # c.((c : INTEGER) & ((c : INTEGER) & (c > cur_floor) & (c : call_buttons))) & \n",
+    "   ! l.((l : INTEGER) => (((l : INTEGER) & (l <= cur_floor) & (l >= groundf)) => (l /: call_buttons))) THEN\n",
+    "   direction_up := TRUE\n",
+    " END ;\n",
+    " reverse_lift_down = SELECT direction_up = TRUE & door_open = FALSE & \n",
+    "  # cd.(cd : INTEGER & ((cd : INTEGER) & (cd < cur_floor) & (cd : call_buttons))) & \n",
+    "  ! u.(u : INTEGER => (((u : INTEGER) & (u >= cur_floor) & (u <= topf)) => (u /: call_buttons))) THEN\n",
+    "  direction_up := FALSE\n",
+    " END ;\n",
+    " open_door = SELECT door_open = FALSE & (cur_floor : call_buttons) THEN\n",
+    "    door_open := TRUE\n",
+    " END ;\n",
+    " close_door = SELECT door_open = TRUE THEN\n",
+    "    door_open := FALSE || call_buttons := ((call_buttons)\\({cur_floor}))\n",
+    " END ;\n",
+    " push_call_button(floor) = SELECT (floor : (groundf .. topf)) & (floor /: call_buttons) THEN \n",
+    "     call_buttons := ((call_buttons)\\/({floor}))\n",
+    " END \n",
+    "END"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Initialising a Machine\n",
+    "\n",
+    "Now we will set up constants and initialise the machine, to be able to interact with it. You can set up constants with the commant `:constants` and initialise with the command `:init`. "
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 4,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "```\n",
+       ":constants [PREDICATE]\n",
+       "```\n",
+       "\n",
+       "Set up the current machine's constants.\n",
+       "\n",
+       "This is a shorthand for `:exec SETUP_CONSTANTS [PREDICATE]`."
+      ],
+      "text/plain": [
+       ":constants [PREDICATE]\n",
+       "Set up the current machine's constants.\n",
+       "\n",
+       "This is a shorthand for `:exec SETUP_CONSTANTS [PREDICATE]`."
+      ]
+     },
+     "execution_count": 4,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":help :constants"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 5,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Machine constants set up using operation 0: $setup_constants()"
+      ]
+     },
+     "execution_count": 5,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":constants"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 6,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "```\n",
+       ":init [PREDICATE]\n",
+       "```\n",
+       "\n",
+       "Initialise the current machine with the specified predicate\n",
+       "\n",
+       "This is a shorthand for `:exec INITIALISATION [PREDICATE]`."
+      ],
+      "text/plain": [
+       ":init [PREDICATE]\n",
+       "Initialise the current machine with the specified predicate\n",
+       "\n",
+       "This is a shorthand for `:exec INITIALISATION [PREDICATE]`."
+      ]
+     },
+     "execution_count": 6,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":help :init"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 7,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Machine initialised using operation 1: $initialise_machine()"
+      ]
+     },
+     "execution_count": 7,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":init"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Trace and State\n",
+    "\n",
+    "After loading and initialising the machine, we can explore the state, visualise the machine and state and more. We will start by finding out in which trace we are currently in, to ensure, that we initialised the machine. This can be done with the command `:trace`."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 8,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "```\n",
+       ":trace\n",
+       "```\n",
+       "\n",
+       "Display all states and transitions in the current trace.\n",
+       "\n",
+       "Each state has an index, which can be passed to the `:goto` command to go to that state.\n",
+       "\n",
+       "The first state (index -1) is always the root state. All other states are reached from the root state by following (previously executed) transitions."
+      ],
+      "text/plain": [
+       ":trace\n",
+       "Display all states and transitions in the current trace.\n",
+       "\n",
+       "Each state has an index, which can be passed to the `:goto` command to go to that state.\n",
+       "\n",
+       "The first state (index -1) is always the root state. All other states are reached from the root state by following (previously executed) transitions."
+      ]
+     },
+     "execution_count": 8,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":help :trace"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 9,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "* -1: Root state\n",
+       "* 0: `SETUP_CONSTANTS()`\n",
+       "* 1: `INITIALISATION()` **(current)**"
+      ],
+      "text/plain": [
+       "-1: Root state\n",
+       "0: SETUP_CONSTANTS()\n",
+       "1: INITIALISATION() (current)"
+      ]
+     },
+     "execution_count": 9,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":trace"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "Switching to a different trace is possible by typing in `:goto INDEX`."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 10,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "```\n",
+       ":goto INDEX\n",
+       "```\n",
+       "\n",
+       "Go to the state with the specified index in the current trace.\n",
+       "\n",
+       "Use the `:trace` command to view the current trace and the indices of its states. Index -1 refers to the root state and is always available.\n",
+       "\n",
+       "Going backwards in the current trace does *not* discard any parts of the trace, so it is possible to go forward again afterwards. However, executing an operation in a state *will* discard any parts of the trace after that state (and replace them with the destination state of the executed transition)."
+      ],
+      "text/plain": [
+       ":goto INDEX\n",
+       "Go to the state with the specified index in the current trace.\n",
+       "\n",
+       "Use the `:trace` command to view the current trace and the indices of its states. Index -1 refers to the root state and is always available.\n",
+       "\n",
+       "Going backwards in the current trace does *not* discard any parts of the trace, so it is possible to go forward again afterwards. However, executing an operation in a state *will* discard any parts of the trace after that state (and replace them with the destination state of the executed transition)."
+      ]
+     },
+     "execution_count": 10,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":help :goto"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 11,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Changed to state with index -1"
+      ]
+     },
+     "execution_count": 11,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":goto -1"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 12,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "* -1: Root state **(current)**\n",
+       "* 0: `SETUP_CONSTANTS()`\n",
+       "* 1: `INITIALISATION()`"
+      ],
+      "text/plain": [
+       "-1: Root state (current)\n",
+       "0: SETUP_CONSTANTS()\n",
+       "1: INITIALISATION()"
+      ]
+     },
+     "execution_count": 12,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":trace"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "Now that we set the current state to -1, we are at out root state again. We did not set up constants or initialise the machine, yet. From here, we have two possibilities to go back to the initialised state. Either by setting up constants and initialising again, or by simply typing `:goto 1`."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 13,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Changed to state with index 1"
+      ]
+     },
+     "execution_count": 13,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":goto 1"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 14,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "* -1: Root state\n",
+       "* 0: `SETUP_CONSTANTS()`\n",
+       "* 1: `INITIALISATION()` **(current)**"
+      ],
+      "text/plain": [
+       "-1: Root state\n",
+       "0: SETUP_CONSTANTS()\n",
+       "1: INITIALISATION() (current)"
+      ]
+     },
+     "execution_count": 14,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":trace"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "Another feature of ProB is, that you can find a state, for which a predicate is true. In the following we will try to use it:"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 16,
+   "metadata": {
+    "scrolled": true
+   },
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "```\n",
+       ":find PREDICATE\n",
+       "```\n",
+       "\n",
+       "Try to find a state for which the given predicate is true (in addition to the machine's invariant).\n",
+       "\n",
+       "If such a state is found, it is made the current state, otherwise an error is displayed.\n",
+       "\n",
+       "Note that this command does not necessarily find a valid *trace* to the found state. Instead, in some cases a single \"fake\" transition is added to the trace, which goes directly to the found state and does not use the machine's operations to reach it."
+      ],
+      "text/plain": [
+       ":find PREDICATE\n",
+       "Try to find a state for which the given predicate is true (in addition to the machine's invariant).\n",
+       "\n",
+       "If such a state is found, it is made the current state, otherwise an error is displayed.\n",
+       "\n",
+       "Note that this command does not necessarily find a valid *trace* to the found state. Instead, in some cases a single \"fake\" transition is added to the trace, which goes directly to the found state and does not use the machine's operations to reach it."
+      ]
+     },
+     "execution_count": 16,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":help :find"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 17,
+   "metadata": {
+    "scrolled": false
+   },
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Found a matching state and made it current state"
+      ]
+     },
+     "execution_count": 17,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":find cur_floor=0"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 18,
+   "metadata": {
+    "scrolled": false
+   },
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "* -1: Root state\n",
+       "* 0: `find_valid_state` **(current)**"
+      ],
+      "text/plain": [
+       "-1: Root state\n",
+       "0: find_valid_state (current)"
+      ]
+     },
+     "execution_count": 18,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":trace"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "Note that the command leaves us with the root state and the current state, with a valid trace. That means, we lose our previous trace. \n",
+    "\n",
+    "For the next example we will have to recreate that trace again, with the following three commands:"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 19,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Changed to state with index -1"
+      ]
+     },
+     "execution_count": 19,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":goto -1"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 20,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Machine constants set up using operation 0: $setup_constants()"
+      ]
+     },
+     "execution_count": 20,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":constants"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 21,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Machine initialised using operation 1: $initialise_machine()"
+      ]
+     },
+     "execution_count": 21,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":init"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Interacting with the Machine\n",
+    "\n",
+    "If you want to interact with the machine, meaning, that you want to know, which values the variables and constants have, you can simply type in the identifiers of those. e.g. type in `cur_floor` to find out on which floor we are currently at."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 22,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "$-1$"
+      ],
+      "text/plain": [
+       "−1"
+      ]
+     },
+     "execution_count": 22,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "cur_floor"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "If you want to get an overview over the whole machine state and which operations are currently possible, you can use `:browse`."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 23,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "```\n",
+       ":browse\n",
+       "```\n",
+       "\n",
+       "Show information about the current state.\n",
+       "\n",
+       "The output shows the names of all sets, constants, and variables defined by the current machine, as well as a list of transitions that are available in the current state."
+      ],
+      "text/plain": [
+       ":browse\n",
+       "Show information about the current state.\n",
+       "\n",
+       "The output shows the names of all sets, constants, and variables defined by the current machine, as well as a list of transitions that are available in the current state."
+      ]
+     },
+     "execution_count": 23,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":help :browse"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 24,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Machine: Lift\n",
+       "Sets: (none)\n",
+       "Constants: groundf, topf\n",
+       "Variables: call_buttons, cur_floor, direction_up, door_open\n",
+       "Operations: \n",
+       "push_call_button(-1)\n",
+       "push_call_button(0)\n",
+       "push_call_button(1)\n",
+       "push_call_button(2)"
+      ]
+     },
+     "execution_count": 24,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":browse"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "To use operations, you have to use another command, that is slightly different. Type in the name of any operation, that is currently possible and put `:exec` before:"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 25,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "```\n",
+       ":exec OPERATION [PREDICATE]\n",
+       "```\n",
+       "\n",
+       "Execute an operation.\n",
+       "\n",
+       "A transition for the given operation is found and executed. If the optional predicate is specified, a transition is found for which the predicate is $\\mathit{TRUE}$. The predicate can be used to restrict what values the operation's parameters or the variables in the next state may have."
+      ],
+      "text/plain": [
+       ":exec OPERATION [PREDICATE]\n",
+       "Execute an operation.\n",
+       "\n",
+       "A transition for the given operation is found and executed. If the optional predicate is specified, a transition is found for which the predicate is $\\mathit{TRUE}$. The predicate can be used to restrict what values the operation's parameters or the variables in the next state may have."
+      ]
+     },
+     "execution_count": 25,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":help :exec"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 26,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Executed operation: push_call_button(-1)"
+      ]
+     },
+     "execution_count": 26,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":exec push_call_button floor=-1"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "If we check our trace again and browse our actions, we can see, that the call button of the floor -1 is now pushed."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 27,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "* -1: Root state\n",
+       "* 0: `SETUP_CONSTANTS()`\n",
+       "* 1: `INITIALISATION()`\n",
+       "* 2: `push_call_button(-1)` **(current)**"
+      ],
+      "text/plain": [
+       "-1: Root state\n",
+       "0: SETUP_CONSTANTS()\n",
+       "1: INITIALISATION()\n",
+       "2: push_call_button(-1) (current)"
+      ]
+     },
+     "execution_count": 27,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":trace"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 28,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Machine: Lift\n",
+       "Sets: (none)\n",
+       "Constants: groundf, topf\n",
+       "Variables: call_buttons, cur_floor, direction_up, door_open\n",
+       "Operations: \n",
+       "open_door()\n",
+       "push_call_button(0)\n",
+       "push_call_button(1)\n",
+       "push_call_button(2)"
+      ]
+     },
+     "execution_count": 28,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":browse"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "Of course, we could also type in `call_buttons` to find out, which call buttons are currently pushed."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 29,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "$\\{-1\\}$"
+      ],
+      "text/plain": [
+       "{−1}"
+      ]
+     },
+     "execution_count": 29,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "call_buttons"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "The `:let` command lets you store the value of an expression under a different name. It is evaluated once on the current state. You can use the `:unlet` command if you are not using the local variable anymore."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 30,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "```\n",
+       ":let NAME EXPR\n",
+       "```\n",
+       "\n",
+       "Evaluate an expression and store it in a local variable.\n",
+       "\n",
+       "The expression is evaluated only once, in the current state, and its value is stored. Once set, variables are available in all states and are not affected by machine loads. A variable created by `:let` shadows any identifier from the machine with the same name.\n",
+       "\n",
+       "**Note:** The values of local variables are currently stored in text form. Values must have a syntactically valid text representation, and large values may cause performance issues."
+      ],
+      "text/plain": [
+       ":let NAME EXPR\n",
+       "Evaluate an expression and store it in a local variable.\n",
+       "\n",
+       "The expression is evaluated only once, in the current state, and its value is stored. Once set, variables are available in all states and are not affected by machine loads. A variable created by `:let` shadows any identifier from the machine with the same name.\n",
+       "\n",
+       "**Note:** The values of local variables are currently stored in text form. Values must have a syntactically valid text representation, and large values may cause performance issues."
+      ]
+     },
+     "execution_count": 30,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":help :let"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 31,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "$\\mathit{FALSE}$"
+      ],
+      "text/plain": [
+       "FALSE"
+      ]
+     },
+     "execution_count": 31,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":let first_floor_called 1:call_buttons"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 32,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Executed operation: push_call_button(1)"
+      ]
+     },
+     "execution_count": 32,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":exec push_call_button floor=1"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 33,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "$\\mathit{FALSE}$"
+      ],
+      "text/plain": [
+       "FALSE"
+      ]
+     },
+     "execution_count": 33,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "first_floor_called"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 34,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "```\n",
+       ":unlet NAME\n",
+       "```\n",
+       "\n",
+       "Remove a local variable."
+      ],
+      "text/plain": [
+       ":unlet NAME\n",
+       "Remove a local variable."
+      ]
+     },
+     "execution_count": 34,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":help :unlet"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 35,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    ":unlet first_floor_called"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 36,
+   "metadata": {},
+   "outputs": [
+    {
+     "ename": "CommandExecutionException",
+     "evalue": ":eval: Computation not completed: Unknown identifier \"first_floor_called\"",
+     "output_type": "error",
+     "traceback": [
+      "\u001b[1m\u001b[31m:eval: Computation not completed: Unknown identifier \"first_floor_called\"\u001b[0m"
+     ]
+    }
+   ],
+   "source": [
+    "first_floor_called"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "Additionally, you can use the `:table` command to display an expression as a table."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 37,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "```\n",
+       ":table EXPRESSION\n",
+       "```\n",
+       "\n",
+       "Display an expression as a table.\n",
+       "\n",
+       "Although any expression is accepted, this command is most useful for sets of tuples."
+      ],
+      "text/plain": [
+       ":table EXPRESSION\n",
+       "Display an expression as a table.\n",
+       "\n",
+       "Although any expression is accepted, this command is most useful for sets of tuples."
+      ]
+     },
+     "execution_count": 37,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":help :table"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 38,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "|cur_floor|\n",
+       "|---|\n",
+       "|$-1$|\n"
+      ],
+      "text/plain": [
+       "cur_floor\n",
+       "-1\n"
+      ]
+     },
+     "execution_count": 38,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":table cur_floor"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "If you are not sure which type an formula has, you can use `:type` to find out."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 39,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "```\n",
+       ":type FORMULA\n",
+       "```\n",
+       "\n",
+       "Display the type of a formula.\n",
+       "\n",
+       "The returned types are *not* standard B types. They are human-readable, but cannot be used in code."
+      ],
+      "text/plain": [
+       ":type FORMULA\n",
+       "Display the type of a formula.\n",
+       "\n",
+       "The returned types are *not* standard B types. They are human-readable, but cannot be used in code."
+      ]
+     },
+     "execution_count": 39,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":help :type"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 40,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "INTEGER"
+      ]
+     },
+     "execution_count": 40,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":type cur_floor"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 41,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "POW(INTEGER)"
+      ]
+     },
+     "execution_count": 41,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":type call_buttons"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Evaluations\n",
+    "\n",
+    "If you just want to make sure, that a predicate is true, use the `:assert` command instead."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 42,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "```\n",
+       ":assert PREDICATE\n",
+       "```\n",
+       "\n",
+       "Ensure that the predicate is true, and show an error otherwise.\n",
+       "\n",
+       "This command is intended for verifying that a predicate is always true at a certain point in a notebook. Unlike normal evaluation (`:eval`), this command treats a $\\mathit{FALSE}$ result as an error. If the result is $\\mathit{TRUE}$, solutions for free variables (if any) are not displayed.\n",
+       "\n",
+       "Only predicates and $\\mathit{BOOL}$ expressions are accepted. Expressions of other types cause an error."
+      ],
+      "text/plain": [
+       ":assert PREDICATE\n",
+       "Ensure that the predicate is true, and show an error otherwise.\n",
+       "\n",
+       "This command is intended for verifying that a predicate is always true at a certain point in a notebook. Unlike normal evaluation (`:eval`), this command treats a $\\mathit{FALSE}$ result as an error. If the result is $\\mathit{TRUE}$, solutions for free variables (if any) are not displayed.\n",
+       "\n",
+       "Only predicates and $\\mathit{BOOL}$ expressions are accepted. Expressions of other types cause an error."
+      ]
+     },
+     "execution_count": 42,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":help :assert"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 43,
+   "metadata": {},
+   "outputs": [
+    {
+     "ename": "CommandExecutionException",
+     "evalue": ":assert: Assertion is not true: FALSE",
+     "output_type": "error",
+     "traceback": [
+      "\u001b[1m\u001b[31m:assert: Assertion is not true: FALSE\u001b[0m"
+     ]
+    }
+   ],
+   "source": [
+    ":assert cur_floor=0"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 44,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "$\\mathit{TRUE}$"
+      ],
+      "text/plain": [
+       "TRUE"
+      ]
+     },
+     "execution_count": 44,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":assert cur_floor=-1"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 45,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Machine: Lift\n",
+       "Sets: (none)\n",
+       "Constants: groundf, topf\n",
+       "Variables: call_buttons, cur_floor, direction_up, door_open\n",
+       "Operations: \n",
+       "open_door()\n",
+       "push_call_button(0)\n",
+       "push_call_button(2)"
+      ]
+     },
+     "execution_count": 45,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":browse"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "Another notable feature is the following command, with which you can pretty print predicates. Use `:prettyprint` to access it. \n",
+    "\n",
+    "You also have the option to solve predicates with different solvers. For this you can use the command `:solve`."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    ":help :prettyprint"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 47,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/latex": [
+       "$\\mathit{cur\\_floor} = - 1$"
+      ],
+      "text/plain": [
+       "cur_floor = - 1"
+      ]
+     },
+     "execution_count": 47,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":prettyprint cur_floor=-1"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 48,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "```\n",
+       ":solve SOLVER PREDICATE\n",
+       "```\n",
+       "\n",
+       "Solve a predicate with the specified solver.\n",
+       "\n",
+       "The following solvers are currently available:\n",
+       "\n",
+       "* `cvc4`\n",
+       "* `kodkod`\n",
+       "* `prob`\n",
+       "* `smt_supported_interpreter`\n",
+       "* `z3`\n"
+      ],
+      "text/plain": [
+       ":solve SOLVER PREDICATE\n",
+       "Solve a predicate with the specified solver.\n",
+       "\n",
+       "The following solvers are currently available:\n",
+       "\n",
+       "* `cvc4`\n",
+       "* `kodkod`\n",
+       "* `prob`\n",
+       "* `smt_supported_interpreter`\n",
+       "* `z3`\n"
+      ]
+     },
+     "execution_count": 48,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":help :solve"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Modifying the Preferences\n",
+    "\n",
+    "We have seen before, that you can set preferences when loading the machine with the `::load` command. You can modify or change the values of preferences by using the `:pref` command."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 49,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "```\n",
+       ":pref [NAME ...]\n",
+       ":pref NAME=VALUE [NAME=VALUE ...]\n",
+       "```\n",
+       "\n",
+       "View or change the value of one or more preferences.\n",
+       "\n",
+       "In the first form, the values of all given preferences are displayed (or all preferences, if none are given). In the second form, the given preference assignments are performed. The two forms cannot be mixed; it is not possible to view and change preferences in a single command.\n",
+       "\n",
+       "Certain preference changes do not take full effect when performed on a loaded machine. Such preferences must be assigned when the machine is loaded using the `::load` or `:load` command."
+      ],
+      "text/plain": [
+       ":pref [NAME ...]\n",
+       ":pref NAME=VALUE [NAME=VALUE ...]\n",
+       "View or change the value of one or more preferences.\n",
+       "\n",
+       "In the first form, the values of all given preferences are displayed (or all preferences, if none are given). In the second form, the given preference assignments are performed. The two forms cannot be mixed; it is not possible to view and change preferences in a single command.\n",
+       "\n",
+       "Certain preference changes do not take full effect when performed on a loaded machine. Such preferences must be assigned when the machine is loaded using the `::load` or `:load` command."
+      ]
+     },
+     "execution_count": 49,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":help :pref"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Additional Features\n",
+    "\n",
+    "In addition to the previous commands, you have the possibility to use the `:stats` command to show statistics about the state space. Moreover, you can use the `:time` command to measure the execution time of commands with their arguments. This can be helpful for measuring the solving time for specific machines."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 50,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "```\n",
+       ":stats\n",
+       "```\n",
+       "\n",
+       "Show statistics about the state space."
+      ],
+      "text/plain": [
+       ":stats\n",
+       "Show statistics about the state space."
+      ]
+     },
+     "execution_count": 50,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":help :stats"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 51,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "**Explored States:** 4/15  \n",
+       "**Transitions:** 14"
+      ],
+      "text/plain": [
+       "Explored States: 4/15\n",
+       "Transitions: 14"
+      ]
+     },
+     "execution_count": 51,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":stats"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 52,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "```\n",
+       ":time COMMAND [ARGS ...]\n",
+       "```\n",
+       "\n",
+       "Execute the given command and measure how long it takes to execute.\n",
+       "\n",
+       "The time is measured using Java's [`System.nanoTime()`](https://docs.oracle.com/javase/8/docs/api/java/lang/System.html#nanoTime--) method. The measured time is displayed with the full number of decimal places, but no guarantees are made about the actual resolution of the time measurement.\n",
+       "\n",
+       "As with any measurement of execution time, there will likely be small differences between two measurements of the same command. The time is measured by the kernel rather than ProB, so it will include some overhead due to processing of the command by the kernel and communication with ProB."
+      ],
+      "text/plain": [
+       ":time COMMAND [ARGS ...]\n",
+       "Execute the given command and measure how long it takes to execute.\n",
+       "\n",
+       "The time is measured using Java's [`System.nanoTime()`](https://docs.oracle.com/javase/8/docs/api/java/lang/System.html#nanoTime--) method. The measured time is displayed with the full number of decimal places, but no guarantees are made about the actual resolution of the time measurement.\n",
+       "\n",
+       "As with any measurement of execution time, there will likely be small differences between two measurements of the same command. The time is measured by the kernel rather than ProB, so it will include some overhead due to processing of the command by the kernel and communication with ProB."
+      ]
+     },
+     "execution_count": 52,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":help :time"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 53,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "Execution time: 0.044099194 seconds"
+      ],
+      "text/plain": [
+       "Execution time: 0.044099194 seconds"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/markdown": [
+       "**Explored States:** 4/15  \n",
+       "**Transitions:** 14"
+      ],
+      "text/plain": [
+       "Explored States: 4/15\n",
+       "Transitions: 14"
+      ]
+     },
+     "execution_count": 53,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":time :stats"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "To find out your current ProB CLI and ProB2 version, you can use `:version`."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 54,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "```\n",
+       ":version\n",
+       "```\n",
+       "\n",
+       "Display version info about the ProB CLI and ProB 2."
+      ],
+      "text/plain": [
+       ":version\n",
+       "Display version info about the ProB CLI and ProB 2."
+      ]
+     },
+     "execution_count": 54,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":help :version"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 55,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "ProB CLI: 1.9.0-nightly (ab12dcd41e1150b19e8c00897fe53f96f76cbd0d)\n",
+       "ProB 2: 3.2.12-SNAPSHOT (06e75efe84ffdadf56df45e34acb44ec8e4603dd)"
+      ]
+     },
+     "execution_count": 55,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":version"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Visualisations\n",
+    "\n",
+    "There are two possible ways of visualising the machine in jupyter notebook. One can be accessed via the `:dot` command. This command allows you to visualise a variety of different things, e.g. the state as graph. You can use autocomplete by clicking `TAB` after the command, as well."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 56,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "```\n",
+       ":dot COMMAND [FORMULA]\n",
+       "```\n",
+       "\n",
+       "Execute and show a dot visualisation.\n",
+       "\n",
+       "The following dot visualisation commands are available:\n",
+       "\n",
+       "* `machine_hierarchy` - Machine Hierarchy: Shows the machine hierarchy of a classical B model\n",
+       "* `event_hierarchy` - Event Hierarchy: Shows the event hierarchy of an Event-B model (**Not available for this machine/state**: only available for Event-B models)\n",
+       "* `state_space` - State Space: Show state space\n",
+       "* `state_space_sfdp` - State Space (Fast): Show state space (fast)\n",
+       "* `current_state` - Current State in State Space: Show current state and successors in state space\n",
+       "* `signature_merge` - Signature Merge: Show signature-merged reduced state space\n",
+       "* `dfa_merge` - DFA Merge: Show state space as deterministic automaton (DFA)\n",
+       "* `transition_diagram` - State Space Expression Projection...: Project state space onto expression values and show transition diagram\n",
+       "* `enable_graph` - Enable Graph: Show enabling graph of events\n",
+       "* `state_as_graph` - Current State as Graph: Show values in current state as a graph\n",
+       "* `custom_graph` - Customized Current State as Graph: Show values in current state as a graph using CUSTOM_GRAPH_EDGES (**Not available for this machine/state**: only available when CUSTOM_GRAPH_NODES and CUSTOM_GRAPH_EDGES are defined in the DEFINITIONS of a B machine)\n",
+       "* `expr_as_graph` - (Relational) Expression as Graph...: Show (relational) expression value as a graph\n",
+       "* `formula_tree` - Custom Predicate/Expression Formula Tree...: Show predicate/expressions and sub-formulas as a tree\n",
+       "* `invariant` - Invariant Formula Tree: Show invariant as a formula tree\n",
+       "* `properties` - Properties Formula Tree: Show properties as a formula tree\n",
+       "* `assertions` - Assertions Formula Tree: Show assertions as a formula tree\n",
+       "* `deadlock` - Deadlock Formula Tree: Show deadlocking status as a formula tree\n",
+       "* `goal` - Goal Formula Tree: Show GOAL as a formula tree (**Not available for this machine/state**: only available for initialised B,Z or Event-B models with a GOAL DEFINITION)\n",
+       "* `dependence_graph` - Dependence Graph: Show dependence graph of events\n",
+       "* `variable_modification_graph` - Variable Read/Write Graph: Show variable modification by operations and reading in guards\n",
+       "* `definitions` - Definitions Graph: Show dependence graph of DEFINITIONS\n",
+       "* `predicate_dependency` - Predicate Dependency Graph...: Show dependence graph of conjuncts of a predicate\n",
+       "* `last_error` - Last Error Formula Tree: Show last error source as a formula tree (**Not available for this machine/state**: only available when error occured)\n"
+      ],
+      "text/plain": [
+       ":dot COMMAND [FORMULA]\n",
+       "Execute and show a dot visualisation.\n",
+       "\n",
+       "The following dot visualisation commands are available:\n",
+       "\n",
+       "* `machine_hierarchy` - Machine Hierarchy: Shows the machine hierarchy of a classical B model\n",
+       "* `event_hierarchy` - Event Hierarchy: Shows the event hierarchy of an Event-B model (**Not available for this machine/state**: only available for Event-B models)\n",
+       "* `state_space` - State Space: Show state space\n",
+       "* `state_space_sfdp` - State Space (Fast): Show state space (fast)\n",
+       "* `current_state` - Current State in State Space: Show current state and successors in state space\n",
+       "* `signature_merge` - Signature Merge: Show signature-merged reduced state space\n",
+       "* `dfa_merge` - DFA Merge: Show state space as deterministic automaton (DFA)\n",
+       "* `transition_diagram` - State Space Expression Projection...: Project state space onto expression values and show transition diagram\n",
+       "* `enable_graph` - Enable Graph: Show enabling graph of events\n",
+       "* `state_as_graph` - Current State as Graph: Show values in current state as a graph\n",
+       "* `custom_graph` - Customized Current State as Graph: Show values in current state as a graph using CUSTOM_GRAPH_EDGES (**Not available for this machine/state**: only available when CUSTOM_GRAPH_NODES and CUSTOM_GRAPH_EDGES are defined in the DEFINITIONS of a B machine)\n",
+       "* `expr_as_graph` - (Relational) Expression as Graph...: Show (relational) expression value as a graph\n",
+       "* `formula_tree` - Custom Predicate/Expression Formula Tree...: Show predicate/expressions and sub-formulas as a tree\n",
+       "* `invariant` - Invariant Formula Tree: Show invariant as a formula tree\n",
+       "* `properties` - Properties Formula Tree: Show properties as a formula tree\n",
+       "* `assertions` - Assertions Formula Tree: Show assertions as a formula tree\n",
+       "* `deadlock` - Deadlock Formula Tree: Show deadlocking status as a formula tree\n",
+       "* `goal` - Goal Formula Tree: Show GOAL as a formula tree (**Not available for this machine/state**: only available for initialised B,Z or Event-B models with a GOAL DEFINITION)\n",
+       "* `dependence_graph` - Dependence Graph: Show dependence graph of events\n",
+       "* `variable_modification_graph` - Variable Read/Write Graph: Show variable modification by operations and reading in guards\n",
+       "* `definitions` - Definitions Graph: Show dependence graph of DEFINITIONS\n",
+       "* `predicate_dependency` - Predicate Dependency Graph...: Show dependence graph of conjuncts of a predicate\n",
+       "* `last_error` - Last Error Formula Tree: Show last error source as a formula tree (**Not available for this machine/state**: only available when error occured)\n"
+      ]
+     },
+     "execution_count": 56,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":help :dot"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 57,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "image/svg+xml": [
+       "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
+       "<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
+       " \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
+       "<!-- Generated by graphviz version 2.40.1 (20161225.0304)\n",
+       " -->\n",
+       "<!-- Title: state Pages: 1 -->\n",
+       "<svg width=\"574pt\" height=\"131pt\"\n",
+       " viewBox=\"0.00 0.00 573.70 131.00\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
+       "<g id=\"graph0\" class=\"graph\" transform=\"scale(1 1) rotate(0) translate(4 127)\">\n",
+       "<title>state</title>\n",
+       "<polygon fill=\"#ffffff\" stroke=\"transparent\" points=\"-4,4 -4,-127 569.6967,-127 569.6967,4 -4,4\"/>\n",
+       "<!-- FALSE -->\n",
+       "<g id=\"node1\" class=\"node\">\n",
+       "<title>FALSE</title>\n",
+       "<ellipse fill=\"#a52a2a\" stroke=\"#a52a2a\" cx=\"37.6967\" cy=\"-105\" rx=\"37.8943\" ry=\"18\"/>\n",
+       "<text text-anchor=\"middle\" x=\"37.6967\" y=\"-101.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">FALSE</text>\n",
+       "</g>\n",
+       "<!-- ROOT&#45;NODE -->\n",
+       "<g id=\"node2\" class=\"node\">\n",
+       "<title>ROOT&#45;NODE</title>\n",
+       "<polygon fill=\"#add8e6\" stroke=\"#add8e6\" points=\"292.6967,-36 205.5564,-18 292.6967,0 379.8369,-18 292.6967,-36\"/>\n",
+       "<text text-anchor=\"middle\" x=\"292.6967\" y=\"-14.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">ROOT&#45;NODE</text>\n",
+       "</g>\n",
+       "<!-- FALSE&#45;&gt;ROOT&#45;NODE -->\n",
+       "<g id=\"edge1\" class=\"edge\">\n",
+       "<title>FALSE&#45;&gt;ROOT&#45;NODE</title>\n",
+       "<path fill=\"none\" stroke=\"#b22222\" d=\"M45.4313,-87.0482C51.2604,-75.7333 60.3678,-61.829 72.6967,-54 96.4841,-38.8946 164.3902,-29.3258 218.5285,-23.8823\"/>\n",
+       "<polygon fill=\"#b22222\" stroke=\"#b22222\" points=\"219.1954,-27.334 228.8089,-22.8808 218.5167,-20.367 219.1954,-27.334\"/>\n",
+       "<text text-anchor=\"middle\" x=\"101.6967\" y=\"-57.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">door_open</text>\n",
+       "</g>\n",
+       "<!-- TRUE -->\n",
+       "<g id=\"node3\" class=\"node\">\n",
+       "<title>TRUE</title>\n",
+       "<ellipse fill=\"#698b22\" stroke=\"#698b22\" cx=\"126.6967\" cy=\"-105\" rx=\"33.5952\" ry=\"18\"/>\n",
+       "<text text-anchor=\"middle\" x=\"126.6967\" y=\"-101.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">TRUE</text>\n",
+       "</g>\n",
+       "<!-- TRUE&#45;&gt;ROOT&#45;NODE -->\n",
+       "<g id=\"edge2\" class=\"edge\">\n",
+       "<title>TRUE&#45;&gt;ROOT&#45;NODE</title>\n",
+       "<path fill=\"none\" stroke=\"#a0522d\" d=\"M128.4128,-86.5614C130.3881,-75.6337 134.6244,-62.3348 143.6967,-54 156.5391,-42.2015 195.2856,-33.048 230.0463,-26.9236\"/>\n",
+       "<polygon fill=\"#a0522d\" stroke=\"#a0522d\" points=\"230.9228,-30.3249 240.195,-25.1989 229.7499,-23.4239 230.9228,-30.3249\"/>\n",
+       "<text text-anchor=\"middle\" x=\"178.1967\" y=\"-57.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">direction_up</text>\n",
+       "</g>\n",
+       "<!-- &#45;1 -->\n",
+       "<g id=\"node4\" class=\"node\">\n",
+       "<title>&#45;1</title>\n",
+       "<polygon fill=\"#cdba96\" stroke=\"#cdba96\" points=\"319.6967,-123 265.6967,-123 265.6967,-87 319.6967,-87 319.6967,-123\"/>\n",
+       "<text text-anchor=\"middle\" x=\"292.6967\" y=\"-101.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">&#45;1</text>\n",
+       "</g>\n",
+       "<!-- &#45;1&#45;&gt;ROOT&#45;NODE -->\n",
+       "<g id=\"edge3\" class=\"edge\">\n",
+       "<title>&#45;1&#45;&gt;ROOT&#45;NODE</title>\n",
+       "<path fill=\"none\" stroke=\"#473c8b\" d=\"M265.574,-99.2206C249.2281,-94.1898 229.6958,-85.08 219.6967,-69 209.7592,-53.0192 225.7758,-40.7054 245.3118,-32.1844\"/>\n",
+       "<polygon fill=\"#473c8b\" stroke=\"#473c8b\" points=\"246.7714,-35.3705 254.7693,-28.4218 244.1838,-28.8664 246.7714,-35.3705\"/>\n",
+       "<text text-anchor=\"middle\" x=\"245.1967\" y=\"-57.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">cur_floor</text>\n",
+       "</g>\n",
+       "<!-- &#45;1&#45;&gt;ROOT&#45;NODE -->\n",
+       "<g id=\"edge5\" class=\"edge\">\n",
+       "<title>&#45;1&#45;&gt;ROOT&#45;NODE</title>\n",
+       "<path fill=\"none\" stroke=\"#000000\" d=\"M292.6967,-86.9735C292.6967,-75.1918 292.6967,-59.5607 292.6967,-46.1581\"/>\n",
+       "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"296.1968,-46.0033 292.6967,-36.0034 289.1968,-46.0034 296.1968,-46.0033\"/>\n",
+       "<text text-anchor=\"middle\" x=\"326.1967\" y=\"-57.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">call_buttons</text>\n",
+       "</g>\n",
+       "<!-- &#45;1&#45;&gt;ROOT&#45;NODE -->\n",
+       "<g id=\"edge7\" class=\"edge\">\n",
+       "<title>&#45;1&#45;&gt;ROOT&#45;NODE</title>\n",
+       "<path fill=\"none\" stroke=\"#bdef6b\" d=\"M319.7358,-98.1105C334.6112,-92.7883 351.8084,-83.7625 360.6967,-69 369.8361,-53.8203 355.4433,-41.6607 337.5823,-33.0275\"/>\n",
+       "<polygon fill=\"#bdef6b\" stroke=\"#bdef6b\" points=\"338.5958,-29.6502 328.0322,-28.837 335.7831,-36.0602 338.5958,-29.6502\"/>\n",
+       "<text text-anchor=\"middle\" x=\"384.1967\" y=\"-57.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">groundf</text>\n",
+       "</g>\n",
+       "<!-- 1 -->\n",
+       "<g id=\"node5\" class=\"node\">\n",
+       "<title>1</title>\n",
+       "<polygon fill=\"#cdba96\" stroke=\"#cdba96\" points=\"475.6967,-123 421.6967,-123 421.6967,-87 475.6967,-87 475.6967,-123\"/>\n",
+       "<text text-anchor=\"middle\" x=\"448.6967\" y=\"-101.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">1</text>\n",
+       "</g>\n",
+       "<!-- 1&#45;&gt;ROOT&#45;NODE -->\n",
+       "<g id=\"edge4\" class=\"edge\">\n",
+       "<title>1&#45;&gt;ROOT&#45;NODE</title>\n",
+       "<path fill=\"none\" stroke=\"#000000\" d=\"M438.6092,-86.6124C431.7628,-75.7039 421.7712,-62.4073 409.6967,-54 392.4638,-42.0011 371.1042,-33.9017 351.3706,-28.479\"/>\n",
+       "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"352.0918,-25.0507 341.5356,-25.9538 350.351,-31.8308 352.0918,-25.0507\"/>\n",
+       "<text text-anchor=\"middle\" x=\"458.1967\" y=\"-57.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">call_buttons</text>\n",
+       "</g>\n",
+       "<!-- 2 -->\n",
+       "<g id=\"node6\" class=\"node\">\n",
+       "<title>2</title>\n",
+       "<polygon fill=\"#cdba96\" stroke=\"#cdba96\" points=\"565.6967,-123 511.6967,-123 511.6967,-87 565.6967,-87 565.6967,-123\"/>\n",
+       "<text text-anchor=\"middle\" x=\"538.6967\" y=\"-101.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">2</text>\n",
+       "</g>\n",
+       "<!-- 2&#45;&gt;ROOT&#45;NODE -->\n",
+       "<g id=\"edge6\" class=\"edge\">\n",
+       "<title>2&#45;&gt;ROOT&#45;NODE</title>\n",
+       "<path fill=\"none\" stroke=\"#efdf84\" d=\"M528.0369,-86.8227C520.4593,-75.5637 509.2422,-61.808 495.6967,-54 473.2129,-41.0397 411.0663,-31.2111 361.4046,-25.1247\"/>\n",
+       "<polygon fill=\"#efdf84\" stroke=\"#efdf84\" points=\"361.6802,-21.6328 351.3353,-23.9202 360.8488,-28.5832 361.6802,-21.6328\"/>\n",
+       "<text text-anchor=\"middle\" x=\"524.6967\" y=\"-57.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">topf</text>\n",
+       "</g>\n",
+       "</g>\n",
+       "</svg>"
+      ],
+      "text/plain": [
+       "<Dot visualization: state_as_graph []>"
+      ]
+     },
+     "execution_count": 57,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":dot state_as_graph"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "Another option is to use the `ANIMATION_FUNCTION` with the command `:show`. Note, however, that to use this you have to write an `ANIMATION_FUNCTION` for your B model.\n",
+    "\n",
+    "The following B model contains such an `ANIMATION_FUNCTION` for the visualisation of Lift4. You can use what you have learned before to explore the visualisation."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 58,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Loaded machine: Lift0"
+      ]
+     },
+     "execution_count": 58,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "::load\n",
+    "MODEL Lift0\n",
+    "DEFINITIONS SET_PREF_SHOW_EVENTB_ANY_VALUES==TRUE;\n",
+    "  ASSERT_LTL == \"G( [push_call_button(groundf)] => F {cur_floor=groundf & door_open=TRUE})\";\n",
+    "  Rconv == (topf-r+groundf);\n",
+    "  ANIMATION_FUNCTION == ( {r,c,i|r:groundf..topf & ((c=2 & i=0) or (c=1 & i=2))} <+ \n",
+    "                            ({r,c,i|r:groundf..topf & Rconv:call_buttons & c=2 & i=1} \\/\n",
+    "                             {r,c,i|r:groundf..topf & Rconv=cur_floor & c=1 &\n",
+    "                                    ((door_open=TRUE & i=3) or (door_open=FALSE & i=4))}\n",
+    "                              ) \\/ {r,c,i| r=topf+1 & c=1 & \n",
+    "                                       ((direction_up=TRUE & i=5) or (direction_up=FALSE & i=6)) } );\n",
+    "      ANIMATION_IMG0 == \"images/CallButtonOff.gif\";\n",
+    "      ANIMATION_IMG1 == \"images/CallButtonOn.gif\";\n",
+    "      ANIMATION_IMG2 == \"images/LiftEmpty.gif\";\n",
+    "      ANIMATION_IMG3 == \"images/LiftOpen.gif\";\n",
+    "      ANIMATION_IMG4 == \"images/LiftClosed.gif\";\n",
+    "      ANIMATION_IMG5 == \"images/up_arrow.gif\";\n",
+    "      ANIMATION_IMG6 == \"images/down_arrow.gif\";\n",
+    "      ANIMATION_RIGHT_CLICK(J,r) ==\n",
+    "               IF J=2 THEN\n",
+    "                push_call_button(topf-r+groundf)\n",
+    "               ELSIF J=1 THEN\n",
+    "                 CHOICE open_door OR close_door OR move_up OR move_down OR\n",
+    "                        reverse_lift_up OR reverse_lift_down\n",
+    "                 END\n",
+    "               END;\n",
+    "CONSTANTS groundf,topf\n",
+    "PROPERTIES\n",
+    "  topf : INTEGER & groundf : INTEGER & (groundf = -1) & (topf = 2) & (groundf < topf)\n",
+    "VARIABLES call_buttons,cur_floor,direction_up,door_open\n",
+    "INVARIANT\n",
+    "       cur_floor : (groundf .. topf) & \n",
+    "       door_open : BOOL & \n",
+    "       call_buttons : POW(groundf .. topf) &\n",
+    "       direction_up : BOOL &\n",
+    "       (door_open = TRUE => cur_floor : call_buttons)\n",
+    "INITIALISATION cur_floor := (groundf) || door_open := FALSE || call_buttons := ({}) || direction_up := TRUE\n",
+    "OPERATIONS\n",
+    " move_up = SELECT door_open = FALSE & cur_floor < topf & direction_up = TRUE &\n",
+    "             # c.((c : INTEGER) & ((c : INTEGER) & (c > cur_floor) & (c : call_buttons))) &\n",
+    "            (cur_floor /: call_buttons) THEN\n",
+    "   cur_floor := ((cur_floor)+(1))\n",
+    " END ;\n",
+    " move_down = SELECT door_open = FALSE & cur_floor > groundf & (direction_up = FALSE) &\n",
+    "       # cu.((cu : INTEGER) & ((cu : INTEGER) & (cu < cur_floor) & (cu : call_buttons))) &\n",
+    "      (cur_floor /: call_buttons) THEN\n",
+    "   cur_floor := ((cur_floor)-(1))\n",
+    " END ;\n",
+    " reverse_lift_up = SELECT direction_up = FALSE & door_open = FALSE &\n",
+    "   # c.((c : INTEGER) & ((c : INTEGER) & (c > cur_floor) & (c : call_buttons))) & \n",
+    "   ! l.((l : INTEGER) => (((l : INTEGER) & (l <= cur_floor) & (l >= groundf)) => (l /: call_buttons))) THEN\n",
+    "   direction_up := TRUE\n",
+    " END ;\n",
+    " reverse_lift_down = SELECT direction_up = TRUE & door_open = FALSE & \n",
+    "  # cd.(cd : INTEGER & ((cd : INTEGER) & (cd < cur_floor) & (cd : call_buttons))) & \n",
+    "  ! u.(u : INTEGER => (((u : INTEGER) & (u >= cur_floor) & (u <= topf)) => (u /: call_buttons))) THEN\n",
+    "  direction_up := FALSE\n",
+    " END ;\n",
+    " open_door = SELECT door_open = FALSE & (cur_floor : call_buttons) THEN\n",
+    "    door_open := TRUE\n",
+    " END ;\n",
+    " close_door = SELECT door_open = TRUE THEN\n",
+    "    door_open := FALSE || call_buttons := ((call_buttons)\\({cur_floor}))\n",
+    " END ;\n",
+    " push_call_button(floor) = SELECT (floor : (groundf .. topf)) & (floor /: call_buttons) THEN \n",
+    "     call_buttons := ((call_buttons)\\/({floor}))\n",
+    " END \n",
+    "END"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 59,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "```\n",
+       ":show\n",
+       "```\n",
+       "\n",
+       "Show the machine's animation function visualisation for the current state.\n",
+       "\n",
+       "The visualisation is static, any defined right-click options cannot be viewed or used."
+      ],
+      "text/plain": [
+       ":show\n",
+       "Show the machine's animation function visualisation for the current state.\n",
+       "\n",
+       "The visualisation is static, any defined right-click options cannot be viewed or used."
+      ]
+     },
+     "execution_count": 59,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":help :show"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 60,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Machine constants set up using operation 0: $setup_constants()"
+      ]
+     },
+     "execution_count": 60,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":constants"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 61,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Machine initialised using operation 1: $initialise_machine()"
+      ]
+     },
+     "execution_count": 61,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":init"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 62,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "<table style=\"font-family:monospace\"><tbody>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"2\" src=\"images/LiftEmpty.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/CallButtonOff.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"2\" src=\"images/LiftEmpty.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/CallButtonOff.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"2\" src=\"images/LiftEmpty.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/CallButtonOff.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"4\" src=\"images/LiftClosed.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/CallButtonOff.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"5\" src=\"images/up_arrow.gif\"/></td>\n",
+       "<td style=\"padding:0px\"></td>\n",
+       "</tr>\n",
+       "</tbody></table>"
+      ],
+      "text/plain": [
+       "<Animation function visualisation>"
+      ]
+     },
+     "execution_count": 62,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":show"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 63,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Machine: Lift0\n",
+       "Sets: (none)\n",
+       "Constants: groundf, topf\n",
+       "Variables: call_buttons, cur_floor, direction_up, door_open\n",
+       "Operations: \n",
+       "push_call_button(-1)\n",
+       "push_call_button(0)\n",
+       "push_call_button(1)\n",
+       "push_call_button(2)"
+      ]
+     },
+     "execution_count": 63,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":browse"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 64,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Executed operation: push_call_button(-1)"
+      ]
+     },
+     "execution_count": 64,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":exec push_call_button floor=-1"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 65,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "<table style=\"font-family:monospace\"><tbody>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"2\" src=\"images/LiftEmpty.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/CallButtonOff.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"2\" src=\"images/LiftEmpty.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/CallButtonOff.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"2\" src=\"images/LiftEmpty.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/CallButtonOff.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"4\" src=\"images/LiftClosed.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/CallButtonOn.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"5\" src=\"images/up_arrow.gif\"/></td>\n",
+       "<td style=\"padding:0px\"></td>\n",
+       "</tr>\n",
+       "</tbody></table>"
+      ],
+      "text/plain": [
+       "<Animation function visualisation>"
+      ]
+     },
+     "execution_count": 65,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":show"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 66,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Executed operation: open_door()"
+      ]
+     },
+     "execution_count": 66,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":exec open_door"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 67,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "<table style=\"font-family:monospace\"><tbody>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"2\" src=\"images/LiftEmpty.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/CallButtonOff.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"2\" src=\"images/LiftEmpty.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/CallButtonOff.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"2\" src=\"images/LiftEmpty.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/CallButtonOff.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"3\" src=\"images/LiftOpen.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/CallButtonOn.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"5\" src=\"images/up_arrow.gif\"/></td>\n",
+       "<td style=\"padding:0px\"></td>\n",
+       "</tr>\n",
+       "</tbody></table>"
+      ],
+      "text/plain": [
+       "<Animation function visualisation>"
+      ]
+     },
+     "execution_count": 67,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":show"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 68,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Executed operation: close_door()"
+      ]
+     },
+     "execution_count": 68,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":exec close_door"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 69,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "<table style=\"font-family:monospace\"><tbody>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"2\" src=\"images/LiftEmpty.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/CallButtonOff.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"2\" src=\"images/LiftEmpty.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/CallButtonOff.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"2\" src=\"images/LiftEmpty.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/CallButtonOff.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"4\" src=\"images/LiftClosed.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/CallButtonOff.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"5\" src=\"images/up_arrow.gif\"/></td>\n",
+       "<td style=\"padding:0px\"></td>\n",
+       "</tr>\n",
+       "</tbody></table>"
+      ],
+      "text/plain": [
+       "<Animation function visualisation>"
+      ]
+     },
+     "execution_count": 69,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":show"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 70,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Machine: Lift0\n",
+       "Sets: (none)\n",
+       "Constants: groundf, topf\n",
+       "Variables: call_buttons, cur_floor, direction_up, door_open\n",
+       "Operations: \n",
+       "push_call_button(-1)\n",
+       "push_call_button(0)\n",
+       "push_call_button(1)\n",
+       "push_call_button(2)"
+      ]
+     },
+     "execution_count": 70,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":browse"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 71,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Executed operation: push_call_button(1)"
+      ]
+     },
+     "execution_count": 71,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":exec push_call_button floor=1"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 72,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "<table style=\"font-family:monospace\"><tbody>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"2\" src=\"images/LiftEmpty.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/CallButtonOff.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"2\" src=\"images/LiftEmpty.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/CallButtonOn.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"2\" src=\"images/LiftEmpty.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/CallButtonOff.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"4\" src=\"images/LiftClosed.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/CallButtonOff.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"5\" src=\"images/up_arrow.gif\"/></td>\n",
+       "<td style=\"padding:0px\"></td>\n",
+       "</tr>\n",
+       "</tbody></table>"
+      ],
+      "text/plain": [
+       "<Animation function visualisation>"
+      ]
+     },
+     "execution_count": 72,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":show"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 73,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Executed operation: move_up()"
+      ]
+     },
+     "execution_count": 73,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":exec move_up"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 74,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "<table style=\"font-family:monospace\"><tbody>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"2\" src=\"images/LiftEmpty.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/CallButtonOff.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"2\" src=\"images/LiftEmpty.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/CallButtonOn.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"4\" src=\"images/LiftClosed.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/CallButtonOff.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"2\" src=\"images/LiftEmpty.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/CallButtonOff.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"5\" src=\"images/up_arrow.gif\"/></td>\n",
+       "<td style=\"padding:0px\"></td>\n",
+       "</tr>\n",
+       "</tbody></table>"
+      ],
+      "text/plain": [
+       "<Animation function visualisation>"
+      ]
+     },
+     "execution_count": 74,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":show"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "This concludes the overview over the ProB jupyter notebook kernel."
+   ]
+  }
+ ],
+ "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/Bridges_Puzzle.ipynb b/Bridges_Puzzle.ipynb
new file mode 100644
index 0000000..be83afa
--- /dev/null
+++ b/Bridges_Puzzle.ipynb
@@ -0,0 +1,612 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# Bridges Puzzle (Hashiwokakero)\n",
+    "\n",
+    "\n",
+    "The [Hashiwokakero](https://en.wikipedia.org/wiki/Hashiwokakero) Puzzle is a logical puzzle where one has to build bridges between islands. The puzzle is also known under the name Ai-Ki-Ai. The puzzles can also be [played online](http://www.puzzle-bridges.com).\n",
+    "\n",
+    "The requirements for this puzzle are as follows:\n",
+    "\n",
+    "* the goal is to build bridges between islands so as to generate a connected graph\n",
+    "* every island has a number on it, indicating exactly how many bridges should be linked with the island\n",
+    "* there is an upper bound (MAXBRIDGES) on the number of bridges that can be built-between two islands\n",
+    "* bridges cannot cross each other\n",
+    "\n",
+    "A B model for this puzzle can be found below. The constants and sets of the model are as follows:\n",
+    "\n",
+    "* N are the nodes (islands); we have added a constant ignore where one can stipulate which islands should be ignored in this puzzle\n",
+    "* nl (number of links) stipulates for each island how many bridges it should be linked with\n",
+    "* xc, yc are the x- and y-coordinates for every island\n",
+    "\n",
+    "A simple puzzle with four islands would be defined as follows, assuming\n",
+    "the basic set N is defined as `N = {a,b,c,d,e,f,g,h,i,j,k,l,m,n}`:\n",
+    "\n",
+    "~~~~\n",
+    " xc(a)=0 & xc(b)=1 & xc(c)=0 & xc(d) = 1 &\n",
+    " yc(a)=0 & yc(b)=0 & yc(c)=1 & yc(d) = 1 &\n",
+    " nl = {a|->2, b|->2, c|->2, d|->2} &\n",
+    " ignore = {e,f,g,h,i,j,k,l,m,n}\n",
+    "~~~~\n",
+    "\n",
+    "Below we will use a more complicated puzzle to illustrate the B model.\n",
+    "\n",
+    "The model then contains the following derived constants:\n",
+    "\n",
+    "* plx,ply: the possible links between islands on the x- and y-axis respectively\n",
+    "* pl: the possible links both on the x- and y-axis combined\n",
+    "* cs: the conflict set of links which overlap, i.e., one cannot build bridges on both links (a,b) when the pair (a,b) is in cs\n",
+    "* connected: the set of links on which at least one bridge was built\n",
+    "\n",
+    "The model also sets up the goal constant `sol` which maps every link in `pl` to a number indicating how many bridges are built on it. The model also stipulates that the graph set up by connected generates a fully connected graph.\n",
+    "\n",
+    "If you need help or want to find out more about jupyter notebook functionalities type in `:help` and `:help COMMAND` for an overview of the commands and a more detailed information about the command."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 1,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Loaded machine: Bridges"
+      ]
+     },
+     "execution_count": 1,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "::load DOT=/usr/bin/dot\n",
+    "MACHINE Bridges\n",
+    "DEFINITIONS\n",
+    " MAXBRIDGES==2;\n",
+    " LINKS == 1..(MAXBRIDGES*4);\n",
+    " COORD == 0..10;\n",
+    " p1 == prj1(nodes,nodes);\n",
+    " p2 == prj2(nodes,nodes);\n",
+    " p1i == prj1(nodes,INTEGER)\n",
+    "SETS\n",
+    " N = {a,b,c,d,e,f,g,h,i,j,k,l,m,n}\n",
+    "CONSTANTS nodes, ignore, nl, xc,yc, plx,ply,pl, cs, sol, connected\n",
+    "PROPERTIES\n",
+    " nodes = N \\ ignore &\n",
+    " // target number of links per node:\n",
+    " nl : nodes --> LINKS & /* number of links */\n",
+    "\n",
+    "// coordinates of nodes\n",
+    " xc: nodes --> COORD & yc: nodes --> COORD &\n",
+    "\n",
+    "// possible links:\n",
+    " pl : nodes <-> nodes &\n",
+    " plx : nodes <-> nodes &\n",
+    " ply : nodes <-> nodes &\n",
+    "\n",
+    " plx = {n1,n2 | xc(n1)=xc(n2) & n1 /= n2 & yc(n2)>yc(n1) &\n",
+    "        !n3.(xc(n3)=xc(n1) => yc(n3) /: yc(n1)+1..yc(n2)-1) } &\n",
+    " ply =  {n1,n2 | yc(n1)=yc(n2) & n1 /= n2 & xc(n2)>xc(n1) &\n",
+    "        !n3.(yc(n3)=yc(n1) => xc(n3) /: xc(n1)+1..xc(n2)-1)} &\n",
+    " pl = plx \\/ ply &\n",
+    " \n",
+    "// compute conflict set (assumes xc,yc coordinates ordered in plx,ply)\n",
+    "cs = {pl1,pl2 | pl1:plx & pl2:ply &\n",
+    "                xc(p1(pl1)): xc(p1(pl2))+1..xc(p2(pl2))-1 &\n",
+    "                yc(p1(pl2)): yc(p1(pl1))+1..yc(p2(pl1))-1} &\n",
+    "\n",
+    "sol : pl --> 0..MAXBRIDGES &\n",
+    "!nn.(nn:nodes => SIGMA(l).(l:pl &\n",
+    "   (p1(l)=nn or p2(l)=nn)|sol(l))=nl(nn)) &\n",
+    "\n",
+    "!(pl1,pl2).( (pl1,pl2):cs => sol(pl1)=0 or sol(pl2)=0) & // no conflicts\n",
+    "\n",
+    "// check graph connected\n",
+    " connected = {pl|sol(pl)>0} &\n",
+    " closure1(connected \\/ connected~)[{a}] = {nn|nn:nodes & nl(nn)>0} &\n",
+    " \n",
+    "// encoding of puzzle\n",
+    "// A puzzle from bridges.png\n",
+    " xc(a)=1 & yc(a)=1 & nl(a)=4 &\n",
+    " xc(b)=1 & yc(b)=4 & nl(b)=6 &\n",
+    " xc(c)=1 & yc(c)=6 & nl(c)=3 &\n",
+    "\n",
+    " xc(d)=2 & yc(d)=2 & nl(d)=1 &\n",
+    " xc(e)=2 & yc(e)=5 & nl(e)=2 &\n",
+    "\n",
+    " xc(f)=3 & yc(f)=2 & nl(f)=4 &\n",
+    " xc(g)=3 & yc(g)=4 & nl(g)=6 &\n",
+    " xc(h)=3 & yc(h)=5 & nl(h)=4 &\n",
+    "\n",
+    " xc(i)=4 & yc(i)=3 & nl(i)=3 &\n",
+    " xc(j)=4 & yc(j)=6 & nl(j)=3 &\n",
+    "\n",
+    " xc(k)=5 & yc(k)=2 & nl(k)=1 &\n",
+    "\n",
+    " xc(l)=6 & yc(l)=1 & nl(l)=4 &\n",
+    " xc(m)=6 & yc(m)=3 & nl(m)=5 &\n",
+    " xc(n)=6 & yc(n)=5 & nl(n)=2 &\n",
+    " ignore = {}\n",
+    "\n",
+    "END"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 2,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Machine constants set up using operation 0: $setup_constants()"
+      ]
+     },
+     "execution_count": 2,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":constants"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 3,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Machine initialised using operation 1: $initialise_machine()"
+      ]
+     },
+     "execution_count": 3,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":init"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "After setting the constants and initialising the machine with the above commands, one can see that the solution for this puzzle, which is saved in `sol`, is the following:\n",
+    "\n",
+    "(Simply type in `sol` to get the value for it.)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 4,
+   "metadata": {
+    "scrolled": true
+   },
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "$\\{(\\mathit{a}\\mapsto \\mathit{b}\\mapsto 2),(\\mathit{a}\\mapsto \\mathit{l}\\mapsto 2),(\\mathit{b}\\mapsto \\mathit{c}\\mapsto 2),(\\mathit{b}\\mapsto \\mathit{g}\\mapsto 2),(\\mathit{c}\\mapsto \\mathit{j}\\mapsto 1),(\\mathit{d}\\mapsto \\mathit{e}\\mapsto 0),(\\mathit{d}\\mapsto \\mathit{f}\\mapsto 1),(\\mathit{e}\\mapsto \\mathit{h}\\mapsto 2),(\\mathit{f}\\mapsto \\mathit{g}\\mapsto 2),(\\mathit{f}\\mapsto \\mathit{k}\\mapsto 1),(\\mathit{g}\\mapsto \\mathit{h}\\mapsto 2),(\\mathit{h}\\mapsto \\mathit{n}\\mapsto 0),(\\mathit{i}\\mapsto \\mathit{j}\\mapsto 2),(\\mathit{i}\\mapsto \\mathit{m}\\mapsto 1),(\\mathit{l}\\mapsto \\mathit{m}\\mapsto 2),(\\mathit{m}\\mapsto \\mathit{n}\\mapsto 2)\\}$"
+      ],
+      "text/plain": [
+       "{(a↦b↦2),(a↦l↦2),(b↦c↦2),(b↦g↦2),(c↦j↦1),(d↦e↦0),(d↦f↦1),(e↦h↦2),(f↦g↦2),(f↦k↦1),(g↦h↦2),(h↦n↦0),(i↦j↦2),(i↦m↦1),(l↦m↦2),(m↦n↦2)}"
+      ]
+     },
+     "execution_count": 4,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "sol"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Adding Graphical Visualisation\n",
+    "\n",
+    "To show the solution graphically, we can add the following to the\n",
+    "`DEFINITIONS` clause in the model:\n",
+    "\n",
+    "~~~~\n",
+    " CUSTOM_GRAPH_NODES == {n,w,w2|(n|->w):nl & w=w2}; // %n1.(n1:nodes|nl(n1));\n",
+    " CUSTOM_GRAPH_EDGES == {n1,w,n2|n1:nl & n2:nl &  (p1i(n1),p1i(n2),w):sol}\n",
+    "~~~~"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 5,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Loaded machine: Bridges"
+      ]
+     },
+     "execution_count": 5,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "::load DOT=/usr/bin/dot\n",
+    "MACHINE Bridges\n",
+    "DEFINITIONS\n",
+    " MAXBRIDGES==2;\n",
+    " LINKS == 1..(MAXBRIDGES*4);\n",
+    " COORD == 0..10;\n",
+    " p1 == prj1(nodes,nodes);\n",
+    " p2 == prj2(nodes,nodes);\n",
+    " p1i == prj1(nodes,INTEGER);\n",
+    " CUSTOM_GRAPH_NODES == {n,w,w2|(n|->w):nl & w=w2}; // %n1.(n1:nodes|nl(n1));\n",
+    " CUSTOM_GRAPH_EDGES == {n1,w,n2|n1:nl & n2:nl &  (p1i(n1),p1i(n2),w):sol}\n",
+    "SETS\n",
+    " N = {a,b,c,d,e,f,g,h,i,j,k,l,m,n}\n",
+    "CONSTANTS nodes, ignore, nl, xc,yc, plx,ply,pl, cs, sol, connected\n",
+    "PROPERTIES\n",
+    " nodes = N \\ ignore &\n",
+    " // target number of links per node:\n",
+    " nl : nodes --> LINKS & /* number of links */\n",
+    "\n",
+    "// coordinates of nodes\n",
+    " xc: nodes --> COORD & yc: nodes --> COORD &\n",
+    "\n",
+    "// possible links:\n",
+    " pl : nodes <-> nodes &\n",
+    " plx : nodes <-> nodes &\n",
+    " ply : nodes <-> nodes &\n",
+    "\n",
+    " plx = {n1,n2 | xc(n1)=xc(n2) & n1 /= n2 & yc(n2)>yc(n1) &\n",
+    "        !n3.(xc(n3)=xc(n1) => yc(n3) /: yc(n1)+1..yc(n2)-1) } &\n",
+    " ply =  {n1,n2 | yc(n1)=yc(n2) & n1 /= n2 & xc(n2)>xc(n1) &\n",
+    "        !n3.(yc(n3)=yc(n1) => xc(n3) /: xc(n1)+1..xc(n2)-1)} &\n",
+    " pl = plx \\/ ply &\n",
+    " \n",
+    "// compute conflict set (assumes xc,yc coordinates ordered in plx,ply)\n",
+    "cs = {pl1,pl2 | pl1:plx & pl2:ply &\n",
+    "                xc(p1(pl1)): xc(p1(pl2))+1..xc(p2(pl2))-1 &\n",
+    "                yc(p1(pl2)): yc(p1(pl1))+1..yc(p2(pl1))-1} &\n",
+    "\n",
+    "sol : pl --> 0..MAXBRIDGES &\n",
+    "!nn.(nn:nodes => SIGMA(l).(l:pl &\n",
+    "   (p1(l)=nn or p2(l)=nn)|sol(l))=nl(nn)) &\n",
+    "\n",
+    "!(pl1,pl2).( (pl1,pl2):cs => sol(pl1)=0 or sol(pl2)=0) & // no conflicts\n",
+    "\n",
+    "// check graph connected\n",
+    " connected = {pl|sol(pl)>0} &\n",
+    " closure1(connected \\/ connected~)[{a}] = {nn|nn:nodes & nl(nn)>0} &\n",
+    " \n",
+    "// encoding of puzzle\n",
+    "// A puzzle from bridges.png\n",
+    " xc(a)=1 & yc(a)=1 & nl(a)=4 &\n",
+    " xc(b)=1 & yc(b)=4 & nl(b)=6 &\n",
+    " xc(c)=1 & yc(c)=6 & nl(c)=3 &\n",
+    "\n",
+    " xc(d)=2 & yc(d)=2 & nl(d)=1 &\n",
+    " xc(e)=2 & yc(e)=5 & nl(e)=2 &\n",
+    "\n",
+    " xc(f)=3 & yc(f)=2 & nl(f)=4 &\n",
+    " xc(g)=3 & yc(g)=4 & nl(g)=6 &\n",
+    " xc(h)=3 & yc(h)=5 & nl(h)=4 &\n",
+    "\n",
+    " xc(i)=4 & yc(i)=3 & nl(i)=3 &\n",
+    " xc(j)=4 & yc(j)=6 & nl(j)=3 &\n",
+    "\n",
+    " xc(k)=5 & yc(k)=2 & nl(k)=1 &\n",
+    "\n",
+    " xc(l)=6 & yc(l)=1 & nl(l)=4 &\n",
+    " xc(m)=6 & yc(m)=3 & nl(m)=5 &\n",
+    " xc(n)=6 & yc(n)=5 & nl(n)=2 &\n",
+    " ignore = {}\n",
+    "\n",
+    "END"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 6,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Machine constants set up using operation 0: $setup_constants()"
+      ]
+     },
+     "execution_count": 6,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":constants"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 7,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Machine initialised using operation 1: $initialise_machine()"
+      ]
+     },
+     "execution_count": 7,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":init"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "One can then initialise the model, as above and the execute the command `:dot custom_graph`. This leads to the following picture:"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 8,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "image/svg+xml": [
+       "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
+       "<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
+       " \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
+       "<!-- Generated by graphviz version 2.40.1 (20161225.0304)\n",
+       " -->\n",
+       "<!-- Title: prob_graph Pages: 1 -->\n",
+       "<svg width=\"540pt\" height=\"717pt\"\n",
+       " viewBox=\"0.00 0.00 540.00 717.37\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
+       "<g id=\"graph0\" class=\"graph\" transform=\"scale(.9854 .9854) rotate(0) translate(4 724)\">\n",
+       "<title>prob_graph</title>\n",
+       "<polygon fill=\"#ffffff\" stroke=\"transparent\" points=\"-4,4 -4,-724 544,-724 544,4 -4,4\"/>\n",
+       "<!-- 0 -->\n",
+       "<g id=\"node1\" class=\"node\">\n",
+       "<title>0</title>\n",
+       "<polygon fill=\"#d3d3d3\" stroke=\"#d3d3d3\" points=\"145.4659,-698 91.4659,-698 91.4659,-662 145.4659,-662 145.4659,-698\"/>\n",
+       "<text text-anchor=\"middle\" x=\"118.4659\" y=\"-676.9\" font-family=\"Times,serif\" font-size=\"12.00\" fill=\"#000000\">(a|&#45;&gt;4)</text>\n",
+       "</g>\n",
+       "<!-- 1 -->\n",
+       "<g id=\"node2\" class=\"node\">\n",
+       "<title>1</title>\n",
+       "<polygon fill=\"#ffff00\" stroke=\"#ffff00\" points=\"220.4659,-538 166.4659,-538 166.4659,-502 220.4659,-502 220.4659,-538\"/>\n",
+       "<text text-anchor=\"middle\" x=\"193.4659\" y=\"-516.9\" font-family=\"Times,serif\" font-size=\"12.00\" fill=\"#000000\">(b|&#45;&gt;6)</text>\n",
+       "</g>\n",
+       "<!-- 0&#45;&gt;1 -->\n",
+       "<g id=\"edge1\" class=\"edge\">\n",
+       "<title>0&#45;&gt;1</title>\n",
+       "<path fill=\"none\" stroke=\"#ff0000\" d=\"M126.9236,-661.957C139.9775,-634.1086 165.1293,-580.4514 180.4941,-547.6731\"/>\n",
+       "<polygon fill=\"#ff0000\" stroke=\"#ff0000\" points=\"183.8488,-548.7627 184.9241,-538.2226 177.5106,-545.7916 183.8488,-548.7627\"/>\n",
+       "</g>\n",
+       "<!-- 11 -->\n",
+       "<g id=\"node12\" class=\"node\">\n",
+       "<title>11</title>\n",
+       "<polygon fill=\"#d3d3d3\" stroke=\"#d3d3d3\" points=\"68.4659,-538 14.4659,-538 14.4659,-502 68.4659,-502 68.4659,-538\"/>\n",
+       "<text text-anchor=\"middle\" x=\"41.4659\" y=\"-516.9\" font-family=\"Times,serif\" font-size=\"12.00\" fill=\"#000000\">(l|&#45;&gt;4)</text>\n",
+       "</g>\n",
+       "<!-- 0&#45;&gt;11 -->\n",
+       "<g id=\"edge2\" class=\"edge\">\n",
+       "<title>0&#45;&gt;11</title>\n",
+       "<path fill=\"none\" stroke=\"#ff0000\" d=\"M109.7827,-661.957C96.3229,-633.9886 70.3353,-579.9884 54.5802,-547.2504\"/>\n",
+       "<polygon fill=\"#ff0000\" stroke=\"#ff0000\" points=\"57.7258,-545.7156 50.2355,-538.2226 51.4182,-548.7512 57.7258,-545.7156\"/>\n",
+       "</g>\n",
+       "<!-- 2 -->\n",
+       "<g id=\"node3\" class=\"node\">\n",
+       "<title>2</title>\n",
+       "<polygon fill=\"#00ff00\" stroke=\"#00ff00\" points=\"220.4659,-378 166.4659,-378 166.4659,-342 220.4659,-342 220.4659,-378\"/>\n",
+       "<text text-anchor=\"middle\" x=\"193.4659\" y=\"-356.9\" font-family=\"Times,serif\" font-size=\"12.00\" fill=\"#000000\">(c|&#45;&gt;3)</text>\n",
+       "</g>\n",
+       "<!-- 1&#45;&gt;2 -->\n",
+       "<g id=\"edge3\" class=\"edge\">\n",
+       "<title>1&#45;&gt;2</title>\n",
+       "<path fill=\"none\" stroke=\"#ff0000\" d=\"M193.4659,-501.957C193.4659,-474.3487 193.4659,-421.3746 193.4659,-388.5255\"/>\n",
+       "<polygon fill=\"#ff0000\" stroke=\"#ff0000\" points=\"196.966,-388.2225 193.4659,-378.2226 189.966,-388.2226 196.966,-388.2225\"/>\n",
+       "</g>\n",
+       "<!-- 6 -->\n",
+       "<g id=\"node7\" class=\"node\">\n",
+       "<title>6</title>\n",
+       "<polygon fill=\"#ffff00\" stroke=\"#ffff00\" points=\"330.4659,-378 276.4659,-378 276.4659,-342 330.4659,-342 330.4659,-378\"/>\n",
+       "<text text-anchor=\"middle\" x=\"303.4659\" y=\"-356.9\" font-family=\"Times,serif\" font-size=\"12.00\" fill=\"#000000\">(g|&#45;&gt;6)</text>\n",
+       "</g>\n",
+       "<!-- 1&#45;&gt;6 -->\n",
+       "<g id=\"edge4\" class=\"edge\">\n",
+       "<title>1&#45;&gt;6</title>\n",
+       "<path fill=\"none\" stroke=\"#ff0000\" d=\"M205.8705,-501.957C225.1813,-473.8685 262.5429,-419.5244 285.0202,-386.8301\"/>\n",
+       "<polygon fill=\"#ff0000\" stroke=\"#ff0000\" points=\"288.1567,-388.4459 290.9379,-378.2226 282.3884,-384.4801 288.1567,-388.4459\"/>\n",
+       "</g>\n",
+       "<!-- 9 -->\n",
+       "<g id=\"node10\" class=\"node\">\n",
+       "<title>9</title>\n",
+       "<polygon fill=\"#00ff00\" stroke=\"#00ff00\" points=\"220.4659,-218 166.4659,-218 166.4659,-182 220.4659,-182 220.4659,-218\"/>\n",
+       "<text text-anchor=\"middle\" x=\"193.4659\" y=\"-196.9\" font-family=\"Times,serif\" font-size=\"12.00\" fill=\"#000000\">(j|&#45;&gt;3)</text>\n",
+       "</g>\n",
+       "<!-- 2&#45;&gt;9 -->\n",
+       "<g id=\"edge5\" class=\"edge\">\n",
+       "<title>2&#45;&gt;9</title>\n",
+       "<path fill=\"none\" stroke=\"#0000ff\" d=\"M193.4659,-341.957C193.4659,-314.3487 193.4659,-261.3746 193.4659,-228.5255\"/>\n",
+       "<polygon fill=\"#0000ff\" stroke=\"#0000ff\" points=\"196.966,-228.2225 193.4659,-218.2226 189.966,-228.2226 196.966,-228.2225\"/>\n",
+       "</g>\n",
+       "<!-- 3 -->\n",
+       "<g id=\"node4\" class=\"node\">\n",
+       "<title>3</title>\n",
+       "<polygon fill=\"#0000ff\" stroke=\"#0000ff\" points=\"470.4659,-698 416.4659,-698 416.4659,-662 470.4659,-662 470.4659,-698\"/>\n",
+       "<text text-anchor=\"middle\" x=\"443.4659\" y=\"-676.9\" font-family=\"Times,serif\" font-size=\"12.00\" fill=\"#000000\">(d|&#45;&gt;1)</text>\n",
+       "</g>\n",
+       "<!-- 4 -->\n",
+       "<g id=\"node5\" class=\"node\">\n",
+       "<title>4</title>\n",
+       "<polygon fill=\"#ff0000\" stroke=\"#ff0000\" points=\"525.4659,-538 471.4659,-538 471.4659,-502 525.4659,-502 525.4659,-538\"/>\n",
+       "<text text-anchor=\"middle\" x=\"498.4659\" y=\"-516.9\" font-family=\"Times,serif\" font-size=\"12.00\" fill=\"#000000\">(e|&#45;&gt;2)</text>\n",
+       "</g>\n",
+       "<!-- 3&#45;&gt;4 -->\n",
+       "<g id=\"edge6\" class=\"edge\">\n",
+       "<title>3&#45;&gt;4</title>\n",
+       "<path fill=\"none\" stroke=\"#f2f2f2\" d=\"M449.6682,-661.957C459.1998,-634.2286 477.5269,-580.9135 488.8072,-548.0982\"/>\n",
+       "<polygon fill=\"#f2f2f2\" stroke=\"#f2f2f2\" points=\"492.2609,-548.8172 492.2019,-538.2226 485.6411,-546.5416 492.2609,-548.8172\"/>\n",
+       "</g>\n",
+       "<!-- 5 -->\n",
+       "<g id=\"node6\" class=\"node\">\n",
+       "<title>5</title>\n",
+       "<polygon fill=\"#d3d3d3\" stroke=\"#d3d3d3\" points=\"415.4659,-538 361.4659,-538 361.4659,-502 415.4659,-502 415.4659,-538\"/>\n",
+       "<text text-anchor=\"middle\" x=\"388.4659\" y=\"-516.9\" font-family=\"Times,serif\" font-size=\"12.00\" fill=\"#000000\">(f|&#45;&gt;4)</text>\n",
+       "</g>\n",
+       "<!-- 3&#45;&gt;5 -->\n",
+       "<g id=\"edge7\" class=\"edge\">\n",
+       "<title>3&#45;&gt;5</title>\n",
+       "<path fill=\"none\" stroke=\"#0000ff\" d=\"M437.2636,-661.957C427.732,-634.2286 409.4049,-580.9135 398.1246,-548.0982\"/>\n",
+       "<polygon fill=\"#0000ff\" stroke=\"#0000ff\" points=\"401.2907,-546.5416 394.7299,-538.2226 394.6709,-548.8172 401.2907,-546.5416\"/>\n",
+       "</g>\n",
+       "<!-- 7 -->\n",
+       "<g id=\"node8\" class=\"node\">\n",
+       "<title>7</title>\n",
+       "<polygon fill=\"#d3d3d3\" stroke=\"#d3d3d3\" points=\"330.4659,-218 276.4659,-218 276.4659,-182 330.4659,-182 330.4659,-218\"/>\n",
+       "<text text-anchor=\"middle\" x=\"303.4659\" y=\"-196.9\" font-family=\"Times,serif\" font-size=\"12.00\" fill=\"#000000\">(h|&#45;&gt;4)</text>\n",
+       "</g>\n",
+       "<!-- 4&#45;&gt;7 -->\n",
+       "<g id=\"edge8\" class=\"edge\">\n",
+       "<title>4&#45;&gt;7</title>\n",
+       "<path fill=\"none\" stroke=\"#ff0000\" d=\"M496.7918,-501.8486C493.0204,-468.205 481.6125,-394.7891 450.4659,-342 421.5426,-292.979 371.1514,-249.6391 337.5509,-224.107\"/>\n",
+       "<polygon fill=\"#ff0000\" stroke=\"#ff0000\" points=\"339.498,-221.1927 329.3935,-218.0069 335.3059,-226.7986 339.498,-221.1927\"/>\n",
+       "</g>\n",
+       "<!-- 5&#45;&gt;6 -->\n",
+       "<g id=\"edge10\" class=\"edge\">\n",
+       "<title>5&#45;&gt;6</title>\n",
+       "<path fill=\"none\" stroke=\"#ff0000\" d=\"M378.8806,-501.957C364.0223,-473.9886 335.3347,-419.9884 317.9427,-387.2504\"/>\n",
+       "<polygon fill=\"#ff0000\" stroke=\"#ff0000\" points=\"320.9292,-385.4117 313.1466,-378.2226 314.7473,-388.6958 320.9292,-385.4117\"/>\n",
+       "</g>\n",
+       "<!-- 10 -->\n",
+       "<g id=\"node11\" class=\"node\">\n",
+       "<title>10</title>\n",
+       "<polygon fill=\"#0000ff\" stroke=\"#0000ff\" points=\"441.4659,-378 387.4659,-378 387.4659,-342 441.4659,-342 441.4659,-378\"/>\n",
+       "<text text-anchor=\"middle\" x=\"414.4659\" y=\"-356.9\" font-family=\"Times,serif\" font-size=\"12.00\" fill=\"#000000\">(k|&#45;&gt;1)</text>\n",
+       "</g>\n",
+       "<!-- 5&#45;&gt;10 -->\n",
+       "<g id=\"edge9\" class=\"edge\">\n",
+       "<title>5&#45;&gt;10</title>\n",
+       "<path fill=\"none\" stroke=\"#0000ff\" d=\"M391.3979,-501.957C395.9038,-474.2286 404.5675,-420.9135 409.9,-388.0982\"/>\n",
+       "<polygon fill=\"#0000ff\" stroke=\"#0000ff\" points=\"413.3554,-388.6545 411.5047,-378.2226 406.446,-387.5317 413.3554,-388.6545\"/>\n",
+       "</g>\n",
+       "<!-- 6&#45;&gt;7 -->\n",
+       "<g id=\"edge11\" class=\"edge\">\n",
+       "<title>6&#45;&gt;7</title>\n",
+       "<path fill=\"none\" stroke=\"#ff0000\" d=\"M303.4659,-341.957C303.4659,-314.3487 303.4659,-261.3746 303.4659,-228.5255\"/>\n",
+       "<polygon fill=\"#ff0000\" stroke=\"#ff0000\" points=\"306.966,-228.2225 303.4659,-218.2226 299.966,-228.2226 306.966,-228.2225\"/>\n",
+       "</g>\n",
+       "<!-- 13 -->\n",
+       "<g id=\"node14\" class=\"node\">\n",
+       "<title>13</title>\n",
+       "<polygon fill=\"#ff0000\" stroke=\"#ff0000\" points=\"220.4659,-58 166.4659,-58 166.4659,-22 220.4659,-22 220.4659,-58\"/>\n",
+       "<text text-anchor=\"middle\" x=\"193.4659\" y=\"-36.9\" font-family=\"Times,serif\" font-size=\"12.00\" fill=\"#000000\">(n|&#45;&gt;2)</text>\n",
+       "</g>\n",
+       "<!-- 7&#45;&gt;13 -->\n",
+       "<g id=\"edge12\" class=\"edge\">\n",
+       "<title>7&#45;&gt;13</title>\n",
+       "<path fill=\"none\" stroke=\"#f2f2f2\" d=\"M291.0613,-181.957C271.7505,-153.8685 234.3889,-99.5244 211.9116,-66.8301\"/>\n",
+       "<polygon fill=\"#f2f2f2\" stroke=\"#f2f2f2\" points=\"214.5434,-64.4801 205.9939,-58.2226 208.7751,-68.4459 214.5434,-64.4801\"/>\n",
+       "</g>\n",
+       "<!-- 8 -->\n",
+       "<g id=\"node9\" class=\"node\">\n",
+       "<title>8</title>\n",
+       "<polygon fill=\"#00ff00\" stroke=\"#00ff00\" points=\"109.4659,-378 55.4659,-378 55.4659,-342 109.4659,-342 109.4659,-378\"/>\n",
+       "<text text-anchor=\"middle\" x=\"82.4659\" y=\"-356.9\" font-family=\"Times,serif\" font-size=\"12.00\" fill=\"#000000\">(i|&#45;&gt;3)</text>\n",
+       "</g>\n",
+       "<!-- 8&#45;&gt;9 -->\n",
+       "<g id=\"edge14\" class=\"edge\">\n",
+       "<title>8&#45;&gt;9</title>\n",
+       "<path fill=\"none\" stroke=\"#ff0000\" d=\"M94.9833,-341.957C114.4696,-313.8685 152.1709,-259.5244 174.8525,-226.8301\"/>\n",
+       "<polygon fill=\"#ff0000\" stroke=\"#ff0000\" points=\"177.9996,-228.434 180.824,-218.2226 172.2481,-224.4439 177.9996,-228.434\"/>\n",
+       "</g>\n",
+       "<!-- 12 -->\n",
+       "<g id=\"node13\" class=\"node\">\n",
+       "<title>12</title>\n",
+       "<polygon fill=\"#ffa500\" stroke=\"#ffa500\" points=\"109.4659,-218 55.4659,-218 55.4659,-182 109.4659,-182 109.4659,-218\"/>\n",
+       "<text text-anchor=\"middle\" x=\"82.4659\" y=\"-196.9\" font-family=\"Times,serif\" font-size=\"12.00\" fill=\"#000000\">(m|&#45;&gt;5)</text>\n",
+       "</g>\n",
+       "<!-- 8&#45;&gt;12 -->\n",
+       "<g id=\"edge13\" class=\"edge\">\n",
+       "<title>8&#45;&gt;12</title>\n",
+       "<path fill=\"none\" stroke=\"#0000ff\" d=\"M82.4659,-341.957C82.4659,-314.3487 82.4659,-261.3746 82.4659,-228.5255\"/>\n",
+       "<polygon fill=\"#0000ff\" stroke=\"#0000ff\" points=\"85.966,-228.2225 82.4659,-218.2226 78.966,-228.2226 85.966,-228.2225\"/>\n",
+       "</g>\n",
+       "<!-- 11&#45;&gt;12 -->\n",
+       "<g id=\"edge15\" class=\"edge\">\n",
+       "<title>11&#45;&gt;12</title>\n",
+       "<path fill=\"none\" stroke=\"#ff0000\" d=\"M40.6692,-501.9531C39.5337,-469.6806 38.3962,-400.0254 46.4659,-342 52.0821,-301.6169 64.7818,-256.1256 73.491,-227.7602\"/>\n",
+       "<polygon fill=\"#ff0000\" stroke=\"#ff0000\" points=\"76.8596,-228.7145 76.4985,-218.1258 70.1776,-226.6285 76.8596,-228.7145\"/>\n",
+       "</g>\n",
+       "<!-- 12&#45;&gt;13 -->\n",
+       "<g id=\"edge16\" class=\"edge\">\n",
+       "<title>12&#45;&gt;13</title>\n",
+       "<path fill=\"none\" stroke=\"#ff0000\" d=\"M94.9833,-181.957C114.4696,-153.8685 152.1709,-99.5244 174.8525,-66.8301\"/>\n",
+       "<polygon fill=\"#ff0000\" stroke=\"#ff0000\" points=\"177.9996,-68.434 180.824,-58.2226 172.2481,-64.4439 177.9996,-68.434\"/>\n",
+       "</g>\n",
+       "</g>\n",
+       "</svg>"
+      ],
+      "text/plain": [
+       "<Dot visualization: custom_graph []>"
+      ]
+     },
+     "execution_count": 8,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":dot custom_graph"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    ":dot "
+   ]
+  },
+  {
+   "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/Cheryls_Birthday.ipynb b/Cheryls_Birthday.ipynb
new file mode 100644
index 0000000..060f25f
--- /dev/null
+++ b/Cheryls_Birthday.ipynb
@@ -0,0 +1,404 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# Cheryl's Birthday\n",
+    "\n",
+    "This Puzzle is a variation of another Puzzle (Sum and Product) and has\n",
+    "been described\n",
+    "in a New York Times article(http://www.nytimes.com/2015/04/15/science/a-math-problem-from-singapore-goes-viral-when-is-cheryls-birthday.html).\n",
+    "\n",
+    "Here is a first solution in B, where the text of the puzzle has been\n",
+    "integrated as comments. There are almost certainly more elegant\n",
+    "encodings of the problem in B.\n",
+    "\n",
+    "In case you are new to B, you probably need to know the following\n",
+    "operators to understand the specification below (we als have a\n",
+    "<<summary-of-b-syntax,summary page about the B syntax>>):\n",
+    "\n",
+    "* `x : S` specifies that x is an element of S\n",
+    "* `dom(r)` is the domain of a function or relation r\n",
+    "* `r~` is the inverse of a function or relation r\n",
+    "* `r[S]` is the relational image of a relation r for a set of domain values S\n",
+    "* `card(S)` is the cardinality of a set S\n",
+    "* `a|->b` represents the pair (a,b); note that a relation and function in B is a set of pairs.\n",
+    "* `!x.(P => Q)` denotes universal quantification over variable x\n",
+    "\n",
+    "In case you are new to using the jupyter notebook, simply type in `:help` to get an overview over the full range of options you have with the ProB core."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 1,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Loaded machine: CherylsBirthday"
+      ]
+     },
+     "execution_count": 1,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "::load\n",
+    "MACHINE CherylsBirthday\n",
+    "/* A simplified version of the SumProduct Puzzle taken from\n",
+    " http://www.nytimes.com/2015/04/15/science/a-math-problem-from-singapore-goes-viral-when-is-cheryls-birthday.html\n",
+    "*/\n",
+    "DEFINITIONS\n",
+    "  DontKnowFromDay(PossDates,KDay) == card(PossDates~[{KDay}]) > 1;\n",
+    "  KnowFromDay(PossDates,KDay) == card(PossDates~[{KDay}]) = 1\n",
+    "CONSTANTS Month, Day, PD, PD2\n",
+    "PROPERTIES\n",
+    "  /* Albert and Bernard just met Cheryl. “When’s your birthday?” Albert asked Cheryl.*/\n",
+    "  Month:STRING & Day:1..31 &\n",
+    "\n",
+    "  /* Cheryl thought a second and said, “I’m not going to tell you, but I’ll give you some clues.” She wrote down a list of 10 dates: */\n",
+    " PD = {(\"aug\"|->14),(\"aug\"|->15),(\"aug\"|->17),\n",
+    "       (\"july\"|->14),(\"july\"|->16),(\"june\"|->17),(\"june\"|->18),\n",
+    "       (\"may\"|->15),(\"may\"|->16),(\"may\"|->19)}\n",
+    " &\n",
+    " /*\n",
+    "Then Cheryl whispered in Albert’s ear the month — and only the month — of her birthday.\n",
+    "To Bernard, she whispered the day, and only the day.\n",
+    "*/\n",
+    "  Month : dom(PD) &\n",
+    "  Day : ran(PD) &\n",
+    "  Month|->Day : PD &\n",
+    "\n",
+    " /* Albert: I don’t know when your birthday is, */\n",
+    " card(PD[{Month}]) > 1 &\n",
+    " /* but I know Bernard doesn’t know, either. */\n",
+    " !x.(x:PD[{Month}] => DontKnowFromDay(PD,x) ) &\n",
+    "\n",
+    " /* Bernard: I didn’t know originally, */\n",
+    "  DontKnowFromDay(PD,Day) &\n",
+    " /* but now I do. */\n",
+    "  PD2 = {m,d| (m|->d):PD &  !x.(x:PD[{m}] => DontKnowFromDay(PD,x) ) } &\n",
+    "  KnowFromDay(PD2,Day) &\n",
+    "\n",
+    "  /* Albert: Well, now I know, too! */\n",
+    "   card({d|Month|->d : PD2 & KnowFromDay(PD2,d)})=1\n",
+    "\n",
+    "ASSERTIONS /* single solution found by ProB */\n",
+    "  Month = \"july\";\n",
+    "  Day = 16\n",
+    "END"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "After loading this B machine, you will see that there is only a single solution (solving time 20-30 ms) : `Month = \"july\"` and `Day = 16`.\n",
+    "\n",
+    "With jupyter notebook, you have to type in `:constants` to set up the models constants. \n",
+    "After doing that, you can use `:init` to initialise your machine."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 2,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Machine constants set up using operation 0: $setup_constants()"
+      ]
+     },
+     "execution_count": 2,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":constants"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 3,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Machine initialised using operation 1: $initialise_machine()"
+      ]
+     },
+     "execution_count": 3,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":init"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "You can check for the solution simply by typing in `Month` and `Day`. You will see, there is only one solution for this problem."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 4,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "$\\text{\"july\"}$"
+      ],
+      "text/plain": [
+       "\"july\""
+      ]
+     },
+     "execution_count": 4,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "Month"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 5,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "$16$"
+      ],
+      "text/plain": [
+       "16"
+      ]
+     },
+     "execution_count": 5,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "Day"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Using an enumerated set\n",
+    "\n",
+    "It is possible to use an enumerated set for the Months. One simply has to add:\n",
+    "\n",
+    "~~~~\n",
+    "SETS MONTHS = {may, june, july, aug, sep}\n",
+    "~~~~\n",
+    "\n",
+    "change the definition of the possible dates:\n",
+    "\n",
+    "~~~~\n",
+    "PD = {(aug|->14), (aug|->15), (aug|->17),\n",
+    "       (july|->14),(july|->16),(june|->17),\n",
+    "       (june|->18),\n",
+    "       (may|->15),(may|->16),(may|->19)}\n",
+    "~~~~\n",
+    "\n",
+    "and change the type of Month to `MONTHS`. This possible solution makes the constraint solving via ProB marginally faster."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 6,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Loaded machine: CherylsBirthday"
+      ]
+     },
+     "execution_count": 6,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "::load\n",
+    "MACHINE CherylsBirthday\n",
+    "/* A simplified version of the SumProduct Puzzle taken from\n",
+    " http://www.nytimes.com/2015/04/15/science/a-math-problem-from-singapore-goes-viral-when-is-cheryls-birthday.html\n",
+    "*/\n",
+    "DEFINITIONS\n",
+    "  DontKnowFromDay(PossDates,KDay) == card(PossDates~[{KDay}]) > 1;\n",
+    "  KnowFromDay(PossDates,KDay) == card(PossDates~[{KDay}]) = 1\n",
+    "SETS \n",
+    "  MONTHS = {may, june, july, aug, sep}\n",
+    "CONSTANTS Month, Day, PD, PD2\n",
+    "PROPERTIES\n",
+    "  /* Albert and Bernard just met Cheryl. “When’s your birthday?” Albert asked Cheryl.*/\n",
+    "  Month:MONTHS & Day:1..31 &\n",
+    "\n",
+    "  /* Cheryl thought a second and said, “I’m not going to tell you, but I’ll give you some clues.” She wrote down a list of 10 dates: */\n",
+    "  PD = {(aug|->14), (aug|->15), (aug|->17),\n",
+    "       (july|->14),(july|->16),(june|->17),\n",
+    "       (june|->18),\n",
+    "       (may|->15),(may|->16),(may|->19)}\n",
+    " &\n",
+    " /*\n",
+    "Then Cheryl whispered in Albert’s ear the month — and only the month — of her birthday.\n",
+    "To Bernard, she whispered the day, and only the day.\n",
+    "*/\n",
+    "  Month : dom(PD) &\n",
+    "  Day : ran(PD) &\n",
+    "  Month|->Day : PD &\n",
+    "\n",
+    " /* Albert: I don’t know when your birthday is, */\n",
+    " card(PD[{Month}]) > 1 &\n",
+    " /* but I know Bernard doesn’t know, either. */\n",
+    " !x.(x:PD[{Month}] => DontKnowFromDay(PD,x) ) &\n",
+    "\n",
+    " /* Bernard: I didn’t know originally, */\n",
+    "  DontKnowFromDay(PD,Day) &\n",
+    " /* but now I do. */\n",
+    "  PD2 = {m,d| (m|->d):PD &  !x.(x:PD[{m}] => DontKnowFromDay(PD,x) ) } &\n",
+    "  KnowFromDay(PD2,Day) &\n",
+    "\n",
+    "  /* Albert: Well, now I know, too! */\n",
+    "   card({d|Month|->d : PD2 & KnowFromDay(PD2,d)})=1\n",
+    "\n",
+    "ASSERTIONS /* single solution found by ProB */\n",
+    "  Month = july;\n",
+    "  Day = 16\n",
+    "END"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 7,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Machine constants set up using operation 0: $setup_constants()"
+      ]
+     },
+     "execution_count": 7,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":constants"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 8,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Machine initialised using operation 1: $initialise_machine()"
+      ]
+     },
+     "execution_count": 8,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":init"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "One will get one possible solution with this code as well. By typing in `Month` and `Day` again, it is possible to check this."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 9,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "$\\mathit{july}$"
+      ],
+      "text/plain": [
+       "july"
+      ]
+     },
+     "execution_count": 9,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "Month"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 10,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "$16$"
+      ],
+      "text/plain": [
+       "16"
+      ]
+     },
+     "execution_count": 10,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "Day"
+   ]
+  },
+  {
+   "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/N_Queens.ipynb b/N_Queens.ipynb
new file mode 100644
index 0000000..99041d2
--- /dev/null
+++ b/N_Queens.ipynb
@@ -0,0 +1,1893 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# N-Queens\n",
+    "\n",
+    "The N-Queens is a famous constraint solving benchmark puzzle. It is a generalisation of the original [eight queens puzzle](https://en.wikipedia.org/wiki/Eight_queens_puzzle), where the goal is to place eight queens on a 8*8 chessboard so that no two queens attach each other.\n",
+    "\n",
+    "Here is one way to encode the N-Queens puzzle in B.\n",
+    "\n",
+    "If you are new to using jupyter notebook with the ProB kernel, just try typing in `:help`. This will give you an overview for your options on interacting with the machine."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 1,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Loaded machine: NQueens"
+      ]
+     },
+     "execution_count": 1,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "::load\n",
+    "MACHINE NQueens\n",
+    "CONSTANTS n,queens\n",
+    "PROPERTIES\n",
+    " n = 40 &\n",
+    " queens : 1..n >-> 1..n /* for each column the row in which the queen is in */\n",
+    " &\n",
+    " !(q1,q2).(q1:1..n & q2:2..n & q2>q1\n",
+    "    => queens(q1)+q2-q1 /= queens(q2) & queens(q1)-q2+q1 /= queens(q2))\n",
+    "END"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 2,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Machine constants set up using operation 0: $setup_constants()"
+      ]
+     },
+     "execution_count": 2,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":constants"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 3,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Machine initialised using operation 1: $initialise_machine()"
+      ]
+     },
+     "execution_count": 3,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":init"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "One can use graphical visualisation features to display the solution, by declaring the ANIMATION_FUNCTION. 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": 4,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Loaded machine: NQueens40"
+      ]
+     },
+     "execution_count": 4,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "::load\n",
+    "MACHINE NQueens40\n",
+    "CONSTANTS n,queens\n",
+    "PROPERTIES\n",
+    " n = 40 &\n",
+    " queens : 1..n >-> 1..n /* for each column the row in which the queen is in */\n",
+    " &\n",
+    " !(q1,q2).(q1:1..n & q2:2..n & q2>q1\n",
+    "    => queens(q1)+q2-q1 /= queens(q2) & queens(q1)-q2+q1 /= queens(q2))\n",
+    "DEFINITIONS\n",
+    "      ANIMATION_FUNCTION_DEFAULT == ( {r,c,i|r:1..n & c:1..n & i=(r+c) mod 2 }  );\n",
+    "      ANIMATION_FUNCTION == ( {r,c,i|c:1..n & r=queens(c) & i=2+((r+c) mod 2) }  );\n",
+    "      ANIMATION_IMG0 == \"images/sm_empty_box.gif\";\n",
+    "      ANIMATION_IMG1 == \"images/sm_gray_box.gif\";\n",
+    "      ANIMATION_IMG2 == \"images/sm_queen_white.gif\";\n",
+    "      ANIMATION_IMG3 == \"images/sm_queen_black.gif\";\n",
+    "      SET_PREF_CLPFD == TRUE;\n",
+    "END"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 5,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Machine constants set up using operation 0: $setup_constants()"
+      ]
+     },
+     "execution_count": 5,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":constants"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 6,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Machine initialised using operation 1: $initialise_machine()"
+      ]
+     },
+     "execution_count": 6,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":init"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 7,
+   "metadata": {
+    "scrolled": false
+   },
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "<table style=\"font-family:monospace\"><tbody>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"3\" src=\"images/sm_queen_black.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"2\" src=\"images/sm_queen_white.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"2\" src=\"images/sm_queen_white.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"3\" src=\"images/sm_queen_black.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"3\" src=\"images/sm_queen_black.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"2\" src=\"images/sm_queen_white.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"2\" src=\"images/sm_queen_white.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"2\" src=\"images/sm_queen_white.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"3\" src=\"images/sm_queen_black.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"3\" src=\"images/sm_queen_black.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"2\" src=\"images/sm_queen_white.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"3\" src=\"images/sm_queen_black.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"2\" src=\"images/sm_queen_white.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"3\" src=\"images/sm_queen_black.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"3\" src=\"images/sm_queen_black.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"2\" src=\"images/sm_queen_white.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"3\" src=\"images/sm_queen_black.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"2\" src=\"images/sm_queen_white.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"2\" src=\"images/sm_queen_white.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"2\" src=\"images/sm_queen_white.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"3\" src=\"images/sm_queen_black.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"3\" src=\"images/sm_queen_black.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"3\" src=\"images/sm_queen_black.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"3\" src=\"images/sm_queen_black.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"2\" src=\"images/sm_queen_white.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"3\" src=\"images/sm_queen_black.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"2\" src=\"images/sm_queen_white.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"2\" src=\"images/sm_queen_white.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"2\" src=\"images/sm_queen_white.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"3\" src=\"images/sm_queen_black.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"3\" src=\"images/sm_queen_black.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"2\" src=\"images/sm_queen_white.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"3\" src=\"images/sm_queen_black.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"2\" src=\"images/sm_queen_white.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"2\" src=\"images/sm_queen_white.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"3\" src=\"images/sm_queen_black.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"2\" src=\"images/sm_queen_white.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"3\" src=\"images/sm_queen_black.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"3\" src=\"images/sm_queen_black.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"2\" src=\"images/sm_queen_white.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/sm_gray_box.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/sm_empty_box.gif\"/></td>\n",
+       "</tr>\n",
+       "</tbody></table>"
+      ],
+      "text/plain": [
+       "<Animation function visualisation>"
+      ]
+     },
+     "execution_count": 7,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":show"
+   ]
+  }
+ ],
+ "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
new file mode 100644
index 0000000..bb1e4ea
--- /dev/null
+++ b/ProB_Jupyter_Notebook_Overview.ipynb
@@ -0,0 +1,2475 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "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",
+    "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/)."
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## The Help Command\n",
+    "\n",
+    "If you want to find out more about the commands and how to use them, type in `:help [COMMAND]`. The ProB2 Jupyter Notebook has an autocompletion function which also helps you to find what you need. Simply press `TAB` after the space after `:help`."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 1,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "```\n",
+       ":help [COMMAND]\n",
+       "```\n",
+       "\n",
+       "Display help for a specific command, or general help about the REPL."
+      ],
+      "text/plain": [
+       ":help [COMMAND]\n",
+       "Display help for a specific command, or general help about the REPL."
+      ]
+     },
+     "execution_count": 1,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":help :help"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Loading a Machine\n",
+    "\n",
+    "To start of with the ProB Jupyter Kernel, we have to load a machine. This can be done by typing `::load` in a Code cell before the machine code and pressing `Shift+Enter`."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 2,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "```\n",
+       "::load [PREF=VALUE ...]\n",
+       "MACHINE\n",
+       "...\n",
+       "END\n",
+       "```\n",
+       "\n",
+       "Load the machine source code given in the cell body.\n",
+       "\n",
+       "There must be a newline between the `::load` command name and the machine code.\n",
+       "\n",
+       "Any number of preference assignments may be included after `::load` (only on the first line). Preferences can also be changed on a loaded machine using the `:pref` command, however certain preferences do not take full effect when set using `:pref` and must be set when the machine is loaded."
+      ],
+      "text/plain": [
+       "::load [PREF=VALUE ...]\n",
+       "MACHINE\n",
+       "...\n",
+       "END\n",
+       "Load the machine source code given in the cell body.\n",
+       "\n",
+       "There must be a newline between the `::load` command name and the machine code.\n",
+       "\n",
+       "Any number of preference assignments may be included after `::load` (only on the first line). Preferences can also be changed on a loaded machine using the `:pref` command, however certain preferences do not take full effect when set using `:pref` and must be set when the machine is loaded."
+      ]
+     },
+     "execution_count": 2,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":help ::load"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 3,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Loaded machine: Lift"
+      ]
+     },
+     "execution_count": 3,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "::load DOT=/usr/bin/dot\n",
+    "MODEL Lift\n",
+    "DEFINITIONS SET_PREF_SHOW_EVENTB_ANY_VALUES==TRUE;\n",
+    "  ASSERT_LTL == \"G( [push_call_button(groundf)] => F {cur_floor=groundf & door_open=TRUE})\";\n",
+    "  Rconv == (topf-r+groundf);\n",
+    "CONSTANTS groundf,topf\n",
+    "PROPERTIES\n",
+    "  topf : INTEGER & groundf : INTEGER & (groundf = -1) & (topf = 2) & (groundf < topf)\n",
+    "VARIABLES call_buttons,cur_floor,direction_up,door_open\n",
+    "INVARIANT\n",
+    "       cur_floor : (groundf .. topf) & \n",
+    "       door_open : BOOL & \n",
+    "       call_buttons : POW(groundf .. topf) &\n",
+    "       direction_up : BOOL &\n",
+    "       (door_open = TRUE => cur_floor : call_buttons)\n",
+    "INITIALISATION cur_floor := (groundf) || door_open := FALSE || call_buttons := ({}) || direction_up := TRUE\n",
+    "OPERATIONS\n",
+    " move_up = SELECT door_open = FALSE & cur_floor < topf & direction_up = TRUE &\n",
+    "             # c.((c : INTEGER) & ((c : INTEGER) & (c > cur_floor) & (c : call_buttons))) &\n",
+    "            (cur_floor /: call_buttons) THEN\n",
+    "   cur_floor := ((cur_floor)+(1))\n",
+    " END ;\n",
+    " move_down = SELECT door_open = FALSE & cur_floor > groundf & (direction_up = FALSE) &\n",
+    "       # cu.((cu : INTEGER) & ((cu : INTEGER) & (cu < cur_floor) & (cu : call_buttons))) &\n",
+    "      (cur_floor /: call_buttons) THEN\n",
+    "   cur_floor := ((cur_floor)-(1))\n",
+    " END ;\n",
+    " reverse_lift_up = SELECT direction_up = FALSE & door_open = FALSE &\n",
+    "   # c.((c : INTEGER) & ((c : INTEGER) & (c > cur_floor) & (c : call_buttons))) & \n",
+    "   ! l.((l : INTEGER) => (((l : INTEGER) & (l <= cur_floor) & (l >= groundf)) => (l /: call_buttons))) THEN\n",
+    "   direction_up := TRUE\n",
+    " END ;\n",
+    " reverse_lift_down = SELECT direction_up = TRUE & door_open = FALSE & \n",
+    "  # cd.(cd : INTEGER & ((cd : INTEGER) & (cd < cur_floor) & (cd : call_buttons))) & \n",
+    "  ! u.(u : INTEGER => (((u : INTEGER) & (u >= cur_floor) & (u <= topf)) => (u /: call_buttons))) THEN\n",
+    "  direction_up := FALSE\n",
+    " END ;\n",
+    " open_door = SELECT door_open = FALSE & (cur_floor : call_buttons) THEN\n",
+    "    door_open := TRUE\n",
+    " END ;\n",
+    " close_door = SELECT door_open = TRUE THEN\n",
+    "    door_open := FALSE || call_buttons := ((call_buttons)\\({cur_floor}))\n",
+    " END ;\n",
+    " push_call_button(floor) = SELECT (floor : (groundf .. topf)) & (floor /: call_buttons) THEN \n",
+    "     call_buttons := ((call_buttons)\\/({floor}))\n",
+    " END \n",
+    "END"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Initialising a Machine\n",
+    "\n",
+    "Now we will set up constants and initialise the machine, to be able to interact with it. You can set up constants with the commant `:constants` and initialise with the command `:init`. "
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 4,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "```\n",
+       ":constants [PREDICATE]\n",
+       "```\n",
+       "\n",
+       "Set up the current machine's constants.\n",
+       "\n",
+       "This is a shorthand for `:exec SETUP_CONSTANTS [PREDICATE]`."
+      ],
+      "text/plain": [
+       ":constants [PREDICATE]\n",
+       "Set up the current machine's constants.\n",
+       "\n",
+       "This is a shorthand for `:exec SETUP_CONSTANTS [PREDICATE]`."
+      ]
+     },
+     "execution_count": 4,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":help :constants"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 5,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Machine constants set up using operation 0: $setup_constants()"
+      ]
+     },
+     "execution_count": 5,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":constants"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 6,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "```\n",
+       ":init [PREDICATE]\n",
+       "```\n",
+       "\n",
+       "Initialise the current machine with the specified predicate\n",
+       "\n",
+       "This is a shorthand for `:exec INITIALISATION [PREDICATE]`."
+      ],
+      "text/plain": [
+       ":init [PREDICATE]\n",
+       "Initialise the current machine with the specified predicate\n",
+       "\n",
+       "This is a shorthand for `:exec INITIALISATION [PREDICATE]`."
+      ]
+     },
+     "execution_count": 6,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":help :init"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 7,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Machine initialised using operation 1: $initialise_machine()"
+      ]
+     },
+     "execution_count": 7,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":init"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Trace and State\n",
+    "\n",
+    "After loading and initialising the machine, we can explore the state, visualise the machine and state and more. We will start by finding out in which trace we are currently in, to ensure, that we initialised the machine. This can be done with the command `:trace`."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 8,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "```\n",
+       ":trace\n",
+       "```\n",
+       "\n",
+       "Display all states and transitions in the current trace.\n",
+       "\n",
+       "Each state has an index, which can be passed to the `:goto` command to go to that state.\n",
+       "\n",
+       "The first state (index -1) is always the root state. All other states are reached from the root state by following (previously executed) transitions."
+      ],
+      "text/plain": [
+       ":trace\n",
+       "Display all states and transitions in the current trace.\n",
+       "\n",
+       "Each state has an index, which can be passed to the `:goto` command to go to that state.\n",
+       "\n",
+       "The first state (index -1) is always the root state. All other states are reached from the root state by following (previously executed) transitions."
+      ]
+     },
+     "execution_count": 8,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":help :trace"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 9,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "* -1: Root state\n",
+       "* 0: `SETUP_CONSTANTS()`\n",
+       "* 1: `INITIALISATION()` **(current)**"
+      ],
+      "text/plain": [
+       "-1: Root state\n",
+       "0: SETUP_CONSTANTS()\n",
+       "1: INITIALISATION() (current)"
+      ]
+     },
+     "execution_count": 9,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":trace"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "Switching to a different trace is possible by typing in `:goto INDEX`."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 10,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "```\n",
+       ":goto INDEX\n",
+       "```\n",
+       "\n",
+       "Go to the state with the specified index in the current trace.\n",
+       "\n",
+       "Use the `:trace` command to view the current trace and the indices of its states. Index -1 refers to the root state and is always available.\n",
+       "\n",
+       "Going backwards in the current trace does *not* discard any parts of the trace, so it is possible to go forward again afterwards. However, executing an operation in a state *will* discard any parts of the trace after that state (and replace them with the destination state of the executed transition)."
+      ],
+      "text/plain": [
+       ":goto INDEX\n",
+       "Go to the state with the specified index in the current trace.\n",
+       "\n",
+       "Use the `:trace` command to view the current trace and the indices of its states. Index -1 refers to the root state and is always available.\n",
+       "\n",
+       "Going backwards in the current trace does *not* discard any parts of the trace, so it is possible to go forward again afterwards. However, executing an operation in a state *will* discard any parts of the trace after that state (and replace them with the destination state of the executed transition)."
+      ]
+     },
+     "execution_count": 10,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":help :goto"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 11,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Changed to state with index -1"
+      ]
+     },
+     "execution_count": 11,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":goto -1"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 12,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "* -1: Root state **(current)**\n",
+       "* 0: `SETUP_CONSTANTS()`\n",
+       "* 1: `INITIALISATION()`"
+      ],
+      "text/plain": [
+       "-1: Root state (current)\n",
+       "0: SETUP_CONSTANTS()\n",
+       "1: INITIALISATION()"
+      ]
+     },
+     "execution_count": 12,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":trace"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "Now that we set the current state to -1, we are at out root state again. We did not set up constants or initialise the machine, yet. From here, we have two possibilities to go back to the initialised state. Either by setting up constants and initialising again, or by simply typing `:goto 1`."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 13,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Changed to state with index 1"
+      ]
+     },
+     "execution_count": 13,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":goto 1"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 14,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "* -1: Root state\n",
+       "* 0: `SETUP_CONSTANTS()`\n",
+       "* 1: `INITIALISATION()` **(current)**"
+      ],
+      "text/plain": [
+       "-1: Root state\n",
+       "0: SETUP_CONSTANTS()\n",
+       "1: INITIALISATION() (current)"
+      ]
+     },
+     "execution_count": 14,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":trace"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "Another feature of ProB is, that you can find a state, for which a predicate is true. In the following we will try to use it:"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 16,
+   "metadata": {
+    "scrolled": true
+   },
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "```\n",
+       ":find PREDICATE\n",
+       "```\n",
+       "\n",
+       "Try to find a state for which the given predicate is true (in addition to the machine's invariant).\n",
+       "\n",
+       "If such a state is found, it is made the current state, otherwise an error is displayed.\n",
+       "\n",
+       "Note that this command does not necessarily find a valid *trace* to the found state. Instead, in some cases a single \"fake\" transition is added to the trace, which goes directly to the found state and does not use the machine's operations to reach it."
+      ],
+      "text/plain": [
+       ":find PREDICATE\n",
+       "Try to find a state for which the given predicate is true (in addition to the machine's invariant).\n",
+       "\n",
+       "If such a state is found, it is made the current state, otherwise an error is displayed.\n",
+       "\n",
+       "Note that this command does not necessarily find a valid *trace* to the found state. Instead, in some cases a single \"fake\" transition is added to the trace, which goes directly to the found state and does not use the machine's operations to reach it."
+      ]
+     },
+     "execution_count": 16,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":help :find"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 17,
+   "metadata": {
+    "scrolled": false
+   },
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Found a matching state and made it current state"
+      ]
+     },
+     "execution_count": 17,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":find cur_floor=0"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 18,
+   "metadata": {
+    "scrolled": false
+   },
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "* -1: Root state\n",
+       "* 0: `find_valid_state` **(current)**"
+      ],
+      "text/plain": [
+       "-1: Root state\n",
+       "0: find_valid_state (current)"
+      ]
+     },
+     "execution_count": 18,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":trace"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "Note that the command leaves us with the root state and the current state, with a valid trace. That means, we lose our previous trace. \n",
+    "\n",
+    "For the next example we will have to recreate that trace again, with the following three commands:"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 19,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Changed to state with index -1"
+      ]
+     },
+     "execution_count": 19,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":goto -1"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 20,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Machine constants set up using operation 0: $setup_constants()"
+      ]
+     },
+     "execution_count": 20,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":constants"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 21,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Machine initialised using operation 1: $initialise_machine()"
+      ]
+     },
+     "execution_count": 21,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":init"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Interacting with the Machine\n",
+    "\n",
+    "If you want to interact with the machine, meaning, that you want to know, which values the variables and constants have, you can simply type in the identifiers of those. e.g. type in `cur_floor` to find out on which floor we are currently at."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 22,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "$-1$"
+      ],
+      "text/plain": [
+       "−1"
+      ]
+     },
+     "execution_count": 22,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "cur_floor"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "If you want to get an overview over the whole machine state and which operations are currently possible, you can use `:browse`."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 23,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "```\n",
+       ":browse\n",
+       "```\n",
+       "\n",
+       "Show information about the current state.\n",
+       "\n",
+       "The output shows the names of all sets, constants, and variables defined by the current machine, as well as a list of transitions that are available in the current state."
+      ],
+      "text/plain": [
+       ":browse\n",
+       "Show information about the current state.\n",
+       "\n",
+       "The output shows the names of all sets, constants, and variables defined by the current machine, as well as a list of transitions that are available in the current state."
+      ]
+     },
+     "execution_count": 23,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":help :browse"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 24,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Machine: Lift\n",
+       "Sets: (none)\n",
+       "Constants: groundf, topf\n",
+       "Variables: call_buttons, cur_floor, direction_up, door_open\n",
+       "Operations: \n",
+       "push_call_button(-1)\n",
+       "push_call_button(0)\n",
+       "push_call_button(1)\n",
+       "push_call_button(2)"
+      ]
+     },
+     "execution_count": 24,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":browse"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "To use operations, you have to use another command, that is slightly different. Type in the name of any operation, that is currently possible and put `:exec` before:"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 25,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "```\n",
+       ":exec OPERATION [PREDICATE]\n",
+       "```\n",
+       "\n",
+       "Execute an operation.\n",
+       "\n",
+       "A transition for the given operation is found and executed. If the optional predicate is specified, a transition is found for which the predicate is $\\mathit{TRUE}$. The predicate can be used to restrict what values the operation's parameters or the variables in the next state may have."
+      ],
+      "text/plain": [
+       ":exec OPERATION [PREDICATE]\n",
+       "Execute an operation.\n",
+       "\n",
+       "A transition for the given operation is found and executed. If the optional predicate is specified, a transition is found for which the predicate is $\\mathit{TRUE}$. The predicate can be used to restrict what values the operation's parameters or the variables in the next state may have."
+      ]
+     },
+     "execution_count": 25,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":help :exec"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 26,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Executed operation: push_call_button(-1)"
+      ]
+     },
+     "execution_count": 26,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":exec push_call_button floor=-1"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "If we check our trace again and browse our actions, we can see, that the call button of the floor -1 is now pushed."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 27,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "* -1: Root state\n",
+       "* 0: `SETUP_CONSTANTS()`\n",
+       "* 1: `INITIALISATION()`\n",
+       "* 2: `push_call_button(-1)` **(current)**"
+      ],
+      "text/plain": [
+       "-1: Root state\n",
+       "0: SETUP_CONSTANTS()\n",
+       "1: INITIALISATION()\n",
+       "2: push_call_button(-1) (current)"
+      ]
+     },
+     "execution_count": 27,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":trace"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 28,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Machine: Lift\n",
+       "Sets: (none)\n",
+       "Constants: groundf, topf\n",
+       "Variables: call_buttons, cur_floor, direction_up, door_open\n",
+       "Operations: \n",
+       "open_door()\n",
+       "push_call_button(0)\n",
+       "push_call_button(1)\n",
+       "push_call_button(2)"
+      ]
+     },
+     "execution_count": 28,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":browse"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "Of course, we could also type in `call_buttons` to find out, which call buttons are currently pushed."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 29,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "$\\{-1\\}$"
+      ],
+      "text/plain": [
+       "{−1}"
+      ]
+     },
+     "execution_count": 29,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "call_buttons"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "The `:let` command lets you store the value of an expression under a different name. It is evaluated once on the current state. You can use the `:unlet` command if you are not using the local variable anymore."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 30,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "```\n",
+       ":let NAME EXPR\n",
+       "```\n",
+       "\n",
+       "Evaluate an expression and store it in a local variable.\n",
+       "\n",
+       "The expression is evaluated only once, in the current state, and its value is stored. Once set, variables are available in all states and are not affected by machine loads. A variable created by `:let` shadows any identifier from the machine with the same name.\n",
+       "\n",
+       "**Note:** The values of local variables are currently stored in text form. Values must have a syntactically valid text representation, and large values may cause performance issues."
+      ],
+      "text/plain": [
+       ":let NAME EXPR\n",
+       "Evaluate an expression and store it in a local variable.\n",
+       "\n",
+       "The expression is evaluated only once, in the current state, and its value is stored. Once set, variables are available in all states and are not affected by machine loads. A variable created by `:let` shadows any identifier from the machine with the same name.\n",
+       "\n",
+       "**Note:** The values of local variables are currently stored in text form. Values must have a syntactically valid text representation, and large values may cause performance issues."
+      ]
+     },
+     "execution_count": 30,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":help :let"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 31,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "$\\mathit{FALSE}$"
+      ],
+      "text/plain": [
+       "FALSE"
+      ]
+     },
+     "execution_count": 31,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":let first_floor_called 1:call_buttons"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 32,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Executed operation: push_call_button(1)"
+      ]
+     },
+     "execution_count": 32,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":exec push_call_button floor=1"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 33,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "$\\mathit{FALSE}$"
+      ],
+      "text/plain": [
+       "FALSE"
+      ]
+     },
+     "execution_count": 33,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "first_floor_called"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 34,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "```\n",
+       ":unlet NAME\n",
+       "```\n",
+       "\n",
+       "Remove a local variable."
+      ],
+      "text/plain": [
+       ":unlet NAME\n",
+       "Remove a local variable."
+      ]
+     },
+     "execution_count": 34,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":help :unlet"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 35,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    ":unlet first_floor_called"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 36,
+   "metadata": {},
+   "outputs": [
+    {
+     "ename": "CommandExecutionException",
+     "evalue": ":eval: Computation not completed: Unknown identifier \"first_floor_called\"",
+     "output_type": "error",
+     "traceback": [
+      "\u001b[1m\u001b[31m:eval: Computation not completed: Unknown identifier \"first_floor_called\"\u001b[0m"
+     ]
+    }
+   ],
+   "source": [
+    "first_floor_called"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "Additionally, you can use the `:table` command to display an expression as a table."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 37,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "```\n",
+       ":table EXPRESSION\n",
+       "```\n",
+       "\n",
+       "Display an expression as a table.\n",
+       "\n",
+       "Although any expression is accepted, this command is most useful for sets of tuples."
+      ],
+      "text/plain": [
+       ":table EXPRESSION\n",
+       "Display an expression as a table.\n",
+       "\n",
+       "Although any expression is accepted, this command is most useful for sets of tuples."
+      ]
+     },
+     "execution_count": 37,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":help :table"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 38,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "|cur_floor|\n",
+       "|---|\n",
+       "|$-1$|\n"
+      ],
+      "text/plain": [
+       "cur_floor\n",
+       "-1\n"
+      ]
+     },
+     "execution_count": 38,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":table cur_floor"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "If you are not sure which type an formula has, you can use `:type` to find out."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 39,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "```\n",
+       ":type FORMULA\n",
+       "```\n",
+       "\n",
+       "Display the type of a formula.\n",
+       "\n",
+       "The returned types are *not* standard B types. They are human-readable, but cannot be used in code."
+      ],
+      "text/plain": [
+       ":type FORMULA\n",
+       "Display the type of a formula.\n",
+       "\n",
+       "The returned types are *not* standard B types. They are human-readable, but cannot be used in code."
+      ]
+     },
+     "execution_count": 39,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":help :type"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 40,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "INTEGER"
+      ]
+     },
+     "execution_count": 40,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":type cur_floor"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 41,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "POW(INTEGER)"
+      ]
+     },
+     "execution_count": 41,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":type call_buttons"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Evaluations\n",
+    "\n",
+    "If you just want to make sure, that a predicate is true, use the `:assert` command instead."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 42,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "```\n",
+       ":assert PREDICATE\n",
+       "```\n",
+       "\n",
+       "Ensure that the predicate is true, and show an error otherwise.\n",
+       "\n",
+       "This command is intended for verifying that a predicate is always true at a certain point in a notebook. Unlike normal evaluation (`:eval`), this command treats a $\\mathit{FALSE}$ result as an error. If the result is $\\mathit{TRUE}$, solutions for free variables (if any) are not displayed.\n",
+       "\n",
+       "Only predicates and $\\mathit{BOOL}$ expressions are accepted. Expressions of other types cause an error."
+      ],
+      "text/plain": [
+       ":assert PREDICATE\n",
+       "Ensure that the predicate is true, and show an error otherwise.\n",
+       "\n",
+       "This command is intended for verifying that a predicate is always true at a certain point in a notebook. Unlike normal evaluation (`:eval`), this command treats a $\\mathit{FALSE}$ result as an error. If the result is $\\mathit{TRUE}$, solutions for free variables (if any) are not displayed.\n",
+       "\n",
+       "Only predicates and $\\mathit{BOOL}$ expressions are accepted. Expressions of other types cause an error."
+      ]
+     },
+     "execution_count": 42,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":help :assert"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 43,
+   "metadata": {},
+   "outputs": [
+    {
+     "ename": "CommandExecutionException",
+     "evalue": ":assert: Assertion is not true: FALSE",
+     "output_type": "error",
+     "traceback": [
+      "\u001b[1m\u001b[31m:assert: Assertion is not true: FALSE\u001b[0m"
+     ]
+    }
+   ],
+   "source": [
+    ":assert cur_floor=0"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 44,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "$\\mathit{TRUE}$"
+      ],
+      "text/plain": [
+       "TRUE"
+      ]
+     },
+     "execution_count": 44,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":assert cur_floor=-1"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 45,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Machine: Lift\n",
+       "Sets: (none)\n",
+       "Constants: groundf, topf\n",
+       "Variables: call_buttons, cur_floor, direction_up, door_open\n",
+       "Operations: \n",
+       "open_door()\n",
+       "push_call_button(0)\n",
+       "push_call_button(2)"
+      ]
+     },
+     "execution_count": 45,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":browse"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "Another notable feature is the following command, with which you can pretty print predicates. Use `:prettyprint` to access it. \n",
+    "\n",
+    "You also have the option to solve predicates with different solvers. For this you can use the command `:solve`."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    ":help :prettyprint"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 47,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/latex": [
+       "$\\mathit{cur\\_floor} = - 1$"
+      ],
+      "text/plain": [
+       "cur_floor = - 1"
+      ]
+     },
+     "execution_count": 47,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":prettyprint cur_floor=-1"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 48,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "```\n",
+       ":solve SOLVER PREDICATE\n",
+       "```\n",
+       "\n",
+       "Solve a predicate with the specified solver.\n",
+       "\n",
+       "The following solvers are currently available:\n",
+       "\n",
+       "* `cvc4`\n",
+       "* `kodkod`\n",
+       "* `prob`\n",
+       "* `smt_supported_interpreter`\n",
+       "* `z3`\n"
+      ],
+      "text/plain": [
+       ":solve SOLVER PREDICATE\n",
+       "Solve a predicate with the specified solver.\n",
+       "\n",
+       "The following solvers are currently available:\n",
+       "\n",
+       "* `cvc4`\n",
+       "* `kodkod`\n",
+       "* `prob`\n",
+       "* `smt_supported_interpreter`\n",
+       "* `z3`\n"
+      ]
+     },
+     "execution_count": 48,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":help :solve"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Modifying the Preferences\n",
+    "\n",
+    "We have seen before, that you can set preferences when loading the machine with the `::load` command. You can modify or change the values of preferences by using the `:pref` command."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 49,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "```\n",
+       ":pref [NAME ...]\n",
+       ":pref NAME=VALUE [NAME=VALUE ...]\n",
+       "```\n",
+       "\n",
+       "View or change the value of one or more preferences.\n",
+       "\n",
+       "In the first form, the values of all given preferences are displayed (or all preferences, if none are given). In the second form, the given preference assignments are performed. The two forms cannot be mixed; it is not possible to view and change preferences in a single command.\n",
+       "\n",
+       "Certain preference changes do not take full effect when performed on a loaded machine. Such preferences must be assigned when the machine is loaded using the `::load` or `:load` command."
+      ],
+      "text/plain": [
+       ":pref [NAME ...]\n",
+       ":pref NAME=VALUE [NAME=VALUE ...]\n",
+       "View or change the value of one or more preferences.\n",
+       "\n",
+       "In the first form, the values of all given preferences are displayed (or all preferences, if none are given). In the second form, the given preference assignments are performed. The two forms cannot be mixed; it is not possible to view and change preferences in a single command.\n",
+       "\n",
+       "Certain preference changes do not take full effect when performed on a loaded machine. Such preferences must be assigned when the machine is loaded using the `::load` or `:load` command."
+      ]
+     },
+     "execution_count": 49,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":help :pref"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Additional Features\n",
+    "\n",
+    "In addition to the previous commands, you have the possibility to use the `:stats` command to show statistics about the state space. Moreover, you can use the `:time` command to measure the execution time of commands with their arguments. This can be helpful for measuring the solving time for specific machines."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 50,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "```\n",
+       ":stats\n",
+       "```\n",
+       "\n",
+       "Show statistics about the state space."
+      ],
+      "text/plain": [
+       ":stats\n",
+       "Show statistics about the state space."
+      ]
+     },
+     "execution_count": 50,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":help :stats"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 51,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "**Explored States:** 4/15  \n",
+       "**Transitions:** 14"
+      ],
+      "text/plain": [
+       "Explored States: 4/15\n",
+       "Transitions: 14"
+      ]
+     },
+     "execution_count": 51,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":stats"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 52,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "```\n",
+       ":time COMMAND [ARGS ...]\n",
+       "```\n",
+       "\n",
+       "Execute the given command and measure how long it takes to execute.\n",
+       "\n",
+       "The time is measured using Java's [`System.nanoTime()`](https://docs.oracle.com/javase/8/docs/api/java/lang/System.html#nanoTime--) method. The measured time is displayed with the full number of decimal places, but no guarantees are made about the actual resolution of the time measurement.\n",
+       "\n",
+       "As with any measurement of execution time, there will likely be small differences between two measurements of the same command. The time is measured by the kernel rather than ProB, so it will include some overhead due to processing of the command by the kernel and communication with ProB."
+      ],
+      "text/plain": [
+       ":time COMMAND [ARGS ...]\n",
+       "Execute the given command and measure how long it takes to execute.\n",
+       "\n",
+       "The time is measured using Java's [`System.nanoTime()`](https://docs.oracle.com/javase/8/docs/api/java/lang/System.html#nanoTime--) method. The measured time is displayed with the full number of decimal places, but no guarantees are made about the actual resolution of the time measurement.\n",
+       "\n",
+       "As with any measurement of execution time, there will likely be small differences between two measurements of the same command. The time is measured by the kernel rather than ProB, so it will include some overhead due to processing of the command by the kernel and communication with ProB."
+      ]
+     },
+     "execution_count": 52,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":help :time"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 53,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "Execution time: 0.044099194 seconds"
+      ],
+      "text/plain": [
+       "Execution time: 0.044099194 seconds"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/markdown": [
+       "**Explored States:** 4/15  \n",
+       "**Transitions:** 14"
+      ],
+      "text/plain": [
+       "Explored States: 4/15\n",
+       "Transitions: 14"
+      ]
+     },
+     "execution_count": 53,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":time :stats"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "To find out your current ProB CLI and ProB2 version, you can use `:version`."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 54,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "```\n",
+       ":version\n",
+       "```\n",
+       "\n",
+       "Display version info about the ProB CLI and ProB 2."
+      ],
+      "text/plain": [
+       ":version\n",
+       "Display version info about the ProB CLI and ProB 2."
+      ]
+     },
+     "execution_count": 54,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":help :version"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 55,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "ProB CLI: 1.9.0-nightly (ab12dcd41e1150b19e8c00897fe53f96f76cbd0d)\n",
+       "ProB 2: 3.2.12-SNAPSHOT (06e75efe84ffdadf56df45e34acb44ec8e4603dd)"
+      ]
+     },
+     "execution_count": 55,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":version"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Visualisations\n",
+    "\n",
+    "There are two possible ways of visualising the machine in jupyter notebook. One can be accessed via the `:dot` command. This command allows you to visualise a variety of different things, e.g. the state as graph. You can use autocomplete by clicking `TAB` after the command, as well."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 56,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "```\n",
+       ":dot COMMAND [FORMULA]\n",
+       "```\n",
+       "\n",
+       "Execute and show a dot visualisation.\n",
+       "\n",
+       "The following dot visualisation commands are available:\n",
+       "\n",
+       "* `machine_hierarchy` - Machine Hierarchy: Shows the machine hierarchy of a classical B model\n",
+       "* `event_hierarchy` - Event Hierarchy: Shows the event hierarchy of an Event-B model (**Not available for this machine/state**: only available for Event-B models)\n",
+       "* `state_space` - State Space: Show state space\n",
+       "* `state_space_sfdp` - State Space (Fast): Show state space (fast)\n",
+       "* `current_state` - Current State in State Space: Show current state and successors in state space\n",
+       "* `signature_merge` - Signature Merge: Show signature-merged reduced state space\n",
+       "* `dfa_merge` - DFA Merge: Show state space as deterministic automaton (DFA)\n",
+       "* `transition_diagram` - State Space Expression Projection...: Project state space onto expression values and show transition diagram\n",
+       "* `enable_graph` - Enable Graph: Show enabling graph of events\n",
+       "* `state_as_graph` - Current State as Graph: Show values in current state as a graph\n",
+       "* `custom_graph` - Customized Current State as Graph: Show values in current state as a graph using CUSTOM_GRAPH_EDGES (**Not available for this machine/state**: only available when CUSTOM_GRAPH_NODES and CUSTOM_GRAPH_EDGES are defined in the DEFINITIONS of a B machine)\n",
+       "* `expr_as_graph` - (Relational) Expression as Graph...: Show (relational) expression value as a graph\n",
+       "* `formula_tree` - Custom Predicate/Expression Formula Tree...: Show predicate/expressions and sub-formulas as a tree\n",
+       "* `invariant` - Invariant Formula Tree: Show invariant as a formula tree\n",
+       "* `properties` - Properties Formula Tree: Show properties as a formula tree\n",
+       "* `assertions` - Assertions Formula Tree: Show assertions as a formula tree\n",
+       "* `deadlock` - Deadlock Formula Tree: Show deadlocking status as a formula tree\n",
+       "* `goal` - Goal Formula Tree: Show GOAL as a formula tree (**Not available for this machine/state**: only available for initialised B,Z or Event-B models with a GOAL DEFINITION)\n",
+       "* `dependence_graph` - Dependence Graph: Show dependence graph of events\n",
+       "* `variable_modification_graph` - Variable Read/Write Graph: Show variable modification by operations and reading in guards\n",
+       "* `definitions` - Definitions Graph: Show dependence graph of DEFINITIONS\n",
+       "* `predicate_dependency` - Predicate Dependency Graph...: Show dependence graph of conjuncts of a predicate\n",
+       "* `last_error` - Last Error Formula Tree: Show last error source as a formula tree (**Not available for this machine/state**: only available when error occured)\n"
+      ],
+      "text/plain": [
+       ":dot COMMAND [FORMULA]\n",
+       "Execute and show a dot visualisation.\n",
+       "\n",
+       "The following dot visualisation commands are available:\n",
+       "\n",
+       "* `machine_hierarchy` - Machine Hierarchy: Shows the machine hierarchy of a classical B model\n",
+       "* `event_hierarchy` - Event Hierarchy: Shows the event hierarchy of an Event-B model (**Not available for this machine/state**: only available for Event-B models)\n",
+       "* `state_space` - State Space: Show state space\n",
+       "* `state_space_sfdp` - State Space (Fast): Show state space (fast)\n",
+       "* `current_state` - Current State in State Space: Show current state and successors in state space\n",
+       "* `signature_merge` - Signature Merge: Show signature-merged reduced state space\n",
+       "* `dfa_merge` - DFA Merge: Show state space as deterministic automaton (DFA)\n",
+       "* `transition_diagram` - State Space Expression Projection...: Project state space onto expression values and show transition diagram\n",
+       "* `enable_graph` - Enable Graph: Show enabling graph of events\n",
+       "* `state_as_graph` - Current State as Graph: Show values in current state as a graph\n",
+       "* `custom_graph` - Customized Current State as Graph: Show values in current state as a graph using CUSTOM_GRAPH_EDGES (**Not available for this machine/state**: only available when CUSTOM_GRAPH_NODES and CUSTOM_GRAPH_EDGES are defined in the DEFINITIONS of a B machine)\n",
+       "* `expr_as_graph` - (Relational) Expression as Graph...: Show (relational) expression value as a graph\n",
+       "* `formula_tree` - Custom Predicate/Expression Formula Tree...: Show predicate/expressions and sub-formulas as a tree\n",
+       "* `invariant` - Invariant Formula Tree: Show invariant as a formula tree\n",
+       "* `properties` - Properties Formula Tree: Show properties as a formula tree\n",
+       "* `assertions` - Assertions Formula Tree: Show assertions as a formula tree\n",
+       "* `deadlock` - Deadlock Formula Tree: Show deadlocking status as a formula tree\n",
+       "* `goal` - Goal Formula Tree: Show GOAL as a formula tree (**Not available for this machine/state**: only available for initialised B,Z or Event-B models with a GOAL DEFINITION)\n",
+       "* `dependence_graph` - Dependence Graph: Show dependence graph of events\n",
+       "* `variable_modification_graph` - Variable Read/Write Graph: Show variable modification by operations and reading in guards\n",
+       "* `definitions` - Definitions Graph: Show dependence graph of DEFINITIONS\n",
+       "* `predicate_dependency` - Predicate Dependency Graph...: Show dependence graph of conjuncts of a predicate\n",
+       "* `last_error` - Last Error Formula Tree: Show last error source as a formula tree (**Not available for this machine/state**: only available when error occured)\n"
+      ]
+     },
+     "execution_count": 56,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":help :dot"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 57,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "image/svg+xml": [
+       "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
+       "<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
+       " \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
+       "<!-- Generated by graphviz version 2.40.1 (20161225.0304)\n",
+       " -->\n",
+       "<!-- Title: state Pages: 1 -->\n",
+       "<svg width=\"574pt\" height=\"131pt\"\n",
+       " viewBox=\"0.00 0.00 573.70 131.00\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
+       "<g id=\"graph0\" class=\"graph\" transform=\"scale(1 1) rotate(0) translate(4 127)\">\n",
+       "<title>state</title>\n",
+       "<polygon fill=\"#ffffff\" stroke=\"transparent\" points=\"-4,4 -4,-127 569.6967,-127 569.6967,4 -4,4\"/>\n",
+       "<!-- FALSE -->\n",
+       "<g id=\"node1\" class=\"node\">\n",
+       "<title>FALSE</title>\n",
+       "<ellipse fill=\"#a52a2a\" stroke=\"#a52a2a\" cx=\"37.6967\" cy=\"-105\" rx=\"37.8943\" ry=\"18\"/>\n",
+       "<text text-anchor=\"middle\" x=\"37.6967\" y=\"-101.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">FALSE</text>\n",
+       "</g>\n",
+       "<!-- ROOT&#45;NODE -->\n",
+       "<g id=\"node2\" class=\"node\">\n",
+       "<title>ROOT&#45;NODE</title>\n",
+       "<polygon fill=\"#add8e6\" stroke=\"#add8e6\" points=\"292.6967,-36 205.5564,-18 292.6967,0 379.8369,-18 292.6967,-36\"/>\n",
+       "<text text-anchor=\"middle\" x=\"292.6967\" y=\"-14.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">ROOT&#45;NODE</text>\n",
+       "</g>\n",
+       "<!-- FALSE&#45;&gt;ROOT&#45;NODE -->\n",
+       "<g id=\"edge1\" class=\"edge\">\n",
+       "<title>FALSE&#45;&gt;ROOT&#45;NODE</title>\n",
+       "<path fill=\"none\" stroke=\"#b22222\" d=\"M45.4313,-87.0482C51.2604,-75.7333 60.3678,-61.829 72.6967,-54 96.4841,-38.8946 164.3902,-29.3258 218.5285,-23.8823\"/>\n",
+       "<polygon fill=\"#b22222\" stroke=\"#b22222\" points=\"219.1954,-27.334 228.8089,-22.8808 218.5167,-20.367 219.1954,-27.334\"/>\n",
+       "<text text-anchor=\"middle\" x=\"101.6967\" y=\"-57.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">door_open</text>\n",
+       "</g>\n",
+       "<!-- TRUE -->\n",
+       "<g id=\"node3\" class=\"node\">\n",
+       "<title>TRUE</title>\n",
+       "<ellipse fill=\"#698b22\" stroke=\"#698b22\" cx=\"126.6967\" cy=\"-105\" rx=\"33.5952\" ry=\"18\"/>\n",
+       "<text text-anchor=\"middle\" x=\"126.6967\" y=\"-101.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">TRUE</text>\n",
+       "</g>\n",
+       "<!-- TRUE&#45;&gt;ROOT&#45;NODE -->\n",
+       "<g id=\"edge2\" class=\"edge\">\n",
+       "<title>TRUE&#45;&gt;ROOT&#45;NODE</title>\n",
+       "<path fill=\"none\" stroke=\"#a0522d\" d=\"M128.4128,-86.5614C130.3881,-75.6337 134.6244,-62.3348 143.6967,-54 156.5391,-42.2015 195.2856,-33.048 230.0463,-26.9236\"/>\n",
+       "<polygon fill=\"#a0522d\" stroke=\"#a0522d\" points=\"230.9228,-30.3249 240.195,-25.1989 229.7499,-23.4239 230.9228,-30.3249\"/>\n",
+       "<text text-anchor=\"middle\" x=\"178.1967\" y=\"-57.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">direction_up</text>\n",
+       "</g>\n",
+       "<!-- &#45;1 -->\n",
+       "<g id=\"node4\" class=\"node\">\n",
+       "<title>&#45;1</title>\n",
+       "<polygon fill=\"#cdba96\" stroke=\"#cdba96\" points=\"319.6967,-123 265.6967,-123 265.6967,-87 319.6967,-87 319.6967,-123\"/>\n",
+       "<text text-anchor=\"middle\" x=\"292.6967\" y=\"-101.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">&#45;1</text>\n",
+       "</g>\n",
+       "<!-- &#45;1&#45;&gt;ROOT&#45;NODE -->\n",
+       "<g id=\"edge3\" class=\"edge\">\n",
+       "<title>&#45;1&#45;&gt;ROOT&#45;NODE</title>\n",
+       "<path fill=\"none\" stroke=\"#473c8b\" d=\"M265.574,-99.2206C249.2281,-94.1898 229.6958,-85.08 219.6967,-69 209.7592,-53.0192 225.7758,-40.7054 245.3118,-32.1844\"/>\n",
+       "<polygon fill=\"#473c8b\" stroke=\"#473c8b\" points=\"246.7714,-35.3705 254.7693,-28.4218 244.1838,-28.8664 246.7714,-35.3705\"/>\n",
+       "<text text-anchor=\"middle\" x=\"245.1967\" y=\"-57.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">cur_floor</text>\n",
+       "</g>\n",
+       "<!-- &#45;1&#45;&gt;ROOT&#45;NODE -->\n",
+       "<g id=\"edge5\" class=\"edge\">\n",
+       "<title>&#45;1&#45;&gt;ROOT&#45;NODE</title>\n",
+       "<path fill=\"none\" stroke=\"#000000\" d=\"M292.6967,-86.9735C292.6967,-75.1918 292.6967,-59.5607 292.6967,-46.1581\"/>\n",
+       "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"296.1968,-46.0033 292.6967,-36.0034 289.1968,-46.0034 296.1968,-46.0033\"/>\n",
+       "<text text-anchor=\"middle\" x=\"326.1967\" y=\"-57.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">call_buttons</text>\n",
+       "</g>\n",
+       "<!-- &#45;1&#45;&gt;ROOT&#45;NODE -->\n",
+       "<g id=\"edge7\" class=\"edge\">\n",
+       "<title>&#45;1&#45;&gt;ROOT&#45;NODE</title>\n",
+       "<path fill=\"none\" stroke=\"#bdef6b\" d=\"M319.7358,-98.1105C334.6112,-92.7883 351.8084,-83.7625 360.6967,-69 369.8361,-53.8203 355.4433,-41.6607 337.5823,-33.0275\"/>\n",
+       "<polygon fill=\"#bdef6b\" stroke=\"#bdef6b\" points=\"338.5958,-29.6502 328.0322,-28.837 335.7831,-36.0602 338.5958,-29.6502\"/>\n",
+       "<text text-anchor=\"middle\" x=\"384.1967\" y=\"-57.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">groundf</text>\n",
+       "</g>\n",
+       "<!-- 1 -->\n",
+       "<g id=\"node5\" class=\"node\">\n",
+       "<title>1</title>\n",
+       "<polygon fill=\"#cdba96\" stroke=\"#cdba96\" points=\"475.6967,-123 421.6967,-123 421.6967,-87 475.6967,-87 475.6967,-123\"/>\n",
+       "<text text-anchor=\"middle\" x=\"448.6967\" y=\"-101.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">1</text>\n",
+       "</g>\n",
+       "<!-- 1&#45;&gt;ROOT&#45;NODE -->\n",
+       "<g id=\"edge4\" class=\"edge\">\n",
+       "<title>1&#45;&gt;ROOT&#45;NODE</title>\n",
+       "<path fill=\"none\" stroke=\"#000000\" d=\"M438.6092,-86.6124C431.7628,-75.7039 421.7712,-62.4073 409.6967,-54 392.4638,-42.0011 371.1042,-33.9017 351.3706,-28.479\"/>\n",
+       "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"352.0918,-25.0507 341.5356,-25.9538 350.351,-31.8308 352.0918,-25.0507\"/>\n",
+       "<text text-anchor=\"middle\" x=\"458.1967\" y=\"-57.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">call_buttons</text>\n",
+       "</g>\n",
+       "<!-- 2 -->\n",
+       "<g id=\"node6\" class=\"node\">\n",
+       "<title>2</title>\n",
+       "<polygon fill=\"#cdba96\" stroke=\"#cdba96\" points=\"565.6967,-123 511.6967,-123 511.6967,-87 565.6967,-87 565.6967,-123\"/>\n",
+       "<text text-anchor=\"middle\" x=\"538.6967\" y=\"-101.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">2</text>\n",
+       "</g>\n",
+       "<!-- 2&#45;&gt;ROOT&#45;NODE -->\n",
+       "<g id=\"edge6\" class=\"edge\">\n",
+       "<title>2&#45;&gt;ROOT&#45;NODE</title>\n",
+       "<path fill=\"none\" stroke=\"#efdf84\" d=\"M528.0369,-86.8227C520.4593,-75.5637 509.2422,-61.808 495.6967,-54 473.2129,-41.0397 411.0663,-31.2111 361.4046,-25.1247\"/>\n",
+       "<polygon fill=\"#efdf84\" stroke=\"#efdf84\" points=\"361.6802,-21.6328 351.3353,-23.9202 360.8488,-28.5832 361.6802,-21.6328\"/>\n",
+       "<text text-anchor=\"middle\" x=\"524.6967\" y=\"-57.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">topf</text>\n",
+       "</g>\n",
+       "</g>\n",
+       "</svg>"
+      ],
+      "text/plain": [
+       "<Dot visualization: state_as_graph []>"
+      ]
+     },
+     "execution_count": 57,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":dot state_as_graph"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "Another option is to use the `ANIMATION_FUNCTION` with the command `:show`. Note, however, that to use this you have to write an `ANIMATION_FUNCTION` for your B model.\n",
+    "\n",
+    "The following B model contains such an `ANIMATION_FUNCTION` for the visualisation of Lift4. You can use what you have learned before to explore the visualisation."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 58,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Loaded machine: Lift0"
+      ]
+     },
+     "execution_count": 58,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "::load\n",
+    "MODEL Lift0\n",
+    "DEFINITIONS SET_PREF_SHOW_EVENTB_ANY_VALUES==TRUE;\n",
+    "  ASSERT_LTL == \"G( [push_call_button(groundf)] => F {cur_floor=groundf & door_open=TRUE})\";\n",
+    "  Rconv == (topf-r+groundf);\n",
+    "  ANIMATION_FUNCTION == ( {r,c,i|r:groundf..topf & ((c=2 & i=0) or (c=1 & i=2))} <+ \n",
+    "                            ({r,c,i|r:groundf..topf & Rconv:call_buttons & c=2 & i=1} \\/\n",
+    "                             {r,c,i|r:groundf..topf & Rconv=cur_floor & c=1 &\n",
+    "                                    ((door_open=TRUE & i=3) or (door_open=FALSE & i=4))}\n",
+    "                              ) \\/ {r,c,i| r=topf+1 & c=1 & \n",
+    "                                       ((direction_up=TRUE & i=5) or (direction_up=FALSE & i=6)) } );\n",
+    "      ANIMATION_IMG0 == \"images/CallButtonOff.gif\";\n",
+    "      ANIMATION_IMG1 == \"images/CallButtonOn.gif\";\n",
+    "      ANIMATION_IMG2 == \"images/LiftEmpty.gif\";\n",
+    "      ANIMATION_IMG3 == \"images/LiftOpen.gif\";\n",
+    "      ANIMATION_IMG4 == \"images/LiftClosed.gif\";\n",
+    "      ANIMATION_IMG5 == \"images/up_arrow.gif\";\n",
+    "      ANIMATION_IMG6 == \"images/down_arrow.gif\";\n",
+    "      ANIMATION_RIGHT_CLICK(J,r) ==\n",
+    "               IF J=2 THEN\n",
+    "                push_call_button(topf-r+groundf)\n",
+    "               ELSIF J=1 THEN\n",
+    "                 CHOICE open_door OR close_door OR move_up OR move_down OR\n",
+    "                        reverse_lift_up OR reverse_lift_down\n",
+    "                 END\n",
+    "               END;\n",
+    "CONSTANTS groundf,topf\n",
+    "PROPERTIES\n",
+    "  topf : INTEGER & groundf : INTEGER & (groundf = -1) & (topf = 2) & (groundf < topf)\n",
+    "VARIABLES call_buttons,cur_floor,direction_up,door_open\n",
+    "INVARIANT\n",
+    "       cur_floor : (groundf .. topf) & \n",
+    "       door_open : BOOL & \n",
+    "       call_buttons : POW(groundf .. topf) &\n",
+    "       direction_up : BOOL &\n",
+    "       (door_open = TRUE => cur_floor : call_buttons)\n",
+    "INITIALISATION cur_floor := (groundf) || door_open := FALSE || call_buttons := ({}) || direction_up := TRUE\n",
+    "OPERATIONS\n",
+    " move_up = SELECT door_open = FALSE & cur_floor < topf & direction_up = TRUE &\n",
+    "             # c.((c : INTEGER) & ((c : INTEGER) & (c > cur_floor) & (c : call_buttons))) &\n",
+    "            (cur_floor /: call_buttons) THEN\n",
+    "   cur_floor := ((cur_floor)+(1))\n",
+    " END ;\n",
+    " move_down = SELECT door_open = FALSE & cur_floor > groundf & (direction_up = FALSE) &\n",
+    "       # cu.((cu : INTEGER) & ((cu : INTEGER) & (cu < cur_floor) & (cu : call_buttons))) &\n",
+    "      (cur_floor /: call_buttons) THEN\n",
+    "   cur_floor := ((cur_floor)-(1))\n",
+    " END ;\n",
+    " reverse_lift_up = SELECT direction_up = FALSE & door_open = FALSE &\n",
+    "   # c.((c : INTEGER) & ((c : INTEGER) & (c > cur_floor) & (c : call_buttons))) & \n",
+    "   ! l.((l : INTEGER) => (((l : INTEGER) & (l <= cur_floor) & (l >= groundf)) => (l /: call_buttons))) THEN\n",
+    "   direction_up := TRUE\n",
+    " END ;\n",
+    " reverse_lift_down = SELECT direction_up = TRUE & door_open = FALSE & \n",
+    "  # cd.(cd : INTEGER & ((cd : INTEGER) & (cd < cur_floor) & (cd : call_buttons))) & \n",
+    "  ! u.(u : INTEGER => (((u : INTEGER) & (u >= cur_floor) & (u <= topf)) => (u /: call_buttons))) THEN\n",
+    "  direction_up := FALSE\n",
+    " END ;\n",
+    " open_door = SELECT door_open = FALSE & (cur_floor : call_buttons) THEN\n",
+    "    door_open := TRUE\n",
+    " END ;\n",
+    " close_door = SELECT door_open = TRUE THEN\n",
+    "    door_open := FALSE || call_buttons := ((call_buttons)\\({cur_floor}))\n",
+    " END ;\n",
+    " push_call_button(floor) = SELECT (floor : (groundf .. topf)) & (floor /: call_buttons) THEN \n",
+    "     call_buttons := ((call_buttons)\\/({floor}))\n",
+    " END \n",
+    "END"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 59,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "```\n",
+       ":show\n",
+       "```\n",
+       "\n",
+       "Show the machine's animation function visualisation for the current state.\n",
+       "\n",
+       "The visualisation is static, any defined right-click options cannot be viewed or used."
+      ],
+      "text/plain": [
+       ":show\n",
+       "Show the machine's animation function visualisation for the current state.\n",
+       "\n",
+       "The visualisation is static, any defined right-click options cannot be viewed or used."
+      ]
+     },
+     "execution_count": 59,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":help :show"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 60,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Machine constants set up using operation 0: $setup_constants()"
+      ]
+     },
+     "execution_count": 60,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":constants"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 61,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Machine initialised using operation 1: $initialise_machine()"
+      ]
+     },
+     "execution_count": 61,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":init"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 62,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "<table style=\"font-family:monospace\"><tbody>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"2\" src=\"images/LiftEmpty.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/CallButtonOff.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"2\" src=\"images/LiftEmpty.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/CallButtonOff.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"2\" src=\"images/LiftEmpty.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/CallButtonOff.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"4\" src=\"images/LiftClosed.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/CallButtonOff.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"5\" src=\"images/up_arrow.gif\"/></td>\n",
+       "<td style=\"padding:0px\"></td>\n",
+       "</tr>\n",
+       "</tbody></table>"
+      ],
+      "text/plain": [
+       "<Animation function visualisation>"
+      ]
+     },
+     "execution_count": 62,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":show"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 63,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Machine: Lift0\n",
+       "Sets: (none)\n",
+       "Constants: groundf, topf\n",
+       "Variables: call_buttons, cur_floor, direction_up, door_open\n",
+       "Operations: \n",
+       "push_call_button(-1)\n",
+       "push_call_button(0)\n",
+       "push_call_button(1)\n",
+       "push_call_button(2)"
+      ]
+     },
+     "execution_count": 63,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":browse"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 64,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Executed operation: push_call_button(-1)"
+      ]
+     },
+     "execution_count": 64,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":exec push_call_button floor=-1"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 65,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "<table style=\"font-family:monospace\"><tbody>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"2\" src=\"images/LiftEmpty.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/CallButtonOff.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"2\" src=\"images/LiftEmpty.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/CallButtonOff.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"2\" src=\"images/LiftEmpty.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/CallButtonOff.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"4\" src=\"images/LiftClosed.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/CallButtonOn.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"5\" src=\"images/up_arrow.gif\"/></td>\n",
+       "<td style=\"padding:0px\"></td>\n",
+       "</tr>\n",
+       "</tbody></table>"
+      ],
+      "text/plain": [
+       "<Animation function visualisation>"
+      ]
+     },
+     "execution_count": 65,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":show"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 66,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Executed operation: open_door()"
+      ]
+     },
+     "execution_count": 66,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":exec open_door"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 67,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "<table style=\"font-family:monospace\"><tbody>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"2\" src=\"images/LiftEmpty.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/CallButtonOff.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"2\" src=\"images/LiftEmpty.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/CallButtonOff.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"2\" src=\"images/LiftEmpty.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/CallButtonOff.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"3\" src=\"images/LiftOpen.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/CallButtonOn.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"5\" src=\"images/up_arrow.gif\"/></td>\n",
+       "<td style=\"padding:0px\"></td>\n",
+       "</tr>\n",
+       "</tbody></table>"
+      ],
+      "text/plain": [
+       "<Animation function visualisation>"
+      ]
+     },
+     "execution_count": 67,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":show"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 68,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Executed operation: close_door()"
+      ]
+     },
+     "execution_count": 68,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":exec close_door"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 69,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "<table style=\"font-family:monospace\"><tbody>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"2\" src=\"images/LiftEmpty.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/CallButtonOff.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"2\" src=\"images/LiftEmpty.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/CallButtonOff.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"2\" src=\"images/LiftEmpty.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/CallButtonOff.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"4\" src=\"images/LiftClosed.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/CallButtonOff.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"5\" src=\"images/up_arrow.gif\"/></td>\n",
+       "<td style=\"padding:0px\"></td>\n",
+       "</tr>\n",
+       "</tbody></table>"
+      ],
+      "text/plain": [
+       "<Animation function visualisation>"
+      ]
+     },
+     "execution_count": 69,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":show"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 70,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Machine: Lift0\n",
+       "Sets: (none)\n",
+       "Constants: groundf, topf\n",
+       "Variables: call_buttons, cur_floor, direction_up, door_open\n",
+       "Operations: \n",
+       "push_call_button(-1)\n",
+       "push_call_button(0)\n",
+       "push_call_button(1)\n",
+       "push_call_button(2)"
+      ]
+     },
+     "execution_count": 70,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":browse"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 71,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Executed operation: push_call_button(1)"
+      ]
+     },
+     "execution_count": 71,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":exec push_call_button floor=1"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 72,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "<table style=\"font-family:monospace\"><tbody>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"2\" src=\"images/LiftEmpty.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/CallButtonOff.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"2\" src=\"images/LiftEmpty.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/CallButtonOn.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"2\" src=\"images/LiftEmpty.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/CallButtonOff.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"4\" src=\"images/LiftClosed.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/CallButtonOff.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"5\" src=\"images/up_arrow.gif\"/></td>\n",
+       "<td style=\"padding:0px\"></td>\n",
+       "</tr>\n",
+       "</tbody></table>"
+      ],
+      "text/plain": [
+       "<Animation function visualisation>"
+      ]
+     },
+     "execution_count": 72,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":show"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 73,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Executed operation: move_up()"
+      ]
+     },
+     "execution_count": 73,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":exec move_up"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 74,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/markdown": [
+       "<table style=\"font-family:monospace\"><tbody>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"2\" src=\"images/LiftEmpty.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/CallButtonOff.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"2\" src=\"images/LiftEmpty.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/CallButtonOn.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"4\" src=\"images/LiftClosed.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/CallButtonOff.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"2\" src=\"images/LiftEmpty.gif\"/></td>\n",
+       "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/CallButtonOff.gif\"/></td>\n",
+       "</tr>\n",
+       "<tr>\n",
+       "<td style=\"padding:0px\"><img alt=\"5\" src=\"images/up_arrow.gif\"/></td>\n",
+       "<td style=\"padding:0px\"></td>\n",
+       "</tr>\n",
+       "</tbody></table>"
+      ],
+      "text/plain": [
+       "<Animation function visualisation>"
+      ]
+     },
+     "execution_count": 74,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    ":show"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "This concludes the overview over the ProB jupyter notebook kernel."
+   ]
+  }
+ ],
+ "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/images/B_CallButtonDown_Off.gif b/images/B_CallButtonDown_Off.gif
new file mode 100644
index 0000000000000000000000000000000000000000..d7979a86c38e2308eb1ea6211b6dd0a147cbfe83
GIT binary patch
literal 762
zcmZ?wbhEHblw*)*c*ejWFD0&~D5s_*udXDouB@P;te~NysHv)?rK+T*rmU@|tfQf7
zXJzhWXX9*d>*{Fd>S*ug<lye?=;`X@>FVs|?&9t4>f_<&=j9RL;}sI<9~B-N9T652
z86F!I5f>d99}|@j8=V*zlN2A@*W1(I+tc6IJE6aC;)MRm6DLfWG;!+WNz*1zo;GFj
zw5e03Pn|Mj+SHlTr_Y)(efG>5b7sw)JA3xLIkV@@oil&#+y(RIE|@=W`O>9ZHgDd$
zXV0O72Or$O|KP!c_wU~`3|XK9ayck27&!hhH2;zC*s$PWGe<MS$AcRd9&Q&<W@6mb
z+<LTI!Z_>9jpQUQ1_kFX8PA|4%<{suCJY-EG@hPrkbEeGp@{WVs}_TX!^1_(&(C+L
z?PB=Qkmx1P$I!!Z>dSLZ7KSK^*cZvH4J<aZjbx=3J`9xSXXv;f^+mHmJZ|N$j6zfG
zoAVSIN_<}nG~L*4>o3E=aQI=kygq}1MWZ+i11JCgUmXkzM{WzVF&yz&Gfk0)ft@4!
zFGB*8%TYTO28M-KT^JdR?84I|m>U?+I@&TUP$)D#%*kM9V9J}|_O`=_LBv2%+M%_>
zd}1)e1I87cObi(c>}Lzu7?_UKmN6tSRu(-GossZc$B@B+_x%;gOFQPxWp3cUw_kZb
z!-8gRAtr_!9rNcU@-i?_*}%vkaYX%o4MT<i1B1E54S8p?mXHO_+Z<aMJuD?E6pAbu
gCN#E5D@||YQ?R=sz^|}KMZigCn@4~EBO`+~0A}yessI20

literal 0
HcmV?d00001

diff --git a/images/B_CallButtonDown_On.gif b/images/B_CallButtonDown_On.gif
new file mode 100644
index 0000000000000000000000000000000000000000..e36162198aa2b376406ad14ec18dfee2f4d00d3f
GIT binary patch
literal 759
zcmZ?wbhEHblw*)*c*ejWFC{LkC@HHXDWfDMqbwz@CM}~PC8H`Oqbe<}AuVR9C~B+Z
zY;WUiZ!74p!5^m0AFj<8q0JYm!xyE)7p=n^qstqs>*{Fd>S*ug<lye?;O^|`>FVU^
z>g?s_;^pq*?e6O1;pXe<?&sy<@9i1j<Hguz!`N-Z*kjAsYs)ane)7Z#QzlKEI(gEx
z$&;r|nLK^!l<8Ba&X_iJ=Je^aW=x+wbH?nMGv~~jId}G~xwB`_n=^af+&S~-&RsBn
z-op9wmoHtqW%K5}d-fbUc<{mf`wt#Gc>n%A!;k_xAlHK8f`Q{7LpP74$A$$5n>kpy
zB2R2sc(`4lljrBdMT?GhOBg5dC>63c^eZ@b$w+Q$6zFu4VDQ+mVCm`U2Ju=yZajJ-
zps2$j;<0ei^7Hc@YNHqm5*57^c^M)&PJL1DVrGbw*sHmOm4U@(w$WM!1?Izxo%A%W
zN`296kceN&Rmu2(foqe!Cc}jb0&4_#7_<(&?L5T5AX$2qtMTGD-8-BNW)@qtRhSvL
z3IYWf43ak{C>k+H7~BytY;W&r&8b-P^~e*c1^V1G7tS;e;AF6I3DIp~Zs7Fs=V3@l
zHgl0;;F!Z9#dv_d!)#(Xg977<JO=X#?Qs#xKMLjxFtj+#lljTcAXpPSOMpRv{rgMq
zd<Kbvzl~+@?oMoGU~p{hWMC*c;J#mgoq<tphdEQtM@4Za2EGT!nH&G;E@Adi5r|MI
qQmVPq+`_B3g_%Ls!$Pr0<;R1>Hg3j;4?UR_mptlX5fv0*um%9n1I_IK

literal 0
HcmV?d00001

diff --git a/images/B_CallButtonOff.gif b/images/B_CallButtonOff.gif
new file mode 100644
index 0000000000000000000000000000000000000000..15af126cd850817c9b6b1f58b4bea39fdb263e6c
GIT binary patch
literal 235
zcmZ?wbhEHb)ML<Nn8?5&FD3r}|9=KB&;gMkaR!bf42&Ey9vc=MY~~Q=;yJKk;o)`x
zWv?ka3KkvhmS7G!b7JG;V|@y`bv&M*9-f$_;lD^_Ws&NMX?m82_C#!Wa;AgX_uiG4
zf(*X%CCiOiq)apdCo1*_g>+qh=08h&rqvwHtBX&pa!yWKx~f#kXHD4js@|ER&%-uJ
z9Sw4c{;D0l)%WB!+uNdgE*p&YHXZFQd>uEv`r{|r)!Wx!UfnkNo2<^3H<$PHi|?Of
lJ@cvK>5N>yb7v+Or=GWUY!}O&Qj&SuUUXI5UMmF#YXD9$WQYI&

literal 0
HcmV?d00001

diff --git a/images/B_CallButtonOn.gif b/images/B_CallButtonOn.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c773232aad46fa9ca9c8e488b814b73123b8b724
GIT binary patch
literal 293
zcmZ?wbhEHb)ML<Nn8?5&FD3r}E5oXlD;XFVbQl;I7(n6-9RC;?Ib=LGEI8QAA<QLm
zV8g=0?E=bPQ+5<AI@&G48gk~u#>dC{6m;u&JU=}=F-gOJk;=*<)f3aid8f5V1}ge?
zn9JT$Ibpcmt(mcjZEB}sy5mBRR-w5SlM^m2_hLWBqEMu8Wi?}k(b8R_3}I`cvWrBu
zKWInH$T&S~uhg|C5!<t_J5AM^mK3wo|K+2a)t~j^mgGur+w!Y?-Km3h-2Ap@!V8j)
zR{g&9b(KYC%JIqC%x*R_H$6K&!#MlgsmPM22NwE@v(25gCVkJE=-vOiqdr|ZJ}vw9
zK3|LN@9yp?H(U3*FuiaZhx4zJol}3FdV21=+kDHKUm>qgtxkTgvuAfX10y4YH2@OW
Bgs=br

literal 0
HcmV?d00001

diff --git a/images/B_CallButtonUp_Off.gif b/images/B_CallButtonUp_Off.gif
new file mode 100644
index 0000000000000000000000000000000000000000..1720acc4de6769ee16f27c1ce2523e54e2aaeb10
GIT binary patch
literal 769
zcmZ?wbhEHblw*)*c*ejWFD0(2qNu5=q@}8)rKYS6LMl4yDmv<_IvT3F8fv<lYI>UL
zW=8s!CPp?EW_Fh5c2*Yl))o%dmJT*nj<!}#w$@H|HqQ38E)I6Cj&^QN4(`s59xhIv
zuFg^6q46<M39-?MaWRSUu}Sf<$q8}EiSa3k@hM3OsYwZ`$%$#niRmdxy<MHX-Cg}X
z-4ptHC-nDCoX|gMLjR<R6DCibFnQ9%DU&8nojhsU<jK>fPMHouQ)f<}Hgo#)*)wM>
zTDV}{nl<a!t=+eG?}7dM4;?)C;Qsvw4<5XK|DIte03DDcL2<#r@sDAmgrvuY1qYis
zCdz0Y+OY6&o0FVZPDRSYBki(vF*Ol|$%o|_Y$}#yTvTRfV5sTQxpYyPe+q-unw*`5
z%nkgE3|}NXiy!eZFef!I9B52G*(t@)aY4|Tfk95L+U^WvLj#Yjl@r4afv+zP^Dww2
zq*^f?=<5xVzQ+*o;8lbmgUN!gw*;6OgpxO&QeaRxesqiLHK~Hx<tz<6^)JPCGAwYp
zx3QY>!HgMYYz@pU@{<`F8jbF9G5Fb>(_YNbAT6{s%FQ9U<em_N-V!^n7A6Lfb)NDJ
z0nLvCB^ZRZoU^^g!oa;xT4*AJ1M9~<CISpI9!^jzU_CrP*_E+@NpKQRXSxf+1}Ez;
zEDQ+^`k$B%G`)FNx`e^tq4nuj7X^j{LHS)xUwBHNFfs7lxDX$w&7g3wTvYHQ0|S$V
z!owDkFporLjlBi&+y<pD9=0nuIk>nwG9*6g)L6D6smqyRn@|*!qRQhQ7DYh;25SH{
CRNpHA

literal 0
HcmV?d00001

diff --git a/images/B_CallButtonUp_On.gif b/images/B_CallButtonUp_On.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c718766fc37e176c4b19c38941d9a8b52dc99dc7
GIT binary patch
literal 767
zcmZ?wbhEHblw*)*c*ejWFD0%gC9W?et}iWaAT4evEp8+&ZY(WsA}wwzEp8?)ZZ0iu
zV_{}zX>Mm_VQ+2WA|v50BT*|a<zQ{;U}NQIYvp8X?PO=;Y;WUiZ|mx4=jv$h=H%e+
z?BMR~=;7kz>FVU==F%)L)v6%XrXba>Al0ED)u|xWr6AR<Al0KF)vF-Yry$j@AT>cj
z>Y|FwB^8;=Dl%78WUi{n+)|b8?dt69?&|O9?(glH(APV$zi-ln{>c+3Oqn!s>f}k&
zCQqI=W%Bf?Q>IUyI%C?@nbW7wnlXL$%$bW8E?Bo_&H8m~_wC(#VE_I@2M<2DfB(UQ
z2k+m%XBcEa2jm`5TrhC_W0-Fu>9JwK!DbFtqsS8*6c4NLDI1ksa!ESE@1|q5WW~gX
z0t|{)erq%~F*7i@x)?pY5qQFrK_O(*l@p8&Ees4D9dk4VIT)DqT^K%Wn7qW5m%-~o
zg(1U%34J!Q{}=)o*m$Ls844P*Op@3b)Yj>#GAMK$TftKu(5pC&jgvw8Tv=`h<AKg?
z$&3seJEnC;G3R`o#;~CA{hd~Eh6M+zMco(~>{J%rWqi=Ub1dAK;e^7^0#*i1gZSQ$
zJKT?~uwqcyp)-q(i$UD4Jl2V^q3haWeuf7dH)iu)T~oN6Az`8UVO4&H4F`0?*q9is
zrOq8;RB$YKro|8tVN~=`h@BxS)gb@1Ohey0pFD<ug4#b^48l9sui3GLkwN_N$5S2*
z3df!L%osKt;Q9IRC=&yJf%`=v9tH&m76CVnhb=-*1($d~U;S{YO{VNcBC~fu%Mn49
cX&H|?HRi2wiPxH|D&S;r%;SPEBO`+~0B3dJWdHyG

literal 0
HcmV?d00001

diff --git a/images/B_CallButton_DownArrow_On.gif b/images/B_CallButton_DownArrow_On.gif
new file mode 100644
index 0000000000000000000000000000000000000000..3f9e3e5419cdb0efe067f27d313f038047243d7a
GIT binary patch
literal 2635
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
G7_0$&<++Uj

literal 0
HcmV?d00001

diff --git a/images/B_CallButton_UpArrow_On.gif b/images/B_CallButton_UpArrow_On.gif
new file mode 100644
index 0000000000000000000000000000000000000000..4854b333bde4e589307caa2322186e699b048032
GIT binary patch
literal 2643
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
U*To5aB}?KrW<;D(R$#CO0FDsD6aWAK

literal 0
HcmV?d00001

diff --git a/images/B_CallButton_UpDownArrows_Off.gif b/images/B_CallButton_UpDownArrows_Off.gif
new file mode 100644
index 0000000000000000000000000000000000000000..a333c85f62a3806441c4a2935f548fed89bafe2b
GIT binary patch
literal 1593
zcmZ?wbhEHbRAI1X_|Cu}FD0%ZEukPIsR%++in3BlASA6UC#@nctt=;_A}_0=Ag!Vx
ztEwQYrYNVTB(JWlprNdwsiLT@rl6&&q@|{;4MHk9>Z-aLs=AtLdYbBbTI%}R8V1@b
z2HKhiI+}($T86q>Mta)D`Z}hDde-K;wif#4Mg|tfh88A<mZnCQrpDIhCN}1#HWp^~
zRu=ZwmJZg2PPRr)cE-;3CXTk&j&{~gb~euTwjR#ru8#I@PWC?TR=ytAZcYwv&JG?f
zP9CmKp03WGZq8orF5VulJ|1p9o^HNg9)8}Q!F~<_K3;*o-hqBTA%XsJkse{ef#D%R
z5g|d5p}~=1AyMI>F%e<0Q4#SmQAx2r$#FgjvC)ZfF-h^UsfqrXse#D}ajA*%l_hai
zW$~#=38~46X~~J{smU3sDH&-gndzz78L3$rY1tX+*_r7%ndv!M8F|^6c{y46Ia&F+
z*#)`T1$j9|1$o5<c_l^pr9}m$#YN?%#pR_XmF1<C<z-bBWmOgB)s^Mdl@&Erm9^DX
zbv4!XwKYw3sSS0tjrDas9l1>n^-YcSllzONPAr)<tzz!Xs=2eO=gq2KIJd63v7x28
zv8}bay{)CQqph=}y}Pr$tFxoKv!lDKv!}bOx2L<mx4W;mr@yzSzpr;ff8WFj{gWs5
zPntMk@}!AVCQX<+Y2uX0lcr9YJZ<WfnbW7vnlWweoLLLz&t0*kdG+$v)hpVzZ0Oy-
zxqs1u`FnRx*}r@0lEn+RZ`-<S*N*-B_8!<X?bPvk=T0p=cY5LTCtF`U-S+;??k^wr
zA3Av8@Zp0;j~qUB^vLm}M~@vldh*2aOBXL(zI^HGmCIMJUb%k#+KubiZr;3c>(<RX
zcW&RiclYb313$hT`u*eR-(Sc6|2e@xd!Pfd0+bgRIQ}ur-YVs>VZp&>4t_Il)z-el
z?E=bPb2tLMR)v%$WZpTkQCTN=hD}#X>hq*y6O}rrShP+`_UzHMUc|`oz{96k-~XOZ
z34;SOLss6iJ)EmWI2ekP7y~wFJi9R4f#Ji7X=`~K1eZnG<!Z7uu%_PJ6nL63p(AXv
zA-^PpgLcl16k&!rjypq_Xz($7*->iEeSpzL`E^;%QsxGM?CQJM7#}oF@i-{6o8iI(
zosGA%Y#10Sd%{!}GBQ*}-rLQ?+@LR~c$jM{W5fK5ou!Nl2`iMJgqt%c>}0e4D90e}
zvh&RuLv9AX^Hu8G+*lg=!lhZ6g%}pN&v|`gb9TRT>#}JtjwJqTH1gfN=jZ1aj64!8
z#x;tDA0D5c?{9B6@0&sAEBSf#|Ld;GuKaXd)a?#Ki*QcPqmT-@m5W#_pR)?M1UDL<
zxTvaj!KGPg`<te2m1qM72gdt_*W%s#j+ip*->rE3sQc&y$H^jUuZ{?6$uVqTHPZj~
zBT0{wLBTys>`)RbgI&(!$CK{eU^>8}^D%v~+qxKr0|q`uCs`QsZlonDG2ED-I(aKY
zK+AOXtQK~L#Gai`3>bDaJe#uN2_u6<-Y*Rv27@y%Cn__{xsWtZFO11SsE)5J#Gs|>
z@L4{FJL*e4;usnZ8MZhvIk2x%xph%Xli@?NVV)n814FIA%x7+MS{M$n|DTqzS;a8$
zg30t%C3#Oc`Ah;2xGGO^33B5#@tmOT=~~pn&i&HS;HY|u>g|bY*%236L}FPsooZVB
ztNdDLS&HJj9Z#lZzuVFDAYECRW6ATps)H+UUz9QlJ$QWYk7uj(<(+yWX77<zWOU%U
zq~Sg*b4BC!SDLB}25kou6PL|gE@Qiifnkk94SRB*ua=MugT;sLqT0W$+FsraADm1!
zs0K4Kq+RI{(vmDQycLledgHCz3>$_68q*?Gox+T^yRb8G|JXEL$2%~h#M_@?1CvQ2
zqc9^wW=*w@`>GWT3}QEYl%0L=<ed#v6JWS-(nrNb^6fdfwVbz@`Z!eAx(8hN!WO8&
n(6z;j+v~;k?H;oiDE)8^4p{QzkznKzAEycKeF4Udj11NQ7l&ws

literal 0
HcmV?d00001

diff --git a/images/B_DownButton_On.gif b/images/B_DownButton_On.gif
new file mode 100644
index 0000000000000000000000000000000000000000..f3ee452f29a332650c6c6dd395c5b7ea6cf3ff5d
GIT binary patch
literal 1355
zcmZ?wbhEHbRAA6!_|Cu}CnYW~B`zx`AuBH-CnupGEuknQsU$0<EGMlZFC(iUDXS<c
zt0XC<EhDKbE2%FhVJIhIEU%&<tEwQYrYNVbB(JWlprN9usiLT*s;s4^tgWV^tEr}^
zrEZ|DX`rKNsH0`1r){jSV`89dYM^Ikq;GC)Xklz<Wom3~ZenX`=3rwf?5Zm4p(f<5
zF6gHr5U9zMq|cpdz?EUhm2JeCYs6Y@&RT21Qg7kvXz%9a;Nj}z<>un;?&9O&=IiC*
z=jGw&?cwj^72x9)<mVF-;1?3;9}yB185$B59ugf979SIp5F4Ek8<Q9pla`#Ao|2T2
znw*)Qnw^oJo0XZDot2-Hm7kkkn3r3WpI2O%Us_a9R$NqGT3lIPR#jeBRZ&(`RaskI
z)lgf@+-$|tXvx@P%h+qn&}Yjq$-cR<v9-CWqqU{8y{)UGy{D_Qx4W~qyQ{CKyT7-0
zLSNs+{{Bf5`X^89pFDBG<cSlfOqwud(!{BgCQh9^amu7gQzlQEHg)QZ>C<M-oH=Lq
zthsY$&6_i4-rTth=FM9$fBwP+^A|0czi8pY#fug#S+r=$;>AlBFJ8K2$+D$OmoHng
zeA%)U%a^ZOxpLFS4coSE*|lrO(IbbC9X)dV=+WcHkDfbw=Hi9(moHzsasArOn>TLX
zx_Rf$?R)p`GK>P$5YPc}L3x3J;~#_RS4ocz3l27Ou;(4RtkQG1T|n7u&WV=u^9-gM
zW!*Wkaq)2jF~ceu&miR!-KwV7Iwu)D_ME6H-fOU6+0)b0oS0ZnC}=!AJ1K%G;e%kp
z(Iu1Y-A_3RGz2UcWSpkJ>uD6&!4T##aZ`!H0f|YTmO)Chn5TpV<uJu?m>9ir(_%DB
zvGUFenZ%%_RJ-KXN8fPQlC4!%f(|F+rpWMDa%@ojaMPQU>43?}aOI`4j8!c~HDZ1Y
z+zl4HrV2GMtDh^G&f@SfBl(6I8<&TZ@Au#?2KSh7y(5YY61N%+eK{Vq8YOvIGO-A<
z+I*PHAo6F&lix1O+xTy6&c5FlyPVT~YTmzfnhQ4X`T6<9X>m?}(TfYde|UU)zWn@2
zx2M@@Ki=*sdTH^01~!cc4Gd0)<h%lwEPv1xD$^mTYV|_p0E0+a#=}--js=(bFDs^b
zurnT*aI8aRT1JwT9*cmJlI)=;ZHx?83Lf=jo)KVRDwZ(6DZ*&rz}Bn!Xn_Mm<cqcl
zw<#Y499S|KW*(E|XEA8W_!Zj3!NIuaK?*nHgaaH?-LpiFGcsIoSj@xdk>KwBJ+#P`
zfqP2fBVJ~f14k1l=d!pk2+RpwB+18;;1V60wWWiDaYuj>H)D-^#tfN@2e0rbA7i*H
zpCGzxq8Ot_Lo+W6%ZH;O6Utm%82C*D7=(UKJr$^Ir21k?Q{$3nF9YR-Lj<B$Z>ze}
oD)D3MPWgF<*-o>|`S~n)vq`}8pu1X?iptw9wJ#QWIxtuR0GZ>ZkN^Mx

literal 0
HcmV?d00001

diff --git a/images/B_LiftClosed.gif b/images/B_LiftClosed.gif
new file mode 100644
index 0000000000000000000000000000000000000000..10f44df3b1c0a145a07da719180f47ecb9f36bf3
GIT binary patch
literal 3825
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
MtTwJ=WMr@g0BR&t^8f$<

literal 0
HcmV?d00001

diff --git a/images/B_LiftOpen.gif b/images/B_LiftOpen.gif
new file mode 100644
index 0000000000000000000000000000000000000000..7f0d69891fbc57f258d9af9419333473ff187f87
GIT binary patch
literal 3397
zcmZ?wbhEHbtYoNXc*Xz%@>1f@mn;AO%CNgB`u~r#|36Ebn;Ki1np&EhT3ediT3Xs#
zTie@OJKEbi+S@xj+PgYCx;s0&ySjS1yLx-N`+9r&dVBl(dMEVvO`Om_al(X26DLfb
zG;zwLNmC|Io;qdnw5d~8tz5Z!)v7hCSFK&MdhOcPYuBz>w|4FNb?Y{)U%O%b`b`_x
zZrreb>z4H!H*VOxY2%j7o3?M;xOL0sZCkf&-?nwf_HDa%ZrZbZ^UfXH_w3%Xf8W-f
zJ9q5bwR89GU3>QI-n)0tzI}W5@85TD|F%O1wjDXN{n(Km2M+8%d1B}3Q@hTc-F@NQ
z?u+MlU%s^W+LgWkf3G@t;J~4S2M-@QbmYk4qeqV%KYr}QiQ^|vo;Y>t<eAf_&Yn4Q
z?(Es~=gwU?fBx2u19xs6xPSM+rHdCYU%GVV^5v^nu3Woz^~Uw<H*egyb?fHs+qduC
zyZhkY!N(5{J$rKa*^?tLpB;Jg>gfBo$3K5O@$K`8pWjdZ`FZ01pA-N8{|5y$Hmm~@
z1jPjd$3F&M4jGRP3l27O2y4Zh*s$<$yMVIS9FL8Qj&@5JXWcomaq;nf1?Mgq&rM5C
zPSyxs6?1aa($k%cNvGy`ZeDhFwng!)J0~wcJ37yynM>B{i~7aI9+R0&S8Z8&d700A
zuerC3wXUv?NRK*us#GhOA>nYBtoODxH#cWoUKQ$X{OZ>Bg2$&~qc6X`v%BK+ytUaA
zm)#I(VCI(d*|Fi_;SOPKKEZ40@%t0Sz1?z(H>Dovl?~tW^ZTc#49r|MlCcR64ClL#
z-n%2U+4$8_Mwk0D|1NPjbG_s6qKLmc(zveg(7eu5XOYu&cb4WopN&iw9}gX#&o4Gx
ziS_+iv+yk$4`Zr2W-RjjH~X8MMNYTqwaJIK?A&{_`@|FG<8?;A{oa1OcQ!x1FxImA
zyTJj5_!^6e>esm6e%&7D%Wz1bIZnV$BCLU9+kyoy=6eMacx0MX549__X*}vsnU?XW
zQ={pqVyoDy_JzLEMHbEs3=1+I_gXyDXzJ2F^x;se;N2$+dQ6Tic|6hMnZ#utnPUP9
z69n#FdBS6IB_U-}M4D!jkBPxfr78TLlFU<0BP1K9Wu!?4^TwKSE^`i=6!~mw=Cze6
z45`~B56|YktCG%Zb|Lfm0`+w>)hE{&l?d~OGD*Fd+2R(J<YV^aX6hnt-Kb@}W=|AW
zELqUykhwJH+>4|MW>Yyc_-tyVvX=ZeeCnVzdxloY<z;KOalKr<;MkGoHLI@8y0CWc
zvsYT{%YMyb-jMdGHP&~|vs;HZo>=zs_4+wxx5M&HN>4HK+xqOz-r9WZ%Hiz?xVkU+
z?reJ9?2{t)T2H`%Me&HByMv&sNRW>qt7u4w;s#L`@th5!OyP_h_6NP;X5Ht+;<%pw
zxn6YUY@@l|?-rl?6+U^3-Ja8`>)!nec)$1Or`!4mn1ySOo;EmM<9d)uU&r+@zr3KK
zfMU4MtEGm4dp7Q3zxyS3hvMmwrQ1K>>R!Lk{J(U8XxM?CqgNx+ds)wLX!{%$F?XN%
z`J7X7^eP{b>^Co02Hq+uIbpA{H|w(B>(lG6goM`~z4|Zm%iHhwBV+y=9gJ&!yWyOp
zhmOgHo<*_WZprF<1fR4!vUk~bkNI=-uT<<lQ!W<OqW9}X)E8Zghi2V>4Q@W16`OLw
zw%&V-qucihUwn#h*L~VMXY(3!vD)^1M?V}9-|zZj8GoF`Ijha@cKO&JS(p7p|60m!
z-%qdNwx9a{Y;XC8D4z32e>|CNZ}X|~e9wpLiR;%@9DR9Ar1s5b@hOvK%SukK`sVbZ
z?)#NcX1Nzfj<@Pbd}v^ox&L$0b<=O1Yb)Oy&-Q6B*k63LU*Y@d`#uKgo8G$WCNT2M
z`@tj8CN%3p3)_=JOqaLYZ7@7v`H`D})!A($H=m1!%$1n;E4~>$XwBzl{im}~qRqoa
zY1#&EEt|MsY0C@_@9a;vdpzTaR)%vUM{2#S%S}FKjXer&i5<xtizSX598q2+P#K-A
z_*sD6HRohXm+k6BjO%Wg{9l`saG!g=_)!5jqaPppQ#ck&oLO<i<l33eoR~Qx4>gQl
zE#%UOxbpCS#f!s&bsPIrPb^V8E#P6)#@NYivV?j5iWBBWL474p;!nLh;i^#fu)9XZ
zS@Mj->8M$alT&0=G`!WlTn-gXG|qXlZC<JUOqWZ|ce7Ikk}bWB=RBNweu=7HX{DQ(
z*~eDFDN}uv*xW-NvDE)CPLmCvdB$efr%9Vi)TFNMJZF5zXu=g86=C<89`kdJ3yr`0
zPxC#n(y?$=QTMZ$XA+kx*-Vx^T#!-l+{8ZeY+Taj-djDK=ATb)Gq|~A{^Z}!Ri^&*
zN?T>jo5hhSCG^YB|J|ioUs@j8s=7JWetR;bOebBH)hnP`DP-Y?lod8te;kNE#Znkt
zqUoRD<tM<lWij*IRL7g1ms;mtS!jD!?RdkjOI?RFHC$L<_)MJTm+o|Vu4=Ek{_~gK
zEB}=&npT{0Tfx$AEnmS*xvfi09%_b7nI^g@*mZS4vC_hQ=UP`~$}T&ucgugjl$c)C
z)~xyaB5xeF3e$BAU9+gfNla*l1FKF!BTrsKvn<a-4mSrUp(zJi)GQ8i$44+r-}%61
zam10Yc!9I*zc&HwR%aaf3L6ef-#O4`T62)wFM~;V$^;e_iG>`_HyHWy6qv;~IIyZI
zFh()07R|eQL}%L3HEEWwBQJDK+p^4cZC2##s2iuY@on9kn^%7O_I<YU9Y<~Ril*Pb
z^W1H^Zr0WnJ|~#i3<Mr-WYFv8n|6V16GvE)2^Y8EfdqB~mLCU`6*tIo&5@iLp{k=4
zVbEf3GtF#EBByBI$yVDCF`LA9^Y=0*GO&8=5}U2p`&wF6Gy3?BYc3W?7$pij-KQNs
z^7DPY*1LrajNi=<uFS7&pS?oq=9gUzG6!|o*UjraK1qM4q3_hyF_H{xmzl0DT$}bL
zdhzF&bS-uFGY77!rZpY@7i7Nksb0#g(?<6`Ei<2av?uMf@a9L;YPQV?2sO==do%0x
z)n}@@xsji{HsAeanr<b}bH3I14)aZpz+;N1&S$WC*R78duKM|d<3m!&yDiVROetJ{
zk<+{Mkl3?BhXYM>*BzeW@-gzNul_bQdxbB1Q;e3m&E3(ww2kS?A~n+n$=^5D?2|lq
ztj#~dc(t$ntWtB;*_yMT{JOm7-PXk$IC6CLX5IM5wS9-AnAugwH8;EV%$UANmSGE*
z@db{ydFvcyCyRgib>YsplK=D4%%^JpzW@K;^qq<p8;=_D-O|l6w_CjZ`hwWoaYlvb
z_l9q^zx(pm?Z09>j<M>!+2||M^<lTfA>n=hKis}qwaIkloOR0on5s`}R&RU#ZQswk
zA7@>ci9Z{>Y4iNEOQy{~KILFe1w+WZ9SSF0tiN3|J9<#G*#CC+GmHLRSBm{!&uje?
zAmem_>xb~<N&9afx>kDUaDQKkQtqo$zUp5t|33b0+xERLSo3AK)opwCdBOAEgCf^Y
zuAW=8NZMBI%uT;bE4P?b8p@vY)8F+-{Cv>7gTKNz302-bUo5jHc;c;Xn>cyb>k5mo
z#61#@x4N91XH+%w-<K836L(zsmSY>rVXNWL$MZbg`3(PQHN)pMK1u(79_+5V{Wi*$
zx81+y>S@_eH<La+N$hVD_Sw*Mx%-oHrqi#O(@$9TT<@!n@%yp)pT72w)%^Q^^#A|+
z#5jx1w*GJ7tazpuEA4)LnD)uXEA8)$DGa~o-T(Ei^NPj;<zLYZ5)Dj0Y9}t&dOp20
z>UfQM0MlD_`%B6tQznP;bkv_&SljGgvG17XQKtqOj|Qn9#?QCcaGhvSd0>&s-1tRZ
zSjC|6W_qLe35~zs8;vZQPaaQ+-ITZ9yh+u8N%?_AR&$fb=hE0h(SCNzOWVUt7>(XL
zG5FkQ@%zydAki9R(Haub>SIxob=c5-MZ70R!}a9W1c|mJi8jUshIuK~ubXTyC0Qrm
zXv@3NRwV8meIoO2QEGlgdxb}<bg-tAdR66*_684z6Xxm}5hg2*%xwfZ{&)RoOLOk1
zo?dCXP;2g{jwv_VHeX69uE;i-*f{k@XM#t$)A#Cm7F{73nyJ$|HQa@ZoVwOXv@YGG
z-s)j(wlH^XM7Qq>btiS@Z9BSI9;j{1u-|+_aZg5f{HJaS7Ue@0J!@a67$}r5F6!C#
zLfL7#;)RHA4yBTJfxT;Y$lh4dyLCpviWB7~7n$ze=!*H?u{~T^JD_jP47nFG+Ds4j
zt<@;`bfT+MiQ&hL{$CmlW`X_RGK7CiOkmpC|Mx}z5{?PXGbgY}_On@bajcvmaB>3g
z%Lyio6U8iBBs4|EBqttbWK#IRDEEL-_5!2K21e-xjFJ-=B^nsT6Bxw;7)2Zyg$)=t
z3JEX@GB65!VBmYez<Yp!X9ENG0tU_r3>*PdoL4e9yqwItVKRTiWHU`hW68;)4<?Ck
zn54OqQSBt7vg9QB2NN4UPLS4|VB*NY_+X-f<|LKONg69B>Aaj|pgGwjbF#(C$u=)1
zJ7`XEsbr|?WN@E3g=fPQz6(<XK1>PpWDL$^4DDnLpE))9C1Wfn)BQl<#F-P4XHJ}^
kDKgn|LbBz={~E$GHK$FNoaOv+CZp!8Wt<{nk^&6Y0B8h@fdBvi

literal 0
HcmV?d00001

diff --git a/images/B_UpButton_On.gif b/images/B_UpButton_On.gif
new file mode 100644
index 0000000000000000000000000000000000000000..2b968db482ab0af31abe1a9a9721c9c7bb20aa97
GIT binary patch
literal 1358
zcmZ?wbhEHbRAA6!_|Cu}FD0%ZC9WhTt|BF_DkZKdC9WkUt}P|5D=n@dEuknQsU$0<
zBrB~fC#@_mV<0VVA}ww%Ep8<(uBsrbrXZ)LD5s_<udXDouB@P;te~Z;q@|{;qpqT>
zp{A#$ZlJAcsH0`1t8JvGZLF_jVxVhkpl4>JZ*FX8Wom3?W^8S4Vryw;XJzgpBjF_@
z;VmQKD<cspD-kCvnJXt*EGJnZFX>=o>1b=^;$Z9QXz%9a;Njxv;p*h&=Hlbw=IiC*
z=jGw=;}ziJ73Aj=65tmS=pPXh6d4*49T65E6O|Afoe&$77#EY07?+lun4Xf9k(!*D
zo|>JJo|~1Co0XZDospNFm7kkkn3q$Sms^ydS6rB1R$NqGQdC}ATv=XLRbEz8RaskI
z)v6%Xtspf)L29<5)O<zhC5qDPm83T-NpDw@KBz2nL|NvPip*IRne!?#S5#!Ks>obd
zk-4EFb4yjWp|-ZUv9Yzesk6PUtE0WAtFyPetFNcKzqfZnU*E+3zKQ+)lP2^}o;YFh
z#EDZTO_(xi;?zkKr%s+YWzwW6lP67|I(gdEsWYZen>};JteG?C%$hN0_N;kx=FFQr
zcfq_l3+ByRFn|8S1@jjzT)24Aq9uzLE&-8?mo8qsbjgxsOP4NRwrs`n<*Qb%+_iK2
z-aWex?B93bz`nzW4<0>o_}I}S$B!Ppdgb!9Ygeydzjous^?Ud3GK?^w1M)8@FEDWY
zV+dB1^4PH8U^55%Dyc0hJ%`%`l)dJxcrsz3!6KuqJ0~_SK5igpSS8~bq<o@V)s(Gi
zlF?(&iK>PZ0}7TuJw45lf#Jdjji+ZPMKXv~FdkrAG0EQjTPDMS9%&ASNeaB4pMp3T
zj9*>xRAy+9o#biR_K9(UtIXQcV+<!QWTf2a4PlT;Xx_#*SArp|=9kCT$MaYj&Rx0s
zOO1&^r6#aw%@;<7-h&xec^DWjr^NRztY9cmWH*X3V$d^q^uvscfhE`G`cy^+*X6y5
zpEWod+)86Dgcu|mYa@f$8BBBd<D3}|h@b9qe#*d*-1p&NDno$BlTGV|=d#IV+&{N>
zciCKZi+`QFI@KG`eSUFywY`6eO{n+8N2lle@BjBFAV2!oo;CN?LjC8mXgp|O5z|<p
z{%+xyBUL<R8Lmwdt&5udL=zGowo0URII>#(4VarWxq`t#eEpP+N1Yn`f>;@pVm>MQ
zRB13YsA*pN!KK1r@_@Z)swX1@`^p;?i!>z}7O>`brHXj*GrW1wHDUdRB4!4s3CHGZ
zOlx3Z5DRc(bl{vBF>{GqjR6CLs+k_s0hXqcDf2bL88#f$)SOhr$Pl9vcGJy)p}|>O
zecd4@2G<>>OWkJlFdPt3H)C|DXzM$9QJ#<Cfk$TpLqelcg6yt~V%bxTPO&gF7*1Ux
z%NrQN#UQg$ewC?AZc>w<mO{m=d2)hAjBJbdcCB`g>sWYy_TQJ0Z#J~^96I81#*F)-
UQ2T-)52q_(-5!c7Sy&jX0p<L!EdT%j

literal 0
HcmV?d00001

diff --git a/images/B_UpDownButtons_Off.gif b/images/B_UpDownButtons_Off.gif
new file mode 100644
index 0000000000000000000000000000000000000000..a4bc63a95cd77cd57f4f461d7ddb2df4be0c1a9a
GIT binary patch
literal 1345
zcmZ?wbhEHbRAA6!_|Cu}FD0%ZEuknQsU$0<BrB~fC#@_mqarV(q9CiPAgiV*r=}>c
zuB@P;te~NysHvi;rK+T*s;s4^tgWV^qpqT>sivo;ZlJAcprdK1qh+M0ZLF_jVxVhk
zpl4>JZ*FX8VQgq=YGh?<Y;A60V_|A*X=ZO_;b3FwXlvzUXXEN<@8;y-?(E><>g46-
z;_dF@<KgD(<>BY$;pgq)@8cEV;}zuR6B6JT66hZh5)>I45)~d29T65E6O|Afoe&$7
z7#EWi7n7Epn4Xf9k(!i|nw*)Qnw^oBospiKm6?~Fk(Zs7pOclJn_ZZfQ<#@ql%H2z
zm|t2{P*z-2UQ$$1T2fhFR#jeBRZ&(`RasY4-B4TG+}POK+|<$9(%IhD)zRM5)!EzK
z+1uUK*VEnK+dHAJXF^}!#Qy$C6Z$7l?4LYw!sLk)r%akKWzxi{lO|4`JaNjTNmC|I
znl^Rn%;{5SOrJJ;=8Rc0XU>^DYwny`^XAN%KX=Z&xpNoHo3~*8{DlkVFIq5v(ZYp`
z7cE%4Xwi~Ii<T^2ymay6rAwA9Te@`lvL(xxEnBgC`KpyGH*MUoZR?gD+qdo7wPVlj
zUHkU#Ik11<p@RpG9yxsM=#k?`j~+jM^xWAq7cZQ@eEHIqE0?ZayL$clwHw#3-MDf6
z=FJ<oZ{56e=k~pOcNs<jY6$3nxS+hi!10ek_n@T5h6M+kIoRW(J}Y-0ZWmDYn)Bju
z?`)kOqpUk8HZDG{BW747;~AuUqFdE;k>(_$$DR{anF|FDEPZ-<nh66#M}hj&vy=Q8
zY#JCJv@Dur?><SBLBU^*kD*F|*Yi_98-tI>#4Hnr17edrE%lUEJ(?UA6vtq(!r17|
zF%<^25G(JjD|`&90<}wS8Ty1flx)pnVr)1bH$~=m41<E|he&sJh65%i!yhjaV~A@h
zstMy^U@NxRWy-XGN$p%oHG@E6M)D1PCMFdp-}1{G43;tB*Mb=t#BMbzsxl<B8a;B=
zVmKqfYO_I#f$PzZC)zH{S$J-2&c5Fl`@G$$C+}Yw=Yq|9etv#&`aXyMRsMP3KRiA?
zU%r0g?P+$}kGFe%ov`pf1DnQ!1_rr9a$e3$mOp6nmg%^tr2S$E1G7k2#=}+~jRnCx
zmlcn-voZu+j7jifSa48Y_7F=O0|STAqOdZC00+rqzHKZFA`wQ9RCpN}TJt(mw{&nb
zY+&Fjn7e?%fp^i%;~nyn3=dceTo^7KRPbe6c~OFeVFP<s0mB3bDcQTnJ%kw?96FOH
zW>_3eoSdt|%%EA}B(AQ)(BK^HmnCw7jX}mST!5kG`0{Boa}yaDN-|Q}7`RU`hRv6D
z{Ww#lUxDF(Xt3g~iM$Lm1eh4Co;=rdZ>d;tnS-rNYPq{cj*rBwmFufQTE%|M+$le2
g_p@Keq#S%y-fR%~`@u~$S7phYO$A#LJslXV0eq;mS^xk5

literal 0
HcmV?d00001

diff --git a/images/B_UpDownButtons_On.gif b/images/B_UpDownButtons_On.gif
new file mode 100644
index 0000000000000000000000000000000000000000..a6004a4339d71cf50691c15532bc9266d5c2c799
GIT binary patch
literal 1358
zcmZ?wbhEHbRAA6!_|Cu}CnYW~B`zx`AuBH-CnupGC9WhTt|BF_DkZKdC9WkUt}P|5
zD=n@dEuknQsU$0<EGKOsEp8$$ZZ0iuB`q$iAStUTDXSzYr7a_=D=VolCt)ZjVJxqr
zAgih%tEM2QrYNVbB(I^Yprxv$tD&Z+rEZ|DX{e)Rq^oVDr){jSV`89dYM^Ikq;GC)
zXk}__ZEj*~Y33p$;Uy#CEhFJ8BM~Vp5hp8|D<@ejCs`pc>0o0i?5Zm4p(f<5F6gHr
z5U9zMq|cpdz?EUhm2JeCYs6Y@&RT21Qg7kvXz%9a;Nj}z<>un!;pXe*;pgSy@8cEV
z;}zuR6B6JT66hZh5)>I45*-m19}|@j8=VjvlNcA1mYkTLl9Z8}oSB}QospiKm6?~F
zm7kkkn3r3WpI2O%UshaHURqpPURG6JR#R13TV2(vAl0oPH9<jYwxZO0Md>Aq((9F^
zH!DeRSCT%cEOSIz=9G%eSrwV{Dl%78WUi{nTvw5~p(1ljRkoqFmbuxArO}eH$Ck0z
zmZ8s<VUm4wV`FP`Q)hcyS4VqKS7&c`S6@$ee{b)EzP^e5{gWp2Po6ko^2CW#CQX<!
zY2wsL6Q@p|IAzkLDU&Bnn>uyI^l7tZ&YUxQ*1S1$=FOeEVBWk1^XD&IFn`g)g^L$0
zTC!--lEsUcE?&HJ$&zJDmo8tnY{l~Bt5&W&dgSo2qeqS(J<2e`fDXvNpuE7q@sA-k
zR?1_;f`iQ*?E5AyN$ow{E}-l+XU5T>rKW3)vhJMNxcIoKm|>NSXOQxVZdFsKPm_!u
zdrnk!Ut3VH;_2yW0Zc3s2Q{Cbos`0)vOqAQebpp;ce5q|20l4X#tjO*o<SmA3>N?X
z%uH5bP?+Rtxh_k{;h5ao`dcgl8#7aG^d>UtY-s-0FE7oQwB(n^*2jz386RD_IxF3&
zLAxffh$U6Yq3>YEOBoJ^%PH}_tEaKdILK}kWzOi7@#x1lZw9t<o9lZ89~@oTn<#9l
zq2OK`Yb(MO(pY;_xRb#uhksqOf`ioQu5eY(fW`eE4(2n}9C)%xUwkf?QpWvrdv}-3
z)${qcaaZSx#&e%vTwZN&pK5b8VD6*S^Zob#`xBZU{cF#f`)Z*f%ULuYG_Z(iC}_P~
zc;#pnkC}#Blf>FZEq+Wq2@hK((kvPntSkfPCe5EBz#z~zCF4=2hSVcx2F;F7iauQy
z3=V>t*D_8BFgiToD4N<Rc!0I>Mun1)C`$laepl)iE@8%kfQ|`m0*f3O0w)}k*IqbB
z-~fNXHvtCjB@r{1xb@gDFbJA)2|BP(ESVy&oy?NZsGuol=)jP!5_Z$gpJfB1qB`Fs
zM~09crAyrwuMlY9SN|m7P|?<R@}ja2Z(x!DW5Wc_i1xe`HwICKL>5NI6^2un$a)Gk
zut~5a9IZ25Q553EZFR8W!OH3?lTP+UKgF}%Gd3)|Kl|^?$Tu6Nd2BlBa>k5%qS&-8
SPM%Iz!m2q{*RilLSOWk!uagJ>

literal 0
HcmV?d00001

diff --git a/images/B_down_arrow.gif b/images/B_down_arrow.gif
new file mode 100644
index 0000000000000000000000000000000000000000..e6f57a3193cfeb0891f8b50728a03bfeaf3acf0c
GIT binary patch
literal 1348
zcmZ?wbhEHb)MKz<_|5<U#taN;3=A_F7|t*-{AVy`U@$gjFivAIp2=W*hQathNHWcs
zAuWv|Z6-t78HTj~Ahk1%8D^$2%$&(E^9;kx{~)brj2X_PF`SvnaOModng0y`85sT>
zGyG3u_&<~3{~3n=|3L<Wj7~FVm}$&##+czh$R1;3W8*Yq<C(_BXN-;igRD(6Hcm@3
zPMc|*cE&jEKgbm`jg4of8PA+)JoAk4%>N)qoiR2(lV*Hortz6G#%KN;|7S4%Z*2TO
z&G`RJ<Ns%j|Nl<|dC52p<mj1cAZPst`2b{7S{lf#Gik>EK^{soP6L6NX=!KD(*A?|
zH`6$6W?I_JnQ1f6q|N*f^6nX9kmQ+}X=l!)o%x^kpCRqPaoYd1wEr{H{+~(v|9>VZ
z?2KoELTBbokpKUK!Up7}w3#4BpP6a=9~4v|i_>O;j6O3n?LR2wK+<V5LEy~Hng2ln
zdBzxI?U|V~&zzZg=Ksw93^V^5&-|Y@^Z(45|If_)|Njgql8n!QqG9G4P(c3&g*qtg
z(m+~4!SNpy32DY>Kwg@82IT1fpg5Un4D!LunP)&o{|80U8Do%#K>Raj&ip^~pW)1Z
z<1_!$&itQw=Kq;9|Nny`5FGs=SAb&_6rbQo0yzpC?x5%e2PMdj;LriZHrT@;CxiU}
ziu^OiprAT46J#*h=>PvgvGo5x$WLIa7<hSkrKF@ZG&D?2O`V;c0|EkKV`H<kvnwhp
z+S=MCPoBJR;lg$6*6rTC`{c=!*REZA^5n_Kj~^j=A?cV5QU|05louE{{xPf!Ep}V0
z;MmB%QdTA+AkndnO<pZ##)er3y2Xr>?yT6Te7s*u-AqJs;}Yk|D*jeqP6#bIJx$l!
z$;NW>BacpV!DnmOJ}*5#PcE42?8+jIQ}aC<e_hcuR%{UUU+gqjYwN47WxP|PVjPpQ
zt}l<@S@reS<rU7W8A29>dY2vzSbJre-vWc}dUto19%Xvb8Jc#5lUI#{&nChk;b8F0
zOD)>h@?sBGy!7jcnzrJ^{zgvub2&R0Z*TW_>Q*Kb$r`fHv{3BGot>o*IXg4Mc<xT!
z@^*KEwtVl8?_U$|^Db)&)B0uha(zwe`xM?grH`&KNnV%Zz4`IUWxcaPDQjmIe?LEM
z^1oxXSv4lCm#bs7w(XR9_5S-^LHoDb`!@c(y>oN>^SApf3m!f+bh}skOmX?VqPm^p
z^Xtz~JR+Q{eIraZ?)uW}lY(=WiiWn$-g@k2f@Ir{MEAsn%fnk(CZ#2H#u;7}i~6wh
z+wE@sx+URV7E<nEfvka|i|g&rNnG_ZtDE|GV)4`T!1yB8oe2}1^{xaL3frkIj7^9Y
z4XTh9`<B@Lk#*U^XmiG?sg+Mte_pJz@ML{5`JnC5xS(_;&*>4r-j;>c`<1zcHY{vx
zT@rWltmnl3{C_9YO1`?fJ}kWP@|d!hOjYHL2~|QY)7_4`iirhvJDFby`RFP7DrYvA
z$h6q`hnC6)Y9|Y^P34+7O;fJ3$W~phw#}|(+6um9r-CBHy1uWPC*`+l&9d#cGNLw%
Jv9d5&0{|8YYn%W8

literal 0
HcmV?d00001

diff --git a/images/B_down_arrow_off.gif b/images/B_down_arrow_off.gif
new file mode 100644
index 0000000000000000000000000000000000000000..0e51b952bac88c6ab6befb15ae1d255944c89075
GIT binary patch
literal 300
zcmZ?wbhEHb)MKz<n8?5&FD3r}XUV;LcNrKMbQl;I7(n6-9RC=YIb=LGEI8QAA*>a1
zV#C72?E=bPb38UKI@&E^oOQ=Tpy7DGf^!#3L*bH>6IK0JeVHND&@kN~`4r2|pk-%g
z>gd<)IT?K5_$=Gpe^*`_uDCEqtX!(s(j@cZQiIuHAzWA0FRk=n?X}cH^wqV_*y(js
zC9b`=(UICbuXV<@=eOE(EBBR3e1CSQt+aoV%BxMQuI}~wowavWL2B6gHg2hJzr&Y4
zn%W~Q&2qBB;9*~-_GO(pH{ai7m@CMfCK2^Ey>W`Rv8}Da)>mgUyw}Ug{@#$WZ(^i!
zNp4uV)4ihF;%#fEE5F!r=%Y|Q=k1D{&(7_3GOx4AF4|<hzFE|>_Q%tA{h4gd^Z(3E
IbYQRs09GB0C;$Ke

literal 0
HcmV?d00001

diff --git a/images/B_floor_1_off.gif b/images/B_floor_1_off.gif
new file mode 100644
index 0000000000000000000000000000000000000000..bdef760932b8d22514916f24d28b75cd30d6a74b
GIT binary patch
literal 242
zcmZ?wbhEHb)ML<Ln8?5&FD3r}&j|)F&;gMkaR!dl42&Ey9vc=MY~~QwiaD`i;o)`x
zZnha78y6kzmM{)8S+Q~P@je;*E*Z(9C7!*i{;Te26s9&bD+SMM`5CC@IZH10nv2Bd
zrJk*}oab0}1!n{-vaC&OsR&63YWHQd$(1P8I=o83@{^9$1+AlN!<MFr{uX_HW1aTF
zd8M<i>3A)*zpK|;9sJyNcjC>q(v{!V22QPg{!g}R`qKwHT2ITZ^A=A|I@tT(?VNX6
rZt9WAyo*_Nt{0|FuXg<WS4V2oy-PFv7xzhR-1_?ZhUD#h91PX~1kPpa

literal 0
HcmV?d00001

diff --git a/images/B_floor_1_on.gif b/images/B_floor_1_on.gif
new file mode 100644
index 0000000000000000000000000000000000000000..358e0ea15d9c887941db929d28c1ca2b499cc290
GIT binary patch
literal 772
zcmZ?wbhEHb)ML<LIKsdnFD3rt2*b}~3_njW{5-|*^Nh@|vs%B-oBX<9{p*tR?<=0a
zuLu0T5&HX9^zS?If9@y$d6@C%QO=(yg@2xv{C!#Z_jT>xca4AFxBmOs_3umHzi*TO
z|Cs*&_Z$Wo&;c<(b}?}LV_@Wv@z}87U^9oXR?LYF3lFyoaB~S5G%z$WvGT~==wNVc
z>Q``Xdb8tW17nXEyAMyoghfYtr1(qztXQz@>})gpNhXy>PhFZt^`$OY7&o3}^_Z*`
zJHeRo<U-aOsT#@4ivw9bB{S}xn(BCImX-N86@!E<w?31NdASF+t-Z|_JyVM#+enMC
z*&y|j%c`ksoA)>HXSrHk*F3+XqVrwsfdlKC*(WH=r@Wq;d1EpwkCxe~9UtRQ2spL7
z{SaSw{Se11DVOf4h0W*ro!n>4{owfWRB`a^n7133y*|H5*<->2fu>ycf~Qhu2WD@6
zetc8Ae}u%Zicfc>dB45;V`awj@UrATw-tRg24!#0?LOYe5O}EK#8chnW))w*S3Tla
z-(fB%ufy~!t5jUp<yY_V`=x%28TZSDTAmBAvdUFNHL)&bm#tt=Z4hYreY5RBy(n8n
zVl!*%f<`uJw-*mv6ogV9*7C(QG<Hfaxsg~eBBY|!BNCF(*ke-E5Wp(4uYGaTypJ!G
zCrDkX2$(2zs(nergRegx_o&~>c+wu+XVEy-=-i5jleHe*c;ujO^h0%q#Fmw*Q+AfV
zjGZc~Q+be;!<8ewFXPv=C9~qMWgc8md9NaN4r}gom7eTtk&I5V>oo2&zF7HHeSt`d
z7o!u~x)VxESzoFumGGEZ99+pUF+Htp;Wx8abGi@lw$FF`^R->JcwyJ6>)HJWy>2^R
zdzf}3k2N<<bNzx&Hpa}SzB^*lSm&mOX7?&e-(=<pbi0u%p_-->f0apX-Hs`oyJP&*
zLZ^nMU)}dKEGB{1`dWz7!ch4gv4vknvyyIxhB-Pu4ZRZRt$X!KaPrD4K?j@*O?3SP
Z7B7<yvEvlDcvK>N&BtRh%mM-o)&Pe(W!C@z

literal 0
HcmV?d00001

diff --git a/images/B_floor_2_off.gif b/images/B_floor_2_off.gif
new file mode 100644
index 0000000000000000000000000000000000000000..16e8e33a940a00f9f87929f4e8ad8fab832a2ec8
GIT binary patch
literal 249
zcmZ?wbhEHb)ML<Ln8?5&FD3r}&j|)F&;gMkaR!b{42&Ey9vc=MY~~QwiaD`i;o)`x
zZnha78y6kzmM{)8S+Q~P@je;*E*Z(9C7!*i{;Te2OkCnLoyFDe&kUnvmwr=yHxZ6a
zs;A~M)EyJqHCe-dv9r3`mY2fHPTk&f&02p=dFr^#vyg8|RcO|=seya*Vm%GloLi|D
zucW$r!}IW&S=X24uKubUv?b#BrJmi_-$ib&{d!N7XYz;p>$HlCbhW-^#2sswHQ#4h
z`Qgl|entIhdm=Z79!_m+;#)8yC-K~}=f8Yo%T2PkuZvF?^WDAe?d=`RObpfl)OTqi

literal 0
HcmV?d00001

diff --git a/images/B_floor_2_on.gif b/images/B_floor_2_on.gif
new file mode 100644
index 0000000000000000000000000000000000000000..bdc3719a72f0dc8d1293ba8055e22a565c7ab5e1
GIT binary patch
literal 718
zcmZ?wbhEHb)ML<LIKsdnFD3rt2*b}~3_njW{5-|*^Nh@|vs%B-oBX<9{p*tR?<=0a
zuLu0T5&HX9^zS?If9@y$d6@C%QO=(yg@2xv{C!#Z_jT>xca4AFxBmOs_3umHzi*TO
z|Cr8z1av@bkX;NM{}>oKWIQ%3IM~b~tQB)&!@|Su0^D2z1`Q02OsqUIH#!&`oB9=;
zo8IjB*udB$#_q$DFk#Wr9x48kKPwh2J3HIVev(P0(NmXZQGKZk7RHTdSv@9e#ZEA0
zJh_myMyf{g^5Q^NPsxnCr=~hynq_7FO~oJ~%dO93V_xooZEJ6{MbFgY$TreqY&J-}
z<g#k&+UC}Ry+*v;U-J%b4%?`g@Zh^*%#z}{*K`vmytucI@1GNoO~fb9<_uBeb25Ps
z9v|d5()2B&xUl&Qzt`+<TxMGvue!w^o~C=@;NzVu`6W{JR(xUR;MCMuK4F4!!9&(g
zY5TqnO{K3nYcEgB`LHVQ6^HJ>4)OVa%|E=$ikEK}a6H7qCCU*u!`}WO^V<~{>(k%I
zRkCu6Cn!8<;B+jwpYQiFU8es1UvULCNf(L4M)th+hNf4B9P$kUSq~OE2}*R_uVj6?
zEuosXXhtKOw2nwp>rc@s^O%n>+>zLzy=}z>7NI>BNlX%#RxE6mFgUWfpCc~fQIF}j
z=MS7j0}7UOc(UD0>EezQcsj*klE;Kj$y+DpI7Mk4f7<U=cT$CgN2{c9TJ*OQY129N
zcBWOQ9MXI`^VwC;2_>(to{(n9aQeQylbesLq4<vIlIuMtTC<+G?bvEIYZ1eRZ+CM0
z>`sL<&u~(k={fafYsQL+H{EU~PJ6nIVOi)(zqacE%es!;$e#Ih)$05?rD@UrX`xfY
z3b*fj8Wxk#YjrKeY2j1Z_}J2~p=(N)vWSGbs9w7j<Zb%(N`%%{k&rl}%<juOtyse)
SBJC4jz1#ia*zW)b25SI7?@WIH

literal 0
HcmV?d00001

diff --git a/images/B_floor_3_off.gif b/images/B_floor_3_off.gif
new file mode 100644
index 0000000000000000000000000000000000000000..859d031dd697ab398154f7553c4c2ed76e1afbb4
GIT binary patch
literal 1429
zcmZ?wbhEHb)ML<L_|Cu}FD0%ZEuknQsU$0@EGMNRFRiK|qpl>Qt|Y6eBB!OQpsl8$
zt){4>uBfA~q^qH*r>Uf;scfLFVxX;RsH1A6t7fdHW@4aW3PPG@hMML^n&w7Y7RFi@
z#@ZGp+Lj=sV{N8uW3Fp!p=WEUZ)d4*Z>4W%Wngb*U~g^cXlvwTYwT=q;$m;&>S*fb
zXzK1{=HX)D>0;sSX6fx_<?CVX=VcS%Z5!ZY7vk>_65tpb=olXC91-FY8R8lp<`xs~
z78Bu-5bc!|=aZQdn3Wool@^qp9-NyQl9v^lpA}Y=8&Q-OSy~WPSsGVW7GG15P*<5$
zU!BxglhRn5(o~n)T$k3;klxmm(b1gQ*_z$mp3~Ej)6<dL+nLwbmDk^$-``y@p{HPC
zZ{g(r;;9o$=FF&^H>-O7?3%vruKu3x{@(5heLWNVdnZlkn>?X^>ZFO&rc9nOZOW_}
z)8@>aF?aT?`E%ziTiCd4QRDK(O)Hi(uUOi=a%sz|Wv%O1cWzqOy=(iV{d=Y!-aq5i
zv3aMC&pUf^!Nqe+E}dI)>HLx_7nWVUxa`{H6*sS~x_y21of~WJ++2J2*4lfw*FAf@
z<>k|DFQ09H^=$i_mpeba+4JfBz7xlfojZH>>!$<XJ|Fz?_3+Pchkt!P^83fpzrT+C
z`+fZXpA!tD05t@3KwMB>VBq-2V18G!;<(@3W)A*KGY@ZgC}UZu<kiD*y!U9g*v%C;
zSGZl4Vo-4IlJVTM#B*}K-LnNwN4cg=H;7NW=(Ks+G~Jk@S7&~*_MD$@cXWc{Wo8F2
zhGY-T*i&0pUS1wBv&!&SpwE@n5$o#~avjLJwmxCI+*ht`IUyTE&#tQ7b=5a&!?YhJ
zj6%(<JhJ|mO1QWW<X&GtWm<+tz@-LOxy3e#xxc?@E$3Bt4O_8ghyLvS;i|qJHk({j
z)=o2Y-+N%@6Tu64dXsCTTp3P^g`V2s;c$s*`R0X(U2;{LRM=g;6wfN`Wbh9$*tyt_
z>ky-J3xh(Vfvb~|(}Kq*H^ynT9P8*b@yY!+;R*w1br!>}>sm_#8=v&8K5;w7FaH}m
zCm)Z;z7x#y4K-h~YZHPvIuk_i*JQOWa`Y5x`PkX`Z!6=1$eAe#lbB=$F2zd=U1Gnc
zBH{9kQR7A-2ZKbGVG|Rt^A!e1PlX<)Pzk|#E2gQ>&|y8nsiJ9cqQ`X6ihDt>Q=YI)
zP~+;nsxe(-({V-Lxq(804x1DgPV(bqYUS6?XkcVz%eXj2QdKkX>D0j3Mg~tglU8O=
zmKTM~dIK~)CNZ1nJUz~#vUG#T)VvFvp(5-PR1WfbzPaGw8SLV!EZvy&bBe&yUX^CW
zJ|>2h3j#VXMK5L8@ZdyfKie<Yu$fCfFr+hgTwo8YNy^C5iiqC9z?7?`*wDxoYs0a6
z4a1zMY09-Nimbx^IUm`Tw%3ZjUUrCYXV{wTGg@!AFoa0I*?ME$$79>>%yNCZ{bJke
zoNf2N8BCFIVElU2&pJ0T*f;Ws$YfESrww{5{(RcqrY5tJQPWNQpy5TAB8w{mvYe_Z
M?2hF*LIMod009Q@bpQYW

literal 0
HcmV?d00001

diff --git a/images/B_floor_3_on.gif b/images/B_floor_3_on.gif
new file mode 100644
index 0000000000000000000000000000000000000000..bcdd72d448291af1230e2d91aa1f858557f64461
GIT binary patch
literal 2358
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

literal 0
HcmV?d00001

diff --git a/images/B_floor_E_off.gif b/images/B_floor_E_off.gif
new file mode 100644
index 0000000000000000000000000000000000000000..5137d3f14967fdd5f3ef20cab088e63ce4b943b5
GIT binary patch
literal 240
zcmZ?wbhEHb)ML<Ln8?5&FD3r}&j|)F&;gMkaR!c)42&Ey9vc=MY~~QwiaD`i;o)`x
zZnha78y6kzmM{)8S+Q~P@je;*E*Z(9C7!*i{;Te22qqtyB9<6bbMsQ_*%>D6i}su}
zQg4{cV*E>lBV@VneAiC7vopUu51OZ)>gTgVDE-3n@YQ~;yQXFaFZ9@-)XFg_yJ2DK
z=BTAJuf1^Hl5}6`iq&PE&|T?o&mGk^eebxZ?(RC%>`m_jmPZ_H^R=0_Ch4H<UZZKd
qXBa)%HI-fYnv9`d!lV{^f3d$C^)pX<`B&SV*|qicbpd8325SI1RAjFJ

literal 0
HcmV?d00001

diff --git a/images/B_floor_E_on.gif b/images/B_floor_E_on.gif
new file mode 100644
index 0000000000000000000000000000000000000000..8f4df987ea30e23ecea84c4f531a59b327e2d495
GIT binary patch
literal 673
zcmZ?wbhEHb)ML<LIKsdnFD3rt2*b}~3_njW{5-|*^Nh@|vs%B-oBX<9{p*tR?<=0a
zuLu0T5&HX9^zS?If9@y$d6@C%QO=(yg@2xv{C!#Z_jT>xca4AFxBmOs_3umHzi*Qn
zP=OAJ3$lxW;~xVfhm6OD1qYisgtcN$Y*=`>U4WZQz@UMlk%^T@=0*pDV^hC^bJLq0
z9~&5Z#Mpg!5+*D<+9SnZ@@K_@WoKub*-tX5G<xdNEUGVc!NR!lEUU+4t=I|1j3*be
z)=1SzUS1r?>M5CV_taF!OS7!Zzo{4`WV!X3Y|P6&ux;&aw&<B!9N9)%jLinAmwGY^
z)&<WC{3x_^XG6Z@vP6F|1B)9knAqAltG;$GSm(GULf&2Og=k^w<mtB8YVIU#cGyw$
zUy9@H3`b`6WsDXMw%<29UhI!OY-St1`Z@FV=>2sQHZ*;FETZ8vLqU<Lg`L0Zzgfl9
zEzFNNbTjVf#aI?UznJ;&`m%Lp7A-B}msW4T@YlNK`K9CHB6WZNq<#1}chdHM2kKJ(
zY<X!OU-@+=+k+G)A(!}iwnO3yOtl}`9a)x{K38b^{qop@TJfrB3oAJ@6&7_!CKNDM
zpNf=_YZBnoNOY1sBB9Ktw&=yZF1cMR7S^*}e39HMs#2a@r>o`hppAXy_PA=XGL88Y
z-PN|pmOJV#Ppa|fYnk1)@nM8?0c-Bc=$yS9In*4h1U;TLOK&urmA$cZ`K{DUCDxgl
zb89)H9D7%aN;j?24Z9E-mMAKn)X3!(5Z8L^<*jT!7p<2|a(=dDqz2p#oe+=_y8T*o
z{!!Lz@uiU_qRXp7pJ#-})Vj`$&?uW48W7MUW_2sb+w|*|2(7IyuLERmc3s|JRXa^H
S(*EeOH=E9w{SI(oum%8S_%6o)

literal 0
HcmV?d00001

diff --git a/images/B_up_arrow.gif b/images/B_up_arrow.gif
new file mode 100644
index 0000000000000000000000000000000000000000..e46ef8d2e2808558c01ddfa3654492dc289c9786
GIT binary patch
literal 1384
zcmZ?wbhEHb)MKz<_|5<U#taN;3=A_F7|t*-{AVy`U@$gjFivAIp2=W*hQathNHWcs
zAuWv|Z6-t78HTj~Ahk1%8D^$2%$&(E^9;kx{~)brj2X_PF`SvnaOModng0y`85sT>
zGyG3u_&<~3{~3n=|3L<Wj7~FVm}$&##+czh$R1;3W8*Yq<C(_BXN-;igRD(6Hcm@3
zPMc|*cE&jEKgbm`jg4of8PA+)JoAk4%>N)qoiR2(lV*Hortz6G#%KN;|7S4%Z*2TO
z&G`RJ<Ns%j|Nl<|dC52p<mj1cAZPst`2b{7S{lf#Gik>EK^{soP6L6NX=!KD(*A?|
zH`6$6W?I_JnQ1f6q|N*f^6nX9kmQ+}X=l!)o%x^kpCRqPaoYd1wEr{H{+~(v|9>VZ
z?2KoELTBbokpKUK!Up7}w3#4BpP6a=9~4v|i_>O;j6O3n?LR2wK+<V5LEy~Hng2ln
zdBzxI?U|V~&zzZg=Ksw93^V^5&-|Y@^Z(45|If_)|Njgql8n!QqG9G4P(c3&g*qtg
z(m+~4!SNpy32DY>Kwg@82IT1fpg5Un4D!LunP)&o{|80U8Do%#K>Raj&ip^~pW)1Z
z<1_!$&itQw=Kq;9|Nny`5FGs=SAb&_6rbQo0yzpC?x5%e2PMdj;LriZHrT@;CxiU}
ziu^OiprAT46J#*h=>PvgvGo5x$WLIa7<hSkrKF@ZG&D?2O`V;c0|EkKV`H<kvnwhp
z+S=MCPoBJR;lg$6*6rTC`{c=!*REZA^5n_Kj~^j=A?cV5QU|05louE{{xPf!Ep}V0
z;MmB%QdTA+AkndnO<pZ##)er3y2Xr>?yT6Te7s*u-AqJs;}Yk|D*jeqP6#b=V9-s@
z)8YJ>a<-KrjA4W4r)SPH9agSY*mx-Q!W0kpRVO$dSWit1P-e@u40+Ba>bm^gmrjFM
z4yzgT40TUk&URg_(8+WoH8b3AQHHHr?Wr$9D!Y?P-9j~kvfZ|7>utPSdQyvXf0}TA
z>z3E+k~ef_{$jnettfe0+tzcoD}!5;_smz+z4|*OD`uf3>-JFJih_r8mhZk~!?DdU
zWA`@s=Wi;*mOVU}D;dqVkK5qZ&bf!%_U*0730jaJ>m6^qcSq>-&C*6^d1viTes^x~
zzhg4lkrp3LAJ#X{ow+IV+|v&;@0XnyPw`uG<@5Gy=c7tPXGHs^h}PVD=(Zrw>gtog
z(5G|VW2&A_{T}b(byf6!>!(&WNk^%_&lg7hZoM%-T3%|}RgZ+FJ0i;2SG`!|Alb`0
zqvyq3@r9+yd#5JVYV@`(Z2Mv>F5aR1$z3Td<7AjvmbO8eLdJyD?*TCvO*s_%)HiLv
z?qZjwAs=kB&SZ(7QrL6(7$eV<H>-7w(xqp3>6wI<nA>sODK*M{<}=;?k?50Y%R`-)
z%)A^s^{IQISIC71Rx3;SOmDWRrwOHt+LwD*eR}ycJ%Nk!$^y4%;h~czUOM)y-2c$Y
zP}5?*(8W{z%MVRcU%-}m>-l_tU)HRdi<D+QTeZyWW=3Oy+bu0lGpmf1Yi3+pbs@vj
uiF?`>>&h&Vgd4L~EbdzpBr>(zvdR0_s*b7Ev*w*!G&_628znIT25SI1UU?P(

literal 0
HcmV?d00001

diff --git a/images/B_up_arrow_off.gif b/images/B_up_arrow_off.gif
new file mode 100644
index 0000000000000000000000000000000000000000..0fca335251827490c0c530e8bf419f7350eaeff3
GIT binary patch
literal 313
zcmZ?wbhEHb)MKz<n8?5&FD3r}XUV;LcNrKMbQl;I7(n6-9RC=YIb=LGEI8QAA*>a1
zV#C72?E=b5ED9SRIWkD-W{Gr6d~~c!*0`=kV$)-fc16|}o0A(BH%!-#^gHrn(=yMQ
zY{Az;DuvbEr&}j}o3he)MZiRtOsTt)pH(g_^_f_w!*z98NO#C;xvw2xS6*8Y?y2=R
zYs<<AhLqK_a%Y(8-q@URcNMR7@tQkJvtQr)J8S!b>w5!!|J%ZC@!>+Fs_=2&)jLwo
z9m{?0w9o42`fI1!g`=jO34NS)xJ0?`*zCwhFE%Z86@DiD>&@LO>z*E}tB@*vzOGwx
z`?9^iKIKi>tJ=Rtw#4kios{0qynIy_#h11_+HHR;WBK~UvgP9c_uko+|7O)*Vea`|
Xl0{!Xb)H`={$}&u-`_=<nHa1A(n^;z

literal 0
HcmV?d00001

diff --git a/images/CallButtonOff.gif b/images/CallButtonOff.gif
new file mode 100644
index 0000000000000000000000000000000000000000..62c0a1f684c998d519eb7b5be6644f570ee560ec
GIT binary patch
literal 1152
zcmZ?wbhEHbRA*3U_|9PXpBmshW#Bz!;5lXB9%bMfW#AlT;233KFJ)jWWne93U@66b
zfq_AXfq{VmlouE{{xj%u$arj6aIl#}SW9FF6UPKmZe_Wcg~!CL>LrX9Ee>&g<fO3A
zC`)AK#7XYW+CiC1z7#y*>RPFn6jB_NFtul8gG-3=WpS6zEQ3XtD?jyLn9tSw%R97K
zL13l_|Gh8in^vCA{C7c>rD@{I&?arYUrrK5w~mL@+nqD9Fn#5?E=oM;RF=T%@K*E3
zdPioICEV^XKl|>Bdc=Z@8wDSF#WYS_(b{doczJ5aR{iAqJi%vQB}6tRbv9ZGZ?lYg
z^t@v_?{8<F$oGe?i1Ah1{FPEZa$$kG`Z0|OW^s49&7&W@I<Ne$V-u^B8E;JDiG5<v
z?)`mh^)PkG5o75uy#^UyyF*ucr#^`;Se4vzhgZwCW2)(|kcStO-*jwx9lk-FTbkz;
z|E{Z|5uwZD!f(~Gh!#os7T-&V)SYo5#M|;jm_Mu17AFtRe;Xfgg`Sx@vEH=NB`D0O
dQ{;ZFNTR8d)yfOy^IIK4J_fY1v$8N)0|1<M8XEur

literal 0
HcmV?d00001

diff --git a/images/CallButtonOn.gif b/images/CallButtonOn.gif
new file mode 100644
index 0000000000000000000000000000000000000000..677860dfb7ac7a98e478e3830a4720774ebb6fcb
GIT binary patch
literal 1780
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
J+F4i_tO1SGk1YTI

literal 0
HcmV?d00001

diff --git a/images/LiftClosed.gif b/images/LiftClosed.gif
new file mode 100644
index 0000000000000000000000000000000000000000..3b50a5f38e54c433303865550da97695b0b7526f
GIT binary patch
literal 3444
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
C+=c}J

literal 0
HcmV?d00001

diff --git a/images/LiftEmpty.gif b/images/LiftEmpty.gif
new file mode 100644
index 0000000000000000000000000000000000000000..d707f6d9dea36c25b278af8339965b2cbf755cf9
GIT binary patch
literal 2273
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

literal 0
HcmV?d00001

diff --git a/images/LiftOpen.gif b/images/LiftOpen.gif
new file mode 100644
index 0000000000000000000000000000000000000000..a6ad5e998e084bc61daa742f6cbc9a70a6e124aa
GIT binary patch
literal 4898
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

literal 0
HcmV?d00001

diff --git a/images/down_arrow.gif b/images/down_arrow.gif
new file mode 100644
index 0000000000000000000000000000000000000000..0e309d787d60ebad21dc21b55636c38707bd1cad
GIT binary patch
literal 1453
zcmZ?wbhEHbv}Z77_|9PX9|!o30p4SP=ilFBpy$uOqoU{N;NJJ==;;0PduZq$I=J@!
z9y+>)4$fhKV;ErX^K<BEFFM%z{1`gAcWf&f+KLX=-rI|g)}n)@7+?+tn1TU%FhC0i
zs6ICb9aW=);$u_LQ87BmKGuVdve7~Eu^x1kj1HW(W}_j?t=Z^kZMG#kO14~!f(+Lt
zqalGgUKq$pU=9jmm|}^J7_b8!kT57OFmU{5VC0bT*s$PWGl#HN%!v&P54Q^_d(H9K
zxX87Wk0VWHM___GgS>s*6OK!bCnu|WFY?(bwA5>waP+(>iIbM`%;GC}cBV6Ux$j(E
z<ykBr)~~p@*kiI*?5vU%9xal^|D-uT%AaWoEcaXb>cf1$HsjQsr>8Ew4sSJ06_E4}
zduXp@zBq}svN-qlCYJ|%tzO}4MYomn|J%$Yt{yhe<sVy_x5c~QJ~d(OxSoQ7xLFDd
zpPlh$H+b6k|3yS$&5iu$Ejk7(<Ie6f&6de?6|Y-!X-j(3i6<}bo!z}XFNNDV{$BTn
zbyF`#oIM%5Z}!f-=g%^lr`2wIaOTJfVW)?0Yb?t(Qdge-?~rX%?c}rX^5HCrU4^Hb
zO*h^*d$Fdxy!hO%uIYV0e*9??(YSuM_|uF9@`)}dQUgLNe?GrZ_VOh2y~fRnq4(<9
z79O8#^V;^xytpl{snRZAKTeAe{T*rX$XRX1;W?IUi(bT~aWfSpy5zli*5)FAEOb_l
z(8BA9F1Gv9V{7=lOjIU5`k4B-YrbfRN};=x<kOPgM7H?)XR)3lr6FOQOQuJJaonGr
zJn84t9>u(AOJ><-?OYl^`Jm_Vf<KDaB!g?d-CQoZSaR7+X5LGT9LhZvNv9X}n7w+j
zc!Jq0&P5GNZlqPVsm;n*GRJMz3iSnkTpml`wR#5C+~}=(v1FFgt5>Tx9GkRCbM@j&
ziu2~AE49sCxXP&L#ln3-S~(kz{L9K&yC^mD$+TTeTr1XIaMOOf<%-+uH>p=YP7RBj
zWcm8-_6KdhbCYgxY0Y&{T)9+l`<rdA-|fD$Ds)EjGQL^we1AM!{eIt{ce^LKCpcaU
z^0&Sj^5Gzxx{h!!U+$I--v2kL1c!xhU8-={BrZnTQ!Kwn?D+Flnx9Sxva&E(0{{Ws
BIq?7h

literal 0
HcmV?d00001

diff --git a/images/sm_empty_box.gif b/images/sm_empty_box.gif
new file mode 100644
index 0000000000000000000000000000000000000000..0f33c780ae8e000a17f340b75a3b90f5450f6c9c
GIT binary patch
literal 139
zcmZ?wbhEHb)Mn6T_`qQJ|Nnmm1_m7l1_lO@2m@1AOaIE#GW?6@Z1EDFbx)W1eCr(c
zu4hj3R!v&>u6=Kw_WTmvdp{)JSH6FIu<4M{MMfK?_ESqYc3yDgzx47$=32k40eP2K
vv&bKHDZ22+`TZ4(va`C)`=4xHvbFv0t@mF-<G-diCpt!WR4fl<V6X-N#cx21

literal 0
HcmV?d00001

diff --git a/images/sm_gray_box.gif b/images/sm_gray_box.gif
new file mode 100644
index 0000000000000000000000000000000000000000..6e004bf8093b14456bc49d3b785a6a7f0d0e64a9
GIT binary patch
literal 157
zcmZ?wbhEHb)Mn6T_{d=R|Nnmm28PX>H#0CW=rAxaFo47vn95rESDv=vUp!}vmvPIz
zJ-_+$n8l{0Suou^x#{JtV-K{i%jG_2T6euh{x@UnlEe)eDyt^xDi*iZELwD_fAguG
zNv5}Q#ec7DTlzSCW~JY<-q(rJKi(ZJ{Ty?*?0ew$MYi?Nk55-OuGsSBdf<(g#EUO(
O+z`;T%nV>)um%7PW=OpN

literal 0
HcmV?d00001

diff --git a/images/sm_queen_black.gif b/images/sm_queen_black.gif
new file mode 100644
index 0000000000000000000000000000000000000000..8f38ac2e4caade04c5185c06637a897050b85175
GIT binary patch
literal 393
zcmZ?wbhEHb)Mn6T_{?DV|NsBp98Apq!fL8h|M#-gU2d5tx~}fPskF4T&6_tfU;rJE
z2uLpj%l{82Jy-9QSblc*|AZHwNtv^rtX$`LYTrU`d5)q3pR}(q{aeFvP_IxxrmMrH
zAmUVO)1Jiv8c$VS{rKLBEs<nA&CJkw=Z0P6(-18ehGSPg1~KIK*Da6@TK8S5KOiaA
zvD`nbh~KQPi=(s2x<xj#*u8t2cb99~qzVO-zUjHs=BKwR%`%%&Y#qEZL?Kf;&a`;-
z)*0p*bLXvE8@wiW$A;Z<4g2<=$j#olO!3&s3;VkctDe7j@$#;#b;0~jLibPHJUh>1
z_4Tz=uPndz;-&lRb8p|(8Xl4V{O<9Sr>i9{eRy<|d(uKD+s3~vB1;MaZksi6AAI{b
z<xqr6C!=gwvqT{OwCW#rQn6D4xD@r}eq|Y4KG8Sr^z<!PZU!@QEIZqyc6#P!Nn!QV
kxu%I>Q8R<@U07^1yMd)^$_saifO@yDhMQg;<zTP|03!pi)c^nh

literal 0
HcmV?d00001

diff --git a/images/sm_queen_white.gif b/images/sm_queen_white.gif
new file mode 100644
index 0000000000000000000000000000000000000000..4ab932d0db4c10b71eb4d37f444c453412c0bc24
GIT binary patch
literal 387
zcmZ?wbhEHb)Mn6T_{?DV|NsBp98Apq!fL8h|M#-gU2d5tx~}fPsg8~g25dkFBnZ;W
z!1DjYNzc`LC7RFf{-5x|GbwY{la=cnPVHOBEzePO;FI<hrhjWV4)PTU$aHZy6hxeA
zZQ8RqK;x;Zs~_K6u_cmILmu(%+*rFQAuF&V_Wm9x!|E^0z3p+*e`Y+FYA*2)bK&5x
z@@{XdvuRZDc60A2Fq;%qESu5NHF?g|*0f&5>?t|@*1=2S(@Pfx*yIE+Uz%gST6J>&
zvYnF@W=>qO@!)~1y=xTqA3C|Q>ge`@Q>V^sQ#ujM?<92N;H8DfO_p6)QFHdn)rXJV
zpDcRzJbCNorw^XrxqEM!#Oar>UOP&PzBBB(Dg2<H=|C+rx1R+^zr17X^%sdk6>H>=
z7)EH+EnqBU(r6L2h;Lo}aigOBB#q!}65;`_DpL)<ZnZhcp5`^pIP+Rhr}1(>JBQ|Z
ZC${KioL7@d{1I@fB<c8a0c8dTYXIWzsPF&)

literal 0
HcmV?d00001

diff --git a/images/up_arrow.gif b/images/up_arrow.gif
new file mode 100644
index 0000000000000000000000000000000000000000..0f3b0caf33793e8b1b9be5b00314d374923225f5
GIT binary patch
literal 1455
zcmZ?wbhEHbv}Z77_|9PX9~b!k|351F{{24&`i=?SV}R$F;NJh|Xz1Gi=cwo&Cb;(h
z9ws{X{~jv3h7Fv<0LQR_y_jI>|Gk)K&i}orXe%a|^M5NUT8jaeVgqw9LGk}NsAviX
z=)nq-|My^`sQ*2vs09;5{ck}<)tJERe>Ey9#sJyaKr&XK`9B#ADgIB!KtUY;(U2F%
ze{{s~-wOjV-~c)xaZp}h;P}tL$RXpgVZp&>4q>gB6B`yDZWmDYn&Yu?(b0BkmNb?P
z8y6qzmvOAxV`1>PZL*C2qL7`FQoW|?N3WZcG3hDKRP+3KXF7|U{pLHAv!(95n0U6{
zW3pE4sVysmml;d1`r|J2$bN>a;H@Q5S0C=5&r^8r!L6we!#8mHo||#8B`31=|Ex8p
zD+|&mZ_7V>@2cdd2Y%ZsJ|DWOG<|*8{G87_YB^X=9I0=4{>}79c=xoUd>f}$`$Xt@
z?U!NHo|chy*D6@(|I>>`=Gl(BquiWrl5c&P*|AEw{@d<to;hc@8n3K-`(xp&y~b+7
zM_xvkJ$txpV`S{xn_r9OpKVmu;k|2;wf>4~_W!qkZ!5liw>97VOl(Bu$qP57pE>Z`
z9{=@Wx8~&Xbpq0VA6}Z-8ejMR?Q&ViJAcD(mlw2_2S?qQy8J>V7a#jEr#F&rk~x1Q
zOPpF?%)OA1!rym%S__Baqtjjc5)LPI>+jm3q^x|;b$YyDnMQ=8<g^pFJFVVX1hkp&
zJ9aTvgX`qt=4(?^7EEIQ`r@9urQ8nXiN0B1RHk^pa!c?GExMUn-QKGCYyxxI$%Rv!
z5?6{cWS>otoLwm!F59xmcIoqZHD${dPV6vE=TMvRV9}X{9crsyEb39~;$GNhV7b&y
zU2$crVzXFR_ri{%sujymHE3n6nC&FBa(ZOePR2=<PbO+E>_0RmN@L;XQ&QP$H{a`8
z*=*M&wjy=yE~^(CW+cqgTy|8fd(EbkQoFNP&ozB0)YAA%EPBI@wAF97-8z;gS!8fk
z^;+z-sI+%GUo2a_Zs!v*vAl?+jjR#7zg){+zxUI&u#_mnqc7j@XJFSUnB)95I^4&F
v@#y74T;^v!`0Fh_m4C=IFsJYkhd)<fm|W!bC&y3E-MR6E%5<Fw2L@{ZsI^+*

literal 0
HcmV?d00001

diff --git a/notebook.tex b/notebook.tex
new file mode 100644
index 0000000..1d6bfea
--- /dev/null
+++ b/notebook.tex
@@ -0,0 +1,1604 @@
+
+% Default to the notebook output style
+
+    
+
+
+% Inherit from the specified cell style.
+
+
+
+
+    
+\documentclass[11pt]{article}
+
+    
+    
+    \usepackage[T1]{fontenc}
+    % Nicer default font (+ math font) than Computer Modern for most use cases
+    \usepackage{mathpazo}
+
+    % Basic figure setup, for now with no caption control since it's done
+    % automatically by Pandoc (which extracts ![](path) syntax from Markdown).
+    \usepackage{graphicx}
+    % We will generate all images so they have a width \maxwidth. This means
+    % that they will get their normal width if they fit onto the page, but
+    % are scaled down if they would overflow the margins.
+    \makeatletter
+    \def\maxwidth{\ifdim\Gin@nat@width>\linewidth\linewidth
+    \else\Gin@nat@width\fi}
+    \makeatother
+    \let\Oldincludegraphics\includegraphics
+    % Set max figure width to be 80% of text width, for now hardcoded.
+    \renewcommand{\includegraphics}[1]{\Oldincludegraphics[width=.8\maxwidth]{#1}}
+    % Ensure that by default, figures have no caption (until we provide a
+    % proper Figure object with a Caption API and a way to capture that
+    % in the conversion process - todo).
+    \usepackage{caption}
+    \DeclareCaptionLabelFormat{nolabel}{}
+    \captionsetup{labelformat=nolabel}
+
+    \usepackage{adjustbox} % Used to constrain images to a maximum size 
+    \usepackage{xcolor} % Allow colors to be defined
+    \usepackage{enumerate} % Needed for markdown enumerations to work
+    \usepackage{geometry} % Used to adjust the document margins
+    \usepackage{amsmath} % Equations
+    \usepackage{amssymb} % Equations
+    \usepackage{textcomp} % defines textquotesingle
+    % Hack from http://tex.stackexchange.com/a/47451/13684:
+    \AtBeginDocument{%
+        \def\PYZsq{\textquotesingle}% Upright quotes in Pygmentized code
+    }
+    \usepackage{upquote} % Upright quotes for verbatim code
+    \usepackage{eurosym} % defines \euro
+    \usepackage[mathletters]{ucs} % Extended unicode (utf-8) support
+    \usepackage[utf8x]{inputenc} % Allow utf-8 characters in the tex document
+    \usepackage{fancyvrb} % verbatim replacement that allows latex
+    \usepackage{grffile} % extends the file name processing of package graphics 
+                         % to support a larger range 
+    % The hyperref package gives us a pdf with properly built
+    % internal navigation ('pdf bookmarks' for the table of contents,
+    % internal cross-reference links, web links for URLs, etc.)
+    \usepackage{hyperref}
+    \usepackage{longtable} % longtable support required by pandoc >1.10
+    \usepackage{booktabs}  % table support for pandoc > 1.12.2
+    \usepackage[inline]{enumitem} % IRkernel/repr support (it uses the enumerate* environment)
+    \usepackage[normalem]{ulem} % ulem is needed to support strikethroughs (\sout)
+                                % normalem makes italics be italics, not underlines
+    
+
+    
+    
+    % Colors for the hyperref package
+    \definecolor{urlcolor}{rgb}{0,.145,.698}
+    \definecolor{linkcolor}{rgb}{.71,0.21,0.01}
+    \definecolor{citecolor}{rgb}{.12,.54,.11}
+
+    % ANSI colors
+    \definecolor{ansi-black}{HTML}{3E424D}
+    \definecolor{ansi-black-intense}{HTML}{282C36}
+    \definecolor{ansi-red}{HTML}{E75C58}
+    \definecolor{ansi-red-intense}{HTML}{B22B31}
+    \definecolor{ansi-green}{HTML}{00A250}
+    \definecolor{ansi-green-intense}{HTML}{007427}
+    \definecolor{ansi-yellow}{HTML}{DDB62B}
+    \definecolor{ansi-yellow-intense}{HTML}{B27D12}
+    \definecolor{ansi-blue}{HTML}{208FFB}
+    \definecolor{ansi-blue-intense}{HTML}{0065CA}
+    \definecolor{ansi-magenta}{HTML}{D160C4}
+    \definecolor{ansi-magenta-intense}{HTML}{A03196}
+    \definecolor{ansi-cyan}{HTML}{60C6C8}
+    \definecolor{ansi-cyan-intense}{HTML}{258F8F}
+    \definecolor{ansi-white}{HTML}{C5C1B4}
+    \definecolor{ansi-white-intense}{HTML}{A1A6B2}
+
+    % commands and environments needed by pandoc snippets
+    % extracted from the output of `pandoc -s`
+    \providecommand{\tightlist}{%
+      \setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}}
+    \DefineVerbatimEnvironment{Highlighting}{Verbatim}{commandchars=\\\{\}}
+    % Add ',fontsize=\small' for more characters per line
+    \newenvironment{Shaded}{}{}
+    \newcommand{\KeywordTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{\textbf{{#1}}}}
+    \newcommand{\DataTypeTok}[1]{\textcolor[rgb]{0.56,0.13,0.00}{{#1}}}
+    \newcommand{\DecValTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{{#1}}}
+    \newcommand{\BaseNTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{{#1}}}
+    \newcommand{\FloatTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{{#1}}}
+    \newcommand{\CharTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{{#1}}}
+    \newcommand{\StringTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{{#1}}}
+    \newcommand{\CommentTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textit{{#1}}}}
+    \newcommand{\OtherTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{{#1}}}
+    \newcommand{\AlertTok}[1]{\textcolor[rgb]{1.00,0.00,0.00}{\textbf{{#1}}}}
+    \newcommand{\FunctionTok}[1]{\textcolor[rgb]{0.02,0.16,0.49}{{#1}}}
+    \newcommand{\RegionMarkerTok}[1]{{#1}}
+    \newcommand{\ErrorTok}[1]{\textcolor[rgb]{1.00,0.00,0.00}{\textbf{{#1}}}}
+    \newcommand{\NormalTok}[1]{{#1}}
+    
+    % Additional commands for more recent versions of Pandoc
+    \newcommand{\ConstantTok}[1]{\textcolor[rgb]{0.53,0.00,0.00}{{#1}}}
+    \newcommand{\SpecialCharTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{{#1}}}
+    \newcommand{\VerbatimStringTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{{#1}}}
+    \newcommand{\SpecialStringTok}[1]{\textcolor[rgb]{0.73,0.40,0.53}{{#1}}}
+    \newcommand{\ImportTok}[1]{{#1}}
+    \newcommand{\DocumentationTok}[1]{\textcolor[rgb]{0.73,0.13,0.13}{\textit{{#1}}}}
+    \newcommand{\AnnotationTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{{#1}}}}}
+    \newcommand{\CommentVarTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{{#1}}}}}
+    \newcommand{\VariableTok}[1]{\textcolor[rgb]{0.10,0.09,0.49}{{#1}}}
+    \newcommand{\ControlFlowTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{\textbf{{#1}}}}
+    \newcommand{\OperatorTok}[1]{\textcolor[rgb]{0.40,0.40,0.40}{{#1}}}
+    \newcommand{\BuiltInTok}[1]{{#1}}
+    \newcommand{\ExtensionTok}[1]{{#1}}
+    \newcommand{\PreprocessorTok}[1]{\textcolor[rgb]{0.74,0.48,0.00}{{#1}}}
+    \newcommand{\AttributeTok}[1]{\textcolor[rgb]{0.49,0.56,0.16}{{#1}}}
+    \newcommand{\InformationTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{{#1}}}}}
+    \newcommand{\WarningTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{{#1}}}}}
+    
+    
+    % Define a nice break command that doesn't care if a line doesn't already
+    % exist.
+    \def\br{\hspace*{\fill} \\* }
+    % Math Jax compatability definitions
+    \def\gt{>}
+    \def\lt{<}
+    % Document parameters
+    \title{ProB\_Jupyter\_Notebook\_Overview}
+    
+    
+    
+
+    % Pygments definitions
+    
+\makeatletter
+\def\PY@reset{\let\PY@it=\relax \let\PY@bf=\relax%
+    \let\PY@ul=\relax \let\PY@tc=\relax%
+    \let\PY@bc=\relax \let\PY@ff=\relax}
+\def\PY@tok#1{\csname PY@tok@#1\endcsname}
+\def\PY@toks#1+{\ifx\relax#1\empty\else%
+    \PY@tok{#1}\expandafter\PY@toks\fi}
+\def\PY@do#1{\PY@bc{\PY@tc{\PY@ul{%
+    \PY@it{\PY@bf{\PY@ff{#1}}}}}}}
+\def\PY#1#2{\PY@reset\PY@toks#1+\relax+\PY@do{#2}}
+
+\expandafter\def\csname PY@tok@w\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.73,0.73,0.73}{##1}}}
+\expandafter\def\csname PY@tok@c\endcsname{\let\PY@it=\textit\def\PY@tc##1{\textcolor[rgb]{0.25,0.50,0.50}{##1}}}
+\expandafter\def\csname PY@tok@cp\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.74,0.48,0.00}{##1}}}
+\expandafter\def\csname PY@tok@k\endcsname{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}}
+\expandafter\def\csname PY@tok@kp\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}}
+\expandafter\def\csname PY@tok@kt\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.69,0.00,0.25}{##1}}}
+\expandafter\def\csname PY@tok@o\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.40,0.40,0.40}{##1}}}
+\expandafter\def\csname PY@tok@ow\endcsname{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.67,0.13,1.00}{##1}}}
+\expandafter\def\csname PY@tok@nb\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}}
+\expandafter\def\csname PY@tok@nf\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.00,0.00,1.00}{##1}}}
+\expandafter\def\csname PY@tok@nc\endcsname{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.00,0.00,1.00}{##1}}}
+\expandafter\def\csname PY@tok@nn\endcsname{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.00,0.00,1.00}{##1}}}
+\expandafter\def\csname PY@tok@ne\endcsname{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.82,0.25,0.23}{##1}}}
+\expandafter\def\csname PY@tok@nv\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.10,0.09,0.49}{##1}}}
+\expandafter\def\csname PY@tok@no\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.53,0.00,0.00}{##1}}}
+\expandafter\def\csname PY@tok@nl\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.63,0.63,0.00}{##1}}}
+\expandafter\def\csname PY@tok@ni\endcsname{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.60,0.60,0.60}{##1}}}
+\expandafter\def\csname PY@tok@na\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.49,0.56,0.16}{##1}}}
+\expandafter\def\csname PY@tok@nt\endcsname{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}}
+\expandafter\def\csname PY@tok@nd\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.67,0.13,1.00}{##1}}}
+\expandafter\def\csname PY@tok@s\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.73,0.13,0.13}{##1}}}
+\expandafter\def\csname PY@tok@sd\endcsname{\let\PY@it=\textit\def\PY@tc##1{\textcolor[rgb]{0.73,0.13,0.13}{##1}}}
+\expandafter\def\csname PY@tok@si\endcsname{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.73,0.40,0.53}{##1}}}
+\expandafter\def\csname PY@tok@se\endcsname{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.73,0.40,0.13}{##1}}}
+\expandafter\def\csname PY@tok@sr\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.73,0.40,0.53}{##1}}}
+\expandafter\def\csname PY@tok@ss\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.10,0.09,0.49}{##1}}}
+\expandafter\def\csname PY@tok@sx\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}}
+\expandafter\def\csname PY@tok@m\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.40,0.40,0.40}{##1}}}
+\expandafter\def\csname PY@tok@gh\endcsname{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.00,0.00,0.50}{##1}}}
+\expandafter\def\csname PY@tok@gu\endcsname{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.50,0.00,0.50}{##1}}}
+\expandafter\def\csname PY@tok@gd\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.63,0.00,0.00}{##1}}}
+\expandafter\def\csname PY@tok@gi\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.00,0.63,0.00}{##1}}}
+\expandafter\def\csname PY@tok@gr\endcsname{\def\PY@tc##1{\textcolor[rgb]{1.00,0.00,0.00}{##1}}}
+\expandafter\def\csname PY@tok@ge\endcsname{\let\PY@it=\textit}
+\expandafter\def\csname PY@tok@gs\endcsname{\let\PY@bf=\textbf}
+\expandafter\def\csname PY@tok@gp\endcsname{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.00,0.00,0.50}{##1}}}
+\expandafter\def\csname PY@tok@go\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.53,0.53,0.53}{##1}}}
+\expandafter\def\csname PY@tok@gt\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.00,0.27,0.87}{##1}}}
+\expandafter\def\csname PY@tok@err\endcsname{\def\PY@bc##1{\setlength{\fboxsep}{0pt}\fcolorbox[rgb]{1.00,0.00,0.00}{1,1,1}{\strut ##1}}}
+\expandafter\def\csname PY@tok@kc\endcsname{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}}
+\expandafter\def\csname PY@tok@kd\endcsname{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}}
+\expandafter\def\csname PY@tok@kn\endcsname{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}}
+\expandafter\def\csname PY@tok@kr\endcsname{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}}
+\expandafter\def\csname PY@tok@bp\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}}
+\expandafter\def\csname PY@tok@fm\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.00,0.00,1.00}{##1}}}
+\expandafter\def\csname PY@tok@vc\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.10,0.09,0.49}{##1}}}
+\expandafter\def\csname PY@tok@vg\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.10,0.09,0.49}{##1}}}
+\expandafter\def\csname PY@tok@vi\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.10,0.09,0.49}{##1}}}
+\expandafter\def\csname PY@tok@vm\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.10,0.09,0.49}{##1}}}
+\expandafter\def\csname PY@tok@sa\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.73,0.13,0.13}{##1}}}
+\expandafter\def\csname PY@tok@sb\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.73,0.13,0.13}{##1}}}
+\expandafter\def\csname PY@tok@sc\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.73,0.13,0.13}{##1}}}
+\expandafter\def\csname PY@tok@dl\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.73,0.13,0.13}{##1}}}
+\expandafter\def\csname PY@tok@s2\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.73,0.13,0.13}{##1}}}
+\expandafter\def\csname PY@tok@sh\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.73,0.13,0.13}{##1}}}
+\expandafter\def\csname PY@tok@s1\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.73,0.13,0.13}{##1}}}
+\expandafter\def\csname PY@tok@mb\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.40,0.40,0.40}{##1}}}
+\expandafter\def\csname PY@tok@mf\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.40,0.40,0.40}{##1}}}
+\expandafter\def\csname PY@tok@mh\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.40,0.40,0.40}{##1}}}
+\expandafter\def\csname PY@tok@mi\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.40,0.40,0.40}{##1}}}
+\expandafter\def\csname PY@tok@il\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.40,0.40,0.40}{##1}}}
+\expandafter\def\csname PY@tok@mo\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.40,0.40,0.40}{##1}}}
+\expandafter\def\csname PY@tok@ch\endcsname{\let\PY@it=\textit\def\PY@tc##1{\textcolor[rgb]{0.25,0.50,0.50}{##1}}}
+\expandafter\def\csname PY@tok@cm\endcsname{\let\PY@it=\textit\def\PY@tc##1{\textcolor[rgb]{0.25,0.50,0.50}{##1}}}
+\expandafter\def\csname PY@tok@cpf\endcsname{\let\PY@it=\textit\def\PY@tc##1{\textcolor[rgb]{0.25,0.50,0.50}{##1}}}
+\expandafter\def\csname PY@tok@c1\endcsname{\let\PY@it=\textit\def\PY@tc##1{\textcolor[rgb]{0.25,0.50,0.50}{##1}}}
+\expandafter\def\csname PY@tok@cs\endcsname{\let\PY@it=\textit\def\PY@tc##1{\textcolor[rgb]{0.25,0.50,0.50}{##1}}}
+
+\def\PYZbs{\char`\\}
+\def\PYZus{\char`\_}
+\def\PYZob{\char`\{}
+\def\PYZcb{\char`\}}
+\def\PYZca{\char`\^}
+\def\PYZam{\char`\&}
+\def\PYZlt{\char`\<}
+\def\PYZgt{\char`\>}
+\def\PYZsh{\char`\#}
+\def\PYZpc{\char`\%}
+\def\PYZdl{\char`\$}
+\def\PYZhy{\char`\-}
+\def\PYZsq{\char`\'}
+\def\PYZdq{\char`\"}
+\def\PYZti{\char`\~}
+% for compatibility with earlier versions
+\def\PYZat{@}
+\def\PYZlb{[}
+\def\PYZrb{]}
+\makeatother
+
+
+    % Exact colors from NB
+    \definecolor{incolor}{rgb}{0.0, 0.0, 0.5}
+    \definecolor{outcolor}{rgb}{0.545, 0.0, 0.0}
+
+
+
+    
+    % Prevent overflowing lines due to hard-to-break entities
+    \sloppy 
+    % Setup hyperref package
+    \hypersetup{
+      breaklinks=true,  % so long urls are correctly broken across lines
+      colorlinks=true,
+      urlcolor=urlcolor,
+      linkcolor=linkcolor,
+      citecolor=citecolor,
+      }
+    % Slightly bigger margins than the latex defaults
+    
+    \geometry{verbose,tmargin=1in,bmargin=1in,lmargin=1in,rmargin=1in}
+    
+    
+
+    \begin{document}
+    
+    
+    \maketitle
+    
+    
+
+    
+    \section{ProB2 Jupyter Notebook
+Overview}\label{prob2-jupyter-notebook-overview}
+
+In this jupyter notebook we want to give you an overview over the
+functionalities of the ProB2 Jupyter Notebook. For this purpose, we will
+take a look at the simple machine \texttt{Lift.mch} taken from the
+\href{https://www3.hhu.de/stups/downloads/prob/source/}{ProB Public
+Examples}.
+
+    \subsection{The Help Command}\label{the-help-command}
+
+If you want to find out more about the commands and how to use them,
+type in \texttt{:help\ {[}COMMAND{]}}. The ProB2 Jupyter Notebook has an
+autocompletion function which also helps you to find what you need.
+Simply press \texttt{TAB} after the space after \texttt{:help}.
+
+    \begin{Verbatim}[commandchars=\\\{\}]
+{\color{incolor}In [{\color{incolor}1}]:} :help :help
+\end{Verbatim}
+
+\texttt{\color{outcolor}Out[{\color{outcolor}1}]:}
+    
+    \begin{verbatim}
+:help [COMMAND]
+\end{verbatim}
+
+Display help for a specific command, or general help about the REPL.
+
+    
+
+    \subsection{Loading a Machine}\label{loading-a-machine}
+
+To start of with the ProB Jupyter Kernel, we have to load a machine.
+This can be done by typing \texttt{::load} in a Code cell before the
+machine code and pressing \texttt{Shift+Enter}.
+
+    \begin{Verbatim}[commandchars=\\\{\}]
+{\color{incolor}In [{\color{incolor}2}]:} :help ::load
+\end{Verbatim}
+
+\texttt{\color{outcolor}Out[{\color{outcolor}2}]:}
+    
+    \begin{verbatim}
+::load [PREF=VALUE ...]
+MACHINE
+...
+END
+\end{verbatim}
+
+Load the machine source code given in the cell body.
+
+There must be a newline between the \texttt{::load} command name and the
+machine code.
+
+Any number of preference assignments may be included after
+\texttt{::load} (only on the first line). Preferences can also be
+changed on a loaded machine using the \texttt{:pref} command, however
+certain preferences do not take full effect when set using
+\texttt{:pref} and must be set when the machine is loaded.
+
+    
+
+    \begin{Verbatim}[commandchars=\\\{\}]
+{\color{incolor}In [{\color{incolor}3}]:} ::load DOT=/usr/bin/dot
+        MODEL Lift
+        DEFINITIONS SET\PYZus{}PREF\PYZus{}SHOW\PYZus{}EVENTB\PYZus{}ANY\PYZus{}VALUES==TRUE;
+          ASSERT\PYZus{}LTL == \PYZdq{}G( [push\PYZus{}call\PYZus{}button(groundf)] =\PYZgt{} F \PYZob{}cur\PYZus{}floor=groundf \PYZam{} door\PYZus{}open=TRUE\PYZcb{})\PYZdq{};
+          Rconv == (topf\PYZhy{}r+groundf);
+        CONSTANTS groundf,topf
+        PROPERTIES
+          topf : INTEGER \PYZam{} groundf : INTEGER \PYZam{} (groundf = \PYZhy{}1) \PYZam{} (topf = 2) \PYZam{} (groundf \PYZlt{} topf)
+        VARIABLES call\PYZus{}buttons,cur\PYZus{}floor,direction\PYZus{}up,door\PYZus{}open
+        INVARIANT
+               cur\PYZus{}floor : (groundf .. topf) \PYZam{} 
+               door\PYZus{}open : BOOL \PYZam{} 
+               call\PYZus{}buttons : POW(groundf .. topf) \PYZam{}
+               direction\PYZus{}up : BOOL \PYZam{}
+               (door\PYZus{}open = TRUE =\PYZgt{} cur\PYZus{}floor : call\PYZus{}buttons)
+        INITIALISATION cur\PYZus{}floor := (groundf) || door\PYZus{}open := FALSE || call\PYZus{}buttons := (\PYZob{}\PYZcb{}) || direction\PYZus{}up := TRUE
+        OPERATIONS
+         move\PYZus{}up = SELECT door\PYZus{}open = FALSE \PYZam{} cur\PYZus{}floor \PYZlt{} topf \PYZam{} direction\PYZus{}up = TRUE \PYZam{}
+                     \PYZsh{} c.((c : INTEGER) \PYZam{} ((c : INTEGER) \PYZam{} (c \PYZgt{} cur\PYZus{}floor) \PYZam{} (c : call\PYZus{}buttons))) \PYZam{}
+                    (cur\PYZus{}floor /: call\PYZus{}buttons) THEN
+           cur\PYZus{}floor := ((cur\PYZus{}floor)+(1))
+         END ;
+         move\PYZus{}down = SELECT door\PYZus{}open = FALSE \PYZam{} cur\PYZus{}floor \PYZgt{} groundf \PYZam{} (direction\PYZus{}up = FALSE) \PYZam{}
+               \PYZsh{} cu.((cu : INTEGER) \PYZam{} ((cu : INTEGER) \PYZam{} (cu \PYZlt{} cur\PYZus{}floor) \PYZam{} (cu : call\PYZus{}buttons))) \PYZam{}
+              (cur\PYZus{}floor /: call\PYZus{}buttons) THEN
+           cur\PYZus{}floor := ((cur\PYZus{}floor)\PYZhy{}(1))
+         END ;
+         reverse\PYZus{}lift\PYZus{}up = SELECT direction\PYZus{}up = FALSE \PYZam{} door\PYZus{}open = FALSE \PYZam{}
+           \PYZsh{} c.((c : INTEGER) \PYZam{} ((c : INTEGER) \PYZam{} (c \PYZgt{} cur\PYZus{}floor) \PYZam{} (c : call\PYZus{}buttons))) \PYZam{} 
+           ! l.((l : INTEGER) =\PYZgt{} (((l : INTEGER) \PYZam{} (l \PYZlt{}= cur\PYZus{}floor) \PYZam{} (l \PYZgt{}= groundf)) =\PYZgt{} (l /: call\PYZus{}buttons))) THEN
+           direction\PYZus{}up := TRUE
+         END ;
+         reverse\PYZus{}lift\PYZus{}down = SELECT direction\PYZus{}up = TRUE \PYZam{} door\PYZus{}open = FALSE \PYZam{} 
+          \PYZsh{} cd.(cd : INTEGER \PYZam{} ((cd : INTEGER) \PYZam{} (cd \PYZlt{} cur\PYZus{}floor) \PYZam{} (cd : call\PYZus{}buttons))) \PYZam{} 
+          ! u.(u : INTEGER =\PYZgt{} (((u : INTEGER) \PYZam{} (u \PYZgt{}= cur\PYZus{}floor) \PYZam{} (u \PYZlt{}= topf)) =\PYZgt{} (u /: call\PYZus{}buttons))) THEN
+          direction\PYZus{}up := FALSE
+         END ;
+         open\PYZus{}door = SELECT door\PYZus{}open = FALSE \PYZam{} (cur\PYZus{}floor : call\PYZus{}buttons) THEN
+            door\PYZus{}open := TRUE
+         END ;
+         close\PYZus{}door = SELECT door\PYZus{}open = TRUE THEN
+            door\PYZus{}open := FALSE || call\PYZus{}buttons := ((call\PYZus{}buttons)\PYZbs{}(\PYZob{}cur\PYZus{}floor\PYZcb{}))
+         END ;
+         push\PYZus{}call\PYZus{}button(floor) = SELECT (floor : (groundf .. topf)) \PYZam{} (floor /: call\PYZus{}buttons) THEN 
+             call\PYZus{}buttons := ((call\PYZus{}buttons)\PYZbs{}/(\PYZob{}floor\PYZcb{}))
+         END 
+        END
+\end{Verbatim}
+
+
+\begin{Verbatim}[commandchars=\\\{\}]
+{\color{outcolor}Out[{\color{outcolor}3}]:} Loaded machine: Lift
+\end{Verbatim}
+            
+    \subsection{Initialising a Machine}\label{initialising-a-machine}
+
+Now we will set up constants and initialise the machine, to be able to
+interact with it. You can set up constants with the commant
+\texttt{:constants} and initialise with the command \texttt{:init}.
+
+    \begin{Verbatim}[commandchars=\\\{\}]
+{\color{incolor}In [{\color{incolor}4}]:} :help :constants
+\end{Verbatim}
+
+\texttt{\color{outcolor}Out[{\color{outcolor}4}]:}
+    
+    \begin{verbatim}
+:constants [PREDICATE]
+\end{verbatim}
+
+Set up the current machine's constants.
+
+This is a shorthand for
+\texttt{:exec\ SETUP\_CONSTANTS\ {[}PREDICATE{]}}.
+
+    
+
+    \begin{Verbatim}[commandchars=\\\{\}]
+{\color{incolor}In [{\color{incolor}5}]:} :constants
+\end{Verbatim}
+
+
+\begin{Verbatim}[commandchars=\\\{\}]
+{\color{outcolor}Out[{\color{outcolor}5}]:} Machine constants set up using operation 0: \$setup\_constants()
+\end{Verbatim}
+            
+    \begin{Verbatim}[commandchars=\\\{\}]
+{\color{incolor}In [{\color{incolor}6}]:} :help :init
+\end{Verbatim}
+
+\texttt{\color{outcolor}Out[{\color{outcolor}6}]:}
+    
+    \begin{verbatim}
+:init [PREDICATE]
+\end{verbatim}
+
+Initialise the current machine with the specified predicate
+
+This is a shorthand for \texttt{:exec\ INITIALISATION\ {[}PREDICATE{]}}.
+
+    
+
+    \begin{Verbatim}[commandchars=\\\{\}]
+{\color{incolor}In [{\color{incolor}7}]:} :init
+\end{Verbatim}
+
+
+\begin{Verbatim}[commandchars=\\\{\}]
+{\color{outcolor}Out[{\color{outcolor}7}]:} Machine initialised using operation 1: \$initialise\_machine()
+\end{Verbatim}
+            
+    \subsection{Trace and State}\label{trace-and-state}
+
+After loading and initialising the machine, we can explore the state,
+visualise the machine and state and more. We will start by finding out
+in which trace we are currently in, to ensure, that we initialised the
+machine. This can be done with the command \texttt{:trace}.
+
+    \begin{Verbatim}[commandchars=\\\{\}]
+{\color{incolor}In [{\color{incolor}8}]:} :help :trace
+\end{Verbatim}
+
+\texttt{\color{outcolor}Out[{\color{outcolor}8}]:}
+    
+    \begin{verbatim}
+:trace
+\end{verbatim}
+
+Display all states and transitions in the current trace.
+
+Each state has an index, which can be passed to the \texttt{:goto}
+command to go to that state.
+
+The first state (index -1) is always the root state. All other states
+are reached from the root state by following (previously executed)
+transitions.
+
+    
+
+    \begin{Verbatim}[commandchars=\\\{\}]
+{\color{incolor}In [{\color{incolor}9}]:} :trace
+\end{Verbatim}
+
+\texttt{\color{outcolor}Out[{\color{outcolor}9}]:}
+    
+    \begin{itemize}
+\tightlist
+\item
+  -1: Root state
+\item
+  0: \texttt{SETUP\_CONSTANTS()}
+\item
+  1: \texttt{INITIALISATION()} \textbf{(current)}
+\end{itemize}
+
+    
+
+    Switching to a different trace is possible by typing in
+\texttt{:goto\ INDEX}.
+
+    \begin{Verbatim}[commandchars=\\\{\}]
+{\color{incolor}In [{\color{incolor}10}]:} :help :goto
+\end{Verbatim}
+
+\texttt{\color{outcolor}Out[{\color{outcolor}10}]:}
+    
+    \begin{verbatim}
+:goto INDEX
+\end{verbatim}
+
+Go to the state with the specified index in the current trace.
+
+Use the \texttt{:trace} command to view the current trace and the
+indices of its states. Index -1 refers to the root state and is always
+available.
+
+Going backwards in the current trace does \emph{not} discard any parts
+of the trace, so it is possible to go forward again afterwards. However,
+executing an operation in a state \emph{will} discard any parts of the
+trace after that state (and replace them with the destination state of
+the executed transition).
+
+    
+
+    \begin{Verbatim}[commandchars=\\\{\}]
+{\color{incolor}In [{\color{incolor}11}]:} :goto \PYZhy{}1
+\end{Verbatim}
+
+
+\begin{Verbatim}[commandchars=\\\{\}]
+{\color{outcolor}Out[{\color{outcolor}11}]:} Changed to state with index -1
+\end{Verbatim}
+            
+    \begin{Verbatim}[commandchars=\\\{\}]
+{\color{incolor}In [{\color{incolor}12}]:} :trace
+\end{Verbatim}
+
+\texttt{\color{outcolor}Out[{\color{outcolor}12}]:}
+    
+    \begin{itemize}
+\tightlist
+\item
+  -1: Root state \textbf{(current)}
+\item
+  0: \texttt{SETUP\_CONSTANTS()}
+\item
+  1: \texttt{INITIALISATION()}
+\end{itemize}
+
+    
+
+    Now that we set the current state to -1, we are at out root state again.
+We did not set up constants or initialise the machine, yet. From here,
+we have two possibilities to go back to the initialised state. Either by
+setting up constants and initialising again, or by simply typing
+\texttt{:goto\ 1}.
+
+    \begin{Verbatim}[commandchars=\\\{\}]
+{\color{incolor}In [{\color{incolor}13}]:} :goto 1
+\end{Verbatim}
+
+
+\begin{Verbatim}[commandchars=\\\{\}]
+{\color{outcolor}Out[{\color{outcolor}13}]:} Changed to state with index 1
+\end{Verbatim}
+            
+    \begin{Verbatim}[commandchars=\\\{\}]
+{\color{incolor}In [{\color{incolor}14}]:} :trace
+\end{Verbatim}
+
+\texttt{\color{outcolor}Out[{\color{outcolor}14}]:}
+    
+    \begin{itemize}
+\tightlist
+\item
+  -1: Root state
+\item
+  0: \texttt{SETUP\_CONSTANTS()}
+\item
+  1: \texttt{INITIALISATION()} \textbf{(current)}
+\end{itemize}
+
+    
+
+    Another feature of ProB is, that you can find a state, for which a
+predicate is true. In the following we will try to use it:
+
+    \begin{Verbatim}[commandchars=\\\{\}]
+{\color{incolor}In [{\color{incolor}16}]:} :help :find
+\end{Verbatim}
+
+\texttt{\color{outcolor}Out[{\color{outcolor}16}]:}
+    
+    \begin{verbatim}
+:find PREDICATE
+\end{verbatim}
+
+Try to find a state for which the given predicate is true (in addition
+to the machine's invariant).
+
+If such a state is found, it is made the current state, otherwise an
+error is displayed.
+
+Note that this command does not necessarily find a valid \emph{trace} to
+the found state. Instead, in some cases a single ``fake'' transition is
+added to the trace, which goes directly to the found state and does not
+use the machine's operations to reach it.
+
+    
+
+    \begin{Verbatim}[commandchars=\\\{\}]
+{\color{incolor}In [{\color{incolor}17}]:} :find cur\PYZus{}floor=0
+\end{Verbatim}
+
+
+\begin{Verbatim}[commandchars=\\\{\}]
+{\color{outcolor}Out[{\color{outcolor}17}]:} Found a matching state and made it current state
+\end{Verbatim}
+            
+    \begin{Verbatim}[commandchars=\\\{\}]
+{\color{incolor}In [{\color{incolor}18}]:} :trace
+\end{Verbatim}
+
+\texttt{\color{outcolor}Out[{\color{outcolor}18}]:}
+    
+    \begin{itemize}
+\tightlist
+\item
+  -1: Root state
+\item
+  0: \texttt{find\_valid\_state} \textbf{(current)}
+\end{itemize}
+
+    
+
+    Note that the command leaves us with the root state and the current
+state, with a valid trace. That means, we lose our previous trace.
+
+For the next example we will have to recreate that trace again, with the
+following three commands:
+
+    \begin{Verbatim}[commandchars=\\\{\}]
+{\color{incolor}In [{\color{incolor}19}]:} :goto \PYZhy{}1
+\end{Verbatim}
+
+
+\begin{Verbatim}[commandchars=\\\{\}]
+{\color{outcolor}Out[{\color{outcolor}19}]:} Changed to state with index -1
+\end{Verbatim}
+            
+    \begin{Verbatim}[commandchars=\\\{\}]
+{\color{incolor}In [{\color{incolor}20}]:} :constants
+\end{Verbatim}
+
+
+\begin{Verbatim}[commandchars=\\\{\}]
+{\color{outcolor}Out[{\color{outcolor}20}]:} Machine constants set up using operation 0: \$setup\_constants()
+\end{Verbatim}
+            
+    \begin{Verbatim}[commandchars=\\\{\}]
+{\color{incolor}In [{\color{incolor}21}]:} :init
+\end{Verbatim}
+
+
+\begin{Verbatim}[commandchars=\\\{\}]
+{\color{outcolor}Out[{\color{outcolor}21}]:} Machine initialised using operation 1: \$initialise\_machine()
+\end{Verbatim}
+            
+    \subsection{Interacting with the
+Machine}\label{interacting-with-the-machine}
+
+If you want to interact with the machine, meaning, that you want to
+know, which values the variables and constants have, you can simply type
+in the identifiers of those. e.g. type in \texttt{cur\_floor} to find
+out on which floor we are currently at.
+
+    \begin{Verbatim}[commandchars=\\\{\}]
+{\color{incolor}In [{\color{incolor}22}]:} cur\PYZus{}floor
+\end{Verbatim}
+
+\texttt{\color{outcolor}Out[{\color{outcolor}22}]:}
+    
+    \(-1\)
+
+    
+
+    If you want to get an overview over the whole machine state and which
+operations are currently possible, you can use \texttt{:browse}.
+
+    \begin{Verbatim}[commandchars=\\\{\}]
+{\color{incolor}In [{\color{incolor}23}]:} :help :browse
+\end{Verbatim}
+
+\texttt{\color{outcolor}Out[{\color{outcolor}23}]:}
+    
+    \begin{verbatim}
+:browse
+\end{verbatim}
+
+Show information about the current state.
+
+The output shows the names of all sets, constants, and variables defined
+by the current machine, as well as a list of transitions that are
+available in the current state.
+
+    
+
+    \begin{Verbatim}[commandchars=\\\{\}]
+{\color{incolor}In [{\color{incolor}24}]:} :browse
+\end{Verbatim}
+
+
+\begin{Verbatim}[commandchars=\\\{\}]
+{\color{outcolor}Out[{\color{outcolor}24}]:} Machine: Lift
+         Sets: (none)
+         Constants: groundf, topf
+         Variables: call\_buttons, cur\_floor, direction\_up, door\_open
+         Operations: 
+         push\_call\_button(-1)
+         push\_call\_button(0)
+         push\_call\_button(1)
+         push\_call\_button(2)
+\end{Verbatim}
+            
+    To use operations, you have to use another command, that is slightly
+different. Type in the name of any operation, that is currently possible
+and put \texttt{:exec} before:
+
+    \begin{Verbatim}[commandchars=\\\{\}]
+{\color{incolor}In [{\color{incolor}25}]:} :help :exec
+\end{Verbatim}
+
+\texttt{\color{outcolor}Out[{\color{outcolor}25}]:}
+    
+    \begin{verbatim}
+:exec OPERATION [PREDICATE]
+\end{verbatim}
+
+Execute an operation.
+
+A transition for the given operation is found and executed. If the
+optional predicate is specified, a transition is found for which the
+predicate is \(\mathit{TRUE}\). The predicate can be used to restrict
+what values the operation's parameters or the variables in the next
+state may have.
+
+    
+
+    \begin{Verbatim}[commandchars=\\\{\}]
+{\color{incolor}In [{\color{incolor}26}]:} :exec push\PYZus{}call\PYZus{}button floor=\PYZhy{}1
+\end{Verbatim}
+
+
+\begin{Verbatim}[commandchars=\\\{\}]
+{\color{outcolor}Out[{\color{outcolor}26}]:} Executed operation: push\_call\_button(-1)
+\end{Verbatim}
+            
+    If we check our trace again and browse our actions, we can see, that the
+call button of the floor -1 is now pushed.
+
+    \begin{Verbatim}[commandchars=\\\{\}]
+{\color{incolor}In [{\color{incolor}27}]:} :trace
+\end{Verbatim}
+
+\texttt{\color{outcolor}Out[{\color{outcolor}27}]:}
+    
+    \begin{itemize}
+\tightlist
+\item
+  -1: Root state
+\item
+  0: \texttt{SETUP\_CONSTANTS()}
+\item
+  1: \texttt{INITIALISATION()}
+\item
+  2: \texttt{push\_call\_button(-1)} \textbf{(current)}
+\end{itemize}
+
+    
+
+    \begin{Verbatim}[commandchars=\\\{\}]
+{\color{incolor}In [{\color{incolor}28}]:} :browse
+\end{Verbatim}
+
+
+\begin{Verbatim}[commandchars=\\\{\}]
+{\color{outcolor}Out[{\color{outcolor}28}]:} Machine: Lift
+         Sets: (none)
+         Constants: groundf, topf
+         Variables: call\_buttons, cur\_floor, direction\_up, door\_open
+         Operations: 
+         open\_door()
+         push\_call\_button(0)
+         push\_call\_button(1)
+         push\_call\_button(2)
+\end{Verbatim}
+            
+    Of course, we could also type in \texttt{call\_buttons} to find out,
+which call buttons are currently pushed.
+
+    \begin{Verbatim}[commandchars=\\\{\}]
+{\color{incolor}In [{\color{incolor}29}]:} call\PYZus{}buttons
+\end{Verbatim}
+
+\texttt{\color{outcolor}Out[{\color{outcolor}29}]:}
+    
+    \(\{-1\}\)
+
+    
+
+    The \texttt{:let} command lets you store the value of an expression
+under a different name. It is evaluated once on the current state. You
+can use the \texttt{:unlet} command if you are not using the local
+variable anymore.
+
+    \begin{Verbatim}[commandchars=\\\{\}]
+{\color{incolor}In [{\color{incolor}30}]:} :help :let
+\end{Verbatim}
+
+\texttt{\color{outcolor}Out[{\color{outcolor}30}]:}
+    
+    \begin{verbatim}
+:let NAME EXPR
+\end{verbatim}
+
+Evaluate an expression and store it in a local variable.
+
+The expression is evaluated only once, in the current state, and its
+value is stored. Once set, variables are available in all states and are
+not affected by machine loads. A variable created by \texttt{:let}
+shadows any identifier from the machine with the same name.
+
+\textbf{Note:} The values of local variables are currently stored in
+text form. Values must have a syntactically valid text representation,
+and large values may cause performance issues.
+
+    
+
+    \begin{Verbatim}[commandchars=\\\{\}]
+{\color{incolor}In [{\color{incolor}31}]:} :let first\PYZus{}floor\PYZus{}called 1:call\PYZus{}buttons
+\end{Verbatim}
+
+\texttt{\color{outcolor}Out[{\color{outcolor}31}]:}
+    
+    \(\mathit{FALSE}\)
+
+    
+
+    \begin{Verbatim}[commandchars=\\\{\}]
+{\color{incolor}In [{\color{incolor}32}]:} :exec push\PYZus{}call\PYZus{}button floor=1
+\end{Verbatim}
+
+
+\begin{Verbatim}[commandchars=\\\{\}]
+{\color{outcolor}Out[{\color{outcolor}32}]:} Executed operation: push\_call\_button(1)
+\end{Verbatim}
+            
+    \begin{Verbatim}[commandchars=\\\{\}]
+{\color{incolor}In [{\color{incolor}33}]:} first\PYZus{}floor\PYZus{}called
+\end{Verbatim}
+
+\texttt{\color{outcolor}Out[{\color{outcolor}33}]:}
+    
+    \(\mathit{FALSE}\)
+
+    
+
+    \begin{Verbatim}[commandchars=\\\{\}]
+{\color{incolor}In [{\color{incolor}34}]:} :help :unlet
+\end{Verbatim}
+
+\texttt{\color{outcolor}Out[{\color{outcolor}34}]:}
+    
+    \begin{verbatim}
+:unlet NAME
+\end{verbatim}
+
+Remove a local variable.
+
+    
+
+    \begin{Verbatim}[commandchars=\\\{\}]
+{\color{incolor}In [{\color{incolor}35}]:} :unlet first\PYZus{}floor\PYZus{}called
+\end{Verbatim}
+
+
+    \begin{Verbatim}[commandchars=\\\{\}]
+{\color{incolor}In [{\color{incolor}36}]:} first\PYZus{}floor\PYZus{}called
+\end{Verbatim}
+
+
+    \begin{Verbatim}[commandchars=\\\{\}]
+
+        :eval: Computation not completed: Unknown identifier "first\_floor\_called"
+
+    \end{Verbatim}
+
+    Additionally, you can use the \texttt{:table} command to display an
+expression as a table.
+
+    \begin{Verbatim}[commandchars=\\\{\}]
+{\color{incolor}In [{\color{incolor}37}]:} :help :table
+\end{Verbatim}
+
+\texttt{\color{outcolor}Out[{\color{outcolor}37}]:}
+    
+    \begin{verbatim}
+:table EXPRESSION
+\end{verbatim}
+
+Display an expression as a table.
+
+Although any expression is accepted, this command is most useful for
+sets of tuples.
+
+    
+
+    \begin{Verbatim}[commandchars=\\\{\}]
+{\color{incolor}In [{\color{incolor}38}]:} :table cur\PYZus{}floor
+\end{Verbatim}
+
+\texttt{\color{outcolor}Out[{\color{outcolor}38}]:}
+    
+    \begin{longtable}[]{@{}l@{}}
+\toprule
+cur\_floor\tabularnewline
+\midrule
+\endhead
+\(-1\)\tabularnewline
+\bottomrule
+\end{longtable}
+
+    
+
+    If you are not sure which type an formula has, you can use
+\texttt{:type} to find out.
+
+    \begin{Verbatim}[commandchars=\\\{\}]
+{\color{incolor}In [{\color{incolor}39}]:} :help :type
+\end{Verbatim}
+
+\texttt{\color{outcolor}Out[{\color{outcolor}39}]:}
+    
+    \begin{verbatim}
+:type FORMULA
+\end{verbatim}
+
+Display the type of a formula.
+
+The returned types are \emph{not} standard B types. They are
+human-readable, but cannot be used in code.
+
+    
+
+    \begin{Verbatim}[commandchars=\\\{\}]
+{\color{incolor}In [{\color{incolor}40}]:} :type cur\PYZus{}floor
+\end{Verbatim}
+
+
+\begin{Verbatim}[commandchars=\\\{\}]
+{\color{outcolor}Out[{\color{outcolor}40}]:} INTEGER
+\end{Verbatim}
+            
+    \begin{Verbatim}[commandchars=\\\{\}]
+{\color{incolor}In [{\color{incolor}41}]:} :type call\PYZus{}buttons
+\end{Verbatim}
+
+
+\begin{Verbatim}[commandchars=\\\{\}]
+{\color{outcolor}Out[{\color{outcolor}41}]:} POW(INTEGER)
+\end{Verbatim}
+            
+    \subsection{Evaluations}\label{evaluations}
+
+If you just want to make sure, that a predicate is true, use the
+\texttt{:assert} command instead.
+
+    \begin{Verbatim}[commandchars=\\\{\}]
+{\color{incolor}In [{\color{incolor}42}]:} :help :assert
+\end{Verbatim}
+
+\texttt{\color{outcolor}Out[{\color{outcolor}42}]:}
+    
+    \begin{verbatim}
+:assert PREDICATE
+\end{verbatim}
+
+Ensure that the predicate is true, and show an error otherwise.
+
+This command is intended for verifying that a predicate is always true
+at a certain point in a notebook. Unlike normal evaluation
+(\texttt{:eval}), this command treats a \(\mathit{FALSE}\) result as an
+error. If the result is \(\mathit{TRUE}\), solutions for free variables
+(if any) are not displayed.
+
+Only predicates and \(\mathit{BOOL}\) expressions are accepted.
+Expressions of other types cause an error.
+
+    
+
+    \begin{Verbatim}[commandchars=\\\{\}]
+{\color{incolor}In [{\color{incolor}43}]:} :assert cur\PYZus{}floor=0
+\end{Verbatim}
+
+
+    \begin{Verbatim}[commandchars=\\\{\}]
+
+        :assert: Assertion is not true: FALSE
+
+    \end{Verbatim}
+
+    \begin{Verbatim}[commandchars=\\\{\}]
+{\color{incolor}In [{\color{incolor}44}]:} :assert cur\PYZus{}floor=\PYZhy{}1
+\end{Verbatim}
+
+\texttt{\color{outcolor}Out[{\color{outcolor}44}]:}
+    
+    \(\mathit{TRUE}\)
+
+    
+
+    \begin{Verbatim}[commandchars=\\\{\}]
+{\color{incolor}In [{\color{incolor}45}]:} :browse
+\end{Verbatim}
+
+
+\begin{Verbatim}[commandchars=\\\{\}]
+{\color{outcolor}Out[{\color{outcolor}45}]:} Machine: Lift
+         Sets: (none)
+         Constants: groundf, topf
+         Variables: call\_buttons, cur\_floor, direction\_up, door\_open
+         Operations: 
+         open\_door()
+         push\_call\_button(0)
+         push\_call\_button(2)
+\end{Verbatim}
+            
+    Another notable feature is the following command, with which you can
+pretty print predicates. Use \texttt{:prettyprint} to access it.
+
+You also have the option to solve predicates with different solvers. For
+this you can use the command \texttt{:solve}.
+
+    \begin{Verbatim}[commandchars=\\\{\}]
+{\color{incolor}In [{\color{incolor} }]:} :help :prettyprint
+\end{Verbatim}
+
+
+    \begin{Verbatim}[commandchars=\\\{\}]
+{\color{incolor}In [{\color{incolor}47}]:} :prettyprint cur\PYZus{}floor=\PYZhy{}1
+\end{Verbatim}
+
+\texttt{\color{outcolor}Out[{\color{outcolor}47}]:}
+    
+    $\mathit{cur\_floor} = - 1$
+
+    
+
+    \begin{Verbatim}[commandchars=\\\{\}]
+{\color{incolor}In [{\color{incolor}48}]:} :help :solve
+\end{Verbatim}
+
+\texttt{\color{outcolor}Out[{\color{outcolor}48}]:}
+    
+    \begin{verbatim}
+:solve SOLVER PREDICATE
+\end{verbatim}
+
+Solve a predicate with the specified solver.
+
+The following solvers are currently available:
+
+\begin{itemize}
+\tightlist
+\item
+  \texttt{cvc4}
+\item
+  \texttt{kodkod}
+\item
+  \texttt{prob}
+\item
+  \texttt{smt\_supported\_interpreter}
+\item
+  \texttt{z3}
+\end{itemize}
+
+    
+
+    \subsection{Modifying the Preferences}\label{modifying-the-preferences}
+
+We have seen before, that you can set preferences when loading the
+machine with the \texttt{::load} command. You can modify or change the
+values of preferences by using the \texttt{:pref} command.
+
+    \begin{Verbatim}[commandchars=\\\{\}]
+{\color{incolor}In [{\color{incolor}49}]:} :help :pref
+\end{Verbatim}
+
+\texttt{\color{outcolor}Out[{\color{outcolor}49}]:}
+    
+    \begin{verbatim}
+:pref [NAME ...]
+:pref NAME=VALUE [NAME=VALUE ...]
+\end{verbatim}
+
+View or change the value of one or more preferences.
+
+In the first form, the values of all given preferences are displayed (or
+all preferences, if none are given). In the second form, the given
+preference assignments are performed. The two forms cannot be mixed; it
+is not possible to view and change preferences in a single command.
+
+Certain preference changes do not take full effect when performed on a
+loaded machine. Such preferences must be assigned when the machine is
+loaded using the \texttt{::load} or \texttt{:load} command.
+
+    
+
+    \subsection{Additional Features}\label{additional-features}
+
+In addition to the previous commands, you have the possibility to use
+the \texttt{:stats} command to show statistics about the state space.
+Moreover, you can use the \texttt{:time} command to measure the
+execution time of commands with their arguments. This can be helpful for
+measuring the solving time for specific machines.
+
+    \begin{Verbatim}[commandchars=\\\{\}]
+{\color{incolor}In [{\color{incolor}50}]:} :help :stats
+\end{Verbatim}
+
+\texttt{\color{outcolor}Out[{\color{outcolor}50}]:}
+    
+    \begin{verbatim}
+:stats
+\end{verbatim}
+
+Show statistics about the state space.
+
+    
+
+    \begin{Verbatim}[commandchars=\\\{\}]
+{\color{incolor}In [{\color{incolor}51}]:} :stats
+\end{Verbatim}
+
+\texttt{\color{outcolor}Out[{\color{outcolor}51}]:}
+    
+    \textbf{Explored States:} 4/15\\
+\textbf{Transitions:} 14
+
+    
+
+    \begin{Verbatim}[commandchars=\\\{\}]
+{\color{incolor}In [{\color{incolor}52}]:} :help :time
+\end{Verbatim}
+
+\texttt{\color{outcolor}Out[{\color{outcolor}52}]:}
+    
+    \begin{verbatim}
+:time COMMAND [ARGS ...]
+\end{verbatim}
+
+Execute the given command and measure how long it takes to execute.
+
+The time is measured using Java's
+\href{https://docs.oracle.com/javase/8/docs/api/java/lang/System.html\#nanoTime--}{\texttt{System.nanoTime()}}
+method. The measured time is displayed with the full number of decimal
+places, but no guarantees are made about the actual resolution of the
+time measurement.
+
+As with any measurement of execution time, there will likely be small
+differences between two measurements of the same command. The time is
+measured by the kernel rather than ProB, so it will include some
+overhead due to processing of the command by the kernel and
+communication with ProB.
+
+    
+
+    \begin{Verbatim}[commandchars=\\\{\}]
+{\color{incolor}In [{\color{incolor}53}]:} :time :stats
+\end{Verbatim}
+
+
+    Execution time: 0.044099194 seconds
+
+    \texttt{\color{outcolor}Out[{\color{outcolor}53}]:}
+    
+    \textbf{Explored States:} 4/15\\
+\textbf{Transitions:} 14
+
+    
+
+    To find out your current ProB CLI and ProB2 version, you can use
+\texttt{:version}.
+
+    \begin{Verbatim}[commandchars=\\\{\}]
+{\color{incolor}In [{\color{incolor}54}]:} :help :version
+\end{Verbatim}
+
+\texttt{\color{outcolor}Out[{\color{outcolor}54}]:}
+    
+    \begin{verbatim}
+:version
+\end{verbatim}
+
+Display version info about the ProB CLI and ProB 2.
+
+    
+
+    \begin{Verbatim}[commandchars=\\\{\}]
+{\color{incolor}In [{\color{incolor}55}]:} :version
+\end{Verbatim}
+
+
+\begin{Verbatim}[commandchars=\\\{\}]
+{\color{outcolor}Out[{\color{outcolor}55}]:} ProB CLI: 1.9.0-nightly (ab12dcd41e1150b19e8c00897fe53f96f76cbd0d)
+         ProB 2: 3.2.12-SNAPSHOT (06e75efe84ffdadf56df45e34acb44ec8e4603dd)
+\end{Verbatim}
+            
+    \subsection{Visualisations}\label{visualisations}
+
+There are two possible ways of visualising the machine in jupyter
+notebook. One can be accessed via the \texttt{:dot} command. This
+command allows you to visualise a variety of different things, e.g. the
+state as graph. You can use autocomplete by clicking \texttt{TAB} after
+the command, as well.
+
+    \begin{Verbatim}[commandchars=\\\{\}]
+{\color{incolor}In [{\color{incolor}56}]:} :help :dot
+\end{Verbatim}
+
+\texttt{\color{outcolor}Out[{\color{outcolor}56}]:}
+    
+    \begin{verbatim}
+:dot COMMAND [FORMULA]
+\end{verbatim}
+
+Execute and show a dot visualisation.
+
+The following dot visualisation commands are available:
+
+\begin{itemize}
+\tightlist
+\item
+  \texttt{machine\_hierarchy} - Machine Hierarchy: Shows the machine
+  hierarchy of a classical B model
+\item
+  \texttt{event\_hierarchy} - Event Hierarchy: Shows the event hierarchy
+  of an Event-B model (\textbf{Not available for this machine/state}:
+  only available for Event-B models)
+\item
+  \texttt{state\_space} - State Space: Show state space
+\item
+  \texttt{state\_space\_sfdp} - State Space (Fast): Show state space
+  (fast)
+\item
+  \texttt{current\_state} - Current State in State Space: Show current
+  state and successors in state space
+\item
+  \texttt{signature\_merge} - Signature Merge: Show signature-merged
+  reduced state space
+\item
+  \texttt{dfa\_merge} - DFA Merge: Show state space as deterministic
+  automaton (DFA)
+\item
+  \texttt{transition\_diagram} - State Space Expression
+  Projection\ldots{}: Project state space onto expression values and
+  show transition diagram
+\item
+  \texttt{enable\_graph} - Enable Graph: Show enabling graph of events
+\item
+  \texttt{state\_as\_graph} - Current State as Graph: Show values in
+  current state as a graph
+\item
+  \texttt{custom\_graph} - Customized Current State as Graph: Show
+  values in current state as a graph using CUSTOM\_GRAPH\_EDGES
+  (\textbf{Not available for this machine/state}: only available when
+  CUSTOM\_GRAPH\_NODES and CUSTOM\_GRAPH\_EDGES are defined in the
+  DEFINITIONS of a B machine)
+\item
+  \texttt{expr\_as\_graph} - (Relational) Expression as Graph\ldots{}:
+  Show (relational) expression value as a graph
+\item
+  \texttt{formula\_tree} - Custom Predicate/Expression Formula
+  Tree\ldots{}: Show predicate/expressions and sub-formulas as a tree
+\item
+  \texttt{invariant} - Invariant Formula Tree: Show invariant as a
+  formula tree
+\item
+  \texttt{properties} - Properties Formula Tree: Show properties as a
+  formula tree
+\item
+  \texttt{assertions} - Assertions Formula Tree: Show assertions as a
+  formula tree
+\item
+  \texttt{deadlock} - Deadlock Formula Tree: Show deadlocking status as
+  a formula tree
+\item
+  \texttt{goal} - Goal Formula Tree: Show GOAL as a formula tree
+  (\textbf{Not available for this machine/state}: only available for
+  initialised B,Z or Event-B models with a GOAL DEFINITION)
+\item
+  \texttt{dependence\_graph} - Dependence Graph: Show dependence graph
+  of events
+\item
+  \texttt{variable\_modification\_graph} - Variable Read/Write Graph:
+  Show variable modification by operations and reading in guards
+\item
+  \texttt{definitions} - Definitions Graph: Show dependence graph of
+  DEFINITIONS
+\item
+  \texttt{predicate\_dependency} - Predicate Dependency Graph\ldots{}:
+  Show dependence graph of conjuncts of a predicate
+\item
+  \texttt{last\_error} - Last Error Formula Tree: Show last error source
+  as a formula tree (\textbf{Not available for this machine/state}: only
+  available when error occured)
+\end{itemize}
+
+    
+
+    \begin{Verbatim}[commandchars=\\\{\}]
+{\color{incolor}In [{\color{incolor}57}]:} :dot state\PYZus{}as\PYZus{}graph
+\end{Verbatim}
+
+\texttt{\color{outcolor}Out[{\color{outcolor}57}]:}
+    
+    \begin{center}
+    \adjustimage{max size={0.9\linewidth}{0.9\paperheight}}{output_78_0.pdf}
+    \end{center}
+    { \hspace*{\fill} \\}
+    
+
+    Another option is to use the \texttt{ANIMATION\_FUNCTION} with the
+command \texttt{:show}. Note, however, that to use this you have to
+write an \texttt{ANIMATION\_FUNCTION} for your B model.
+
+The following B model contains such an \texttt{ANIMATION\_FUNCTION} for
+the visualisation of Lift4. You can use what you have learned before to
+explore the visualisation.
+
+    \begin{Verbatim}[commandchars=\\\{\}]
+{\color{incolor}In [{\color{incolor}58}]:} ::load
+         MODEL Lift0
+         DEFINITIONS SET\PYZus{}PREF\PYZus{}SHOW\PYZus{}EVENTB\PYZus{}ANY\PYZus{}VALUES==TRUE;
+           ASSERT\PYZus{}LTL == \PYZdq{}G( [push\PYZus{}call\PYZus{}button(groundf)] =\PYZgt{} F \PYZob{}cur\PYZus{}floor=groundf \PYZam{} door\PYZus{}open=TRUE\PYZcb{})\PYZdq{};
+           Rconv == (topf\PYZhy{}r+groundf);
+           ANIMATION\PYZus{}FUNCTION == ( \PYZob{}r,c,i|r:groundf..topf \PYZam{} ((c=2 \PYZam{} i=0) or (c=1 \PYZam{} i=2))\PYZcb{} \PYZlt{}+ 
+                                     (\PYZob{}r,c,i|r:groundf..topf \PYZam{} Rconv:call\PYZus{}buttons \PYZam{} c=2 \PYZam{} i=1\PYZcb{} \PYZbs{}/
+                                      \PYZob{}r,c,i|r:groundf..topf \PYZam{} Rconv=cur\PYZus{}floor \PYZam{} c=1 \PYZam{}
+                                             ((door\PYZus{}open=TRUE \PYZam{} i=3) or (door\PYZus{}open=FALSE \PYZam{} i=4))\PYZcb{}
+                                       ) \PYZbs{}/ \PYZob{}r,c,i| r=topf+1 \PYZam{} c=1 \PYZam{} 
+                                                ((direction\PYZus{}up=TRUE \PYZam{} i=5) or (direction\PYZus{}up=FALSE \PYZam{} i=6)) \PYZcb{} );
+               ANIMATION\PYZus{}IMG0 == \PYZdq{}images/CallButtonOff.gif\PYZdq{};
+               ANIMATION\PYZus{}IMG1 == \PYZdq{}images/CallButtonOn.gif\PYZdq{};
+               ANIMATION\PYZus{}IMG2 == \PYZdq{}images/LiftEmpty.gif\PYZdq{};
+               ANIMATION\PYZus{}IMG3 == \PYZdq{}images/LiftOpen.gif\PYZdq{};
+               ANIMATION\PYZus{}IMG4 == \PYZdq{}images/LiftClosed.gif\PYZdq{};
+               ANIMATION\PYZus{}IMG5 == \PYZdq{}images/up\PYZus{}arrow.gif\PYZdq{};
+               ANIMATION\PYZus{}IMG6 == \PYZdq{}images/down\PYZus{}arrow.gif\PYZdq{};
+               ANIMATION\PYZus{}RIGHT\PYZus{}CLICK(J,r) ==
+                        IF J=2 THEN
+                         push\PYZus{}call\PYZus{}button(topf\PYZhy{}r+groundf)
+                        ELSIF J=1 THEN
+                          CHOICE open\PYZus{}door OR close\PYZus{}door OR move\PYZus{}up OR move\PYZus{}down OR
+                                 reverse\PYZus{}lift\PYZus{}up OR reverse\PYZus{}lift\PYZus{}down
+                          END
+                        END;
+         CONSTANTS groundf,topf
+         PROPERTIES
+           topf : INTEGER \PYZam{} groundf : INTEGER \PYZam{} (groundf = \PYZhy{}1) \PYZam{} (topf = 2) \PYZam{} (groundf \PYZlt{} topf)
+         VARIABLES call\PYZus{}buttons,cur\PYZus{}floor,direction\PYZus{}up,door\PYZus{}open
+         INVARIANT
+                cur\PYZus{}floor : (groundf .. topf) \PYZam{} 
+                door\PYZus{}open : BOOL \PYZam{} 
+                call\PYZus{}buttons : POW(groundf .. topf) \PYZam{}
+                direction\PYZus{}up : BOOL \PYZam{}
+                (door\PYZus{}open = TRUE =\PYZgt{} cur\PYZus{}floor : call\PYZus{}buttons)
+         INITIALISATION cur\PYZus{}floor := (groundf) || door\PYZus{}open := FALSE || call\PYZus{}buttons := (\PYZob{}\PYZcb{}) || direction\PYZus{}up := TRUE
+         OPERATIONS
+          move\PYZus{}up = SELECT door\PYZus{}open = FALSE \PYZam{} cur\PYZus{}floor \PYZlt{} topf \PYZam{} direction\PYZus{}up = TRUE \PYZam{}
+                      \PYZsh{} c.((c : INTEGER) \PYZam{} ((c : INTEGER) \PYZam{} (c \PYZgt{} cur\PYZus{}floor) \PYZam{} (c : call\PYZus{}buttons))) \PYZam{}
+                     (cur\PYZus{}floor /: call\PYZus{}buttons) THEN
+            cur\PYZus{}floor := ((cur\PYZus{}floor)+(1))
+          END ;
+          move\PYZus{}down = SELECT door\PYZus{}open = FALSE \PYZam{} cur\PYZus{}floor \PYZgt{} groundf \PYZam{} (direction\PYZus{}up = FALSE) \PYZam{}
+                \PYZsh{} cu.((cu : INTEGER) \PYZam{} ((cu : INTEGER) \PYZam{} (cu \PYZlt{} cur\PYZus{}floor) \PYZam{} (cu : call\PYZus{}buttons))) \PYZam{}
+               (cur\PYZus{}floor /: call\PYZus{}buttons) THEN
+            cur\PYZus{}floor := ((cur\PYZus{}floor)\PYZhy{}(1))
+          END ;
+          reverse\PYZus{}lift\PYZus{}up = SELECT direction\PYZus{}up = FALSE \PYZam{} door\PYZus{}open = FALSE \PYZam{}
+            \PYZsh{} c.((c : INTEGER) \PYZam{} ((c : INTEGER) \PYZam{} (c \PYZgt{} cur\PYZus{}floor) \PYZam{} (c : call\PYZus{}buttons))) \PYZam{} 
+            ! l.((l : INTEGER) =\PYZgt{} (((l : INTEGER) \PYZam{} (l \PYZlt{}= cur\PYZus{}floor) \PYZam{} (l \PYZgt{}= groundf)) =\PYZgt{} (l /: call\PYZus{}buttons))) THEN
+            direction\PYZus{}up := TRUE
+          END ;
+          reverse\PYZus{}lift\PYZus{}down = SELECT direction\PYZus{}up = TRUE \PYZam{} door\PYZus{}open = FALSE \PYZam{} 
+           \PYZsh{} cd.(cd : INTEGER \PYZam{} ((cd : INTEGER) \PYZam{} (cd \PYZlt{} cur\PYZus{}floor) \PYZam{} (cd : call\PYZus{}buttons))) \PYZam{} 
+           ! u.(u : INTEGER =\PYZgt{} (((u : INTEGER) \PYZam{} (u \PYZgt{}= cur\PYZus{}floor) \PYZam{} (u \PYZlt{}= topf)) =\PYZgt{} (u /: call\PYZus{}buttons))) THEN
+           direction\PYZus{}up := FALSE
+          END ;
+          open\PYZus{}door = SELECT door\PYZus{}open = FALSE \PYZam{} (cur\PYZus{}floor : call\PYZus{}buttons) THEN
+             door\PYZus{}open := TRUE
+          END ;
+          close\PYZus{}door = SELECT door\PYZus{}open = TRUE THEN
+             door\PYZus{}open := FALSE || call\PYZus{}buttons := ((call\PYZus{}buttons)\PYZbs{}(\PYZob{}cur\PYZus{}floor\PYZcb{}))
+          END ;
+          push\PYZus{}call\PYZus{}button(floor) = SELECT (floor : (groundf .. topf)) \PYZam{} (floor /: call\PYZus{}buttons) THEN 
+              call\PYZus{}buttons := ((call\PYZus{}buttons)\PYZbs{}/(\PYZob{}floor\PYZcb{}))
+          END 
+         END
+\end{Verbatim}
+
+
+\begin{Verbatim}[commandchars=\\\{\}]
+{\color{outcolor}Out[{\color{outcolor}58}]:} Loaded machine: Lift0
+\end{Verbatim}
+            
+    \begin{Verbatim}[commandchars=\\\{\}]
+{\color{incolor}In [{\color{incolor}59}]:} :help :show
+\end{Verbatim}
+
+\texttt{\color{outcolor}Out[{\color{outcolor}59}]:}
+    
+    \begin{verbatim}
+:show
+\end{verbatim}
+
+Show the machine's animation function visualisation for the current
+state.
+
+The visualisation is static, any defined right-click options cannot be
+viewed or used.
+
+    
+
+    \begin{Verbatim}[commandchars=\\\{\}]
+{\color{incolor}In [{\color{incolor}60}]:} :constants
+\end{Verbatim}
+
+
+\begin{Verbatim}[commandchars=\\\{\}]
+{\color{outcolor}Out[{\color{outcolor}60}]:} Machine constants set up using operation 0: \$setup\_constants()
+\end{Verbatim}
+            
+    \begin{Verbatim}[commandchars=\\\{\}]
+{\color{incolor}In [{\color{incolor}61}]:} :init
+\end{Verbatim}
+
+
+\begin{Verbatim}[commandchars=\\\{\}]
+{\color{outcolor}Out[{\color{outcolor}61}]:} Machine initialised using operation 1: \$initialise\_machine()
+\end{Verbatim}
+            
+    \begin{Verbatim}[commandchars=\\\{\}]
+{\color{incolor}In [{\color{incolor}62}]:} :show
+\end{Verbatim}
+
+\texttt{\color{outcolor}Out[{\color{outcolor}62}]:}
+    
+    
+
+    
+
+    \begin{Verbatim}[commandchars=\\\{\}]
+{\color{incolor}In [{\color{incolor}63}]:} :browse
+\end{Verbatim}
+
+
+\begin{Verbatim}[commandchars=\\\{\}]
+{\color{outcolor}Out[{\color{outcolor}63}]:} Machine: Lift0
+         Sets: (none)
+         Constants: groundf, topf
+         Variables: call\_buttons, cur\_floor, direction\_up, door\_open
+         Operations: 
+         push\_call\_button(-1)
+         push\_call\_button(0)
+         push\_call\_button(1)
+         push\_call\_button(2)
+\end{Verbatim}
+            
+    \begin{Verbatim}[commandchars=\\\{\}]
+{\color{incolor}In [{\color{incolor}64}]:} :exec push\PYZus{}call\PYZus{}button floor=\PYZhy{}1
+\end{Verbatim}
+
+
+\begin{Verbatim}[commandchars=\\\{\}]
+{\color{outcolor}Out[{\color{outcolor}64}]:} Executed operation: push\_call\_button(-1)
+\end{Verbatim}
+            
+    \begin{Verbatim}[commandchars=\\\{\}]
+{\color{incolor}In [{\color{incolor}65}]:} :show
+\end{Verbatim}
+
+\texttt{\color{outcolor}Out[{\color{outcolor}65}]:}
+    
+    
+
+    
+
+    \begin{Verbatim}[commandchars=\\\{\}]
+{\color{incolor}In [{\color{incolor}66}]:} :exec open\PYZus{}door
+\end{Verbatim}
+
+
+\begin{Verbatim}[commandchars=\\\{\}]
+{\color{outcolor}Out[{\color{outcolor}66}]:} Executed operation: open\_door()
+\end{Verbatim}
+            
+    \begin{Verbatim}[commandchars=\\\{\}]
+{\color{incolor}In [{\color{incolor}67}]:} :show
+\end{Verbatim}
+
+\texttt{\color{outcolor}Out[{\color{outcolor}67}]:}
+    
+    
+
+    
+
+    \begin{Verbatim}[commandchars=\\\{\}]
+{\color{incolor}In [{\color{incolor}68}]:} :exec close\PYZus{}door
+\end{Verbatim}
+
+
+\begin{Verbatim}[commandchars=\\\{\}]
+{\color{outcolor}Out[{\color{outcolor}68}]:} Executed operation: close\_door()
+\end{Verbatim}
+            
+    \begin{Verbatim}[commandchars=\\\{\}]
+{\color{incolor}In [{\color{incolor}69}]:} :show
+\end{Verbatim}
+
+\texttt{\color{outcolor}Out[{\color{outcolor}69}]:}
+    
+    
+
+    
+
+    \begin{Verbatim}[commandchars=\\\{\}]
+{\color{incolor}In [{\color{incolor}70}]:} :browse
+\end{Verbatim}
+
+
+\begin{Verbatim}[commandchars=\\\{\}]
+{\color{outcolor}Out[{\color{outcolor}70}]:} Machine: Lift0
+         Sets: (none)
+         Constants: groundf, topf
+         Variables: call\_buttons, cur\_floor, direction\_up, door\_open
+         Operations: 
+         push\_call\_button(-1)
+         push\_call\_button(0)
+         push\_call\_button(1)
+         push\_call\_button(2)
+\end{Verbatim}
+            
+    \begin{Verbatim}[commandchars=\\\{\}]
+{\color{incolor}In [{\color{incolor}71}]:} :exec push\PYZus{}call\PYZus{}button floor=1
+\end{Verbatim}
+
+
+\begin{Verbatim}[commandchars=\\\{\}]
+{\color{outcolor}Out[{\color{outcolor}71}]:} Executed operation: push\_call\_button(1)
+\end{Verbatim}
+            
+    \begin{Verbatim}[commandchars=\\\{\}]
+{\color{incolor}In [{\color{incolor}72}]:} :show
+\end{Verbatim}
+
+\texttt{\color{outcolor}Out[{\color{outcolor}72}]:}
+    
+    
+
+    
+
+    \begin{Verbatim}[commandchars=\\\{\}]
+{\color{incolor}In [{\color{incolor}73}]:} :exec move\PYZus{}up
+\end{Verbatim}
+
+
+\begin{Verbatim}[commandchars=\\\{\}]
+{\color{outcolor}Out[{\color{outcolor}73}]:} Executed operation: move\_up()
+\end{Verbatim}
+            
+    \begin{Verbatim}[commandchars=\\\{\}]
+{\color{incolor}In [{\color{incolor}74}]:} :show
+\end{Verbatim}
+
+\texttt{\color{outcolor}Out[{\color{outcolor}74}]:}
+    
+    
+
+    
+
+    This concludes the overview over the ProB jupyter notebook kernel.
+
+
+    % Add a bibliography block to the postdoc
+    
+    
+    
+    \end{document}
diff --git a/output_78_0.pdf b/output_78_0.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..a5e13864b677bcb2305fe087f868b9daffb808d2
GIT binary patch
literal 11213
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
a!O6O~B(bOj9Mgsd<_2b5s;aL3Zd?FqBBkB{

literal 0
HcmV?d00001

diff --git a/output_78_0.svg b/output_78_0.svg
new file mode 100644
index 0000000..5c02d17
--- /dev/null
+++ b/output_78_0.svg
@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<!-- Generated by graphviz version 2.40.1 (20161225.0304)
+ -->
+<!-- Title: state Pages: 1 -->
+<svg width="574pt" height="131pt"
+ viewBox="0.00 0.00 573.70 131.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 127)">
+<title>state</title>
+<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-127 569.6967,-127 569.6967,4 -4,4"/>
+<!-- FALSE -->
+<g id="node1" class="node">
+<title>FALSE</title>
+<ellipse fill="#a52a2a" stroke="#a52a2a" cx="37.6967" cy="-105" rx="37.8943" ry="18"/>
+<text text-anchor="middle" x="37.6967" y="-101.3" font-family="Times,serif" font-size="14.00" fill="#000000">FALSE</text>
+</g>
+<!-- ROOT&#45;NODE -->
+<g id="node2" class="node">
+<title>ROOT&#45;NODE</title>
+<polygon fill="#add8e6" stroke="#add8e6" points="292.6967,-36 205.5564,-18 292.6967,0 379.8369,-18 292.6967,-36"/>
+<text text-anchor="middle" x="292.6967" y="-14.3" font-family="Times,serif" font-size="14.00" fill="#000000">ROOT&#45;NODE</text>
+</g>
+<!-- FALSE&#45;&gt;ROOT&#45;NODE -->
+<g id="edge1" class="edge">
+<title>FALSE&#45;&gt;ROOT&#45;NODE</title>
+<path fill="none" stroke="#b22222" d="M45.4313,-87.0482C51.2604,-75.7333 60.3678,-61.829 72.6967,-54 96.4841,-38.8946 164.3902,-29.3258 218.5285,-23.8823"/>
+<polygon fill="#b22222" stroke="#b22222" points="219.1954,-27.334 228.8089,-22.8808 218.5167,-20.367 219.1954,-27.334"/>
+<text text-anchor="middle" x="101.6967" y="-57.8" font-family="Times,serif" font-size="14.00" fill="#000000">door_open</text>
+</g>
+<!-- TRUE -->
+<g id="node3" class="node">
+<title>TRUE</title>
+<ellipse fill="#698b22" stroke="#698b22" cx="126.6967" cy="-105" rx="33.5952" ry="18"/>
+<text text-anchor="middle" x="126.6967" y="-101.3" font-family="Times,serif" font-size="14.00" fill="#000000">TRUE</text>
+</g>
+<!-- TRUE&#45;&gt;ROOT&#45;NODE -->
+<g id="edge2" class="edge">
+<title>TRUE&#45;&gt;ROOT&#45;NODE</title>
+<path fill="none" stroke="#a0522d" d="M128.4128,-86.5614C130.3881,-75.6337 134.6244,-62.3348 143.6967,-54 156.5391,-42.2015 195.2856,-33.048 230.0463,-26.9236"/>
+<polygon fill="#a0522d" stroke="#a0522d" points="230.9228,-30.3249 240.195,-25.1989 229.7499,-23.4239 230.9228,-30.3249"/>
+<text text-anchor="middle" x="178.1967" y="-57.8" font-family="Times,serif" font-size="14.00" fill="#000000">direction_up</text>
+</g>
+<!-- &#45;1 -->
+<g id="node4" class="node">
+<title>&#45;1</title>
+<polygon fill="#cdba96" stroke="#cdba96" points="319.6967,-123 265.6967,-123 265.6967,-87 319.6967,-87 319.6967,-123"/>
+<text text-anchor="middle" x="292.6967" y="-101.3" font-family="Times,serif" font-size="14.00" fill="#000000">&#45;1</text>
+</g>
+<!-- &#45;1&#45;&gt;ROOT&#45;NODE -->
+<g id="edge3" class="edge">
+<title>&#45;1&#45;&gt;ROOT&#45;NODE</title>
+<path fill="none" stroke="#473c8b" d="M265.574,-99.2206C249.2281,-94.1898 229.6958,-85.08 219.6967,-69 209.7592,-53.0192 225.7758,-40.7054 245.3118,-32.1844"/>
+<polygon fill="#473c8b" stroke="#473c8b" points="246.7714,-35.3705 254.7693,-28.4218 244.1838,-28.8664 246.7714,-35.3705"/>
+<text text-anchor="middle" x="245.1967" y="-57.8" font-family="Times,serif" font-size="14.00" fill="#000000">cur_floor</text>
+</g>
+<!-- &#45;1&#45;&gt;ROOT&#45;NODE -->
+<g id="edge5" class="edge">
+<title>&#45;1&#45;&gt;ROOT&#45;NODE</title>
+<path fill="none" stroke="#000000" d="M292.6967,-86.9735C292.6967,-75.1918 292.6967,-59.5607 292.6967,-46.1581"/>
+<polygon fill="#000000" stroke="#000000" points="296.1968,-46.0033 292.6967,-36.0034 289.1968,-46.0034 296.1968,-46.0033"/>
+<text text-anchor="middle" x="326.1967" y="-57.8" font-family="Times,serif" font-size="14.00" fill="#000000">call_buttons</text>
+</g>
+<!-- &#45;1&#45;&gt;ROOT&#45;NODE -->
+<g id="edge7" class="edge">
+<title>&#45;1&#45;&gt;ROOT&#45;NODE</title>
+<path fill="none" stroke="#bdef6b" d="M319.7358,-98.1105C334.6112,-92.7883 351.8084,-83.7625 360.6967,-69 369.8361,-53.8203 355.4433,-41.6607 337.5823,-33.0275"/>
+<polygon fill="#bdef6b" stroke="#bdef6b" points="338.5958,-29.6502 328.0322,-28.837 335.7831,-36.0602 338.5958,-29.6502"/>
+<text text-anchor="middle" x="384.1967" y="-57.8" font-family="Times,serif" font-size="14.00" fill="#000000">groundf</text>
+</g>
+<!-- 1 -->
+<g id="node5" class="node">
+<title>1</title>
+<polygon fill="#cdba96" stroke="#cdba96" points="475.6967,-123 421.6967,-123 421.6967,-87 475.6967,-87 475.6967,-123"/>
+<text text-anchor="middle" x="448.6967" y="-101.3" font-family="Times,serif" font-size="14.00" fill="#000000">1</text>
+</g>
+<!-- 1&#45;&gt;ROOT&#45;NODE -->
+<g id="edge4" class="edge">
+<title>1&#45;&gt;ROOT&#45;NODE</title>
+<path fill="none" stroke="#000000" d="M438.6092,-86.6124C431.7628,-75.7039 421.7712,-62.4073 409.6967,-54 392.4638,-42.0011 371.1042,-33.9017 351.3706,-28.479"/>
+<polygon fill="#000000" stroke="#000000" points="352.0918,-25.0507 341.5356,-25.9538 350.351,-31.8308 352.0918,-25.0507"/>
+<text text-anchor="middle" x="458.1967" y="-57.8" font-family="Times,serif" font-size="14.00" fill="#000000">call_buttons</text>
+</g>
+<!-- 2 -->
+<g id="node6" class="node">
+<title>2</title>
+<polygon fill="#cdba96" stroke="#cdba96" points="565.6967,-123 511.6967,-123 511.6967,-87 565.6967,-87 565.6967,-123"/>
+<text text-anchor="middle" x="538.6967" y="-101.3" font-family="Times,serif" font-size="14.00" fill="#000000">2</text>
+</g>
+<!-- 2&#45;&gt;ROOT&#45;NODE -->
+<g id="edge6" class="edge">
+<title>2&#45;&gt;ROOT&#45;NODE</title>
+<path fill="none" stroke="#efdf84" d="M528.0369,-86.8227C520.4593,-75.5637 509.2422,-61.808 495.6967,-54 473.2129,-41.0397 411.0663,-31.2111 361.4046,-25.1247"/>
+<polygon fill="#efdf84" stroke="#efdf84" points="361.6802,-21.6328 351.3353,-23.9202 360.8488,-28.5832 361.6802,-21.6328"/>
+<text text-anchor="middle" x="524.6967" y="-57.8" font-family="Times,serif" font-size="14.00" fill="#000000">topf</text>
+</g>
+</g>
+</svg>
\ No newline at end of file
diff --git a/output_79_0.pdf b/output_79_0.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..39e31061bab60c77b0fe2abdd3f5cdb06f981d1d
GIT binary patch
literal 11323
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

literal 0
HcmV?d00001

diff --git a/output_79_0.svg b/output_79_0.svg
new file mode 100644
index 0000000..9a85502
--- /dev/null
+++ b/output_79_0.svg
@@ -0,0 +1,99 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<!-- Generated by graphviz version 2.40.1 (20161225.0304)
+ -->
+<!-- Title: state Pages: 1 -->
+<svg width="536pt" height="131pt"
+ viewBox="0.00 0.00 536.49 131.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 127)">
+<title>state</title>
+<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-127 532.4937,-127 532.4937,4 -4,4"/>
+<!-- TRUE -->
+<g id="node1" class="node">
+<title>TRUE</title>
+<ellipse fill="#698b22" stroke="#698b22" cx="33.797" cy="-105" rx="33.5952" ry="18"/>
+<text text-anchor="middle" x="33.797" y="-101.3" font-family="Times,serif" font-size="14.00" fill="#000000">TRUE</text>
+</g>
+<!-- ROOT&#45;NODE -->
+<g id="node2" class="node">
+<title>ROOT&#45;NODE</title>
+<polygon fill="#add8e6" stroke="#add8e6" points="260.797,-36 173.6568,-18 260.797,0 347.9373,-18 260.797,-36"/>
+<text text-anchor="middle" x="260.797" y="-14.3" font-family="Times,serif" font-size="14.00" fill="#000000">ROOT&#45;NODE</text>
+</g>
+<!-- TRUE&#45;&gt;ROOT&#45;NODE -->
+<g id="edge1" class="edge">
+<title>TRUE&#45;&gt;ROOT&#45;NODE</title>
+<path fill="none" stroke="#b22222" d="M35.2345,-86.8422C37.0949,-75.738 41.3079,-62.1465 50.797,-54 70.531,-37.0582 131.9518,-27.8663 183.3061,-23.0221"/>
+<polygon fill="#b22222" stroke="#b22222" points="183.7819,-26.4935 193.4275,-22.1103 183.1537,-19.5218 183.7819,-26.4935"/>
+<text text-anchor="middle" x="85.297" y="-57.8" font-family="Times,serif" font-size="14.00" fill="#000000">direction_up</text>
+</g>
+<!-- ROOT&#45;NODE&#45;&gt;ROOT&#45;NODE -->
+<g id="edge5" class="edge">
+<title>ROOT&#45;NODE&#45;&gt;ROOT&#45;NODE</title>
+<path fill="none" stroke="#000000" d="M311.7306,-25.4982C340.0441,-26.8978 366.1169,-24.3984 366.1169,-18 366.1169,-12.3764 345.9763,-9.7647 321.8755,-10.1649"/>
+<polygon fill="#000000" stroke="#000000" points="321.6089,-6.6717 311.7306,-10.5018 321.8413,-13.6679 321.6089,-6.6717"/>
+<text text-anchor="middle" x="405.6169" y="-14.3" font-family="Times,serif" font-size="14.00" fill="#000000">inside_buttons</text>
+</g>
+<!-- 1 -->
+<g id="node3" class="node">
+<title>1</title>
+<polygon fill="#cdba96" stroke="#cdba96" points="197.797,-123 143.797,-123 143.797,-87 197.797,-87 197.797,-123"/>
+<text text-anchor="middle" x="170.797" y="-101.3" font-family="Times,serif" font-size="14.00" fill="#000000">1</text>
+</g>
+<!-- 1&#45;&gt;ROOT&#45;NODE -->
+<g id="edge2" class="edge">
+<title>1&#45;&gt;ROOT&#45;NODE</title>
+<path fill="none" stroke="#a0522d" d="M143.5311,-89.5409C129.5789,-79.6256 117.333,-66.3421 126.797,-54 135.9895,-42.0119 168.3405,-33.1292 198.9506,-27.1866"/>
+<polygon fill="#a0522d" stroke="#a0522d" points="199.6023,-30.6255 208.7962,-25.3603 198.3255,-23.7429 199.6023,-30.6255"/>
+<text text-anchor="middle" x="160.297" y="-57.8" font-family="Times,serif" font-size="14.00" fill="#000000">call_buttons</text>
+</g>
+<!-- 1&#45;&gt;ROOT&#45;NODE -->
+<g id="edge7" class="edge">
+<title>1&#45;&gt;ROOT&#45;NODE</title>
+<path fill="none" stroke="#bdef6b" d="M189.4451,-86.9735C203.4754,-73.4109 222.7826,-54.7473 237.7754,-40.2542"/>
+<polygon fill="#bdef6b" stroke="#bdef6b" points="240.4143,-42.5713 245.1716,-33.1046 235.5491,-37.5383 240.4143,-42.5713"/>
+<text text-anchor="middle" x="232.797" y="-57.8" font-family="Times,serif" font-size="14.00" fill="#000000">topf</text>
+</g>
+<!-- &#45;1 -->
+<g id="node4" class="node">
+<title>&#45;1</title>
+<polygon fill="#cdba96" stroke="#cdba96" points="377.797,-123 323.797,-123 323.797,-87 377.797,-87 377.797,-123"/>
+<text text-anchor="middle" x="350.797" y="-101.3" font-family="Times,serif" font-size="14.00" fill="#000000">&#45;1</text>
+</g>
+<!-- &#45;1&#45;&gt;ROOT&#45;NODE -->
+<g id="edge3" class="edge">
+<title>&#45;1&#45;&gt;ROOT&#45;NODE</title>
+<path fill="none" stroke="#a0522d" d="M323.6897,-101.9537C302.9755,-98.0547 275.6924,-89.18 261.797,-69 257.1356,-62.2303 255.7227,-53.6658 255.8156,-45.4976"/>
+<polygon fill="#a0522d" stroke="#a0522d" points="259.3045,-45.774 256.6073,-35.5283 252.3265,-45.2198 259.3045,-45.774"/>
+<text text-anchor="middle" x="295.297" y="-57.8" font-family="Times,serif" font-size="14.00" fill="#000000">call_buttons</text>
+</g>
+<!-- &#45;1&#45;&gt;ROOT&#45;NODE -->
+<g id="edge6" class="edge">
+<title>&#45;1&#45;&gt;ROOT&#45;NODE</title>
+<path fill="none" stroke="#efdf84" d="M346.2352,-86.7909C342.8415,-76.2176 337.3012,-63.2099 328.797,-54 321.3804,-45.9678 311.7557,-39.3919 302.0929,-34.1621"/>
+<polygon fill="#efdf84" stroke="#efdf84" points="303.397,-30.901 292.8877,-29.5568 300.2649,-37.1612 303.397,-30.901"/>
+<text text-anchor="middle" x="364.297" y="-57.8" font-family="Times,serif" font-size="14.00" fill="#000000">cur_floor</text>
+</g>
+<!-- &#45;1&#45;&gt;ROOT&#45;NODE -->
+<g id="edge8" class="edge">
+<title>&#45;1&#45;&gt;ROOT&#45;NODE</title>
+<path fill="none" stroke="#5863ee" d="M377.829,-89.2398C391.3652,-79.32 403.0879,-66.1401 393.797,-54 384.7192,-42.1383 352.8479,-33.2825 322.5817,-27.3226"/>
+<polygon fill="#5863ee" stroke="#5863ee" points="322.8887,-23.8191 312.4143,-25.4123 321.596,-30.6987 322.8887,-23.8191"/>
+<text text-anchor="middle" x="418.297" y="-57.8" font-family="Times,serif" font-size="14.00" fill="#000000">groundf</text>
+</g>
+<!-- FALSE -->
+<g id="node5" class="node">
+<title>FALSE</title>
+<ellipse fill="#a52a2a" stroke="#a52a2a" cx="490.797" cy="-105" rx="37.8943" ry="18"/>
+<text text-anchor="middle" x="490.797" y="-101.3" font-family="Times,serif" font-size="14.00" fill="#000000">FALSE</text>
+</g>
+<!-- FALSE&#45;&gt;ROOT&#45;NODE -->
+<g id="edge4" class="edge">
+<title>FALSE&#45;&gt;ROOT&#45;NODE</title>
+<path fill="none" stroke="#473c8b" d="M479.2874,-87.6545C470.8217,-76.3008 458.2969,-62.1147 443.797,-54 423.6778,-42.7404 369.3139,-32.8677 325.0301,-26.3232"/>
+<polygon fill="#473c8b" stroke="#473c8b" points="325.2844,-22.8236 314.8862,-24.8553 324.2818,-29.7514 325.2844,-22.8236"/>
+<text text-anchor="middle" x="491.797" y="-57.8" font-family="Times,serif" font-size="14.00" fill="#000000">door_open</text>
+</g>
+</g>
+</svg>
\ No newline at end of file
-- 
GitLab