diff --git a/.DS_Store b/.DS_Store
index eb933bd1cee7ec0edb0283b1ebf9beb2da7c01a4..fa24b8626b8154b89fc17ff9c42686058a75b6aa 100644
Binary files a/.DS_Store and b/.DS_Store differ
diff --git a/README.md b/README.md
index f10a790ba2c021c8a990c94f5835fc3fc60cec6f..86c26a5ae9afd514114d8137a7a273131e89600c 100644
--- a/README.md
+++ b/README.md
@@ -1,92 +1,32 @@
 # Deep Learning
 
-
-
-## Getting started
-
-To make it easy for you to get started with GitLab, here's a list of recommended next steps.
-
-Already a pro? Just edit this README.md and make it your own. Want to make it easy? [Use the template at the bottom](#editing-this-readme)!
-
-## Add your files
-
-- [ ] [Create](https://docs.gitlab.com/ee/user/project/repository/web_editor.html#create-a-file) or [upload](https://docs.gitlab.com/ee/user/project/repository/web_editor.html#upload-a-file) files
-- [ ] [Add files using the command line](https://docs.gitlab.com/ee/gitlab-basics/add-file.html#add-a-file-using-the-command-line) or push an existing Git repository with the following command:
-
-```
-cd existing_repo
-git remote add origin https://gitlab.cs.fau.de/ax06udyx/deep-learning.git
-git branch -M main
-git push -uf origin main
-```
-
-## Integrate with your tools
-
-- [ ] [Set up project integrations](https://gitlab.cs.fau.de/ax06udyx/deep-learning/-/settings/integrations)
-
-## Collaborate with your team
-
-- [ ] [Invite team members and collaborators](https://docs.gitlab.com/ee/user/project/members/)
-- [ ] [Create a new merge request](https://docs.gitlab.com/ee/user/project/merge_requests/creating_merge_requests.html)
-- [ ] [Automatically close issues from merge requests](https://docs.gitlab.com/ee/user/project/issues/managing_issues.html#closing-issues-automatically)
-- [ ] [Enable merge request approvals](https://docs.gitlab.com/ee/user/project/merge_requests/approvals/)
-- [ ] [Set auto-merge](https://docs.gitlab.com/ee/user/project/merge_requests/merge_when_pipeline_succeeds.html)
-
-## Test and Deploy
-
-Use the built-in continuous integration in GitLab.
-
-- [ ] [Get started with GitLab CI/CD](https://docs.gitlab.com/ee/ci/quick_start/index.html)
-- [ ] [Analyze your code for known vulnerabilities with Static Application Security Testing(SAST)](https://docs.gitlab.com/ee/user/application_security/sast/)
-- [ ] [Deploy to Kubernetes, Amazon EC2, or Amazon ECS using Auto Deploy](https://docs.gitlab.com/ee/topics/autodevops/requirements.html)
-- [ ] [Use pull-based deployments for improved Kubernetes management](https://docs.gitlab.com/ee/user/clusters/agent/)
-- [ ] [Set up protected environments](https://docs.gitlab.com/ee/ci/environments/protected_environments.html)
-
-***
-
-# Editing this README
-
-When you're ready to make this README your own, just edit this file and use the handy template below (or feel free to structure it however you want - this is just a starting point!). Thank you to [makeareadme.com](https://www.makeareadme.com/) for this template.
-
-## Suggestions for a good README
-Every project is different, so consider which of these sections apply to yours. The sections used in the template are suggestions for most open source projects. Also keep in mind that while a README can be too long and detailed, too long is better than too short. If you think your README is too long, consider utilizing another form of documentation rather than cutting out information.
-
-## Name
-Choose a self-explaining name for your project.
-
-## Description
-Let people know what your project can do specifically. Provide context and add a link to any reference visitors might be unfamiliar with. A list of Features or a Background subsection can also be added here. If there are alternatives to your project, this is a good place to list differentiating factors.
-
-## Badges
-On some READMEs, you may see small images that convey metadata, such as whether or not all the tests are passing for the project. You can use Shields to add some to your README. Many services also have instructions for adding a badge.
-
-## Visuals
-Depending on what you are making, it can be a good idea to include screenshots or even a video (you'll frequently see GIFs rather than actual videos). Tools like ttygif can help, but check out Asciinema for a more sophisticated method.
-
-## Installation
-Within a particular ecosystem, there may be a common way of installing things, such as using Yarn, NuGet, or Homebrew. However, consider the possibility that whoever is reading your README is a novice and would like more guidance. Listing specific steps helps remove ambiguity and gets people to using your project as quickly as possible. If it only runs in a specific context like a particular programming language version or operating system or has dependencies that have to be installed manually, also add a Requirements subsection.
-
-## Usage
-Use examples liberally, and show the expected output if you can. It's helpful to have inline the smallest example of usage that you can demonstrate, while providing links to more sophisticated examples if they are too long to reasonably include in the README.
-
-## Support
-Tell people where they can go to for help. It can be any combination of an issue tracker, a chat room, an email address, etc.
-
-## Roadmap
-If you have ideas for releases in the future, it is a good idea to list them in the README.
-
-## Contributing
-State if you are open to contributions and what your requirements are for accepting them.
-
-For people who want to make changes to your project, it's helpful to have some documentation on how to get started. Perhaps there is a script that they should run or some environment variables that they need to set. Make these steps explicit. These instructions could also be useful to your future self.
-
-You can also document commands to lint the code or run tests. These steps help to ensure high code quality and reduce the likelihood that the changes inadvertently break something. Having instructions for running tests is especially helpful if it requires external setup, such as starting a Selenium server for testing in a browser.
-
-## Authors and acknowledgment
-Show your appreciation to those who have contributed to the project.
-
-## License
-For open source projects, say how it is licensed.
-
-## Project status
-If you have run out of energy or time for your project, put a note at the top of the README saying that development has slowed down or stopped completely. Someone may choose to fork your project or volunteer to step in as a maintainer or owner, allowing your project to keep going. You can also make an explicit request for maintainers.
+This is a Deep Learning framework written using Numpy in python.
+
+- All source codes are contained in the "src_to_implement" directory in the respective exercise directories
+- Optimizers and Loss functions are within the directory "optimization"
+- All the layers of the neural network (FC layer, Convolution, pooling, activation, Softmax etc) are in the directory "layers"
+
+### Ex 1
+Implementation of  - 
+- Fully Connected Neural Network
+- ReLu
+- Softmax
+- Sgd Optimizer
+- Cross entropy Loss function
+
+### Ex 2
+Added -
+- Convolution Layer
+- Pooling Layer
+- Flatten Layer
+- Sgd with Momentum
+- Adam
+
+### Ex 3
+Added - 
+- Batch Normalization
+- Dropout
+- Sigmoid
+- TanH
+- RNN
+- L1 and L2 Regularizers
diff --git a/exercise4_material/.DS_Store b/exercise4_material/.DS_Store
deleted file mode 100644
index cf344f6cedc98774de16a193f684b057eedee969..0000000000000000000000000000000000000000
Binary files a/exercise4_material/.DS_Store and /dev/null differ
diff --git a/exercise4_material/4_PytorchChallenge.pdf b/exercise4_material/4_PytorchChallenge.pdf
deleted file mode 100644
index c152c706985772bb0561b2b5d33b743f99dc26f0..0000000000000000000000000000000000000000
Binary files a/exercise4_material/4_PytorchChallenge.pdf and /dev/null differ
diff --git a/exercise4_material/Description.pdf b/exercise4_material/Description.pdf
deleted file mode 100644
index 36fa6514c7fa02c52b958f916aa1793847d9a681..0000000000000000000000000000000000000000
Binary files a/exercise4_material/Description.pdf and /dev/null differ
diff --git a/exercise4_material/dispatch.py b/exercise4_material/dispatch.py
deleted file mode 100644
index 37fa6e15c91519e4c802628e45d85b5055ac6c38..0000000000000000000000000000000000000000
--- a/exercise4_material/dispatch.py
+++ /dev/null
@@ -1,145 +0,0 @@
-from argparse import ArgumentParser
-import os
-import re
-from zipfile import ZipFile
-
-exercise_files = {0: ["generator.py", "main.py", "pattern.py"],
-                  1: ["FullyConnected.py", "ReLU.py", "SoftMax.py",
-                      "Loss.py", "Optimizers.py", "NeuralNetwork.py", "Base.py"],
-                  2: ["FullyConnected.py", "ReLU.py", "SoftMax.py",
-                      "Loss.py", "Optimizers.py", "NeuralNetwork.py", "Conv.py", "Flatten.py", "Initializers.py",
-                      "Pooling.py", "Base.py"],
-                  3: ["FullyConnected.py", "ReLU.py", "Sigmoid.py", "SoftMax.py", "Constraints.py",
-                      "Loss.py", "Optimizers.py", "NeuralNetwork.py", "Conv.py", "Flatten.py", "Initializers.py",
-                      "Pooling.py", "Base.py", "BatchNormalization.py", "Dropout.py", "RNN.py", "TanH.py"],
-                  4: ["data.py", "train.py", "trainer.py", "model.py"]}
-
-
-def coherency_check(actual_files, desired_files, print_out = True):
-    missing_files = []
-    ambigous_files = []
-    for des_file in desired_files:
-        found = 0
-        for act_file in actual_files:
-            if des_file.lower() == os.path.split(act_file)[1].lower():
-                found += 1
-        if found == 0:
-            missing_files.append(des_file)
-        elif found > 1:
-            ambigous_files.append(des_file)
-    if len(missing_files) and print_out :
-        print("The following files could not be found: ")
-        for i, f in enumerate(missing_files):
-            print("%d: %20s" %(i, f))
-    if len(ambigous_files) and print_out :
-        print("Ambiguities in the file namings were found: ")
-        for i, f in enumerate(ambigous_files):
-            print("%d: %20s" %(i, f))
-    if len(ambigous_files) or len(missing_files):
-        return False
-    else:
-        return True
-
-
-def dispatch(actual_files, desired_files, output_file):
-    files_to_dispatch = []
-    for des_file in desired_files:
-        for act_file in actual_files:
-            if des_file.lower() in act_file.lower():
-                files_to_dispatch.append(act_file)
-                break
-    # assert len(files_to_dispatch) == len(desired_files)
-
-    if not output_file.endswith(".zip"):
-        output_file += ".zip"
-
-    with ZipFile(output_file,'w') as zip:
-        # writing each file one by one
-        for file in files_to_dispatch:
-            zip.write(file, arcname=os.path.split(file)[1])
-
-
-def get_files(path):
-    all_files = []
-    for root, dirs, files in os.walk(path):
-        for file in files:
-            all_files.append(os.path.join(root, file))
-    return all_files
-
-
-def get_exercise_number(files):
-    unit_test_files = list(filter(lambda x: "numpytests" in x.lower() or "neuralnetworktests" in x.lower() or "pytorchchallengetests" in x.lower(), files))
-    ids = []
-    for file in unit_test_files:
-        with open(file, "r") as f:
-            lines = f.readlines()
-            for l in lines:
-                if "ID" in l:
-                    ids.append(int(re.search("\d", l).group(0)))
-    if len(ids) == 1:
-        return ids[0]
-    elif len(ids) > 1:
-        print("Ambiguities with the exercises. The dispatch looks for the unittest in order to identify exercise at hand. \n"
-                        "Please put your stuff in its own folder, together with the corresponding unittest. \n"
-                        "Found unittests of the exercises: \n Exercise {}".format('\n Exercise '.join(map(str, ids))))
-        exit(1)
-    else:
-        print("Unittest file could not be found. It might got renamed to something else.")
-        exit(1)
-
-if __name__ == "__main__":
-    description = "The dispatch tool is a helper script, that conveniently checks all your files for completeness and" \
-                  " zips everything together so you can submit just one file. It helps us to have a coherent " \
-                  "submissions across all students and also prevents you from forgetting any file to submit." \
-                  " If the dispatcher is executed without arguments, it will look for  unittests in the current " \
-                  "working directory and will dispatch the corresponding files accordingly into a default zip file " \
-                  "submission.zip. We recommend to use the dispatcher explicitly with the -i argument for the" \
-                  " folder that needs to be dispatched and -o arguments for the output zip folder"
-
-    parser = ArgumentParser(description=description)
-    parser.add_argument("-i", "--input", required=False,
-                        help = "src folder which contains all python files")
-    parser.add_argument("-o", "--output", required=False,
-                        help="file name of output zip folder")
-    args = parser.parse_args()
-
-    if args.input is None and args.output is None:
-        print("No arguments were given. Check python dispatch.py --help for further information.\n\n"
-              "However shall the content of \n {} \n "
-              "be dispatched into \n {} [yes/no]?".format(os.getcwd(), os.path.join(os.getcwd(), "submission.zip")))
-        resp = input("")
-        if resp.lower() in ["y", "yes"]:
-            args.input = os.getcwd()
-            args.output = "submission.zip"
-        elif resp.lower() in ["n", "no"]:
-            exit(0)
-        else:
-            print("Did not understand your answer. I will exit now!")
-            exit(1)
-
-    if not os.path.isdir(args.input):
-        raise NotADirectoryError("Path either does not exist or is not a directory")
-
-    files = get_files(args.input)
-    files = list(filter(lambda x: not x.endswith(".pyc"), files))
-    ex_nr = get_exercise_number(files)
-    print("Exercise {} is about to be dispatched".format(ex_nr))
-    if not coherency_check(files, exercise_files[ex_nr]):
-        print("It seems the files listed above are missing. Please check your files if you still want to submit them")
-        response = input("Do you want to continue with the dispatch? [y/n]: ")
-        if response.lower() == "y":
-            dispatch(files, exercise_files[ex_nr], args.output)
-            print("Your submission is ready to be submitted. Notice, the files listed above we're not dispatched.")
-            print("Please upload {} now to studon".format(args.output))
-        elif response.lower() == "n":
-            print("Dispatching has been stopped")
-        else:
-            print("Decision unclear:{}. Dispatching has been stopped".format(response))
-    else:
-        dispatch(files, exercise_files[ex_nr], args.output)
-        print("Your submission contains all it needs and is ready to be submitted")
-        print("Please upload {} now to studon".format(args.output))
-
-
-
-
diff --git a/exercise4_material/src_to_implement/PytorchChallengeTests.py b/exercise4_material/src_to_implement/PytorchChallengeTests.py
deleted file mode 100644
index 392d117c1e8ea29c72307f92368707c395fa9c68..0000000000000000000000000000000000000000
--- a/exercise4_material/src_to_implement/PytorchChallengeTests.py
+++ /dev/null
@@ -1,146 +0,0 @@
-import unittest
-import torch as t
-import pandas as pd
-import numpy as np
-import os
-import tabulate
-import argparse
-import re
-import stat
-
-ID = 4  # identifier for dispatcher
-
-
-class TestAccess(unittest.TestCase):
-    def test_access(self):
-        try:
-            pattern = '/tmp/pycharm_project_[0-9]{1,3}/'
-            cwd = os.getcwd()
-
-            # check whether cwd is a PyCharm remote interpreter directory
-            match = re.search(pattern, cwd)
-            if match:
-                path = match.group()
-
-                # check whether group or others have any rights
-                if bool(os.stat(path).st_mode & (stat.S_IRWXO | stat.S_IRWXG)):
-
-                    # set the permissions using the users current permissions, but removing group's and other's permissions
-                    os.chmod(path, os.stat(path).st_mode & stat.S_IRWXU)
-
-                    # fail with a message
-                    self.fail('I fixed the permissions of your PyCharm remote interpreter directory for you.')
-        except:  # intentionally broad exception clause. If anything goes wrong, this test should just be ignored.
-            pass
-
-
-class TestDataset(unittest.TestCase):
-
-    def setUp(self):
-        # locate the csv file in file system and read it
-        csv_path = ''
-        for root, _, files in os.walk('.'):
-            for name in files:
-                if name == 'data.csv':
-                    csv_path = os.path.join(root, name)
-        self.assertNotEqual(csv_path, '', 'Could not locate the data.csv file')
-        self.tab = pd.read_csv(csv_path, sep=';')
-
-    def test_shape(self):
-        from data import ChallengeDataset
-
-        val_dl = t.utils.data.DataLoader(ChallengeDataset(self.tab, 'val'), batch_size=1)
-        for x, y in val_dl:
-            x = x[0].cpu().numpy()
-            self.assertEqual(x.shape[0], 3, 'Make sure that your images are converted to RGB. On the "__getitem__" function use the respective skimage function (for further information check the Description.pdf file)')
-            self.assertEqual(x.shape[1], 300, 'Your samples are not correctly shaped')
-            self.assertEqual(x.shape[2], 300, 'Your samples are not correctly shaped')
-
-            y = y[0].cpu().numpy()
-            self.assertEqual(y.size, 2)
-
-            break
-
-    def test_normalization(self):
-        from data import ChallengeDataset
-
-        val_dl = t.utils.data.DataLoader(ChallengeDataset(self.tab, 'val'), batch_size=1)
-        a = 0.0
-        s = np.zeros(3)
-        s2 = np.zeros(3)
-        for x, _ in val_dl:
-            x = x[0].cpu().numpy()
-            a += np.prod(x.shape[1:])
-            s += np.sum(x, axis=(1, 2))
-            s2 += np.sum(x ** 2, axis=(1, 2))
-
-        for i in range(3):
-            self.assertTrue(-a * 0.09 < s[i] < a * 0.09, 'Your normalization seems wrong. \n Possible reasons: \n - Using wrong mean and std vectors \n - Wrong composition/order of transformation list \n For further information check the Description.pdf file')
-            self.assertTrue(a * 0.91 < s2[i] < a * 1.09, 'Your normalization seems wrong. \n Possible reasons: \n - Using wrong mean and std vectors \n - Wrong composition/order of transformation list \n For further information check the Description.pdf file')
-
-
-class TestModel(unittest.TestCase):
-    def setUp(self):
-        from trainer import Trainer
-        from model import ResNet
-
-        self.model = ResNet()
-        crit = t.nn.BCELoss()
-        trainer = Trainer(self.model, crit, cuda=False)
-        trainer.save_onnx('checkpoint_test.onnx')
-
-    def test_prediction(self):
-        pred = self.model(t.rand((50, 3, 300, 300)))
-        pred = pred.cpu().detach().numpy()
-
-        self.assertEqual(pred.shape[0], 50)
-        self.assertEqual(pred.shape[1], 2)
-        self.assertFalse(np.isnan(pred).any(), 'Your prediction contains NaN values \n Possible reasons: \n - Wrong Loss function \n - Poorly choosen learning rate \n - Faulty input')
-        self.assertFalse(np.isinf(pred).any(), 'Your prediction contains inf values \n Possible reasons: \n - Wrong Loss function \n - Poorly choosen learning rate \n - Faulty input')
-        self.assertTrue(np.all([0 <= pred, pred <= 1]), 'Make sure your predictions are sigmoided i.e the last layer of your ResNet model should be the sigmoid activation function')
-
-    def test_prediction_after_save_and_load(self):
-        import onnxruntime
-
-        ort_session = onnxruntime.InferenceSession('checkpoint_test.onnx')
-        ort_inputs = {ort_session.get_inputs()[0].name: t.rand((50, 3, 300, 300)).numpy()}
-        pred = ort_session.run(None, ort_inputs)[0]
-
-        self.assertEqual(pred.shape[0], 50)
-        self.assertEqual(pred.shape[1], 2)
-        self.assertFalse(np.isnan(pred).any(), 'Your prediction contains NaN values \n Possible reasons: \n - Wrong Loss function \n - Poorly choosen learning rate \n - Faulty input')
-        self.assertFalse(np.isinf(pred).any(), 'Your prediction contains inf values \n Possible reasons: \n - Wrong Loss function \n - Poorly choosen learning rate \n - Faulty input')
-        self.assertTrue(np.all([0 <= pred, pred <= 1]), 'Make sure your predictions are sigmoided i.e the last layer of your ResNet model should be sigmoid activation function')
-
-
-if __name__ == '__main__':
-
-    import sys
-    if sys.argv[-1] == "Bonus":
-        loader = unittest.TestLoader()
-        bonus_points = {}
-        tests = [TestDataset, TestModel]
-        percentages = [50, 50]
-        total_points = 0
-        for test, p in zip(tests, percentages):
-            if unittest.TextTestRunner().run(loader.loadTestsFromTestCase(test)).wasSuccessful():
-                bonus_points.update({test.__name__: ["OK", p]})
-                total_points += p
-            else:
-                bonus_points.update({test.__name__: ["FAIL", p]})
-
-        import time
-        time.sleep(1)
-        print("=========================== Statistics ===============================")
-        exam_percentage = 1.5
-        table = []
-        for i, (k, (outcome, p)) in enumerate(bonus_points.items()):
-            table.append([i, k, outcome, "0 / {} (%)".format(p) if outcome == "FAIL" else "{} / {} (%)".format(p, p),
-                          "{:.3f} / 10 (%)".format(p / 100 * exam_percentage)])
-        table.append([])
-        table.append(["Ex4", "Total Achieved", "", "{} / 100 (%)".format(total_points),
-                      "{:.3f} / 10 (%)".format(total_points * exam_percentage / 100)])
-
-        print(tabulate.tabulate(table, headers=['Pos', 'Test', "Result", 'Percent', 'Percent in Exam'], tablefmt="github"))
-    else:
-        unittest.main()
\ No newline at end of file
diff --git a/exercise4_material/src_to_implement/data.csv b/exercise4_material/src_to_implement/data.csv
deleted file mode 100644
index de671d61411a135439745f17780125582fe3050a..0000000000000000000000000000000000000000
--- a/exercise4_material/src_to_implement/data.csv
+++ /dev/null
@@ -1,2001 +0,0 @@
-filename;crack;inactive
-images/cell2044.png;1;0
-images/cell0123.png;0;0
-images/cell2241.png;0;0
-images/cell2426.png;0;0
-images/cell1552.png;0;0
-images/cell0813.png;0;0
-images/cell1251.png;0;0
-images/cell1221.png;0;0
-images/cell1456.png;1;0
-images/cell1927.png;0;0
-images/cell1283.png;0;0
-images/cell1575.png;0;0
-images/cell1263.png;0;0
-images/cell0614.png;1;0
-images/cell0718.png;0;0
-images/cell1809.png;0;0
-images/cell1275.png;0;0
-images/cell1161.png;1;0
-images/cell1725.png;0;0
-images/cell0249.png;1;1
-images/cell2484.png;0;0
-images/cell0332.png;0;0
-images/cell0802.png;0;0
-images/cell1150.png;0;0
-images/cell2310.png;0;0
-images/cell2427.png;1;0
-images/cell2230.png;0;0
-images/cell1362.png;0;0
-images/cell2516.png;1;0
-images/cell2538.png;1;0
-images/cell0838.png;0;0
-images/cell1471.png;0;0
-images/cell0097.png;0;0
-images/cell2257.png;0;0
-images/cell1039.png;0;0
-images/cell2308.png;0;0
-images/cell1893.png;0;0
-images/cell1549.png;0;0
-images/cell1417.png;0;0
-images/cell1357.png;0;0
-images/cell0037.png;1;0
-images/cell0036.png;1;0
-images/cell1611.png;0;0
-images/cell0484.png;1;1
-images/cell1755.png;0;0
-images/cell2003.png;0;0
-images/cell0888.png;1;0
-images/cell0179.png;0;0
-images/cell2043.png;0;0
-images/cell1651.png;1;1
-images/cell2334.png;0;0
-images/cell0775.png;0;0
-images/cell1795.png;0;0
-images/cell0228.png;1;0
-images/cell1399.png;1;0
-images/cell1912.png;0;0
-images/cell1790.png;0;0
-images/cell1618.png;1;1
-images/cell1898.png;0;0
-images/cell0742.png;1;0
-images/cell2213.png;0;0
-images/cell0137.png;0;0
-images/cell1777.png;0;0
-images/cell2397.png;0;0
-images/cell1636.png;0;0
-images/cell2335.png;0;0
-images/cell0481.png;1;1
-images/cell0869.png;1;0
-images/cell0745.png;0;0
-images/cell0062.png;0;0
-images/cell0356.png;0;0
-images/cell2178.png;0;0
-images/cell0926.png;0;0
-images/cell1581.png;0;0
-images/cell2193.png;0;0
-images/cell1753.png;0;0
-images/cell2179.png;0;0
-images/cell2197.png;0;0
-images/cell1033.png;0;0
-images/cell0561.png;0;0
-images/cell1899.png;0;0
-images/cell1350.png;0;0
-images/cell1800.png;0;0
-images/cell1485.png;0;0
-images/cell2337.png;0;0
-images/cell0820.png;0;0
-images/cell1479.png;0;0
-images/cell1883.png;0;0
-images/cell1758.png;0;0
-images/cell2415.png;0;0
-images/cell1492.png;0;0
-images/cell0854.png;1;0
-images/cell2102.png;0;0
-images/cell1100.png;0;0
-images/cell1913.png;0;0
-images/cell2475.png;0;0
-images/cell1466.png;0;0
-images/cell0015.png;1;0
-images/cell2031.png;0;0
-images/cell1938.png;0;0
-images/cell1130.png;0;0
-images/cell2170.png;0;0
-images/cell1468.png;0;0
-images/cell1174.png;0;0
-images/cell0878.png;1;0
-images/cell1983.png;0;0
-images/cell2302.png;0;0
-images/cell1762.png;0;0
-images/cell1812.png;0;0
-images/cell1951.png;0;0
-images/cell2268.png;0;0
-images/cell2498.png;0;0
-images/cell1559.png;0;0
-images/cell0839.png;0;0
-images/cell2532.png;0;0
-images/cell0804.png;0;0
-images/cell1158.png;0;0
-images/cell0274.png;1;0
-images/cell1228.png;0;0
-images/cell0818.png;0;0
-images/cell0421.png;1;1
-images/cell1545.png;0;0
-images/cell0164.png;1;0
-images/cell2080.png;0;0
-images/cell0758.png;1;0
-images/cell0038.png;1;1
-images/cell0777.png;0;0
-images/cell2000.png;0;0
-images/cell2614.png;0;0
-images/cell0538.png;0;0
-images/cell0993.png;0;0
-images/cell1080.png;1;0
-images/cell0180.png;0;0
-images/cell0306.png;0;0
-images/cell1756.png;0;0
-images/cell2588.png;0;0
-images/cell0181.png;0;0
-images/cell0668.png;1;1
-images/cell2448.png;0;0
-images/cell2379.png;0;0
-images/cell2212.png;0;0
-images/cell0990.png;0;0
-images/cell2296.png;0;0
-images/cell0566.png;0;0
-images/cell2452.png;0;0
-images/cell0054.png;1;0
-images/cell1711.png;0;0
-images/cell0546.png;0;0
-images/cell0387.png;1;0
-images/cell2014.png;0;0
-images/cell1311.png;0;0
-images/cell0147.png;1;0
-images/cell0202.png;0;0
-images/cell0939.png;0;0
-images/cell0094.png;0;0
-images/cell0983.png;0;0
-images/cell0046.png;1;1
-images/cell2177.png;0;0
-images/cell2402.png;0;0
-images/cell2412.png;0;0
-images/cell1015.png;0;0
-images/cell0440.png;1;0
-images/cell1689.png;0;0
-images/cell0583.png;0;0
-images/cell1290.png;0;0
-images/cell1673.png;1;1
-images/cell1786.png;0;0
-images/cell0908.png;0;0
-images/cell2307.png;0;0
-images/cell1067.png;0;0
-images/cell1387.png;0;0
-images/cell2521.png;0;0
-images/cell2254.png;0;0
-images/cell1469.png;0;0
-images/cell0255.png;1;0
-images/cell1619.png;0;0
-images/cell2158.png;0;0
-images/cell1931.png;0;0
-images/cell1916.png;0;0
-images/cell1276.png;0;0
-images/cell1757.png;0;0
-images/cell1282.png;0;0
-images/cell2184.png;0;0
-images/cell0106.png;0;0
-images/cell0400.png;1;1
-images/cell1215.png;0;0
-images/cell2006.png;0;0
-images/cell0145.png;0;0
-images/cell0565.png;0;0
-images/cell1335.png;0;0
-images/cell0691.png;1;0
-images/cell2286.png;0;0
-images/cell1171.png;0;0
-images/cell1584.png;0;0
-images/cell2406.png;0;0
-images/cell1933.png;0;0
-images/cell0776.png;0;0
-images/cell2139.png;0;0
-images/cell1026.png;0;0
-images/cell2292.png;0;0
-images/cell0192.png;1;0
-images/cell2115.png;0;0
-images/cell0963.png;0;0
-images/cell0472.png;1;1
-images/cell0079.png;0;0
-images/cell0744.png;1;0
-images/cell1763.png;0;0
-images/cell2512.png;0;0
-images/cell2407.png;0;0
-images/cell1226.png;0;0
-images/cell0196.png;1;0
-images/cell1191.png;0;0
-images/cell0446.png;1;0
-images/cell1665.png;1;1
-images/cell1531.png;0;0
-images/cell2517.png;1;0
-images/cell2363.png;0;0
-images/cell0188.png;0;0
-images/cell1628.png;1;1
-images/cell0701.png;1;0
-images/cell2480.png;0;0
-images/cell1441.png;0;0
-images/cell0643.png;0;0
-images/cell0843.png;1;0
-images/cell0876.png;1;0
-images/cell0151.png;0;0
-images/cell2428.png;0;0
-images/cell1382.png;0;0
-images/cell0351.png;0;0
-images/cell2332.png;0;0
-images/cell2234.png;0;0
-images/cell1541.png;0;0
-images/cell2413.png;0;0
-images/cell0733.png;0;0
-images/cell2085.png;0;0
-images/cell1342.png;0;0
-images/cell0731.png;0;0
-images/cell2002.png;0;0
-images/cell1672.png;1;1
-images/cell1769.png;0;0
-images/cell0632.png;0;0
-images/cell2533.png;0;0
-images/cell0829.png;0;0
-images/cell1671.png;1;1
-images/cell2567.png;0;0
-images/cell2025.png;0;0
-images/cell1943.png;0;0
-images/cell2481.png;0;0
-images/cell0052.png;1;0
-images/cell0002.png;1;0
-images/cell2260.png;0;0
-images/cell0021.png;1;0
-images/cell2527.png;0;0
-images/cell0081.png;0;0
-images/cell0644.png;1;0
-images/cell1728.png;0;0
-images/cell1598.png;0;0
-images/cell1752.png;0;0
-images/cell0707.png;0;0
-images/cell1521.png;0;0
-images/cell2218.png;0;0
-images/cell0292.png;1;0
-images/cell0275.png;1;0
-images/cell2096.png;0;0
-images/cell2052.png;1;1
-images/cell0856.png;0;0
-images/cell0117.png;0;0
-images/cell1239.png;0;0
-images/cell0571.png;0;0
-images/cell1642.png;0;0
-images/cell1566.png;0;0
-images/cell0834.png;1;0
-images/cell1835.png;0;0
-images/cell1056.png;0;0
-images/cell1451.png;0;0
-images/cell1572.png;0;0
-images/cell0322.png;1;0
-images/cell0885.png;1;0
-images/cell2592.png;0;0
-images/cell1874.png;0;0
-images/cell0182.png;0;0
-images/cell1278.png;0;0
-images/cell0851.png;1;0
-images/cell1142.png;1;0
-images/cell1502.png;1;0
-images/cell1120.png;0;0
-images/cell2329.png;0;0
-images/cell1591.png;1;0
-images/cell1038.png;0;0
-images/cell1776.png;0;0
-images/cell1532.png;0;0
-images/cell1486.png;0;0
-images/cell1484.png;0;0
-images/cell1600.png;0;0
-images/cell2543.png;0;0
-images/cell0901.png;0;0
-images/cell1211.png;0;0
-images/cell1926.png;0;0
-images/cell0771.png;0;0
-images/cell0060.png;0;0
-images/cell0937.png;0;0
-images/cell1503.png;0;0
-images/cell2190.png;0;0
-images/cell2589.png;0;0
-images/cell0490.png;1;1
-images/cell1235.png;0;0
-images/cell1708.png;0;0
-images/cell1845.png;0;0
-images/cell1979.png;0;0
-images/cell0374.png;1;0
-images/cell1458.png;0;0
-images/cell0095.png;0;0
-images/cell1018.png;0;0
-images/cell0953.png;0;0
-images/cell1841.png;0;0
-images/cell2120.png;0;0
-images/cell2610.png;0;0
-images/cell1246.png;0;0
-images/cell1159.png;0;0
-images/cell2509.png;1;0
-images/cell0124.png;0;0
-images/cell0042.png;0;0
-images/cell2236.png;0;0
-images/cell0320.png;1;1
-images/cell0303.png;0;0
-images/cell1369.png;0;0
-images/cell1353.png;0;0
-images/cell2133.png;0;0
-images/cell0826.png;0;0
-images/cell1021.png;0;0
-images/cell1345.png;0;0
-images/cell2551.png;0;0
-images/cell1141.png;0;0
-images/cell1871.png;0;0
-images/cell1307.png;0;0
-images/cell1181.png;0;0
-images/cell1782.png;0;0
-images/cell0427.png;1;0
-images/cell0611.png;1;0
-images/cell0107.png;0;0
-images/cell0935.png;0;0
-images/cell2021.png;0;0
-images/cell1705.png;0;0
-images/cell1344.png;0;0
-images/cell0047.png;1;0
-images/cell0593.png;0;0
-images/cell2354.png;0;0
-images/cell1947.png;0;0
-images/cell0966.png;0;0
-images/cell1980.png;0;0
-images/cell1932.png;0;0
-images/cell1562.png;0;0
-images/cell1904.png;0;0
-images/cell0832.png;0;0
-images/cell2571.png;0;0
-images/cell2328.png;0;0
-images/cell1928.png;0;0
-images/cell0071.png;0;0
-images/cell1388.png;0;0
-images/cell1024.png;0;0
-images/cell0656.png;0;0
-images/cell0873.png;1;0
-images/cell0940.png;0;0
-images/cell1840.png;0;0
-images/cell1565.png;0;0
-images/cell1880.png;0;0
-images/cell2253.png;0;0
-images/cell1424.png;0;0
-images/cell0467.png;1;0
-images/cell1588.png;0;0
-images/cell1667.png;1;1
-images/cell0367.png;1;0
-images/cell2279.png;0;0
-images/cell2064.png;0;0
-images/cell1865.png;0;0
-images/cell1627.png;1;1
-images/cell0439.png;1;1
-images/cell0173.png;0;0
-images/cell0636.png;1;0
-images/cell1446.png;0;0
-images/cell1421.png;0;0
-images/cell2147.png;0;0
-images/cell2282.png;0;0
-images/cell2034.png;0;0
-images/cell2199.png;0;0
-images/cell0412.png;1;0
-images/cell2247.png;0;0
-images/cell1085.png;0;0
-images/cell0040.png;1;1
-images/cell1048.png;0;0
-images/cell1939.png;0;0
-images/cell1631.png;1;1
-images/cell0416.png;1;0
-images/cell0647.png;0;0
-images/cell1896.png;0;0
-images/cell1392.png;0;0
-images/cell1160.png;0;0
-images/cell1281.png;0;0
-images/cell2371.png;0;0
-images/cell1403.png;1;0
-images/cell1102.png;0;0
-images/cell1014.png;0;0
-images/cell0435.png;1;0
-images/cell2065.png;0;0
-images/cell0897.png;1;1
-images/cell2125.png;0;0
-images/cell2450.png;0;0
-images/cell1301.png;0;0
-images/cell0370.png;1;0
-images/cell0922.png;0;0
-images/cell0257.png;1;0
-images/cell2005.png;0;0
-images/cell1075.png;1;0
-images/cell2389.png;0;0
-images/cell1719.png;0;0
-images/cell0711.png;0;0
-images/cell0692.png;0;0
-images/cell0710.png;0;0
-images/cell0574.png;0;0
-images/cell0944.png;0;0
-images/cell0074.png;0;0
-images/cell0509.png;0;0
-images/cell0443.png;1;1
-images/cell1397.png;0;0
-images/cell2086.png;0;0
-images/cell0544.png;0;0
-images/cell1525.png;0;0
-images/cell1997.png;0;0
-images/cell0317.png;1;0
-images/cell2474.png;0;0
-images/cell2073.png;0;0
-images/cell2056.png;0;0
-images/cell0867.png;1;0
-images/cell0847.png;0;0
-images/cell0992.png;0;0
-images/cell1322.png;0;0
-images/cell0455.png;1;1
-images/cell2478.png;0;0
-images/cell2194.png;0;0
-images/cell2549.png;0;0
-images/cell0795.png;0;0
-images/cell0859.png;1;0
-images/cell2360.png;0;0
-images/cell2491.png;0;0
-images/cell0610.png;0;0
-images/cell0807.png;0;0
-images/cell2577.png;0;0
-images/cell0281.png;1;0
-images/cell0001.png;1;0
-images/cell2042.png;1;0
-images/cell1967.png;0;0
-images/cell0157.png;0;0
-images/cell2248.png;0;0
-images/cell1144.png;0;0
-images/cell0504.png;0;0
-images/cell1821.png;0;0
-images/cell0283.png;1;0
-images/cell0141.png;1;0
-images/cell0951.png;0;0
-images/cell0930.png;0;0
-images/cell1819.png;0;0
-images/cell0035.png;1;0
-images/cell1610.png;0;0
-images/cell1700.png;0;0
-images/cell2424.png;0;0
-images/cell1464.png;0;0
-images/cell1739.png;0;0
-images/cell0719.png;0;0
-images/cell2112.png;0;0
-images/cell1288.png;0;0
-images/cell0258.png;0;0
-images/cell2504.png;0;0
-images/cell1805.png;0;0
-images/cell2192.png;0;0
-images/cell1467.png;0;0
-images/cell1602.png;0;0
-images/cell1726.png;0;0
-images/cell0621.png;0;0
-images/cell0026.png;1;0
-images/cell1520.png;0;0
-images/cell1867.png;0;0
-images/cell1940.png;0;0
-images/cell1537.png;0;0
-images/cell2082.png;0;0
-images/cell0209.png;0;0
-images/cell2035.png;0;0
-images/cell0426.png;1;0
-images/cell1448.png;0;0
-images/cell1285.png;0;0
-images/cell0193.png;0;0
-images/cell1020.png;0;0
-images/cell0765.png;0;0
-images/cell1076.png;0;0
-images/cell1252.png;0;0
-images/cell0790.png;1;0
-images/cell0928.png;0;0
-images/cell1473.png;0;0
-images/cell2140.png;0;0
-images/cell0424.png;1;0
-images/cell0747.png;0;0
-images/cell1316.png;0;0
-images/cell0286.png;1;0
-images/cell0027.png;1;0
-images/cell1170.png;0;0
-images/cell1427.png;0;0
-images/cell2277.png;0;0
-images/cell1198.png;0;0
-images/cell1426.png;0;0
-images/cell2078.png;0;0
-images/cell0581.png;0;0
-images/cell1428.png;0;0
-images/cell0375.png;1;0
-images/cell1347.png;0;0
-images/cell2151.png;0;0
-images/cell1508.png;0;0
-images/cell1727.png;0;0
-images/cell2084.png;0;0
-images/cell0721.png;0;0
-images/cell1535.png;0;0
-images/cell0517.png;1;1
-images/cell1162.png;0;0
-images/cell0329.png;0;0
-images/cell2059.png;0;0
-images/cell1360.png;0;0
-images/cell1707.png;0;0
-images/cell0575.png;0;0
-images/cell2075.png;0;0
-images/cell1594.png;0;0
-images/cell0975.png;0;0
-images/cell0642.png;1;0
-images/cell0154.png;0;0
-images/cell2336.png;0;0
-images/cell1799.png;0;0
-images/cell1291.png;0;0
-images/cell1670.png;1;1
-images/cell1647.png;1;1
-images/cell0361.png;1;0
-images/cell1183.png;0;0
-images/cell0172.png;0;0
-images/cell1173.png;0;0
-images/cell1338.png;0;0
-images/cell2263.png;0;0
-images/cell1402.png;0;0
-images/cell2231.png;0;0
-images/cell2109.png;0;0
-images/cell0203.png;0;1
-images/cell1847.png;0;0
-images/cell2414.png;0;0
-images/cell1055.png;0;0
-images/cell2327.png;0;0
-images/cell1836.png;0;0
-images/cell1713.png;0;0
-images/cell0579.png;1;0
-images/cell1343.png;0;0
-images/cell1223.png;0;0
-images/cell0233.png;0;0
-images/cell0152.png;0;0
-images/cell1266.png;0;0
-images/cell2552.png;0;0
-images/cell2030.png;0;0
-images/cell1998.png;0;0
-images/cell0792.png;1;0
-images/cell2442.png;0;0
-images/cell0096.png;0;0
-images/cell0078.png;1;0
-images/cell1886.png;0;0
-images/cell0651.png;0;0
-images/cell1233.png;0;0
-images/cell1633.png;1;1
-images/cell1718.png;0;0
-images/cell2097.png;0;0
-images/cell0808.png;0;0
-images/cell2494.png;0;0
-images/cell2243.png;0;0
-images/cell0949.png;0;0
-images/cell2591.png;0;0
-images/cell0753.png;0;0
-images/cell1306.png;1;0
-images/cell0894.png;0;0
-images/cell1601.png;0;0
-images/cell1607.png;0;0
-images/cell0891.png;1;0
-images/cell0003.png;1;0
-images/cell0441.png;1;1
-images/cell0755.png;0;0
-images/cell2342.png;0;0
-images/cell1084.png;0;0
-images/cell2267.png;0;0
-images/cell0817.png;1;0
-images/cell1224.png;0;0
-images/cell2132.png;0;0
-images/cell1250.png;0;0
-images/cell1445.png;0;0
-images/cell1694.png;0;0
-images/cell1193.png;0;0
-images/cell0398.png;1;0
-images/cell1976.png;0;1
-images/cell2320.png;0;0
-images/cell1750.png;0;0
-images/cell1710.png;0;0
-images/cell1974.png;0;0
-images/cell1372.png;0;0
-images/cell2272.png;0;0
-images/cell1655.png;1;1
-images/cell0607.png;1;0
-images/cell2466.png;0;0
-images/cell1116.png;0;0
-images/cell0402.png;1;1
-images/cell1653.png;1;1
-images/cell2321.png;0;0
-images/cell2174.png;0;0
-images/cell0865.png;1;0
-images/cell1078.png;0;0
-images/cell0149.png;0;0
-images/cell1686.png;0;0
-images/cell1881.png;0;0
-images/cell0796.png;0;0
-images/cell0087.png;0;0
-images/cell1061.png;1;0
-images/cell2461.png;0;0
-images/cell2451.png;0;0
-images/cell2012.png;0;0
-images/cell0967.png;0;0
-images/cell2039.png;0;0
-images/cell1004.png;0;0
-images/cell1714.png;0;0
-images/cell0823.png;0;0
-images/cell1704.png;0;0
-images/cell0491.png;1;0
-images/cell1040.png;0;0
-images/cell2395.png;0;0
-images/cell0618.png;1;0
-images/cell1664.png;0;0
-images/cell1222.png;0;0
-images/cell1597.png;0;0
-images/cell0051.png;1;0
-images/cell0219.png;0;0
-images/cell1063.png;0;0
-images/cell1132.png;0;0
-images/cell1124.png;0;0
-images/cell0254.png;0;0
-images/cell1472.png;0;0
-images/cell2063.png;0;0
-images/cell2600.png;0;0
-images/cell2438.png;0;0
-images/cell1253.png;0;0
-images/cell1385.png;0;0
-images/cell0235.png;1;0
-images/cell1764.png;0;0
-images/cell0654.png;1;0
-images/cell0044.png;1;1
-images/cell0673.png;1;0
-images/cell2033.png;0;0
-images/cell0714.png;1;0
-images/cell0603.png;1;1
-images/cell1507.png;0;0
-images/cell0458.png;0;0
-images/cell2204.png;1;0
-images/cell0033.png;0;0
-images/cell1604.png;0;0
-images/cell1477.png;0;0
-images/cell1442.png;0;0
-images/cell1623.png;0;1
-images/cell2446.png;1;0
-images/cell1765.png;0;0
-images/cell1551.png;0;0
-images/cell0486.png;1;0
-images/cell1760.png;0;0
-images/cell1415.png;0;0
-images/cell1230.png;0;0
-images/cell2583.png;0;0
-images/cell1361.png;0;0
-images/cell2383.png;0;0
-images/cell0717.png;0;0
-images/cell0357.png;0;0
-images/cell2346.png;0;0
-images/cell2256.png;0;0
-images/cell2201.png;0;0
-images/cell0591.png;0;0
-images/cell1748.png;0;0
-images/cell1746.png;0;0
-images/cell0477.png;1;0
-images/cell0311.png;0;0
-images/cell0828.png;0;0
-images/cell2176.png;0;0
-images/cell1789.png;0;0
-images/cell1420.png;0;0
-images/cell2079.png;0;0
-images/cell2570.png;0;0
-images/cell1911.png;0;0
-images/cell1717.png;0;0
-images/cell1826.png;0;0
-images/cell2159.png;0;0
-images/cell0488.png;1;1
-images/cell1690.png;0;0
-images/cell1818.png;0;0
-images/cell0069.png;0;0
-images/cell1053.png;0;0
-images/cell1153.png;0;0
-images/cell1204.png;0;0
-images/cell2370.png;0;0
-images/cell0198.png;0;0
-images/cell2535.png;0;0
-images/cell1152.png;0;0
-images/cell1692.png;0;0
-images/cell0009.png;0;0
-images/cell2237.png;0;0
-images/cell0911.png;0;0
-images/cell1856.png;0;0
-images/cell1816.png;0;0
-images/cell1829.png;0;0
-images/cell1506.png;0;0
-images/cell1328.png;0;0
-images/cell2365.png;0;0
-images/cell2479.png;0;0
-images/cell2361.png;0;0
-images/cell1384.png;0;0
-images/cell1850.png;0;0
-images/cell1476.png;0;0
-images/cell1890.png;1;0
-images/cell2471.png;0;0
-images/cell1666.png;1;1
-images/cell0645.png;1;0
-images/cell0378.png;1;0
-images/cell0602.png;1;1
-images/cell1376.png;0;0
-images/cell0503.png;0;0
-images/cell0222.png;0;0
-images/cell0539.png;1;0
-images/cell0229.png;1;0
-images/cell0958.png;0;0
-images/cell2568.png;0;0
-images/cell0413.png;0;0
-images/cell1373.png;0;0
-images/cell1833.png;0;0
-images/cell2355.png;0;0
-images/cell2333.png;0;0
-images/cell0411.png;1;0
-images/cell1045.png;0;0
-images/cell0134.png;0;0
-images/cell1366.png;0;0
-images/cell0633.png;0;0
-images/cell1798.png;0;0
-images/cell0978.png;0;0
-images/cell2545.png;0;0
-images/cell1182.png;1;0
-images/cell0616.png;1;0
-images/cell0527.png;1;1
-images/cell2249.png;0;0
-images/cell1981.png;0;0
-images/cell2439.png;0;0
-images/cell1722.png;0;0
-images/cell0175.png;0;0
-images/cell2050.png;0;0
-images/cell0568.png;0;0
-images/cell2106.png;0;0
-images/cell2246.png;0;0
-images/cell2558.png;0;0
-images/cell0786.png;0;1
-images/cell1985.png;0;0
-images/cell2294.png;0;0
-images/cell0208.png;1;0
-images/cell0677.png;0;0
-images/cell0438.png;1;1
-images/cell2553.png;0;0
-images/cell1312.png;0;0
-images/cell0625.png;0;0
-images/cell1804.png;0;0
-images/cell2372.png;0;0
-images/cell0174.png;0;0
-images/cell0080.png;0;0
-images/cell1740.png;0;0
-images/cell1918.png;0;0
-images/cell0408.png;1;1
-images/cell0917.png;0;0
-images/cell0127.png;0;0
-images/cell1568.png;0;0
-images/cell0567.png;0;0
-images/cell2138.png;0;0
-images/cell1891.png;0;0
-images/cell2560.png;0;0
-images/cell1522.png;0;0
-images/cell0436.png;1;0
-images/cell1139.png;0;0
-images/cell2430.png;0;0
-images/cell2250.png;0;0
-images/cell1509.png;0;0
-images/cell1463.png;0;0
-images/cell2441.png;0;0
-images/cell0751.png;0;0
-images/cell0115.png;1;0
-images/cell1558.png;0;0
-images/cell0766.png;0;0
-images/cell0653.png;0;0
-images/cell0056.png;1;0
-images/cell0605.png;1;0
-images/cell2514.png;0;0
-images/cell2597.png;0;0
-images/cell1435.png;0;0
-images/cell1635.png;1;1
-images/cell0238.png;0;0
-images/cell2278.png;0;0
-images/cell1555.png;0;0
-images/cell2506.png;0;0
-images/cell1761.png;1;0
-images/cell1180.png;0;0
-images/cell0454.png;1;1
-images/cell1126.png;0;0
-images/cell0690.png;0;0
-images/cell1302.png;0;0
-images/cell0626.png;1;0
-images/cell1238.png;0;0
-images/cell0512.png;1;0
-images/cell0560.png;0;0
-images/cell2053.png;1;0
-images/cell1203.png;0;0
-images/cell0570.png;0;0
-images/cell1429.png;0;0
-images/cell0284.png;1;0
-images/cell2445.png;0;0
-images/cell1227.png;0;0
-images/cell2331.png;0;0
-images/cell0489.png;1;0
-images/cell1407.png;0;0
-images/cell1140.png;0;0
-images/cell2119.png;0;0
-images/cell1101.png;0;0
-images/cell0964.png;0;0
-images/cell0326.png;0;0
-images/cell0881.png;1;0
-images/cell2405.png;0;0
-images/cell2309.png;0;0
-images/cell0280.png;1;0
-images/cell2455.png;0;0
-images/cell0798.png;0;1
-images/cell0680.png;1;0
-images/cell1908.png;0;0
-images/cell0924.png;0;0
-images/cell0640.png;1;0
-images/cell1909.png;0;0
-images/cell0787.png;1;0
-images/cell0525.png;1;1
-images/cell0108.png;0;0
-images/cell0363.png;1;0
-images/cell1523.png;0;0
-images/cell1131.png;0;0
-images/cell0523.png;1;1
-images/cell2526.png;1;0
-images/cell0634.png;1;0
-images/cell1023.png;0;0
-images/cell1709.png;0;0
-images/cell0014.png;0;0
-images/cell0960.png;0;0
-images/cell2131.png;0;0
-images/cell0526.png;0;0
-images/cell1582.png;0;0
-images/cell1794.png;0;0
-images/cell2531.png;0;0
-images/cell1111.png;0;0
-images/cell1807.png;0;0
-images/cell0487.png;1;0
-images/cell0699.png;1;0
-images/cell1109.png;1;0
-images/cell0676.png;0;0
-images/cell0168.png;0;0
-images/cell0841.png;1;0
-images/cell1365.png;0;0
-images/cell1716.png;0;0
-images/cell2211.png;0;0
-images/cell1374.png;0;0
-images/cell0508.png;0;0
-images/cell1837.png;0;0
-images/cell2409.png;0;0
-images/cell2130.png;0;0
-images/cell1861.png;0;0
-images/cell1016.png;0;0
-images/cell0339.png;0;0
-images/cell1870.png;0;0
-images/cell2373.png;0;0
-images/cell0382.png;1;0
-images/cell0451.png;1;1
-images/cell0282.png;0;0
-images/cell0150.png;0;0
-images/cell0980.png;0;0
-images/cell1771.png;1;0
-images/cell0770.png;0;0
-images/cell0987.png;0;0
-images/cell1271.png;0;0
-images/cell0116.png;0;0
-images/cell0977.png;0;0
-images/cell0852.png;1;0
-images/cell1529.png;0;0
-images/cell1408.png;0;0
-images/cell0088.png;0;0
-images/cell1586.png;0;0
-images/cell0883.png;1;0
-images/cell0846.png;0;0
-images/cell1108.png;1;0
-images/cell2217.png;0;0
-images/cell1802.png;0;0
-images/cell0301.png;1;0
-images/cell0331.png;0;0
-images/cell0093.png;0;0
-images/cell2510.png;0;0
-images/cell0624.png;0;0
-images/cell0271.png;1;0
-images/cell1650.png;1;1
-images/cell0291.png;0;0
-images/cell1736.png;0;0
-images/cell2569.png;0;0
-images/cell2216.png;0;0
-images/cell2057.png;1;1
-images/cell2356.png;0;0
-images/cell1546.png;0;0
-images/cell2563.png;0;0
-images/cell1737.png;0;0
-images/cell1629.png;1;1
-images/cell1400.png;0;0
-images/cell0211.png;1;0
-images/cell1168.png;0;0
-images/cell0912.png;0;0
-images/cell2007.png;0;0
-images/cell0318.png;0;0
-images/cell1733.png;0;0
-images/cell0226.png;0;0
-images/cell0678.png;1;0
-images/cell1869.png;0;0
-images/cell1703.png;0;0
-images/cell0055.png;1;0
-images/cell1367.png;0;0
-images/cell0736.png;0;0
-images/cell1868.png;0;0
-images/cell0237.png;0;0
-images/cell1557.png;0;0
-images/cell0737.png;0;0
-images/cell1219.png;0;0
-images/cell2265.png;0;0
-images/cell2378.png;0;0
-images/cell0907.png;0;0
-images/cell1189.png;1;0
-images/cell0884.png;1;0
-images/cell0641.png;0;0
-images/cell1989.png;1;0
-images/cell0410.png;1;1
-images/cell2554.png;0;0
-images/cell2222.png;0;0
-images/cell0189.png;0;0
-images/cell2387.png;0;0
-images/cell0756.png;0;0
-images/cell1079.png;0;0
-images/cell1423.png;0;0
-images/cell0325.png;0;0
-images/cell0683.png;0;0
-images/cell1905.png;0;0
-images/cell0304.png;0;0
-images/cell1194.png;0;0
-images/cell0126.png;0;0
-images/cell2486.png;0;0
-images/cell1930.png;0;0
-images/cell0505.png;1;1
-images/cell0297.png;1;0
-images/cell0537.png;1;0
-images/cell2432.png;1;0
-images/cell2601.png;0;0
-images/cell2071.png;1;1
-images/cell1698.png;0;0
-images/cell0355.png;0;0
-images/cell0346.png;1;0
-images/cell2358.png;0;0
-images/cell1638.png;1;1
-images/cell2113.png;0;0
-images/cell2529.png;0;0
-images/cell0323.png;1;0
-images/cell0397.png;0;0
-images/cell2377.png;0;0
-images/cell0541.png;0;0
-images/cell2547.png;1;0
-images/cell0013.png;1;0
-images/cell0547.png;0;0
-images/cell1609.png;0;0
-images/cell0312.png;1;1
-images/cell0388.png;1;0
-images/cell0191.png;0;0
-images/cell0816.png;0;0
-images/cell1766.png;0;0
-images/cell1632.png;1;1
-images/cell0499.png;1;1
-images/cell1487.png;1;0
-images/cell0045.png;1;0
-images/cell0750.png;0;0
-images/cell0905.png;0;0
-images/cell0341.png;0;0
-images/cell1229.png;0;0
-images/cell0475.png;1;0
-images/cell0564.png;1;0
-images/cell0493.png;1;0
-images/cell0010.png;1;0
-images/cell0844.png;0;0
-images/cell1645.png;1;1
-images/cell2384.png;0;0
-images/cell0345.png;0;0
-images/cell1864.png;0;0
-images/cell1186.png;0;0
-images/cell1745.png;0;0
-images/cell1401.png;0;0
-images/cell0067.png;0;0
-images/cell2171.png;0;0
-images/cell2615.png;0;0
-images/cell2573.png;0;0
-images/cell1785.png;0;0
-images/cell0099.png;0;0
-images/cell1461.png;0;0
-images/cell1460.png;0;0
-images/cell0596.png;0;0
-images/cell1844.png;0;0
-images/cell0870.png;1;0
-images/cell1920.png;0;0
-images/cell1065.png;1;0
-images/cell2013.png;0;0
-images/cell0698.png;0;0
-images/cell1775.png;0;0
-images/cell1413.png;0;0
-images/cell1059.png;1;0
-images/cell1661.png;0;0
-images/cell1220.png;0;0
-images/cell2146.png;0;0
-images/cell0679.png;0;0
-images/cell0347.png;1;0
-images/cell2054.png;1;0
-images/cell2350.png;1;0
-images/cell2173.png;0;0
-images/cell2425.png;0;0
-images/cell2098.png;0;0
-images/cell1490.png;0;0
-images/cell0532.png;0;0
-images/cell1129.png;0;0
-images/cell2129.png;0;0
-images/cell2403.png;0;0
-images/cell1234.png;0;0
-images/cell1524.png;0;0
-images/cell2093.png;0;0
-images/cell0266.png;1;1
-images/cell1691.png;0;0
-images/cell2359.png;0;0
-images/cell1596.png;0;0
-images/cell0779.png;0;0
-images/cell0861.png;1;0
-images/cell0662.png;1;0
-images/cell0171.png;1;0
-images/cell1924.png;0;0
-images/cell2388.png;0;0
-images/cell0890.png;1;0
-images/cell0295.png;1;0
-images/cell1077.png;0;0
-images/cell1715.png;0;0
-images/cell1815.png;0;0
-images/cell1668.png;1;1
-images/cell1449.png;0;0
-images/cell0373.png;1;0
-images/cell0600.png;0;0
-images/cell0376.png;1;1
-images/cell1843.png;0;0
-images/cell1185.png;0;0
-images/cell0385.png;1;1
-images/cell1457.png;0;0
-images/cell0358.png;0;0
-images/cell0947.png;0;0
-images/cell1447.png;0;0
-images/cell0622.png;0;0
-images/cell1412.png;0;0
-images/cell2271.png;0;0
-images/cell1603.png;0;0
-images/cell2289.png;1;0
-images/cell1982.png;1;0
-images/cell1249.png;0;0
-images/cell1002.png;0;0
-images/cell1986.png;0;0
-images/cell1680.png;0;0
-images/cell1209.png;0;0
-images/cell0769.png;0;0
-images/cell2380.png;0;0
-images/cell1184.png;0;0
-images/cell0803.png;0;0
-images/cell1406.png;0;0
-images/cell2385.png;0;0
-images/cell0814.png;0;0
-images/cell0083.png;1;0
-images/cell1779.png;0;0
-images/cell1879.png;0;0
-images/cell2468.png;0;0
-images/cell0821.png;1;0
-images/cell2094.png;0;0
-images/cell1574.png;0;0
-images/cell1556.png;0;0
-images/cell0927.png;0;0
-images/cell0909.png;0;0
-images/cell0999.png;0;0
-images/cell2476.png;0;0
-images/cell0058.png;0;0
-images/cell2251.png;0;0
-images/cell0726.png;0;0
-images/cell0298.png;1;0
-images/cell2195.png;0;0
-images/cell1729.png;0;0
-images/cell1118.png;0;0
-images/cell2128.png;0;0
-images/cell1968.png;0;0
-images/cell2459.png;0;0
-images/cell0034.png;1;0
-images/cell1475.png;1;0
-images/cell0494.png;1;1
-images/cell2530.png;0;0
-images/cell0853.png;1;0
-images/cell0453.png;1;0
-images/cell1501.png;0;0
-images/cell0483.png;0;0
-images/cell0650.png;0;0
-images/cell1154.png;0;0
-images/cell1089.png;0;0
-images/cell1280.png;0;0
-images/cell2330.png;0;0
-images/cell1315.png;1;0
-images/cell1143.png;1;0
-images/cell2114.png;0;0
-images/cell2617.png;0;0
-images/cell1439.png;0;0
-images/cell1903.png;0;0
-images/cell1110.png;0;0
-images/cell0528.png;1;1
-images/cell0155.png;1;0
-images/cell1125.png;0;0
-images/cell1571.png;0;0
-images/cell2180.png;0;0
-images/cell0716.png;0;0
-images/cell1897.png;0;0
-images/cell2513.png;0;0
-images/cell0886.png;1;0
-images/cell1858.png;0;0
-images/cell0184.png;0;0
-images/cell2435.png;1;0
-images/cell2022.png;0;0
-images/cell0955.png;0;0
-images/cell1070.png;0;0
-images/cell1047.png;0;0
-images/cell1919.png;0;0
-images/cell2221.png;0;0
-images/cell0529.png;1;1
-images/cell2611.png;0;0
-images/cell1640.png;0;0
-images/cell1095.png;0;0
-images/cell1934.png;0;0
-images/cell2622.png;0;0
-images/cell1620.png;0;0
-images/cell1617.png;0;0
-images/cell1470.png;0;0
-images/cell2525.png;1;0
-images/cell2203.png;0;0
-images/cell0639.png;1;0
-images/cell0102.png;0;0
-images/cell0799.png;0;0
-images/cell1313.png;0;0
-images/cell0264.png;1;0
-images/cell2239.png;0;0
-images/cell0197.png;0;0
-images/cell2419.png;0;0
-images/cell0637.png;0;0
-images/cell0144.png;0;0
-images/cell0666.png;1;0
-images/cell2423.png;0;0
-images/cell1314.png;0;0
-images/cell0791.png;0;0
-images/cell1247.png;0;0
-images/cell0482.png;1;0
-images/cell0195.png;0;0
-images/cell0156.png;0;0
-images/cell2087.png;0;0
-images/cell1169.png;0;0
-images/cell0800.png;1;0
-images/cell2099.png;0;0
-images/cell0875.png;1;0
-images/cell0835.png;1;1
-images/cell2291.png;0;0
-images/cell0797.png;0;0
-images/cell1688.png;0;0
-images/cell0163.png;0;0
-images/cell1348.png;0;0
-images/cell0849.png;0;0
-images/cell0176.png;0;0
-images/cell1425.png;0;0
-images/cell2018.png;0;0
-images/cell2041.png;0;0
-images/cell1637.png;1;1
-images/cell1878.png;0;0
-images/cell2150.png;0;0
-images/cell0131.png;0;0
-images/cell1517.png;0;0
-images/cell1797.png;0;0
-images/cell1097.png;1;0
-images/cell2040.png;0;0
-images/cell0125.png;0;0
-images/cell1497.png;0;0
-images/cell1459.png;0;0
-images/cell0524.png;1;1
-images/cell1003.png;0;0
-images/cell1440.png;0;0
-images/cell0497.png;1;0
-images/cell2604.png;0;0
-images/cell1197.png;0;0
-images/cell2433.png;1;0
-images/cell0889.png;1;1
-images/cell0092.png;0;0
-images/cell1770.png;0;0
-images/cell1337.png;0;0
-images/cell0327.png;0;0
-images/cell2255.png;0;0
-images/cell1811.png;0;0
-images/cell2122.png;1;0
-images/cell1286.png;0;0
-images/cell2546.png;1;0
-images/cell0558.png;0;0
-images/cell0534.png;1;0
-images/cell2624.png;0;0
-images/cell0456.png;0;0
-images/cell0414.png;1;0
-images/cell1614.png;0;0
-images/cell0194.png;0;0
-images/cell1889.png;0;0
-images/cell2037.png;0;0
-images/cell1177.png;0;0
-images/cell1481.png;0;0
-images/cell1533.png;0;0
-images/cell0239.png;0;0
-images/cell2148.png;0;0
-images/cell0248.png;1;0
-images/cell0231.png;1;0
-images/cell0761.png;0;0
-images/cell2004.png;0;0
-images/cell0500.png;0;0
-images/cell1157.png;0;0
-images/cell0276.png;0;0
-images/cell1923.png;0;0
-images/cell0840.png;0;0
-images/cell0694.png;1;0
-images/cell1363.png;0;0
-images/cell1990.png;0;0
-images/cell2092.png;0;0
-images/cell2100.png;0;0
-images/cell0293.png;1;0
-images/cell0741.png;1;0
-images/cell1386.png;0;0
-images/cell0531.png;1;0
-images/cell1548.png;0;0
-images/cell0740.png;1;0
-images/cell1830.png;0;0
-images/cell0392.png;1;0
-images/cell1165.png;0;0
-images/cell2391.png;0;0
-images/cell1434.png;0;0
-images/cell1801.png;0;0
-images/cell0101.png;0;0
-images/cell0338.png;0;0
-images/cell1242.png;0;0
-images/cell2616.png;0;0
-images/cell2186.png;0;0
-images/cell0442.png;1;1
-images/cell0199.png;1;0
-images/cell1944.png;0;0
-images/cell1742.png;0;0
-images/cell1735.png;0;0
-images/cell0335.png;1;0
-images/cell0290.png;1;0
-images/cell1984.png;0;0
-images/cell2469.png;0;0
-images/cell0138.png;0;0
-images/cell0925.png;0;0
-images/cell1096.png;0;0
-images/cell1536.png;0;0
-images/cell0090.png;0;0
-images/cell1383.png;0;0
-images/cell0394.png;1;0
-images/cell2172.png;0;0
-images/cell2285.png;0;0
-images/cell2305.png;0;0
-images/cell1212.png;0;0
-images/cell0068.png;1;0
-images/cell0025.png;1;0
-images/cell0160.png;0;0
-images/cell0507.png;1;0
-images/cell2578.png;0;0
-images/cell1133.png;0;0
-images/cell0270.png;1;0
-images/cell2599.png;0;1
-images/cell0395.png;1;1
-images/cell0638.png;0;0
-images/cell1970.png;0;0
-images/cell1019.png;0;0
-images/cell1325.png;0;0
-images/cell0882.png;1;1
-images/cell2269.png;0;0
-images/cell0348.png;0;0
-images/cell2232.png;0;0
-images/cell0754.png;0;0
-images/cell2028.png;0;0
-images/cell1122.png;0;0
-images/cell1292.png;0;0
-images/cell1199.png;0;0
-images/cell1137.png;0;0
-images/cell1825.png;0;0
-images/cell1273.png;0;0
-images/cell1370.png;0;0
-images/cell0971.png;0;0
-images/cell2074.png;1;0
-images/cell0811.png;0;0
-images/cell1346.png;0;0
-images/cell0359.png;0;0
-images/cell0739.png;0;0
-images/cell1172.png;0;0
-images/cell1539.png;0;0
-images/cell1265.png;0;0
-images/cell0550.png;0;0
-images/cell2576.png;0;0
-images/cell1206.png;0;0
-images/cell0396.png;1;1
-images/cell2029.png;0;0
-images/cell1094.png;0;0
-images/cell2620.png;0;0
-images/cell0166.png;0;0
-images/cell2608.png;0;0
-images/cell0681.png;0;0
-images/cell2574.png;0;0
-images/cell0187.png;1;0
-images/cell0866.png;0;0
-images/cell0913.png;0;0
-images/cell1855.png;0;0
-images/cell2393.png;0;0
-images/cell0664.png;0;0
-images/cell1262.png;0;0
-images/cell0415.png;1;0
-images/cell1178.png;0;0
-images/cell0918.png;0;0
-images/cell0783.png;1;0
-images/cell0608.png;1;0
-images/cell0308.png;0;0
-images/cell1528.png;0;0
-images/cell1409.png;1;0
-images/cell0268.png;1;0
-images/cell1030.png;0;0
-images/cell2585.png;0;0
-images/cell2224.png;0;0
-images/cell0921.png;0;0
-images/cell1268.png;0;0
-images/cell1504.png;0;0
-images/cell1330.png;0;0
-images/cell1987.png;0;0
-images/cell0061.png;0;0
-images/cell1925.png;0;0
-images/cell0957.png;0;0
-images/cell1917.png;0;0
-images/cell0556.png;0;0
-images/cell0098.png;0;0
-images/cell0450.png;1;1
-images/cell2153.png;0;0
-images/cell0543.png;0;0
-images/cell0063.png;0;0
-images/cell1155.png;0;0
-images/cell1032.png;0;0
-images/cell0845.png;0;0
-images/cell1127.png;0;0
-images/cell1965.png;0;0
-images/cell2155.png;0;0
-images/cell0589.png;0;0
-images/cell2463.png;0;0
-images/cell0262.png;0;0
-images/cell1333.png;0;0
-images/cell1639.png;1;1
-images/cell0167.png;0;0
-images/cell1787.png;0;0
-images/cell0788.png;1;0
-images/cell0968.png;0;0
-images/cell0752.png;0;0
-images/cell2561.png;0;0
-images/cell0778.png;0;0
-images/cell0473.png;1;1
-images/cell1149.png;0;0
-images/cell2124.png;0;0
-images/cell1808.png;0;0
-images/cell1663.png;0;0
-images/cell0371.png;1;0
-images/cell0704.png;0;0
-images/cell1662.png;0;0
-images/cell0551.png;0;0
-images/cell0533.png;1;0
-images/cell0381.png;1;0
-images/cell1013.png;0;0
-images/cell1259.png;0;0
-images/cell1681.png;0;0
-images/cell2160.png;0;0
-images/cell2613.png;0;0
-images/cell2227.png;0;0
-images/cell1563.png;0;0
-images/cell1892.png;0;0
-images/cell1519.png;0;0
-images/cell0200.png;1;0
-images/cell0234.png;0;0
-images/cell1959.png;0;0
-images/cell1436.png;0;0
-images/cell0945.png;0;0
-images/cell1754.png;0;0
-images/cell2582.png;0;0
-images/cell1000.png;0;0
-images/cell0205.png;0;0
-images/cell0085.png;0;0
-images/cell0734.png;0;0
-images/cell1069.png;0;0
-images/cell1167.png;0;0
-images/cell0635.png;0;0
-images/cell2497.png;0;0
-images/cell2110.png;0;0
-images/cell1034.png;0;0
-images/cell0112.png;0;0
-images/cell0330.png;0;0
-images/cell0688.png;0;0
-images/cell0732.png;1;0
-images/cell0277.png;1;0
-images/cell2070.png;1;0
-images/cell0684.png;0;0
-images/cell0763.png;0;0
-images/cell0287.png;1;0
-images/cell0837.png;1;0
-images/cell1491.png;0;0
-images/cell2489.png;0;0
-images/cell0743.png;1;0
-images/cell1674.png;1;1
-images/cell0210.png;0;0
-images/cell1195.png;0;0
-images/cell0479.png;1;0
-images/cell1767.png;0;0
-images/cell0305.png;1;0
-images/cell1119.png;0;0
-images/cell2262.png;0;0
-images/cell2020.png;0;0
-images/cell1231.png;0;0
-images/cell1791.png;0;0
-images/cell1813.png;0;0
-images/cell2565.png;0;0
-images/cell0595.png;1;0
-images/cell1320.png;0;0
-images/cell0914.png;0;0
-images/cell2280.png;0;0
-images/cell1605.png;0;0
-images/cell2581.png;0;0
-images/cell1054.png;0;0
-images/cell2572.png;0;0
-images/cell2541.png;0;0
-images/cell0016.png;1;0
-images/cell1483.png;0;0
-images/cell2590.png;0;0
-images/cell0768.png;0;0
-images/cell1567.png;0;0
-images/cell1921.png;0;0
-images/cell2621.png;0;0
-images/cell1935.png;0;0
-images/cell1279.png;0;0
-images/cell0827.png;0;0
-images/cell1418.png;0;0
-images/cell2544.png;1;1
-images/cell0994.png;0;0
-images/cell1208.png;0;0
-images/cell0469.png;1;1
-images/cell1712.png;1;0
-images/cell1303.png;1;0
-images/cell1907.png;0;0
-images/cell0140.png;0;0
-images/cell0380.png;1;1
-images/cell1950.png;0;0
-images/cell2550.png;0;0
-images/cell0024.png;0;0
-images/cell0576.png;0;0
-images/cell2482.png;0;0
-images/cell0383.png;1;1
-images/cell0782.png;0;0
-images/cell0368.png;1;0
-images/cell0794.png;1;0
-images/cell0956.png;0;0
-images/cell0300.png;0;0
-images/cell1093.png;0;0
-images/cell1257.png;0;0
-images/cell0686.png;1;1
-images/cell1121.png;0;0
-images/cell1287.png;0;0
-images/cell0986.png;0;0
-images/cell0585.png;0;0
-images/cell2566.png;0;0
-images/cell0314.png;0;0
-images/cell1699.png;0;0
-images/cell1969.png;0;0
-images/cell0251.png;1;0
-images/cell1978.png;0;0
-images/cell2229.png;0;0
-images/cell1963.png;0;0
-images/cell1064.png;0;0
-images/cell0492.png;1;1
-images/cell0592.png;0;0
-images/cell0672.png;1;0
-images/cell0030.png;1;1
-images/cell0628.png;0;0
-images/cell1832.png;0;0
-images/cell0342.png;1;0
-images/cell0041.png;0;0
-images/cell1643.png;1;1
-images/cell2245.png;0;0
-images/cell0562.png;0;0
-images/cell2252.png;0;0
-images/cell0522.png;0;0
-images/cell0772.png;0;0
-images/cell0352.png;0;0
-images/cell0139.png;0;0
-images/cell1534.png;0;0
-images/cell0103.png;0;0
-images/cell1218.png;0;0
-images/cell2105.png;0;0
-images/cell1624.png;1;1
-images/cell0631.png;0;0
-images/cell0785.png;0;0
-images/cell1592.png;0;0
-images/cell2454.png;0;0
-images/cell2284.png;0;0
-images/cell1622.png;1;1
-images/cell1544.png;0;0
-images/cell0393.png;1;0
-images/cell2434.png;0;0
-images/cell0073.png;1;0
-images/cell0461.png;1;1
-images/cell0296.png;1;0
-images/cell0857.png;1;0
-images/cell0449.png;0;0
-images/cell1190.png;0;0
-images/cell2135.png;0;0
-images/cell1145.png;0;0
-images/cell0005.png;0;0
-images/cell1530.png;0;0
-images/cell1723.png;0;0
-images/cell0401.png;1;1
-images/cell0267.png;0;0
-images/cell0606.png;1;0
-images/cell1683.png;0;0
-images/cell2609.png;0;0
-images/cell1780.png;0;0
-images/cell1148.png;0;0
-images/cell1587.png;0;0
-images/cell0316.png;1;0
-images/cell0362.png;1;0
-images/cell2104.png;0;0
-images/cell0506.png;1;0
-images/cell2205.png;0;0
-images/cell1310.png;0;0
-images/cell2016.png;0;0
-images/cell2457.png;0;0
-images/cell0121.png;0;0
-images/cell2564.png;0;0
-images/cell1305.png;0;0
-images/cell1724.png;0;0
-images/cell0613.png;1;0
-images/cell2344.png;0;0
-images/cell0048.png;0;0
-images/cell1973.png;0;0
-images/cell2009.png;0;0
-images/cell2539.png;0;0
-images/cell0307.png;1;0
-images/cell0498.png;1;0
-images/cell2101.png;0;0
-images/cell1151.png;0;0
-images/cell1317.png;0;0
-images/cell0263.png;1;0
-images/cell0406.png;1;1
-images/cell0204.png;0;0
-images/cell1751.png;0;0
-images/cell1326.png;0;0
-images/cell0623.png;0;0
-images/cell0969.png;0;0
-images/cell0223.png;1;0
-images/cell1991.png;1;0
-images/cell1806.png;0;0
-images/cell2437.png;1;0
-images/cell0165.png;1;0
-images/cell2274.png;0;0
-images/cell0659.png;0;0
-images/cell2353.png;0;0
-images/cell1031.png;0;0
-images/cell0049.png;1;0
-images/cell1358.png;0;0
-images/cell0379.png;1;1
-images/cell1495.png;0;0
-images/cell0669.png;0;0
-images/cell0862.png;1;0
-images/cell1946.png;0;0
-images/cell0207.png;0;0
-images/cell1948.png;0;0
-images/cell2496.png;0;0
-images/cell2357.png;0;0
-images/cell1564.png;0;0
-images/cell2108.png;0;0
-images/cell1515.png;0;0
-images/cell1511.png;0;0
-images/cell0418.png;1;0
-images/cell2069.png;0;0
-images/cell0863.png;1;0
-images/cell0612.png;1;0
-images/cell1972.png;0;0
-images/cell0433.png;1;0
-images/cell0557.png;0;0
-images/cell2318.png;0;0
-images/cell2440.png;0;0
-images/cell0086.png;0;0
-images/cell1482.png;0;0
-images/cell1538.png;0;0
-images/cell0819.png;0;0
-images/cell2165.png;0;0
-images/cell1217.png;0;0
-images/cell2175.png;0;0
-images/cell1196.png;0;0
-images/cell0902.png;0;0
-images/cell0806.png;1;0
-images/cell0695.png;1;0
-images/cell2067.png;0;0
-images/cell1321.png;0;0
-images/cell0872.png;0;0
-images/cell2375.png;0;0
-images/cell2048.png;0;0
-images/cell1258.png;0;0
-images/cell0540.png;0;0
-images/cell0135.png;0;0
-images/cell1616.png;0;1
-images/cell2058.png;0;0
-images/cell0979.png;0;0
-images/cell1606.png;0;0
-images/cell1043.png;0;0
-images/cell2258.png;0;0
-images/cell2276.png;0;0
-images/cell0369.png;0;0
-images/cell0212.png;1;0
-images/cell2548.png;1;0
-images/cell2555.png;0;0
-images/cell1621.png;1;1
-images/cell2026.png;0;0
-images/cell0831.png;1;0
-images/cell1293.png;0;0
-images/cell1368.png;0;0
-images/cell1613.png;0;0
-images/cell1971.png;0;0
-images/cell1074.png;1;0
-images/cell0984.png;0;0
-images/cell1394.png;0;0
-images/cell2408.png;0;0
-images/cell2038.png;1;0
-images/cell1792.png;0;0
-images/cell0545.png;0;0
-images/cell0903.png;0;0
-images/cell1956.png;0;0
-images/cell0578.png;1;0
-images/cell1008.png;0;0
-images/cell0887.png;1;0
-images/cell0542.png;0;0
-images/cell1696.png;0;0
-images/cell1339.png;0;0
-images/cell2206.png;0;0
-images/cell1677.png;0;0
-images/cell0590.png;0;0
-images/cell2537.png;0;0
-images/cell2011.png;0;0
-images/cell2297.png;0;0
-images/cell0706.png;0;0
-images/cell0850.png;0;0
-images/cell2575.png;0;0
-images/cell2499.png;0;0
-images/cell0066.png;0;0
-images/cell2485.png;0;0
-images/cell0170.png;0;0
-images/cell1029.png;0;0
-images/cell0981.png;0;0
-images/cell2275.png;0;0
-images/cell2235.png;0;0
-images/cell0665.png;0;0
-images/cell2209.png;0;0
-images/cell1512.png;0;0
-images/cell1796.png;0;0
-images/cell0289.png;1;0
-images/cell2522.png;0;0
-images/cell0496.png;1;1
-images/cell2032.png;0;0
-images/cell1364.png;0;0
-images/cell1863.png;0;0
-images/cell0217.png;0;0
-images/cell2343.png;0;0
-images/cell1106.png;0;0
-images/cell0825.png;0;0
-images/cell1057.png;0;0
-images/cell1164.png;0;0
-images/cell1274.png;0;0
-images/cell0848.png;0;0
-images/cell0655.png;0;0
-images/cell1966.png;0;0
-images/cell0598.png;0;0
-images/cell0952.png;0;0
-images/cell2259.png;0;0
-images/cell0252.png;1;0
-images/cell1687.png;0;0
-images/cell2587.png;0;0
-images/cell0580.png;0;0
-images/cell1090.png;0;0
-images/cell1543.png;0;0
-images/cell2472.png;0;0
-images/cell0696.png;1;0
-images/cell2036.png;1;0
-images/cell1176.png;0;0
-images/cell2283.png;0;0
-images/cell2487.png;0;0
-images/cell2266.png;0;0
-images/cell0513.png;1;1
-images/cell0536.png;1;1
-images/cell0091.png;1;0
-images/cell1682.png;0;0
-images/cell2456.png;1;0
-images/cell1072.png;0;0
-images/cell1329.png;0;0
-images/cell0836.png;0;0
-images/cell0784.png;0;0
-images/cell2163.png;0;0
-images/cell1952.png;0;0
-images/cell2490.png;0;0
-images/cell0428.png;1;0
-images/cell1960.png;0;0
-images/cell2233.png;0;0
-images/cell0629.png;0;0
-images/cell0842.png;1;0
-images/cell0343.png;1;0
-images/cell1788.png;0;0
-images/cell2290.png;0;0
-images/cell0997.png;0;0
-images/cell0648.png;0;0
-images/cell1107.png;0;0
-images/cell0877.png;1;0
-images/cell2126.png;0;0
-images/cell0065.png;0;0
-images/cell1744.png;0;0
-images/cell1146.png;0;0
-images/cell0962.png;0;0
-images/cell0899.png;1;0
-images/cell1105.png;0;0
-images/cell2488.png;0;0
-images/cell2352.png;0;0
-images/cell1216.png;0;0
-images/cell1478.png;0;0
-images/cell1505.png;0;0
-images/cell1465.png;0;0
-images/cell2198.png;0;0
-images/cell2091.png;0;0
-images/cell0031.png;0;0
-images/cell1860.png;0;0
-images/cell1553.png;0;0
-images/cell1179.png;1;0
-images/cell1028.png;0;0
-images/cell1006.png;0;0
-images/cell1720.png;0;0
-images/cell2156.png;0;0
-images/cell1147.png;1;0
-images/cell1859.png;0;0
-images/cell0336.png;0;0
-images/cell0020.png;1;0
-images/cell1009.png;0;0
-images/cell1781.png;0;0
-images/cell1996.png;0;0
-images/cell1612.png;0;0
-images/cell1087.png;0;0
-images/cell1112.png;0;0
-images/cell0713.png;1;0
-images/cell0430.png;1;1
-images/cell0422.png;1;0
-images/cell1828.png;0;0
-images/cell0302.png;0;0
-images/cell0334.png;0;0
-images/cell0109.png;0;0
-images/cell2118.png;0;0
-images/cell0812.png;0;0
-images/cell2143.png;0;0
-images/cell2392.png;1;0
-images/cell0501.png;1;1
-images/cell2046.png;0;0
-images/cell2540.png;0;0
-images/cell0146.png;1;0
-images/cell1493.png;0;0
-images/cell2449.png;0;0
-images/cell2507.png;0;0
-images/cell0012.png;1;0
-images/cell1005.png;0;0
-images/cell0273.png;0;0
-images/cell0261.png;1;0
-images/cell1135.png;0;0
-images/cell1569.png;0;0
-images/cell0893.png;0;0
-images/cell0216.png;0;0
-images/cell2511.png;0;0
-images/cell1443.png;0;0
-images/cell2562.png;0;0
-images/cell0693.png;1;0
-images/cell1774.png;0;0
-images/cell2303.png;0;0
-images/cell0530.png;0;1
-images/cell0599.png;0;0
-images/cell1377.png;0;0
-images/cell1955.png;0;0
-images/cell1404.png;1;0
-images/cell1793.png;0;0
-images/cell1213.png;0;0
-images/cell0364.png;1;1
-images/cell0159.png;0;0
-images/cell0973.png;0;0
-images/cell1277.png;0;0
-images/cell2264.png;0;0
-images/cell2055.png;1;0
-images/cell0809.png;0;0
-images/cell0746.png;0;0
-images/cell2111.png;0;0
-images/cell2602.png;0;0
-images/cell1308.png;1;0
-images/cell0982.png;0;0
-images/cell2404.png;0;0
-images/cell1027.png;0;0
-images/cell2447.png;0;0
-images/cell0929.png;0;0
-images/cell2316.png;0;0
-images/cell1964.png;0;0
-images/cell1405.png;1;0
-images/cell0502.png;1;0
-images/cell0703.png;0;0
-images/cell0470.png;1;0
-images/cell0384.png;1;0
-images/cell0076.png;1;0
-images/cell0459.png;1;0
-images/cell0759.png;1;0
-images/cell1393.png;1;0
-images/cell2181.png;0;0
-images/cell0244.png;1;1
-images/cell2390.png;0;0
-images/cell2376.png;0;0
-images/cell1570.png;0;0
-images/cell0518.png;0;0
-images/cell0938.png;0;0
-images/cell0319.png;1;0
-images/cell0954.png;0;0
-images/cell0720.png;0;0
-images/cell0998.png;0;0
-images/cell0118.png;0;0
-images/cell0712.png;0;0
-images/cell2228.png;0;0
-images/cell1915.png;0;0
-images/cell1824.png;0;0
-images/cell0601.png;1;0
-images/cell1783.png;0;0
-images/cell1625.png;1;1
-images/cell1877.png;0;0
-images/cell0860.png;1;0
-images/cell1324.png;0;0
-images/cell0932.png;0;0
-images/cell1163.png;0;0
-images/cell1261.png;0;0
-images/cell2542.png;0;0
-images/cell2225.png;0;0
-images/cell2559.png;0;0
-images/cell0466.png;1;1
-images/cell1542.png;0;0
-images/cell1091.png;0;0
-images/cell1037.png;0;0
-images/cell1452.png;0;0
-images/cell1243.png;0;0
-images/cell2226.png;0;0
-images/cell1814.png;0;0
-images/cell0535.png;1;0
-images/cell1958.png;0;0
-images/cell1873.png;0;0
-images/cell0687.png;0;0
-images/cell2421.png;0;0
-images/cell2066.png;0;0
-images/cell1693.png;0;0
-images/cell0658.png;0;0
-images/cell2191.png;0;0
-images/cell2595.png;0;0
-images/cell2477.png;0;0
-images/cell1480.png;0;0
-images/cell0995.png;0;0
-images/cell0972.png;0;0
-images/cell2306.png;0;0
-images/cell2347.png;0;0
-images/cell0959.png;0;0
-images/cell1011.png;0;0
-images/cell2528.png;0;0
-images/cell0299.png;1;0
-images/cell2603.png;0;0
-images/cell2349.png;0;0
-images/cell0437.png;0;1
-images/cell2351.png;0;0
-images/cell0206.png;1;0
-images/cell1838.png;0;0
-images/cell0004.png;0;0
-images/cell0463.png;1;0
-images/cell1068.png;0;0
-images/cell2166.png;0;0
-images/cell0028.png;1;0
-images/cell0675.png;1;0
-images/cell1025.png;0;0
-images/cell2319.png;0;0
-images/cell1887.png;0;0
-images/cell0674.png;1;0
-images/cell2144.png;0;0
-images/cell1937.png;0;0
-images/cell0950.png;0;0
-images/cell2287.png;0;0
-images/cell1244.png;0;0
-images/cell0243.png;1;0
-images/cell1060.png;0;0
-images/cell0552.png;0;0
-images/cell2431.png;1;0
-images/cell1906.png;1;0
-images/cell0213.png;1;0
-images/cell2340.png;0;0
-images/cell1092.png;0;0
-images/cell0465.png;0;0
-images/cell2095.png;0;0
-images/cell0333.png;0;0
-images/cell2314.png;0;0
-images/cell1295.png;0;0
-images/cell0043.png;0;0
-images/cell2420.png;0;0
-images/cell2381.png;0;0
-images/cell2188.png;0;0
-images/cell1489.png;0;0
-images/cell0407.png;1;0
-images/cell2223.png;0;0
-images/cell1375.png;0;0
-images/cell2311.png;0;0
-images/cell0246.png;1;0
-images/cell0833.png;0;0
-images/cell2017.png;1;0
-images/cell0708.png;0;1
-images/cell2422.png;0;0
-images/cell2273.png;0;0
-images/cell2202.png;0;0
-images/cell0100.png;0;0
-images/cell2364.png;0;0
-images/cell1954.png;0;0
-images/cell1117.png;0;0
-images/cell0548.png;0;0
-images/cell1953.png;0;0
-images/cell1701.png;1;0
-images/cell1706.png;0;0
-images/cell2049.png;0;0
-images/cell1294.png;0;0
-images/cell2367.png;0;0
-images/cell1561.png;0;0
-images/cell2458.png;0;0
-images/cell1380.png;0;0
-images/cell1256.png;0;0
-images/cell1422.png;0;0
-images/cell1214.png;0;0
-images/cell2081.png;1;0
-images/cell0077.png;1;0
-images/cell0201.png;0;1
-images/cell2401.png;0;0
-images/cell0988.png;0;0
-images/cell2386.png;0;0
-images/cell1657.png;1;1
-images/cell1201.png;0;0
-images/cell0218.png;0;0
-images/cell2341.png;0;0
-images/cell0895.png;0;0
-images/cell1910.png;0;0
-images/cell2168.png;0;0
-images/cell1396.png;1;0
-images/cell1202.png;0;0
-images/cell2411.png;0;0
-images/cell0285.png;1;0
-images/cell1398.png;0;0
-images/cell0923.png;0;0
-images/cell1823.png;0;0
-images/cell0510.png;1;0
-images/cell0084.png;0;0
-images/cell2300.png;0;0
-images/cell2001.png;0;0
-images/cell0178.png;0;0
-images/cell0372.png;1;1
-images/cell0520.png;1;1
-images/cell0660.png;1;1
-images/cell0702.png;0;1
-images/cell1626.png;1;1
-images/cell0039.png;1;1
-images/cell1615.png;1;1
-images/cell0444.png;1;1
-images/cell1414.png;0;0
-images/cell1300.png;0;0
-images/cell1103.png;0;0
diff --git a/exercise4_material/src_to_implement/data.py b/exercise4_material/src_to_implement/data.py
deleted file mode 100644
index 5ec8d6e4bdf00d6b14fe991caa3cf4073d7b31f1..0000000000000000000000000000000000000000
--- a/exercise4_material/src_to_implement/data.py
+++ /dev/null
@@ -1,15 +0,0 @@
-from torch.utils.data import Dataset
-import torch
-from pathlib import Path
-from skimage.io import imread
-from skimage.color import gray2rgb
-import numpy as np
-import torchvision as tv
-
-train_mean = [0.59685254, 0.59685254, 0.59685254]
-train_std = [0.16043035, 0.16043035, 0.16043035]
-
-
-class ChallengeDataset(Dataset):
-    # TODO implement the Dataset class according to the description
-    pass
diff --git a/exercise4_material/src_to_implement/environment.yml b/exercise4_material/src_to_implement/environment.yml
deleted file mode 100644
index ce8e93b9be3003ca6af6652cadefcf82a3228d96..0000000000000000000000000000000000000000
--- a/exercise4_material/src_to_implement/environment.yml
+++ /dev/null
@@ -1,21 +0,0 @@
-name: dl-challenge
-channels:
-  - conda-forge
-  - defaults
-  - pytorch
-dependencies:
-  - python=3.7
-  - numpy<=1.16.4
-  - scipy
-  - pandas
-  - matplotlib
-  - pytorch==1.3.*
-  - torchvision==0.4.*
-  - cuda100
-  - pip
-  - scikit-image
-  - scikit-learn
-  - jupyterlab
-  - tqdm>=4.36
-  - pip:
-    - onnxruntime
diff --git a/exercise4_material/src_to_implement/export_onnx.py b/exercise4_material/src_to_implement/export_onnx.py
deleted file mode 100644
index cfa910d9064ebf3c09dd35bce7a237b8975f190e..0000000000000000000000000000000000000000
--- a/exercise4_material/src_to_implement/export_onnx.py
+++ /dev/null
@@ -1,12 +0,0 @@
-import torch as t
-from trainer import Trainer
-import sys
-import torchvision as tv
-
-epoch = int(sys.argv[1])
-#TODO: Enter your model here
-
-crit = t.nn.BCELoss()
-trainer = Trainer(model, crit)
-trainer.restore_checkpoint(epoch)
-trainer.save_onnx('checkpoint_{:03d}.onnx'.format(epoch))
diff --git a/exercise4_material/src_to_implement/train.py b/exercise4_material/src_to_implement/train.py
deleted file mode 100644
index ef66bab86991655358d894de3f05a2dafd1bc753..0000000000000000000000000000000000000000
--- a/exercise4_material/src_to_implement/train.py
+++ /dev/null
@@ -1,34 +0,0 @@
-import torch as t
-from data import ChallengeDataset
-from trainer import Trainer
-from matplotlib import pyplot as plt
-import numpy as np
-import model
-import pandas as pd
-from sklearn.model_selection import train_test_split
-
-
-# load the data from the csv file and perform a train-test-split
-# this can be accomplished using the already imported pandas and sklearn.model_selection modules
-# TODO
-
-# set up data loading for the training and validation set each using t.utils.data.DataLoader and ChallengeDataset objects
-# TODO
-
-# create an instance of our ResNet model
-# TODO
-
-# set up a suitable loss criterion (you can find a pre-implemented loss functions in t.nn)
-# set up the optimizer (see t.optim)
-# create an object of type Trainer and set its early stopping criterion
-# TODO
-
-# go, go, go... call fit on trainer
-res = #TODO
-
-# plot the results
-plt.plot(np.arange(len(res[0])), res[0], label='train loss')
-plt.plot(np.arange(len(res[1])), res[1], label='val loss')
-plt.yscale('log')
-plt.legend()
-plt.savefig('losses.png')
\ No newline at end of file
diff --git a/exercise4_material/src_to_implement/trainer.py b/exercise4_material/src_to_implement/trainer.py
deleted file mode 100644
index 87f6ae640c4c85a7bc71cebc0efa3e6bc946c54e..0000000000000000000000000000000000000000
--- a/exercise4_material/src_to_implement/trainer.py
+++ /dev/null
@@ -1,108 +0,0 @@
-import torch as t
-from sklearn.metrics import f1_score
-from tqdm.autonotebook import tqdm
-
-
-class Trainer:
-
-    def __init__(self,
-                 model,                        # Model to be trained.
-                 crit,                         # Loss function
-                 optim=None,                   # Optimizer
-                 train_dl=None,                # Training data set
-                 val_test_dl=None,             # Validation (or test) data set
-                 cuda=True,                    # Whether to use the GPU
-                 early_stopping_patience=-1):  # The patience for early stopping
-        self._model = model
-        self._crit = crit
-        self._optim = optim
-        self._train_dl = train_dl
-        self._val_test_dl = val_test_dl
-        self._cuda = cuda
-
-        self._early_stopping_patience = early_stopping_patience
-
-        if cuda:
-            self._model = model.cuda()
-            self._crit = crit.cuda()
-            
-    def save_checkpoint(self, epoch):
-        t.save({'state_dict': self._model.state_dict()}, 'checkpoints/checkpoint_{:03d}.ckp'.format(epoch))
-    
-    def restore_checkpoint(self, epoch_n):
-        ckp = t.load('checkpoints/checkpoint_{:03d}.ckp'.format(epoch_n), 'cuda' if self._cuda else None)
-        self._model.load_state_dict(ckp['state_dict'])
-        
-    def save_onnx(self, fn):
-        m = self._model.cpu()
-        m.eval()
-        x = t.randn(1, 3, 300, 300, requires_grad=True)
-        y = self._model(x)
-        t.onnx.export(m,                 # model being run
-              x,                         # model input (or a tuple for multiple inputs)
-              fn,                        # where to save the model (can be a file or file-like object)
-              export_params=True,        # store the trained parameter weights inside the model file
-              opset_version=10,          # the ONNX version to export the model to
-              do_constant_folding=True,  # whether to execute constant folding for optimization
-              input_names = ['input'],   # the model's input names
-              output_names = ['output'], # the model's output names
-              dynamic_axes={'input' : {0 : 'batch_size'},    # variable lenght axes
-                            'output' : {0 : 'batch_size'}})
-            
-    def train_step(self, x, y):
-        # perform following steps:
-        # -reset the gradients. By default, PyTorch accumulates (sums up) gradients when backward() is called. This behavior is not required here, so you need to ensure that all the gradients are zero before calling the backward.
-        # -propagate through the network
-        # -calculate the loss
-        # -compute gradient by backward propagation
-        # -update weights
-        # -return the loss
-        #TODO
-        
-        
-    
-    def val_test_step(self, x, y):
-        
-        # predict
-        # propagate through the network and calculate the loss and predictions
-        # return the loss and the predictions
-        #TODO
-        
-    def train_epoch(self):
-        # set training mode
-        # iterate through the training set
-        # transfer the batch to "cuda()" -> the gpu if a gpu is given
-        # perform a training step
-        # calculate the average loss for the epoch and return it
-        #TODO
-    
-    def val_test(self):
-        # set eval mode. Some layers have different behaviors during training and testing (for example: Dropout, BatchNorm, etc.). To handle those properly, you'd want to call model.eval()
-        # disable gradient computation. Since you don't need to update the weights during testing, gradients aren't required anymore. 
-        # iterate through the validation set
-        # transfer the batch to the gpu if given
-        # perform a validation step
-        # save the predictions and the labels for each batch
-        # calculate the average loss and average metrics of your choice. You might want to calculate these metrics in designated functions
-        # return the loss and print the calculated metrics
-        #TODO
-        
-    
-    def fit(self, epochs=-1):
-        assert self._early_stopping_patience > 0 or epochs > 0
-        # create a list for the train and validation losses, and create a counter for the epoch 
-        #TODO
-        
-        while True:
-      
-            # stop by epoch number
-            # train for a epoch and then calculate the loss and metrics on the validation set
-            # append the losses to the respective lists
-            # use the save_checkpoint function to save the model (can be restricted to epochs with improvement)
-            # check whether early stopping should be performed using the early stopping criterion and stop if so
-            # return the losses for both training and validation
-        #TODO
-                    
-        
-        
-        
diff --git a/exercise4_material/troubleshooting_cip.pdf b/exercise4_material/troubleshooting_cip.pdf
deleted file mode 100644
index 6df92243d99081924db7b48f25265802bc9e3dfd..0000000000000000000000000000000000000000
Binary files a/exercise4_material/troubleshooting_cip.pdf and /dev/null differ