Repository: feagi/feagi (language: python)

Issue:
Updates from Neuraville Inc
This PR syncs with latest Neuraville Inc. development code.


Discussion / hints:

Fix patch:
diff --git a/.github/workflows/PRIVATE_deploy_feagi_dev_to_nrs.yml b/.github/workflows/PRIVATE_deploy_feagi_dev_to_nrs.yml
deleted file mode 100644
index 0cc449c2a..000000000
--- a/.github/workflows/PRIVATE_deploy_feagi_dev_to_nrs.yml
+++ /dev/null
@@ -1,77 +0,0 @@
-name: Contribute to NRS FEAGI
-
-on:
-  workflow_dispatch:
-  push:
-    paths-ignore:
-      - '.github/workflows/**'
-    branches:
-      - pre-nrs
-
-jobs:
-  sync:
-    runs-on: ubuntu-latest
-
-    steps:
-    - name: Check out Neuraville code
-      uses: actions/checkout@v4
-      with:
-        sparse-checkout: .
-        fetch-depth: 0
-        path: neuraville-feagi
-
-    - name: Generate branch name
-      run: echo "BRANCH_NAME=neuraville-$(date +'%Y-%m-%d-%H-%M-%S')" >> $GITHUB_ENV
-
-    - name: Check out NRS code
-      uses: actions/checkout@v4
-      with:
-        sparse-checkout: .
-        fetch-depth: 0
-        repository: Neuraville/nrs-feagi
-        path: nrs-feagi
-        token: ${{ secrets.NRS_PAT }}
-
-    - name: Setup Git Identity for Merge
-      run: |
-        cd nrs-feagi
-        git config user.email "dev@neuraville.com"
-        git config user.name "NeuravilleDeveloper"
-
-
-    - name: Merge Neuraville code into NRS code
-      run: |
-        cd nrs-feagi
-        git remote add neuraville ../neuraville-feagi
-        git fetch neuraville
-        git merge neuraville/pre-nrs --allow-unrelated-histories
-
-    - name: Check for merge conflicts
-      run: |
-        if git diff --name-only --diff-filter=U | grep -q .; then
-          echo "Merge conflicts detected!"
-          exit 1
-        fi
-
-    - name: Setup Git with PAT and commit changes
-      run: |
-        cd nrs-feagi
-        git config user.email "dev@neuraville.com"
-        git config user.name "NeuravilleDeveloper"
-        git remote | grep public && git remote remove public
-        git remote add nrs https://NeuravilleDeveloper:${{ secrets.NRS_PAT }}@github.com/Neuraville/nrs-feagi.git
-        git checkout $BRANCH_NAME || git checkout -b $BRANCH_NAME
-        git diff --exit-code || git commit -m "Sync with pre-nrs excluding .env and .github directory changes"
-        git push nrs ${{ env.BRANCH_NAME }}
-
-    - name: Create PR using GitHub CLI
-      run: |
-        gh auth login --with-token <<< "${{ secrets.NRS_PAT }}"
-        gh pr create \
-          --repo Neuraville/nrs-feagi \
-          --base staging \
-          --head ${{ env.BRANCH_NAME }} \
-          --title "Updates from Neuraville Inc." \
-          --body "This PR syncs with latest Neuraville Inc. development code."
-      env:
-        GH_CLI_TOKEN: ${{ secrets.NRS_PAT }}
diff --git a/.github/workflows/deploy_feagi_dev_to_nrs___PRIVATE.yml b/.github/workflows/deploy_feagi_dev_to_nrs___PRIVATE.yml
deleted file mode 100644
index 0cc449c2a..000000000
--- a/.github/workflows/deploy_feagi_dev_to_nrs___PRIVATE.yml
+++ /dev/null
@@ -1,77 +0,0 @@
-name: Contribute to NRS FEAGI
-
-on:
-  workflow_dispatch:
-  push:
-    paths-ignore:
-      - '.github/workflows/**'
-    branches:
-      - pre-nrs
-
-jobs:
-  sync:
-    runs-on: ubuntu-latest
-
-    steps:
-    - name: Check out Neuraville code
-      uses: actions/checkout@v4
-      with:
-        sparse-checkout: .
-        fetch-depth: 0
-        path: neuraville-feagi
-
-    - name: Generate branch name
-      run: echo "BRANCH_NAME=neuraville-$(date +'%Y-%m-%d-%H-%M-%S')" >> $GITHUB_ENV
-
-    - name: Check out NRS code
-      uses: actions/checkout@v4
-      with:
-        sparse-checkout: .
-        fetch-depth: 0
-        repository: Neuraville/nrs-feagi
-        path: nrs-feagi
-        token: ${{ secrets.NRS_PAT }}
-
-    - name: Setup Git Identity for Merge
-      run: |
-        cd nrs-feagi
-        git config user.email "dev@neuraville.com"
-        git config user.name "NeuravilleDeveloper"
-
-
-    - name: Merge Neuraville code into NRS code
-      run: |
-        cd nrs-feagi
-        git remote add neuraville ../neuraville-feagi
-        git fetch neuraville
-        git merge neuraville/pre-nrs --allow-unrelated-histories
-
-    - name: Check for merge conflicts
-      run: |
-        if git diff --name-only --diff-filter=U | grep -q .; then
-          echo "Merge conflicts detected!"
-          exit 1
-        fi
-
-    - name: Setup Git with PAT and commit changes
-      run: |
-        cd nrs-feagi
-        git config user.email "dev@neuraville.com"
-        git config user.name "NeuravilleDeveloper"
-        git remote | grep public && git remote remove public
-        git remote add nrs https://NeuravilleDeveloper:${{ secrets.NRS_PAT }}@github.com/Neuraville/nrs-feagi.git
-        git checkout $BRANCH_NAME || git checkout -b $BRANCH_NAME
-        git diff --exit-code || git commit -m "Sync with pre-nrs excluding .env and .github directory changes"
-        git push nrs ${{ env.BRANCH_NAME }}
-
-    - name: Create PR using GitHub CLI
-      run: |
-        gh auth login --with-token <<< "${{ secrets.NRS_PAT }}"
-        gh pr create \
-          --repo Neuraville/nrs-feagi \
-          --base staging \
-          --head ${{ env.BRANCH_NAME }} \
-          --title "Updates from Neuraville Inc." \
-          --body "This PR syncs with latest Neuraville Inc. development code."
-      env:
-        GH_CLI_TOKEN: ${{ secrets.NRS_PAT }}
diff --git a/.github/workflows/update_dev_feagi.yml b/.github/workflows/update_dev_feagi.yml
deleted file mode 100644
index 4c2128728..000000000
--- a/.github/workflows/update_dev_feagi.yml
+++ /dev/null
@@ -1,18 +0,0 @@
-name: Update dev gcr FEAGI
-on:
-  push:
-    branches:
-      - staging
-    paths:
-      - 'src/**'
-      - 'generate_version.sh'
-  workflow_dispatch:
-
-jobs:
-  Build:
-    runs-on: ubuntu-latest
-
-    steps:
-    - name: testing
-      run: |
-        ls
diff --git a/DEVELOP.md b/DEVELOP.md
deleted file mode 100644
index e69de29bb..000000000
diff --git a/README.md b/README.md
index 5f9127e6c..20395083e 100644
--- a/README.md
+++ b/README.md
@@ -2,7 +2,7 @@
 
 * For the most up to date information about our platform and approach, please reference our [Wiki](https://github.com/feagi/feagi/wiki).
 * To get started using our platform please follow our [**Deployment Guide**](https://github.com/feagi/feagi/wiki/Deployment-(for-the-public)) and start by following our [**tutorials**](https://github.com/feagi/feagi/wiki/Tutorials)
-* To learn more and get involved in the community, join our the FEAGI [LinkedIn group](https://www.linkedin.com/groups/12777894/).
+* To learn more and get involved in the community, join our the FEAGI [Linkedin group](https://www.linkedin.com/groups/12777894/).
 
 # About FEAGI
 The Framework for Evolutionary Artificial General Intelligence (FEAGI) is an open-source framework designed from the 
diff --git a/docker/Dockerfile.private b/docker/archive/Dockerfile.private
similarity index 100%
rename from docker/Dockerfile.private
rename to docker/archive/Dockerfile.private
diff --git a/docker/README.md b/docker/archive/README.md
similarity index 100%
rename from docker/README.md
rename to docker/archive/README.md
diff --git a/docker/_static/docker_setting.png b/docker/archive/_static/docker_setting.png
similarity index 100%
rename from docker/_static/docker_setting.png
rename to docker/archive/_static/docker_setting.png
diff --git a/docker/apple_silicon_feagi.yml b/docker/archive/apple_silicon_feagi.yml
similarity index 100%
rename from docker/apple_silicon_feagi.yml
rename to docker/archive/apple_silicon_feagi.yml
diff --git a/docker/check_playground_images.py b/docker/archive/check_playground_images.py
similarity index 100%
rename from docker/check_playground_images.py
rename to docker/archive/check_playground_images.py
diff --git a/docker/feagi.private.yml b/docker/archive/feagi.private.yml
similarity index 100%
rename from docker/feagi.private.yml
rename to docker/archive/feagi.private.yml
diff --git a/docker/feagi.yml b/docker/archive/feagi.yml
similarity index 100%
rename from docker/feagi.yml
rename to docker/archive/feagi.yml
diff --git a/docker/templates/full_template.yml b/docker/archive/templates/full_template.yml
similarity index 100%
rename from docker/templates/full_template.yml
rename to docker/archive/templates/full_template.yml
diff --git a/generate_version.sh b/generate_version.sh
index fec5f0915..dff87776f 100755
--- a/generate_version.sh
+++ b/generate_version.sh
@@ -4,8 +4,12 @@
 file_path="version.py"
 line_number="1"
 
-# Get current UNIX timestamp
-timestamp=$(date +%s)
-full_line="__version__ = '0$timestamp'"
+# Get current git tag from release in the repo
+git fetch
+current_tag_version=$(git tag | sort -V | tail -n 1)
+if [ -z "$current_tag_version" ]; then
+    current_tag_version="---"
+fi
+full_line="__version__ = '$current_tag_version'"
 
 sed -i "${line_number}s/.*/$full_line/" "$file_path"
diff --git a/src/api/message_processor.py b/src/api/message_processor.py
index 7f42d4f1a..90d61f7a2 100644
--- a/src/api/message_processor.py
+++ b/src/api/message_processor.py
@@ -35,14 +35,15 @@ def api_message_processor(api_message):
     """
     Processes the incoming API calls to FEAGI
     """
-    # if 'burst_management' in api_message:
-    #     if 'burst_duration' in api_message['burst_management']:
-    #         if api_message['burst_management']['burst_duration'] is not None:
-    #             runtime_data.burst_timer = api_message['burst_management']['burst_duration']
-    #             runtime_data.genome['burst_delay'] = runtime_data.burst_timer
-
-    # if 'stimulation_script' in api_message:
-    #     runtime_data.stimulation_script = api_message['stimulation_script']['stimulation_script']
+
+    if 'burst_management' in api_message:
+        if 'burst_duration' in api_message['burst_management']:
+            if api_message['burst_management']['burst_duration'] is not None:
+                runtime_data.burst_timer = api_message['burst_management']['burst_duration']
+                runtime_data.genome['physiology']['burst_delay'] = runtime_data.burst_timer
+
+    if 'stimulation_script' in api_message:
+        runtime_data.stimulation_script = api_message['stimulation_script']['stimulation_script']
 
     if 'log_management' in api_message:
         if 'print_cortical_activity_counters' in api_message['log_management']:
diff --git a/src/api/routers/v1/cortical_area.py b/src/api/routers/v1/cortical_area.py
index a04447ae4..d008b8163 100644
--- a/src/api/routers/v1/cortical_area.py
+++ b/src/api/routers/v1/cortical_area.py
@@ -61,12 +61,12 @@ async def fetch_cortical_properties(cortical_id: CorticalId):
                 "cortical_neuron_per_vox_count": cortical_data['per_voxel_neuron_cnt'],
                 "cortical_visibility": cortical_data['visualization'],
                 "cortical_synaptic_attractivity": cortical_data['synapse_attractivity'],
-                "cortical_coordinates": [
+                "coordinates_3d": [
                     cortical_data["relative_coordinate"][0],
                     cortical_data["relative_coordinate"][1],
                     cortical_data["relative_coordinate"][2]
                 ],
-                "cortical_coordinates_2d": [
+                "coordinates_2d": [
                     cortical_data["2d_coordinate"][0],
                     cortical_data["2d_coordinate"][1]
                 ],
diff --git a/src/api/routers/v1/feagi_agent.py b/src/api/routers/v1/feagi_agent.py
index d3401010c..7f25fcc6c 100644
--- a/src/api/routers/v1/feagi_agent.py
+++ b/src/api/routers/v1/feagi_agent.py
@@ -99,6 +99,7 @@ async def agent_registration(request: Request, agent_type: str, agent_id: str, a
 
     print(f"AGENT Details -- {agent_info}")
     runtime_data.agent_registry[agent_id] = agent_info
+    runtime_data.host_info[agent_id] = agent_info
 
     print("New agent has been successfully registered:", runtime_data.agent_registry[agent_id])
     agent_info = runtime_data.agent_registry[agent_id].copy()
diff --git a/src/api/routers/v1/genome.py b/src/api/routers/v1/genome.py
index 989f44f54..01e352966 100644
--- a/src/api/routers/v1/genome.py
+++ b/src/api/routers/v1/genome.py
@@ -17,15 +17,18 @@
 import os
 import json
 
-from fastapi import APIRouter, UploadFile, File, HTTPException
+from fastapi import APIRouter, UploadFile, File, HTTPException, Depends
 from starlette.responses import FileResponse
 
 from ...schemas import *
 from ...commons import *
+from ...dependencies import check_active_genome
 
 from src.inf import runtime_data
-from src.evo.genome_processor import genome_2_1_convertor
+from src.evo.genome_editor import save_genome
+from src.evo.genome_processor import genome_2_1_convertor, genome_v1_v2_converter
 from src.evo.stats import circuit_size
+from src.inf.initialize import generate_cortical_dimensions_by_id
 
 
 router = APIRouter()
@@ -92,12 +95,15 @@ async def genome_string_upload(genome: dict):
 
 
 @router.get("/download")
-async def genome_download():
+async def genome_download(_: str = Depends(check_active_genome)):
     print("Downloading Genome...")
-
+    print("==========================>>>>\n", runtime_data.genome)
+    save_genome(genome=genome_v1_v2_converter(runtime_data.genome),
+                file_name=runtime_data.connectome_path + "genome.json")
     file_name = "genome_" + datetime.now().strftime("%Y_%m_%d-%I:%M:%S_%p") + ".json"
     print(file_name)
     if runtime_data.genome:
+        runtime_data.changes_saved_externally = True
         return FileResponse(path=runtime_data.connectome_path + "genome.json", filename=file_name)
     else:
         raise HTTPException(status_code=400, detail="No running genome found!")
diff --git a/src/api/routers/v1/neuroplasticity.py b/src/api/routers/v1/neuroplasticity.py
index 41f4c176c..4c61e81c6 100644
--- a/src/api/routers/v1/neuroplasticity.py
+++ b/src/api/routers/v1/neuroplasticity.py
@@ -27,7 +27,7 @@ async def show_plasticity_queue_depth():
     """
     Returns the current plasticity queue depth value
     """
-    return runtime_data.genome["plasticity_queue_depth"]
+    return runtime_data.genome["physiology"]["plasticity_queue_depth"]
 
 
 @router.put("/plasticity_queue_depth")
@@ -35,4 +35,4 @@ async def update_plasticity_queue_depth(queue_depth: int):
     """
     Enables changes against various Burst Engine parameters.
     """
-    runtime_data.genome["plasticity_queue_depth"] = queue_depth
+    runtime_data.genome["physiology"]["plasticity_queue_depth"] = queue_depth
diff --git a/src/api/routers/v1/system.py b/src/api/routers/v1/system.py
index 21e790f98..0ed8b763d 100644
--- a/src/api/routers/v1/system.py
+++ b/src/api/routers/v1/system.py
@@ -49,18 +49,24 @@ def get_versions():
 async def feagi_health_check():
     health = dict()
     health["burst_engine"] = not runtime_data.exit_condition
+
+    health["connected_agents"] = runtime_data.connected_agents
+
     if runtime_data.influxdb:
         health["influxdb_availability"] = True
     else:
         health["influxdb_availability"] = False
     health["neuron_count_max"] = runtime_data.parameters["Limits"]["max_neuron_count"]
     health["synapse_count_max"] = runtime_data.parameters["Limits"]["max_synapse_count"]
+    health["latest_changes_saved_externally"] = runtime_data.changes_saved_externally
 
     if runtime_data.genome:
         health["genome_availability"] = True
         connectome_neuron_count = runtime_data.brain_stats["neuron_count"]
         connectome_synapse_count = runtime_data.brain_stats["synapse_count"]
         connectome_size = 3E-08 * connectome_neuron_count ** 2 + 0.0011 * connectome_neuron_count + 2.9073
+
+        health["cortical_area_count"] = len(runtime_data.cortical_list)
         health["neuron_count"] = connectome_neuron_count
         health["synapse_count"] = connectome_synapse_count
         health["estimated_brain_size_in_MB"] = connectome_size
diff --git a/src/api/schemas.py b/src/api/schemas.py
index 539243e65..fa316f802 100644
--- a/src/api/schemas.py
+++ b/src/api/schemas.py
@@ -78,8 +78,8 @@ class UpdateCorticalProperties(BaseModel):
     cortical_name: Optional[str]
     cortical_neuron_per_vox_count: Optional[int]
     cortical_visibility: Optional[bool]
-    cortical_coordinates: Optional[list]
-    cortical_coordinates_2d: Optional[list]
+    coordinates_3d: Optional[list]
+    coordinates_2d: Optional[list]
     cortical_dimensions: Optional[list]
     cortical_synaptic_attractivity: Optional[int]
     neuron_post_synaptic_potential: Optional[float]
diff --git a/src/evo/death.py b/src/evo/death.py
index 6b8abd2e5..a71218f7f 100644
--- a/src/evo/death.py
+++ b/src/evo/death.py
@@ -65,8 +65,8 @@ def death_eligibility():
     # Conditions triggering the brain death
 
     # --- Age related ---
-    if 'max_age' in runtime_data.genome:
-        if runtime_data.current_age > runtime_data.genome['max_age']:
+    if 'max_age' in runtime_data.genome["physiology"]:
+        if runtime_data.current_age > runtime_data.genome["physiology"]['max_age']:
             death_condition = True
             print('\n\n\nAge related death has been triggered!\n\n\n')
 
diff --git a/src/evo/defaults/genome/barebones_genome.json b/src/evo/defaults/genome/barebones_genome.json
index ab585068b..48bc6b613 100644
--- a/src/evo/defaults/genome/barebones_genome.json
+++ b/src/evo/defaults/genome/barebones_genome.json
@@ -1,211 +1,1633 @@
 {
-   "genome_id": "2022-07-10_21:53:10_961677_111111_G",
-   "version": "2.0",
-   "max_burst_count": 3,
-   "burst_delay": 1,
-   "max_age": 10000000,
-   "evolution_burst_count": 50,
-   "ipu_idle_threshold": 1000,
-   "physiology": {
-      "plasticity_queue_depth": 3
-   },
-   "neuron_morphologies": {
-      "block_to_block": {
-         "parameters": {
-            "vectors": [
-               [
-                  0,
-                  0,
-                  0
-               ]
-            ]
-         },
-         "type": "vectors"
-      },
-      "decrease_filter_diagonal": {
-         "parameters": {
-            "vectors": [
-               [
-                  0,
-                  1,
-                  1
-               ]
-            ]
-         },
-         "type": "vectors"
-      },
-      "decrease_filter_diagonal2": {
-         "parameters": {
-            "vectors": [
-               [
-                  0,
-                  2,
-                  1
-               ]
-            ]
-         },
-         "type": "vectors"
-      },
-      "increase_filter_diagonal": {
-         "parameters": {
-            "vectors": [
-               [
-                  0,
-                  1,
-                  -1
-               ]
-            ]
-         },
-         "type": "vectors"
-      },
-      "lateral_+x": {
-         "parameters": {
-            "vectors": [
-               [
-                  1,
-                  0,
-                  0
-               ]
-            ]
-         },
-         "type": "vectors"
-      },
-      "lateral_-x": {
-         "parameters": {
-            "vectors": [
-               [
-                  -1,
-                  0,
-                  0
-               ]
-            ]
-         },
-         "type": "vectors"
-      },
-      "lateral_+y": {
-         "parameters": {
-            "vectors": [
-               [
-                  0,
-                  1,
-                  0
-               ]
-            ]
-         },
-         "type": "vectors"
-      },
-      "lateral_-y": {
-         "parameters": {
-            "vectors": [
-               [
-                  0,
-                  -1,
-                  0
-               ]
-            ]
-         },
-         "type": "vectors"
-      },
-      "lateral_+z": {
-         "parameters": {
-            "vectors": [
-               [
-                  0,
-                  0,
-                  1
-               ]
-            ]
-         },
-         "type": "vectors"
-      },
-      "lateral_-z": {
-         "parameters": {
-            "vectors": [
-               [
-                  0,
-                  0,
-                  -1
-               ]
-            ]
-         },
-         "type": "vectors"
-      },
-      "expander_x": {
-         "parameters": {},
-         "type": "functions"
-      },
-      "reducer_x": {
-         "parameters": {},
-         "type": "functions"
-      },
-      "randomizer": {
-         "parameters": {},
-         "type": "functions"
-      }
-   },
-   "species": {
-      "parents": {},
-      "species_id": "",
-      "class": "toy",
-      "brand": "gazebo",
-      "model": "smart_car"
-   },
-   "blueprint": {
-      "_____10c-___pwr-cx-_n_cnt-i": 1,
-      "_____10c-___pwr-cx-synatt-i": 100,
-      "_____10c-___pwr-cx-de_gen-f": 0.0,
-      "_____10c-___pwr-cx-pspuni-b": false,
-      "_____10c-___pwr-nx-pstcrm-f": 35.0,
-      "_____10c-___pwr-cx-dstmap-d": {},
-      "_____10c-___pwr-cx-___bbx-i": 1,
-      "_____10c-___pwr-cx-___bby-i": 1,
-      "_____10c-___pwr-cx-___bbz-i": 1,
-      "_____10c-___pwr-cx-rcordx-i": 10,
-      "_____10c-___pwr-cx-rcordy-i": 0,
-      "_____10c-___pwr-cx-rcordz-i": -20,
-      "_____10c-___pwr-cx-2dcorx-i": null,
-      "_____10c-___pwr-cx-2dcory-i": null,
-      "_____10c-___pwr-cx-gd_vis-b": true,
-      "_____10c-___pwr-nx-pstcr_-f": 500.0,
-      "_____10c-___pwr-nx-plst_c-f": 0.0,
-      "_____10c-___pwr-nx-fire_t-f": 1.0,
-      "_____10c-___pwr-nx-refrac-i": 0,
-      "_____10c-___pwr-nx-leak_c-f": 10.0,
-      "_____10c-___pwr-nx-leak_v-f": 0,
-      "_____10c-___pwr-nx-c_fr_c-i": 3,
-      "_____10c-___pwr-nx-snooze-f": 0,
-      "_____10c-___pwr-nx-fthinc-f": 0,
-      "_____10c-___pwr-nx-fthlim-i": 0,
-      "_____10c-___pwr-nx-mp_acc-b": true,
-      "_____10c-___pwr-cx-__name-t": "Brain_Power",
-      "_____10c-___pwr-cx-_group-t": "IPU",
-      "_____10c-_death-cx-_n_cnt-i": 1,
-      "_____10c-_death-cx-synatt-i": 100,
-      "_____10c-_death-cx-de_gen-f": 0.01,
-      "_____10c-_death-cx-pspuni-b": false,
-      "_____10c-_death-nx-pstcrm-f": 35,
-      "_____10c-_death-cx-dstmap-d": {},
-      "_____10c-_death-cx-___bbx-i": 1,
-      "_____10c-_death-cx-___bby-i": 1,
-      "_____10c-_death-cx-___bbz-i": 1,
-      "_____10c-_death-cx-rcordx-i": 10,
-      "_____10c-_death-cx-rcordy-i": 0,
-      "_____10c-_death-cx-rcordz-i": -30,
-      "_____10c-_death-cx-2dcorx-i": null,
-      "_____10c-_death-cx-2dcory-i": null,
-      "_____10c-_death-cx-gd_vis-b": true,
-      "_____10c-_death-nx-pstcr_-f": 5,
-      "_____10c-_death-nx-plst_c-f": 0.06,
-      "_____10c-_death-nx-fire_t-f": 1,
-      "_____10c-_death-nx-refrac-i": 0,
-      "_____10c-_death-nx-leak_c-f": 10,
-      "_____10c-_death-nx-leak_v-f": 0,
-      "_____10c-_death-nx-c_fr_c-i": 3,
-      "_____10c-_death-nx-snooze-f": 0,
-      "_____10c-_death-nx-fthinc-f": 0,
-      "_____10c-_death-nx-fthlim-i": 0,
-      "_____10c-_death-nx-mp_acc-b": false,
-      "_____10c-_death-cx-__name-t": "Brain_Death",
-      "_____10c-_death-cx-_group-t": "IPU"
-   }
+  "genome_id": "2022-07-10_21:53:10_961677_111111_G",
+  "version": "2.0",
+  "neuron_morphologies": {
+    "decrease_filter_diagonal": {
+      "parameters": {
+        "vectors": [
+          [
+            0,
+            1,
+            1
+          ]
+        ]
+      },
+      "type": "vectors",
+      "class": "custom"
+    },
+    "decrease_filter_diagonal2": {
+      "parameters": {
+        "vectors": [
+          [
+            0,
+            2,
+            1
+          ]
+        ]
+      },
+      "type": "vectors",
+      "class": "custom"
+    },
+    "increase_filter_diagonal": {
+      "parameters": {
+        "vectors": [
+          [
+            0,
+            1,
+            -1
+          ]
+        ]
+      },
+      "type": "vectors",
+      "class": "custom"
+    },
+    "increase_filter_diagonal2": {
+      "parameters": {
+        "vectors": [
+          [
+            0,
+            2,
+            -1
+          ]
+        ]
+      },
+      "type": "vectors",
+      "class": "custom"
+    },
+    "to_block_[5, 7, 4]": {
+      "parameters": {
+        "patterns": [
+          [
+            [
+              "*",
+              "*",
+              "*"
+            ],
+            [
+              5,
+              7,
+              4
+            ]
+          ]
+        ]
+      },
+      "type": "patterns",
+      "class": "custom"
+    },
+    "turn_left_level_one": {
+      "parameters": {
+        "patterns": [
+          [
+            [
+              0,
+              0,
+              0
+            ],
+            [
+              0,
+              0,
+              3
+            ]
+          ],
+          [
+            [
+              0,
+              0,
+              0
+            ],
+            [
+              2,
+              0,
+              4
+            ]
+          ],
+          [
+            [
+              0,
+              0,
+              0
+            ],
+            [
+              4,
+              0,
+              3
+            ]
+          ],
+          [
+            [
+              0,
+              0,
+              0
+            ],
+            [
+              6,
+              0,
+              4
+            ]
+          ]
+        ]
+      },
+      "type": "patterns",
+      "class": "custom"
+    },
+    "turn_left_level_two": {
+      "parameters": {
+        "patterns": [
+          [
+            [
+              1,
+              0,
+              0
+            ],
+            [
+              0,
+              0,
+              2
+            ]
+          ],
+          [
+            [
+              1,
+              0,
+              0
+            ],
+            [
+              2,
+              0,
+              4
+            ]
+          ],
+          [
+            [
+              1,
+              0,
+              0
+            ],
+            [
+              4,
+              0,
+              2
+            ]
+          ],
+          [
+            [
+              1,
+              0,
+              0
+            ],
+            [
+              6,
+              0,
+              4
+            ]
+          ]
+        ]
+      },
+      "type": "patterns",
+      "class": "custom"
+    },
+    "turn_left_level_three": {
+      "parameters": {
+        "patterns": [
+          [
+            [
+              2,
+              0,
+              0
+            ],
+            [
+              0,
+              0,
+              1
+            ]
+          ],
+          [
+            [
+              2,
+              0,
+              0
+            ],
+            [
+              2,
+              0,
+              4
+            ]
+          ],
+          [
+            [
+              2,
+              0,
+              0
+            ],
+            [
+              4,
+              0,
+              1
+            ]
+          ],
+          [
+            [
+              2,
+              0,
+              0
+            ],
+            [
+              6,
+              0,
+              4
+            ]
+          ]
+        ]
+      },
+      "type": "patterns",
+      "class": "custom"
+    },
+    "turn_left_level_four": {
+      "parameters": {
+        "patterns": [
+          [
+            [
+              3,
+              0,
+              0
+            ],
+            [
+              0,
+              0,
+              2
+            ]
+          ],
+          [
+            [
+              3,
+              0,
+              0
+            ],
+            [
+              2,
+              0,
+              4
+            ]
+          ],
+          [
+            [
+              3,
+              0,
+              0
+            ],
+            [
+              4,
+              0,
+              2
+            ]
+          ],
+          [
+            [
+              3,
+              0,
+              0
+            ],
+            [
+              6,
+              0,
+              4
+            ]
+          ]
+        ]
+      },
+      "type": "patterns",
+      "class": "custom"
+    },
+    "turn_left_level_five": {
+      "parameters": {
+        "patterns": [
+          [
+            [
+              4,
+              0,
+              0
+            ],
+            [
+              1,
+              0,
+              4
+            ]
+          ],
+          [
+            [
+              4,
+              0,
+              0
+            ],
+            [
+              2,
+              0,
+              4
+            ]
+          ],
+          [
+            [
+              4,
+              0,
+              0
+            ],
+            [
+              5,
+              0,
+              4
+            ]
+          ],
+          [
+            [
+              4,
+              0,
+              0
+            ],
+            [
+              6,
+              0,
+              4
+            ]
+          ]
+        ]
+      },
+      "type": "patterns",
+      "class": "custom"
+    },
+    "turn_right_level_one": {
+      "parameters": {
+        "patterns": [
+          [
+            [
+              0,
+              0,
+              0
+            ],
+            [
+              0,
+              0,
+              4
+            ]
+          ],
+          [
+            [
+              0,
+              0,
+              0
+            ],
+            [
+              2,
+              0,
+              3
+            ]
+          ],
+          [
+            [
+              0,
+              0,
+              0
+            ],
+            [
+              4,
+              0,
+              4
+            ]
+          ],
+          [
+            [
+              0,
+              0,
+              0
+            ],
+            [
+              6,
+              0,
+              3
+            ]
+          ]
+        ]
+      },
+      "type": "patterns",
+      "class": "custom"
+    },
+    "turn_right_level_two": {
+      "parameters": {
+        "patterns": [
+          [
+            [
+              1,
+              0,
+              0
+            ],
+            [
+              0,
+              0,
+              4
+            ]
+          ],
+          [
+            [
+              1,
+              0,
+              0
+            ],
+            [
+              2,
+              0,
+              2
+            ]
+          ],
+          [
+            [
+              1,
+              0,
+              0
+            ],
+            [
+              4,
+              0,
+              4
+            ]
+          ],
+          [
+            [
+              1,
+              0,
+              0
+            ],
+            [
+              6,
+              0,
+              2
+            ]
+          ]
+        ]
+      },
+      "type": "patterns",
+      "class": "custom"
+    },
+    "turn_right_level_three": {
+      "parameters": {
+        "patterns": [
+          [
+            [
+              2,
+              0,
+              0
+            ],
+            [
+              0,
+              0,
+              4
+            ]
+          ],
+          [
+            [
+              2,
+              0,
+              0
+            ],
+            [
+              2,
+              0,
+              1
+            ]
+          ],
+          [
+            [
+              2,
+              0,
+              0
+            ],
+            [
+              4,
+              0,
+              4
+            ]
+          ],
+          [
+            [
+              2,
+              0,
+              0
+            ],
+            [
+              6,
+              0,
+              1
+            ]
+          ]
+        ]
+      },
+      "type": "patterns",
+      "class": "custom"
+    },
+    "turn_right_level_four": {
+      "parameters": {
+        "patterns": [
+          [
+            [
+              3,
+              0,
+              0
+            ],
+            [
+              0,
+              0,
+              4
+            ]
+          ],
+          [
+            [
+              3,
+              0,
+              0
+            ],
+            [
+              2,
+              0,
+              2
+            ]
+          ],
+          [
+            [
+              3,
+              0,
+              0
+            ],
+            [
+              4,
+              0,
+              4
+            ]
+          ],
+          [
+            [
+              3,
+              0,
+              0
+            ],
+            [
+              6,
+              0,
+              2
+            ]
+          ]
+        ]
+      },
+      "type": "patterns",
+      "class": "custom"
+    },
+    "turn_right_level_five": {
+      "parameters": {
+        "patterns": [
+          [
+            [
+              4,
+              0,
+              0
+            ],
+            [
+              0,
+              0,
+              4
+            ]
+          ],
+          [
+            [
+              4,
+              0,
+              0
+            ],
+            [
+              3,
+              0,
+              4
+            ]
+          ],
+          [
+            [
+              4,
+              0,
+              0
+            ],
+            [
+              4,
+              0,
+              4
+            ]
+          ],
+          [
+            [
+              4,
+              0,
+              0
+            ],
+            [
+              7,
+              0,
+              4
+            ]
+          ]
+        ]
+      },
+      "type": "patterns",
+      "class": "custom"
+    },
+    "motor_forward": {
+      "parameters": {
+        "patterns": [
+          [
+            [
+              0,
+              0,
+              0
+            ],
+            [
+              0,
+              0,
+              4
+            ]
+          ],
+          [
+            [
+              0,
+              0,
+              0
+            ],
+            [
+              2,
+              0,
+              4
+            ]
+          ],
+          [
+            [
+              0,
+              0,
+              0
+            ],
+            [
+              4,
+              0,
+              4
+            ]
+          ],
+          [
+            [
+              0,
+              0,
+              0
+            ],
+            [
+              6,
+              0,
+              4
+            ]
+          ]
+        ]
+      },
+      "type": "patterns",
+      "class": "custom"
+    },
+    "motor_backward": {
+      "parameters": {
+        "patterns": [
+          [
+            [
+              0,
+              0,
+              0
+            ],
+            [
+              1,
+              0,
+              4
+            ]
+          ],
+          [
+            [
+              0,
+              0,
+              0
+            ],
+            [
+              3,
+              0,
+              4
+            ]
+          ],
+          [
+            [
+              0,
+              0,
+              0
+            ],
+            [
+              5,
+              0,
+              4
+            ]
+          ],
+          [
+            [
+              0,
+              0,
+              0
+            ],
+            [
+              7,
+              0,
+              4
+            ]
+          ]
+        ]
+      },
+      "type": "patterns",
+      "class": "custom"
+    },
+    "y_consolidator": {
+      "type": "patterns",
+      "parameters": {
+        "patterns": [
+          [
+            [
+              "*",
+              "*",
+              "*"
+            ],
+            [
+              "*",
+              "?",
+              "*"
+            ]
+          ]
+        ]
+      },
+      "class": "custom"
+    },
+    "intensity": {
+      "type": "patterns",
+      "parameters": {
+        "patterns": [
+          [
+            [
+              "*",
+              "*",
+              "*"
+            ],
+            [
+              0,
+              0,
+              "*"
+            ]
+          ]
+        ]
+      },
+      "class": "custom"
+    },
+    "APT_low": {
+      "type": "patterns",
+      "parameters": {
+        "patterns": [
+          [
+            [
+              0,
+              0,
+              7
+            ],
+            [
+              0,
+              0,
+              8
+            ]
+          ]
+        ]
+      },
+      "class": "custom"
+    },
+    "apt_high": {
+      "type": "patterns",
+      "parameters": {
+        "patterns": [
+          [
+            [
+              0,
+              0,
+              2
+            ],
+            [
+              0,
+              0,
+              2
+            ]
+          ]
+        ]
+      },
+      "class": "custom"
+    },
+    "diagonal_proprio": {
+      "type": "vectors",
+      "parameters": {
+        "vectors": [
+          [
+            1,
+            1,
+            0
+          ]
+        ]
+      },
+      "class": "custom"
+    },
+    "right_detect": {
+      "type": "patterns",
+      "parameters": {
+        "patterns": [
+          [
+            [
+              7,
+              "*",
+              0
+            ],
+            [
+              0,
+              0,
+              0
+            ]
+          ]
+        ]
+      },
+      "class": "custom"
+    },
+    "left_detect": {
+      "type": "patterns",
+      "parameters": {
+        "patterns": [
+          [
+            [
+              0,
+              "*",
+              0
+            ],
+            [
+              0,
+              0,
+              0
+            ]
+          ]
+        ]
+      },
+      "class": "custom"
+    },
+    "bbb3": {
+      "type": "vectors",
+      "parameters": {
+        "vectors": [
+          [
+            -1,
+            1,
+            0
+          ]
+        ]
+      },
+      "class": "custom"
+    },
+    "ori_135_deg": {
+      "parameters": {
+        "vectors": [
+          [
+            0,
+            0,
+            0
+          ],
+          [
+            1,
+            -1,
+            0
+          ],
+          [
+            2,
+            -2,
+            0
+          ],
+          [
+            3,
+            -3,
+            0
+          ],
+          [
+            4,
+            -4,
+            0
+          ],
+          [
+            5,
+            -5,
+            0
+          ]
+        ]
+      },
+      "type": "vectors",
+      "class": "custom"
+    },
+    "ori_115": {
+      "parameters": {
+        "vectors": [
+          [
+            0,
+            0,
+            0
+          ],
+          [
+            1,
+            -2,
+            0
+          ],
+          [
+            2,
+            -4,
+            0
+          ],
+          [
+            3,
+            -6,
+            0
+          ],
+          [
+            4,
+            -9,
+            0
+          ],
+          [
+            5,
+            -11,
+            0
+          ]
+        ]
+      },
+      "type": "vectors",
+      "class": "custom"
+    },
+    "ori_0_deg": {
+      "type": "vectors",
+      "parameters": {
+        "vectors": [
+          [
+            0,
+            0,
+            0
+          ],
+          [
+            1,
+            0,
+            0
+          ],
+          [
+            2,
+            0,
+            0
+          ],
+          [
+            3,
+            0,
+            0
+          ],
+          [
+            4,
+            0,
+            0
+          ]
+        ]
+      },
+      "class": "custom"
+    },
+    "ori_90_deg": {
+      "type": "vectors",
+      "parameters": {
+        "vectors": [
+          [
+            0,
+            0,
+            0
+          ],
+          [
+            0,
+            1,
+            0
+          ],
+          [
+            0,
+            2,
+            0
+          ],
+          [
+            0,
+            3,
+            0
+          ],
+          [
+            0,
+            4,
+            0
+          ],
+          [
+            0,
+            5,
+            0
+          ],
+          [
+            0,
+            6,
+            0
+          ],
+          [
+            0,
+            7,
+            0
+          ],
+          [
+            0,
+            8,
+            0
+          ],
+          [
+            0,
+            9,
+            0
+          ]
+        ]
+      },
+      "class": "custom"
+    },
+    "ori_45_deg": {
+      "type": "vectors",
+      "parameters": {
+        "vectors": [
+          [
+            0,
+            0,
+            0
+          ],
+          [
+            1,
+            1,
+            0
+          ],
+          [
+            2,
+            2,
+            0
+          ],
+          [
+            3,
+            3,
+            0
+          ],
+          [
+            4,
+            4,
+            0
+          ],
+          [
+            5,
+            5,
+            0
+          ],
+          [
+            6,
+            6,
+            0
+          ],
+          [
+            7,
+            7,
+            0
+          ],
+          [
+            8,
+            8,
+            0
+          ]
+        ]
+      },
+      "class": "custom"
+    },
+    "ori_60_deg": {
+      "type": "vectors",
+      "parameters": {
+        "vectors": [
+          [
+            0,
+            0,
+            0
+          ],
+          [
+            1,
+            1,
+            0
+          ],
+          [
+            1,
+            2,
+            0
+          ],
+          [
+            2,
+            3,
+            0
+          ],
+          [
+            2,
+            4,
+            0
+          ],
+          [
+            3,
+            5,
+            0
+          ],
+          [
+            3,
+            6,
+            0
+          ],
+          [
+            4,
+            7,
+            0
+          ]
+        ]
+      },
+      "class": "custom"
+    },
+    "block_to_block": {
+      "parameters": {
+        "vectors": [
+          [
+            0,
+            0,
+            0
+          ]
+        ]
+      },
+      "type": "vectors",
+      "class": "core"
+    },
+    "projector": {
+      "parameters": {},
+      "type": "functions",
+      "class": "core"
+    },
+    "memory": {
+      "parameters": {},
+      "type": "functions",
+      "class": "core"
+    },
+    "0-0-0_to_all": {
+      "type": "patterns",
+      "parameters": {
+        "patterns": [
+          [
+            [
+              0,
+              0,
+              0
+            ],
+            [
+              "*",
+              "*",
+              "*"
+            ]
+          ]
+        ]
+      },
+      "class": "core"
+    },
+    "all_to_0-0-0": {
+      "type": "patterns",
+      "parameters": {
+        "patterns": [
+          [
+            [
+              "*",
+              "*",
+              "*"
+            ],
+            [
+              0,
+              0,
+              0
+            ]
+          ]
+        ]
+      },
+      "class": "core"
+    },
+    "all_to_all": {
+      "type": "patterns",
+      "parameters": {
+        "patterns": [
+          [
+            [
+              "?",
+              "?",
+              "?"
+            ],
+            [
+              "*",
+              "*",
+              "*"
+            ]
+          ]
+        ]
+      },
+      "class": "core"
+    },
+    "lateral_+x": {
+      "parameters": {
+        "vectors": [
+          [
+            1,
+            0,
+            0
+          ]
+        ]
+      },
+      "type": "vectors",
+      "class": "core"
+    },
+    "lateral_-x": {
+      "parameters": {
+        "vectors": [
+          [
+            -1,
+            0,
+            0
+          ]
+        ]
+      },
+      "type": "vectors",
+      "class": "core"
+    },
+    "lateral_+y": {
+      "parameters": {
+        "vectors": [
+          [
+            0,
+            1,
+            0
+          ]
+        ]
+      },
+      "type": "vectors",
+      "class": "core"
+    },
+    "lateral_-y": {
+      "parameters": {
+        "vectors": [
+          [
+            0,
+            -1,
+            0
+          ]
+        ]
+      },
+      "type": "vectors",
+      "class": "core"
+    },
+    "lateral_+z": {
+      "parameters": {
+        "vectors": [
+          [
+            0,
+            0,
+            1
+          ]
+        ]
+      },
+      "type": "vectors",
+      "class": "core"
+    },
+    "lateral_-z": {
+      "parameters": {
+        "vectors": [
+          [
+            0,
+            0,
+            -1
+          ]
+        ]
+      },
+      "type": "vectors",
+      "class": "core"
+    },
+    "randomizer": {
+      "parameters": {},
+      "type": "functions",
+      "class": "core"
+    },
+    "expander_x": {
+      "parameters": {},
+      "type": "functions",
+      "class": "core"
+    },
+    "reducer_x": {
+      "parameters": {},
+      "type": "functions",
+      "class": "core"
+    },
+    "lateral_pairs_x": {
+      "parameters": {},
+      "type": "functions",
+      "class": "core"
+    },
+    "tile": {
+      "parameters": {
+        "src_seed": [
+          16,
+          16,
+          1
+        ],
+        "src_pattern": [
+          [
+            1,
+            0
+          ],
+          [
+            1,
+            0
+          ],
+          [
+            1,
+            0
+          ]
+        ],
+        "mapper_morphology": "projector"
+      },
+      "type": "composite",
+      "class": "core"
+    },
+    "0_0_0-_0_0_0": {
+      "type": "patterns",
+      "parameters": {
+        "patterns": [
+          [
+            [
+              0,
+              0,
+              0
+            ],
+            [
+              0,
+              0,
+              0
+            ]
+          ]
+        ]
+      },
+      "morphology_name": "0_0_0-_0_0_0",
+      "class": "custom"
+    },
+    "0_0_0-1_0_0": {
+      "type": "patterns",
+      "parameters": {
+        "patterns": [
+          [
+            [
+              0,
+              0,
+              0
+            ],
+            [
+              1,
+              0,
+              0
+            ]
+          ]
+        ]
+      },
+      "morphology_name": "0_0_0-1_0_0",
+      "class": "custom"
+    },
+    "0_0_0-2_0_0": {
+      "type": "patterns",
+      "parameters": {
+        "patterns": [
+          [
+            [
+              0,
+              0,
+              0
+            ],
+            [
+              2,
+              0,
+              0
+            ]
+          ]
+        ]
+      },
+      "morphology_name": "0_0_0-2_0_0",
+      "class": "custom"
+    },
+    "0_0_0-3_0_0": {
+      "type": "patterns",
+      "parameters": {
+        "patterns": [
+          [
+            [
+              0,
+              0,
+              0
+            ],
+            [
+              3,
+              0,
+              0
+            ]
+          ]
+        ]
+      },
+      "morphology_name": "0_0_0-3_0_0",
+      "class": "custom"
+    },
+    "0_0_0-4_0_0": {
+      "type": "patterns",
+      "parameters": {
+        "patterns": [
+          [
+            [
+              0,
+              0,
+              0
+            ],
+            [
+              4,
+              0,
+              0
+            ]
+          ]
+        ]
+      },
+      "morphology_name": "0_0_0-4_0_0",
+      "class": "custom"
+    },
+    "0_0_0-5_0_0": {
+      "type": "patterns",
+      "parameters": {
+        "patterns": [
+          [
+            [
+              0,
+              0,
+              0
+            ],
+            [
+              5,
+              0,
+              0
+            ]
+          ]
+        ]
+      },
+      "morphology_name": "0_0_0-5_0_0",
+      "class": "custom"
+    },
+    "0_0_0-6_0_0": {
+      "type": "patterns",
+      "parameters": {
+        "patterns": [
+          [
+            [
+              0,
+              0,
+              0
+            ],
+            [
+              6,
+              0,
+              0
+            ]
+          ]
+        ]
+      },
+      "morphology_name": "0_0_0-6_0_0",
+      "class": "custom"
+    },
+    "0_0_0-7_0_0": {
+      "type": "patterns",
+      "parameters": {
+        "patterns": [
+          [
+            [
+              0,
+              0,
+              0
+            ],
+            [
+              7,
+              0,
+              0
+            ]
+          ]
+        ]
+      },
+      "morphology_name": "0_0_0-7_0_0",
+      "class": "custom"
+    }
+  },
+  "hosts": {},
+  "physiology": {
+    "burst_delay": 0.025,
+    "max_age": 10000000,
+    "evolution_burst_count": 50,
+    "ipu_idle_threshold": 1000,
+    "plasticity_queue_depth": 3,
+    "lifespan_mgmt_interval": 10
+  },
+  "stats": {
+    "innate_cortical_area_count": 2,
+    "innate_neuron_count": 2,
+    "innate_synapse_count": 0
+  },
+  "signatures": {
+    "genome": "d56d9bbc7a5e236d",
+    "blueprint": "f5dacb3e0fd9b7d2",
+    "physiology": "5f1e7f587e1af2c8"
+  },
+  "timestamp": 1712971071.904253,
+  "blueprint": {
+    "_____10c-___pwr-cx-subgrp-t": "",
+    "_____10c-___pwr-cx-_n_cnt-i": 1,
+    "_____10c-___pwr-cx-synatt-i": 100,
+    "_____10c-___pwr-cx-de_gen-f": 0,
+    "_____10c-___pwr-cx-pspuni-b": false,
+    "_____10c-___pwr-nx-pstcrm-f": 35,
+    "_____10c-___pwr-cx-dstmap-d": {},
+    "_____10c-___pwr-cx-___bbx-i": 1,
+    "_____10c-___pwr-cx-___bby-i": 1,
+    "_____10c-___pwr-cx-___bbz-i": 1,
+    "_____10c-___pwr-cx-rcordx-i": 10,
+    "_____10c-___pwr-cx-rcordy-i": 0,
+    "_____10c-___pwr-cx-rcordz-i": -20,
+    "_____10c-___pwr-cx-2dcorx-i": null,
+    "_____10c-___pwr-cx-2dcory-i": null,
+    "_____10c-___pwr-cx-gd_vis-b": true,
+    "_____10c-___pwr-nx-pstcr_-f": 500,
+    "_____10c-___pwr-nx-fire_t-f": 1,
+    "_____10c-___pwr-nx-refrac-i": 0,
+    "_____10c-___pwr-nx-leak_c-f": 10,
+    "_____10c-___pwr-nx-leak_v-f": 0,
+    "_____10c-___pwr-nx-c_fr_c-i": 3,
+    "_____10c-___pwr-nx-snooze-f": 0,
+    "_____10c-___pwr-nx-ftincx-f": 0,
+    "_____10c-___pwr-nx-ftincy-f": 0,
+    "_____10c-___pwr-nx-ftincz-f": 0,
+    "_____10c-___pwr-nx-fthlim-i": 0,
+    "_____10c-___pwr-nx-mp_acc-b": true,
+    "_____10c-___pwr-nx-mp_psp-b": false,
+    "_____10c-___pwr-cx-memory-b": false,
+    "_____10c-___pwr-cx-mem__t-i": 100,
+    "_____10c-___pwr-cx-mem_gr-i": 1,
+    "_____10c-___pwr-cx-mem_ls-i": 9,
+    "_____10c-___pwr-nx-excite-i": 100,
+    "_____10c-___pwr-cx-__name-t": "Brain_Power",
+    "_____10c-___pwr-cx-_group-t": "CORE",
+    "_____10c-_death-cx-subgrp-t": "",
+    "_____10c-_death-cx-_n_cnt-i": 1,
+    "_____10c-_death-cx-synatt-i": 100,
+    "_____10c-_death-cx-de_gen-f": 0.01,
+    "_____10c-_death-cx-pspuni-b": false,
+    "_____10c-_death-nx-pstcrm-f": 35,
+    "_____10c-_death-cx-dstmap-d": {},
+    "_____10c-_death-cx-___bbx-i": 1,
+    "_____10c-_death-cx-___bby-i": 1,
+    "_____10c-_death-cx-___bbz-i": 1,
+    "_____10c-_death-cx-rcordx-i": 10,
+    "_____10c-_death-cx-rcordy-i": 0,
+    "_____10c-_death-cx-rcordz-i": -30,
+    "_____10c-_death-cx-2dcorx-i": null,
+    "_____10c-_death-cx-2dcory-i": null,
+    "_____10c-_death-cx-gd_vis-b": true,
+    "_____10c-_death-nx-pstcr_-f": 5,
+    "_____10c-_death-nx-fire_t-f": 1,
+    "_____10c-_death-nx-refrac-i": 0,
+    "_____10c-_death-nx-leak_c-f": 10,
+    "_____10c-_death-nx-leak_v-f": 0,
+    "_____10c-_death-nx-c_fr_c-i": 3,
+    "_____10c-_death-nx-snooze-f": 0,
+    "_____10c-_death-nx-ftincx-f": 0,
+    "_____10c-_death-nx-ftincy-f": 0,
+    "_____10c-_death-nx-ftincz-f": 0,
+    "_____10c-_death-nx-fthlim-i": 0,
+    "_____10c-_death-nx-mp_acc-b": false,
+    "_____10c-_death-nx-mp_psp-b": false,
+    "_____10c-_death-cx-memory-b": false,
+    "_____10c-_death-cx-mem__t-i": 100,
+    "_____10c-_death-cx-mem_gr-i": 1,
+    "_____10c-_death-cx-mem_ls-i": 9,
+    "_____10c-_death-nx-excite-i": 100,
+    "_____10c-_death-cx-__name-t": "Brain_Death",
+    "_____10c-_death-cx-_group-t": "CORE"
+  }
 }
\ No newline at end of file
diff --git a/src/evo/defaults/genome/essential_genome.json b/src/evo/defaults/genome/essential_genome.json
index d12064078..f456d6377 100644
--- a/src/evo/defaults/genome/essential_genome.json
+++ b/src/evo/defaults/genome/essential_genome.json
@@ -1,2586 +1,2671 @@
 {
-   "genome_id": "2022-07-10_21:53:10_961677_111111_G",
-   "version": "2.0",
-   "max_burst_count": 3,
-   "burst_delay": 0.025,
-   "max_age": 10000000,
-   "evolution_burst_count": 50,
-   "ipu_idle_threshold": 1000,
-   "plasticity_queue_depth": 3,
-   "lifespan_mgmt_interval": 10,
-   "neuron_morphologies": {
-      "decrease_filter_diagonal": {
-         "parameters": {
-            "vectors": [
-               [
-                  0,
-                  1,
-                  1
-               ]
-            ]
-         },
-         "type": "vectors"
-      },
-      "decrease_filter_diagonal2": {
-         "parameters": {
-            "vectors": [
-               [
-                  0,
-                  2,
-                  1
-               ]
-            ]
-         },
-         "type": "vectors"
-      },
-      "increase_filter_diagonal": {
-         "parameters": {
-            "vectors": [
-               [
-                  0,
-                  1,
-                  -1
-               ]
-            ]
-         },
-         "type": "vectors"
-      },
-      "increase_filter_diagonal2": {
-         "parameters": {
-            "vectors": [
-               [
-                  0,
-                  2,
-                  -1
-               ]
-            ]
-         },
-         "type": "vectors"
-      },
-      "to_block_[5, 7, 4]": {
-         "parameters": {
-            "patterns": [
-               [
-                  [
-                     "*",
-                     "*",
-                     "*"
-                  ],
-                  [
-                     5,
-                     7,
-                     4
-                  ]
-               ]
-            ]
-         },
-         "type": "patterns"
-      },
-      "turn_left_level_one": {
-         "parameters": {
-            "patterns": [
-               [
-                  [
-                     0,
-                     0,
-                     0
-                  ],
-                  [
-                     0,
-                     0,
-                     3
-                  ]
-               ],
-               [
-                  [
-                     0,
-                     0,
-                     0
-                  ],
-                  [
-                     2,
-                     0,
-                     4
-                  ]
-               ],
-               [
-                  [
-                     0,
-                     0,
-                     0
-                  ],
-                  [
-                     4,
-                     0,
-                     3
-                  ]
-               ],
-               [
-                  [
-                     0,
-                     0,
-                     0
-                  ],
-                  [
-                     6,
-                     0,
-                     4
-                  ]
-               ]
-            ]
-         },
-         "type": "patterns"
-      },
-      "turn_left_level_two": {
-         "parameters": {
-            "patterns": [
-               [
-                  [
-                     1,
-                     0,
-                     0
-                  ],
-                  [
-                     0,
-                     0,
-                     2
-                  ]
-               ],
-               [
-                  [
-                     1,
-                     0,
-                     0
-                  ],
-                  [
-                     2,
-                     0,
-                     4
-                  ]
-               ],
-               [
-                  [
-                     1,
-                     0,
-                     0
-                  ],
-                  [
-                     4,
-                     0,
-                     2
-                  ]
-               ],
-               [
-                  [
-                     1,
-                     0,
-                     0
-                  ],
-                  [
-                     6,
-                     0,
-                     4
-                  ]
-               ]
-            ]
-         },
-         "type": "patterns"
-      },
-      "turn_left_level_three": {
-         "parameters": {
-            "patterns": [
-               [
-                  [
-                     2,
-                     0,
-                     0
-                  ],
-                  [
-                     0,
-                     0,
-                     1
-                  ]
-               ],
-               [
-                  [
-                     2,
-                     0,
-                     0
-                  ],
-                  [
-                     2,
-                     0,
-                     4
-                  ]
-               ],
-               [
-                  [
-                     2,
-                     0,
-                     0
-                  ],
-                  [
-                     4,
-                     0,
-                     1
-                  ]
-               ],
-               [
-                  [
-                     2,
-                     0,
-                     0
-                  ],
-                  [
-                     6,
-                     0,
-                     4
-                  ]
-               ]
-            ]
-         },
-         "type": "patterns"
-      },
-      "turn_left_level_four": {
-         "parameters": {
-            "patterns": [
-               [
-                  [
-                     3,
-                     0,
-                     0
-                  ],
-                  [
-                     0,
-                     0,
-                     2
-                  ]
-               ],
-               [
-                  [
-                     3,
-                     0,
-                     0
-                  ],
-                  [
-                     2,
-                     0,
-                     4
-                  ]
-               ],
-               [
-                  [
-                     3,
-                     0,
-                     0
-                  ],
-                  [
-                     4,
-                     0,
-                     2
-                  ]
-               ],
-               [
-                  [
-                     3,
-                     0,
-                     0
-                  ],
-                  [
-                     6,
-                     0,
-                     4
-                  ]
-               ]
-            ]
-         },
-         "type": "patterns"
-      },
-      "turn_left_level_five": {
-         "parameters": {
-            "patterns": [
-               [
-                  [
-                     4,
-                     0,
-                     0
-                  ],
-                  [
-                     1,
-                     0,
-                     4
-                  ]
-               ],
-               [
-                  [
-                     4,
-                     0,
-                     0
-                  ],
-                  [
-                     2,
-                     0,
-                     4
-                  ]
-               ],
-               [
-                  [
-                     4,
-                     0,
-                     0
-                  ],
-                  [
-                     5,
-                     0,
-                     4
-                  ]
-               ],
-               [
-                  [
-                     4,
-                     0,
-                     0
-                  ],
-                  [
-                     6,
-                     0,
-                     4
-                  ]
-               ]
-            ]
-         },
-         "type": "patterns"
-      },
-      "turn_right_level_one": {
-         "parameters": {
-            "patterns": [
-               [
-                  [
-                     0,
-                     0,
-                     0
-                  ],
-                  [
-                     0,
-                     0,
-                     4
-                  ]
-               ],
-               [
-                  [
-                     0,
-                     0,
-                     0
-                  ],
-                  [
-                     2,
-                     0,
-                     3
-                  ]
-               ],
-               [
-                  [
-                     0,
-                     0,
-                     0
-                  ],
-                  [
-                     4,
-                     0,
-                     4
-                  ]
-               ],
-               [
-                  [
-                     0,
-                     0,
-                     0
-                  ],
-                  [
-                     6,
-                     0,
-                     3
-                  ]
-               ]
-            ]
-         },
-         "type": "patterns"
-      },
-      "turn_right_level_two": {
-         "parameters": {
-            "patterns": [
-               [
-                  [
-                     1,
-                     0,
-                     0
-                  ],
-                  [
-                     0,
-                     0,
-                     4
-                  ]
-               ],
-               [
-                  [
-                     1,
-                     0,
-                     0
-                  ],
-                  [
-                     2,
-                     0,
-                     2
-                  ]
-               ],
-               [
-                  [
-                     1,
-                     0,
-                     0
-                  ],
-                  [
-                     4,
-                     0,
-                     4
-                  ]
-               ],
-               [
-                  [
-                     1,
-                     0,
-                     0
-                  ],
-                  [
-                     6,
-                     0,
-                     2
-                  ]
-               ]
-            ]
-         },
-         "type": "patterns"
-      },
-      "turn_right_level_three": {
-         "parameters": {
-            "patterns": [
-               [
-                  [
-                     2,
-                     0,
-                     0
-                  ],
-                  [
-                     0,
-                     0,
-                     4
-                  ]
-               ],
-               [
-                  [
-                     2,
-                     0,
-                     0
-                  ],
-                  [
-                     2,
-                     0,
-                     1
-                  ]
-               ],
-               [
-                  [
-                     2,
-                     0,
-                     0
-                  ],
-                  [
-                     4,
-                     0,
-                     4
-                  ]
-               ],
-               [
-                  [
-                     2,
-                     0,
-                     0
-                  ],
-                  [
-                     6,
-                     0,
-                     1
-                  ]
-               ]
-            ]
-         },
-         "type": "patterns"
-      },
-      "turn_right_level_four": {
-         "parameters": {
-            "patterns": [
-               [
-                  [
-                     3,
-                     0,
-                     0
-                  ],
-                  [
-                     0,
-                     0,
-                     4
-                  ]
-               ],
-               [
-                  [
-                     3,
-                     0,
-                     0
-                  ],
-                  [
-                     2,
-                     0,
-                     2
-                  ]
-               ],
-               [
-                  [
-                     3,
-                     0,
-                     0
-                  ],
-                  [
-                     4,
-                     0,
-                     4
-                  ]
-               ],
-               [
-                  [
-                     3,
-                     0,
-                     0
-                  ],
-                  [
-                     6,
-                     0,
-                     2
-                  ]
-               ]
-            ]
-         },
-         "type": "patterns"
-      },
-      "turn_right_level_five": {
-         "parameters": {
-            "patterns": [
-               [
-                  [
-                     4,
-                     0,
-                     0
-                  ],
-                  [
-                     0,
-                     0,
-                     4
-                  ]
-               ],
-               [
-                  [
-                     4,
-                     0,
-                     0
-                  ],
-                  [
-                     3,
-                     0,
-                     4
-                  ]
-               ],
-               [
-                  [
-                     4,
-                     0,
-                     0
-                  ],
-                  [
-                     4,
-                     0,
-                     4
-                  ]
-               ],
-               [
-                  [
-                     4,
-                     0,
-                     0
-                  ],
-                  [
-                     7,
-                     0,
-                     4
-                  ]
-               ]
-            ]
-         },
-         "type": "patterns"
-      },
-      "motor_forward": {
-         "parameters": {
-            "patterns": [
-               [
-                  [
-                     0,
-                     0,
-                     0
-                  ],
-                  [
-                     0,
-                     0,
-                     4
-                  ]
-               ],
-               [
-                  [
-                     0,
-                     0,
-                     0
-                  ],
-                  [
-                     2,
-                     0,
-                     4
-                  ]
-               ],
-               [
-                  [
-                     0,
-                     0,
-                     0
-                  ],
-                  [
-                     4,
-                     0,
-                     4
-                  ]
-               ],
-               [
-                  [
-                     0,
-                     0,
-                     0
-                  ],
-                  [
-                     6,
-                     0,
-                     4
-                  ]
-               ]
-            ]
-         },
-         "type": "patterns"
-      },
-      "motor_backward": {
-         "parameters": {
-            "patterns": [
-               [
-                  [
-                     0,
-                     0,
-                     0
-                  ],
-                  [
-                     1,
-                     0,
-                     4
-                  ]
-               ],
-               [
-                  [
-                     0,
-                     0,
-                     0
-                  ],
-                  [
-                     3,
-                     0,
-                     4
-                  ]
-               ],
-               [
-                  [
-                     0,
-                     0,
-                     0
-                  ],
-                  [
-                     5,
-                     0,
-                     4
-                  ]
-               ],
-               [
-                  [
-                     0,
-                     0,
-                     0
-                  ],
-                  [
-                     7,
-                     0,
-                     4
-                  ]
-               ]
-            ]
-         },
-         "type": "patterns"
-      },
-      "y_consolidator": {
-         "type": "patterns",
-         "parameters": {
-            "patterns": [
-               [
-                  [
-                     "*",
-                     "*",
-                     "*"
-                  ],
-                  [
-                     "*",
-                     "?",
-                     "*"
-                  ]
-               ]
-            ]
-         }
-      },
-      "intensity": {
-         "type": "patterns",
-         "parameters": {
-            "patterns": [
-               [
-                  [
-                     "*",
-                     "*",
-                     "*"
-                  ],
-                  [
-                     0,
-                     0,
-                     "*"
-                  ]
-               ]
-            ]
-         }
-      },
-      "APT_low": {
-         "type": "patterns",
-         "parameters": {
-            "patterns": [
-               [
-                  [
-                     0,
-                     0,
-                     7
-                  ],
-                  [
-                     0,
-                     0,
-                     8
-                  ]
-               ]
-            ]
-         }
-      },
-      "apt_high": {
-         "type": "patterns",
-         "parameters": {
-            "patterns": [
-               [
-                  [
-                     0,
-                     0,
-                     2
-                  ],
-                  [
-                     0,
-                     0,
-                     2
-                  ]
-               ]
-            ]
-         }
-      },
-      "diagonal_proprio": {
-         "type": "vectors",
-         "parameters": {
-            "vectors": [
-               [
-                  1,
-                  1,
-                  0
-               ]
-            ]
-         }
-      },
-      "right_detect": {
-         "type": "patterns",
-         "parameters": {
-            "patterns": [
-               [
-                  [
-                     7,
-                     "*",
-                     0
-                  ],
-                  [
-                     0,
-                     0,
-                     0
-                  ]
-               ]
-            ]
-         }
-      },
-      "left_detect": {
-         "type": "patterns",
-         "parameters": {
-            "patterns": [
-               [
-                  [
-                     0,
-                     "*",
-                     0
-                  ],
-                  [
-                     0,
-                     0,
-                     0
-                  ]
-               ]
-            ]
-         }
-      },
-      "bbb3": {
-         "type": "vectors",
-         "parameters": {
-            "vectors": [
-               [
-                  -1,
-                  1,
-                  0
-               ]
-            ]
-         }
-      },
-      "ori_135_deg": {
-         "parameters": {
-            "vectors": [
-               [
-                  0,
-                  0,
-                  0
-               ],
-               [
-                  1,
-                  -1,
-                  0
-               ],
-               [
-                  2,
-                  -2,
-                  0
-               ],
-               [
-                  3,
-                  -3,
-                  0
-               ],
-               [
-                  4,
-                  -4,
-                  0
-               ],
-               [
-                  5,
-                  -5,
-                  0
-               ]
-            ]
-         },
-         "type": "vectors"
-      },
-      "ori_115": {
-         "parameters": {
-            "vectors": [
-               [
-                  0,
-                  0,
-                  0
-               ],
-               [
-                  1,
-                  -2,
-                  0
-               ],
-               [
-                  2,
-                  -4,
-                  0
-               ],
-               [
-                  3,
-                  -6,
-                  0
-               ],
-               [
-                  4,
-                  -9,
-                  0
-               ],
-               [
-                  5,
-                  -11,
-                  0
-               ]
-            ]
-         },
-         "type": "vectors"
-      },
-      "ori_0_deg": {
-         "type": "vectors",
-         "parameters": {
-            "vectors": [
-               [
-                  0,
-                  0,
-                  0
-               ],
-               [
-                  1,
-                  0,
-                  0
-               ],
-               [
-                  2,
-                  0,
-                  0
-               ],
-               [
-                  3,
-                  0,
-                  0
-               ],
-               [
-                  4,
-                  0,
-                  0
-               ]
-            ]
-         }
-      },
-      "ori_90_deg": {
-         "type": "vectors",
-         "parameters": {
-            "vectors": [
-               [
-                  0,
-                  0,
-                  0
-               ],
-               [
-                  0,
-                  1,
-                  0
-               ],
-               [
-                  0,
-                  2,
-                  0
-               ],
-               [
-                  0,
-                  3,
-                  0
-               ],
-               [
-                  0,
-                  4,
-                  0
-               ],
-               [
-                  0,
-                  5,
-                  0
-               ],
-               [
-                  0,
-                  6,
-                  0
-               ],
-               [
-                  0,
-                  7,
-                  0
-               ],
-               [
-                  0,
-                  8,
-                  0
-               ],
-               [
-                  0,
-                  9,
-                  0
-               ]
-            ]
-         }
-      },
-      "ori_45_deg": {
-         "type": "vectors",
-         "parameters": {
-            "vectors": [
-               [
-                  0,
-                  0,
-                  0
-               ],
-               [
-                  1,
-                  1,
-                  0
-               ],
-               [
-                  2,
-                  2,
-                  0
-               ],
-               [
-                  3,
-                  3,
-                  0
-               ],
-               [
-                  4,
-                  4,
-                  0
-               ],
-               [
-                  5,
-                  5,
-                  0
-               ],
-               [
-                  6,
-                  6,
-                  0
-               ],
-               [
-                  7,
-                  7,
-                  0
-               ],
-               [
-                  8,
-                  8,
-                  0
-               ]
-            ]
-         }
-      },
-      "ori_60_deg": {
-         "type": "vectors",
-         "parameters": {
-            "vectors": [
-               [
-                  0,
-                  0,
-                  0
-               ],
-               [
-                  1,
-                  1,
-                  0
-               ],
-               [
-                  1,
-                  2,
-                  0
-               ],
-               [
-                  2,
-                  3,
-                  0
-               ],
-               [
-                  2,
-                  4,
-                  0
-               ],
-               [
-                  3,
-                  5,
-                  0
-               ],
-               [
-                  3,
-                  6,
-                  0
-               ],
-               [
-                  4,
-                  7,
-                  0
-               ]
-            ]
-         }
-      },
-      "block_to_block": {
-         "parameters": {
-            "vectors": [
-               [
-                  0,
-                  0,
-                  0
-               ]
-            ]
-         },
-         "type": "vectors"
-      },
-      "projector": {
-         "parameters": {},
-         "type": "functions"
-      },
-      "memory": {
-         "parameters": {},
-         "type": "functions"
-      },
-      "0-0-0_to_all": {
-         "type": "patterns",
-         "parameters": {
-            "patterns": [
-               [
-                  [
-                     0,
-                     0,
-                     0
-                  ],
-                  [
-                     "*",
-                     "*",
-                     "*"
-                  ]
-               ]
-            ]
-         }
-      },
-      "all_to_0-0-0": {
-         "type": "patterns",
-         "parameters": {
-            "patterns": [
-               [
-                  [
-                     "*",
-                     "*",
-                     "*"
-                  ],
-                  [
-                     0,
-                     0,
-                     0
-                  ]
-               ]
-            ]
-         }
-      },
-      "all_to_all": {
-         "type": "patterns",
-         "parameters": {
-            "patterns": [
-               [
-                  [
-                     "?",
-                     "?",
-                     "?"
-                  ],
-                  [
-                     "*",
-                     "*",
-                     "*"
-                  ]
-               ]
-            ]
-         }
-      },
-      "lateral_+x": {
-         "parameters": {
-            "vectors": [
-               [
-                  1,
-                  0,
-                  0
-               ]
-            ]
-         },
-         "type": "vectors"
-      },
-      "lateral_-x": {
-         "parameters": {
-            "vectors": [
-               [
-                  -1,
-                  0,
-                  0
-               ]
-            ]
-         },
-         "type": "vectors"
-      },
-      "lateral_+y": {
-         "parameters": {
-            "vectors": [
-               [
-                  0,
-                  1,
-                  0
-               ]
-            ]
-         },
-         "type": "vectors"
-      },
-      "lateral_-y": {
-         "parameters": {
-            "vectors": [
-               [
-                  0,
-                  -1,
-                  0
-               ]
-            ]
-         },
-         "type": "vectors"
-      },
-      "lateral_+z": {
-         "parameters": {
-            "vectors": [
-               [
-                  0,
-                  0,
-                  1
-               ]
-            ]
-         },
-         "type": "vectors"
-      },
-      "lateral_-z": {
-         "parameters": {
-            "vectors": [
-               [
-                  0,
-                  0,
-                  -1
-               ]
-            ]
-         },
-         "type": "vectors"
-      },
-      "randomizer": {
-         "parameters": {},
-         "type": "functions"
-      },
-      "expander_x": {
-         "parameters": {},
-         "type": "functions"
-      },
-      "reducer_x": {
-         "parameters": {},
-         "type": "functions"
-      },
-      "lateral_pairs_x": {
-         "parameters": {},
-         "type": "functions"
-      },
-      "tile": {
-         "parameters": {
-            "src_seed": [
-               16,
-               16,
-               1
-            ],
-            "src_pattern": [
-               [
-                  1,
-                  0
-               ],
-               [
-                  1,
-                  0
-               ],
-               [
-                  1,
-                  0
-               ]
-            ],
-            "mapper_morphology": "projector"
-         },
-         "type": "composite"
-      },
-      "0_0_0-_0_0_0": {
-         "type": "patterns",
-         "parameters": {
-            "patterns": [
-               [
-                  [
-                     0,
-                     0,
-                     0
-                  ],
-                  [
-                     0,
-                     0,
-                     0
-                  ]
-               ]
-            ]
-         },
-         "morphology_name": "0_0_0-_0_0_0"
-      },
-      "0_0_0-1_0_0": {
-         "type": "patterns",
-         "parameters": {
-            "patterns": [
-               [
-                  [
-                     0,
-                     0,
-                     0
-                  ],
-                  [
-                     1,
-                     0,
-                     0
-                  ]
-               ]
-            ]
-         },
-         "morphology_name": "0_0_0-1_0_0"
-      },
-      "0_0_0-2_0_0": {
-         "type": "patterns",
-         "parameters": {
-            "patterns": [
-               [
-                  [
-                     0,
-                     0,
-                     0
-                  ],
-                  [
-                     2,
-                     0,
-                     0
-                  ]
-               ]
-            ]
-         },
-         "morphology_name": "0_0_0-2_0_0"
-      },
-      "0_0_0-3_0_0": {
-         "type": "patterns",
-         "parameters": {
-            "patterns": [
-               [
-                  [
-                     0,
-                     0,
-                     0
-                  ],
-                  [
-                     3,
-                     0,
-                     0
-                  ]
-               ]
-            ]
-         },
-         "morphology_name": "0_0_0-3_0_0"
-      },
-      "0_0_0-4_0_0": {
-         "type": "patterns",
-         "parameters": {
-            "patterns": [
-               [
-                  [
-                     0,
-                     0,
-                     0
-                  ],
-                  [
-                     4,
-                     0,
-                     0
-                  ]
-               ]
-            ]
-         },
-         "morphology_name": "0_0_0-4_0_0"
-      },
-      "0_0_0-5_0_0": {
-         "type": "patterns",
-         "parameters": {
-            "patterns": [
-               [
-                  [
-                     0,
-                     0,
-                     0
-                  ],
-                  [
-                     5,
-                     0,
-                     0
-                  ]
-               ]
-            ]
-         },
-         "morphology_name": "0_0_0-5_0_0"
-      },
-      "0_0_0-6_0_0": {
-         "type": "patterns",
-         "parameters": {
-            "patterns": [
-               [
-                  [
-                     0,
-                     0,
-                     0
-                  ],
-                  [
-                     6,
-                     0,
-                     0
-                  ]
-               ]
-            ]
-         },
-         "morphology_name": "0_0_0-6_0_0"
-      },
-      "0_0_0-7_0_0": {
-         "type": "patterns",
-         "parameters": {
-            "patterns": [
-               [
-                  [
-                     0,
-                     0,
-                     0
-                  ],
-                  [
-                     7,
-                     0,
-                     0
-                  ]
-               ]
-            ]
-         },
-         "morphology_name": "0_0_0-7_0_0"
-      }
-   },
-   "species": {
-      "parents": {},
-      "species_id": "",
-      "class": "toy",
-      "brand": "gazebo",
-      "model": "smart_car"
-   },
-   "blueprint": {
-      "_____10c-___pwr-cx-subgrp-t": "",
-      "_____10c-___pwr-cx-_n_cnt-i": 1,
-      "_____10c-___pwr-cx-synatt-i": 100,
-      "_____10c-___pwr-cx-de_gen-f": 0.01,
-      "_____10c-___pwr-cx-pspuni-b": false,
-      "_____10c-___pwr-nx-pstcrm-f": 35,
-      "_____10c-___pwr-cx-dstmap-d": {},
-      "_____10c-___pwr-cx-___bbx-i": 1,
-      "_____10c-___pwr-cx-___bby-i": 1,
-      "_____10c-___pwr-cx-___bbz-i": 1,
-      "_____10c-___pwr-cx-rcordx-i": 10,
-      "_____10c-___pwr-cx-rcordy-i": 0,
-      "_____10c-___pwr-cx-rcordz-i": -20,
-      "_____10c-___pwr-cx-2dcorx-i": -319,
-      "_____10c-___pwr-cx-2dcory-i": -682,
-      "_____10c-___pwr-cx-gd_vis-b": true,
-      "_____10c-___pwr-nx-pstcr_-f": 500,
-      "_____10c-___pwr-nx-fire_t-f": 1,
-      "_____10c-___pwr-nx-refrac-i": 0,
-      "_____10c-___pwr-nx-leak_c-f": 10,
-      "_____10c-___pwr-nx-leak_v-f": 0,
-      "_____10c-___pwr-nx-c_fr_c-i": 3,
-      "_____10c-___pwr-nx-snooze-f": 0,
-      "_____10c-___pwr-nx-ftincx-f": 0,
-      "_____10c-___pwr-nx-ftincy-f": 0,
-      "_____10c-___pwr-nx-ftincz-f": 0,
-      "_____10c-___pwr-nx-fthlim-i": 0,
-      "_____10c-___pwr-nx-mp_acc-b": true,
-      "_____10c-___pwr-nx-mp_psp-b": false,
-      "_____10c-___pwr-cx-memory-b": false,
-      "_____10c-___pwr-cx-mem__t-i": 100,
-      "_____10c-___pwr-cx-mem_gr-i": 1,
-      "_____10c-___pwr-cx-mem_ls-i": 9,
-      "_____10c-___pwr-cx-__name-t": "Brain_Power",
-      "_____10c-___pwr-cx-_group-t": "CORE",
-      "_____10c-o__mot-cx-subgrp-t": "",
-      "_____10c-o__mot-cx-_n_cnt-i": 1,
-      "_____10c-o__mot-cx-synatt-i": 100,
-      "_____10c-o__mot-cx-de_gen-f": 0,
-      "_____10c-o__mot-cx-pspuni-b": false,
-      "_____10c-o__mot-nx-pstcrm-f": 35,
-      "_____10c-o__mot-cx-dstmap-d": {},
-      "_____10c-o__mot-cx-___bbx-i": 8,
-      "_____10c-o__mot-cx-___bby-i": 1,
-      "_____10c-o__mot-cx-___bbz-i": 1,
-      "_____10c-o__mot-cx-rcordx-i": -31,
-      "_____10c-o__mot-cx-rcordy-i": 0,
-      "_____10c-o__mot-cx-rcordz-i": -22,
-      "_____10c-o__mot-cx-2dcorx-i": 2083,
-      "_____10c-o__mot-cx-2dcory-i": 187,
-      "_____10c-o__mot-cx-gd_vis-b": true,
-      "_____10c-o__mot-nx-pstcr_-f": 6,
-      "_____10c-o__mot-nx-fire_t-f": 1,
-      "_____10c-o__mot-nx-refrac-i": 0,
-      "_____10c-o__mot-nx-leak_c-f": 0,
-      "_____10c-o__mot-nx-leak_v-f": 0,
-      "_____10c-o__mot-nx-c_fr_c-i": 0,
-      "_____10c-o__mot-nx-snooze-f": 0,
-      "_____10c-o__mot-nx-ftincx-f": 0,
-      "_____10c-o__mot-nx-ftincy-f": 0,
-      "_____10c-o__mot-nx-ftincz-f": 0,
-      "_____10c-o__mot-nx-fthlim-i": 0,
-      "_____10c-o__mot-nx-mp_acc-b": false,
-      "_____10c-o__mot-nx-mp_psp-b": false,
-      "_____10c-o__mot-cx-memory-b": false,
-      "_____10c-o__mot-cx-mem__t-i": 100,
-      "_____10c-o__mot-cx-mem_gr-i": 1,
-      "_____10c-o__mot-cx-mem_ls-i": 9,
-      "_____10c-o__mot-cx-__name-t": "motor_opu",
-      "_____10c-o__mot-cx-_group-t": "OPU",
-      "_____10c-m__lef-cx-subgrp-t": "",
-      "_____10c-m__lef-cx-_n_cnt-i": 1,
-      "_____10c-m__lef-cx-synatt-i": 100,
-      "_____10c-m__lef-cx-de_gen-f": 0,
-      "_____10c-m__lef-cx-pspuni-b": true,
-      "_____10c-m__lef-nx-pstcrm-f": 35,
-      "_____10c-m__lef-cx-dstmap-d": {},
-      "_____10c-m__lef-cx-___bbx-i": 1,
-      "_____10c-m__lef-cx-___bby-i": 1,
-      "_____10c-m__lef-cx-___bbz-i": 1,
-      "_____10c-m__lef-cx-rcordx-i": -48,
-      "_____10c-m__lef-cx-rcordy-i": 0,
-      "_____10c-m__lef-cx-rcordz-i": 5,
-      "_____10c-m__lef-cx-2dcorx-i": 887,
-      "_____10c-m__lef-cx-2dcory-i": 533,
-      "_____10c-m__lef-cx-gd_vis-b": true,
-      "_____10c-m__lef-nx-pstcr_-f": 5,
-      "_____10c-m__lef-nx-fire_t-f": 1,
-      "_____10c-m__lef-nx-refrac-i": 0,
-      "_____10c-m__lef-nx-leak_c-f": 10,
-      "_____10c-m__lef-nx-leak_v-f": 0,
-      "_____10c-m__lef-nx-c_fr_c-i": 3,
-      "_____10c-m__lef-nx-snooze-f": 0,
-      "_____10c-m__lef-nx-ftincx-f": 0,
-      "_____10c-m__lef-nx-ftincy-f": 0,
-      "_____10c-m__lef-nx-ftincz-f": 0,
-      "_____10c-m__lef-nx-fthlim-i": 0,
-      "_____10c-m__lef-nx-mp_acc-b": true,
-      "_____10c-m__lef-nx-mp_psp-b": false,
-      "_____10c-m__lef-cx-memory-b": false,
-      "_____10c-m__lef-cx-mem__t-i": 100,
-      "_____10c-m__lef-cx-mem_gr-i": 1,
-      "_____10c-m__lef-cx-mem_ls-i": 9,
-      "_____10c-m__lef-cx-__name-t": "turn_left",
-      "_____10c-m__lef-cx-_group-t": "CUSTOM",
-      "_____10c-m__rig-cx-subgrp-t": "",
-      "_____10c-m__rig-cx-_n_cnt-i": 1,
-      "_____10c-m__rig-cx-synatt-i": 100,
-      "_____10c-m__rig-cx-de_gen-f": 0,
-      "_____10c-m__rig-cx-pspuni-b": true,
-      "_____10c-m__rig-nx-pstcrm-f": 35,
-      "_____10c-m__rig-cx-dstmap-d": {},
-      "_____10c-m__rig-cx-___bbx-i": 1,
-      "_____10c-m__rig-cx-___bby-i": 1,
-      "_____10c-m__rig-cx-___bbz-i": 1,
-      "_____10c-m__rig-cx-rcordx-i": -28,
-      "_____10c-m__rig-cx-rcordy-i": 0,
-      "_____10c-m__rig-cx-rcordz-i": 5,
-      "_____10c-m__rig-cx-2dcorx-i": 896,
-      "_____10c-m__rig-cx-2dcory-i": 239,
-      "_____10c-m__rig-cx-gd_vis-b": true,
-      "_____10c-m__rig-nx-pstcr_-f": 5,
-      "_____10c-m__rig-nx-fire_t-f": 1,
-      "_____10c-m__rig-nx-refrac-i": 0,
-      "_____10c-m__rig-nx-leak_c-f": 10,
-      "_____10c-m__rig-nx-leak_v-f": 0,
-      "_____10c-m__rig-nx-c_fr_c-i": 3,
-      "_____10c-m__rig-nx-snooze-f": 0,
-      "_____10c-m__rig-nx-ftincx-f": 0,
-      "_____10c-m__rig-nx-ftincy-f": 0,
-      "_____10c-m__rig-nx-ftincz-f": 0,
-      "_____10c-m__rig-nx-fthlim-i": 0,
-      "_____10c-m__rig-nx-mp_acc-b": true,
-      "_____10c-m__rig-nx-mp_psp-b": false,
-      "_____10c-m__rig-cx-memory-b": false,
-      "_____10c-m__rig-cx-mem__t-i": 100,
-      "_____10c-m__rig-cx-mem_gr-i": 1,
-      "_____10c-m__rig-cx-mem_ls-i": 9,
-      "_____10c-m__rig-cx-__name-t": "turn_right",
-      "_____10c-m__rig-cx-_group-t": "CUSTOM",
-      "_____10c-m__for-cx-subgrp-t": "",
-      "_____10c-m__for-cx-_n_cnt-i": 1,
-      "_____10c-m__for-cx-synatt-i": 100,
-      "_____10c-m__for-cx-de_gen-f": 0,
-      "_____10c-m__for-cx-pspuni-b": true,
-      "_____10c-m__for-nx-pstcrm-f": 35,
-      "_____10c-m__for-cx-dstmap-d": {
-         "CRSMot": [
-            [
-               "projector",
-               [
-                  1,
-                  1,
-                  1
-               ],
-               1,
-               false,
-               1,
-               1,
-               1
-            ]
-         ],
-         "CKQM2_": [
-            [
-               "projector",
-               [
-                  1,
-                  1,
-                  1
-               ],
-               1,
-               false,
-               1,
-               1,
-               1
-            ]
-         ],
-         "CO4M3_": [
-            [
-               "projector",
-               [
-                  1,
-                  1,
-                  1
-               ],
-               1,
-               false,
-               1,
-               1,
-               1
-            ]
-         ],
-         "CTGM4_": [
-            [
-               "projector",
-               [
-                  1,
-                  1,
-                  1
-               ],
-               1,
-               false,
-               1,
-               1,
-               1
-            ]
-         ]
-      },
-      "_____10c-m__for-cx-___bbx-i": 1,
-      "_____10c-m__for-cx-___bby-i": 1,
-      "_____10c-m__for-cx-___bbz-i": 1,
-      "_____10c-m__for-cx-rcordx-i": -38,
-      "_____10c-m__for-cx-rcordy-i": 0,
-      "_____10c-m__for-cx-rcordz-i": 0,
-      "_____10c-m__for-cx-2dcorx-i": 894,
-      "_____10c-m__for-cx-2dcory-i": -204,
-      "_____10c-m__for-cx-gd_vis-b": true,
-      "_____10c-m__for-nx-pstcr_-f": 5,
-      "_____10c-m__for-nx-fire_t-f": 1,
-      "_____10c-m__for-nx-refrac-i": 0,
-      "_____10c-m__for-nx-leak_c-f": 10,
-      "_____10c-m__for-nx-leak_v-f": 0,
-      "_____10c-m__for-nx-c_fr_c-i": 3,
-      "_____10c-m__for-nx-snooze-f": 0,
-      "_____10c-m__for-nx-ftincx-f": 0,
-      "_____10c-m__for-nx-ftincy-f": 0,
-      "_____10c-m__for-nx-ftincz-f": 0,
-      "_____10c-m__for-nx-fthlim-i": 0,
-      "_____10c-m__for-nx-mp_acc-b": true,
-      "_____10c-m__for-nx-mp_psp-b": false,
-      "_____10c-m__for-cx-memory-b": false,
-      "_____10c-m__for-cx-mem__t-i": 100,
-      "_____10c-m__for-cx-mem_gr-i": 1,
-      "_____10c-m__for-cx-mem_ls-i": 9,
-      "_____10c-m__for-cx-__name-t": "forward",
-      "_____10c-m__for-cx-_group-t": "CUSTOM",
-      "_____10c-m__bac-cx-subgrp-t": "",
-      "_____10c-m__bac-cx-_n_cnt-i": 1,
-      "_____10c-m__bac-cx-synatt-i": 100,
-      "_____10c-m__bac-cx-de_gen-f": 0,
-      "_____10c-m__bac-cx-pspuni-b": true,
-      "_____10c-m__bac-nx-pstcrm-f": 35,
-      "_____10c-m__bac-cx-dstmap-d": {
-         "CLWM4_": [
-            [
-               "projector",
-               [
-                  1,
-                  1,
-                  1
-               ],
-               1,
-               false,
-               1,
-               1,
-               1
-            ]
-         ],
-         "CJWM3_": [
-            [
-               "projector",
-               [
-                  1,
-                  1,
-                  1
-               ],
-               1,
-               false,
-               1,
-               1,
-               1
-            ]
-         ],
-         "CKYM2_": [
-            [
-               "projector",
-               [
-                  1,
-                  1,
-                  1
-               ],
-               1,
-               false,
-               1,
-               1,
-               1
-            ]
-         ],
-         "CIHMot": [
-            [
-               "projector",
-               [
-                  1,
-                  1,
-                  1
-               ],
-               1,
-               false,
-               1,
-               1,
-               1
-            ]
-         ]
-      },
-      "_____10c-m__bac-cx-___bbx-i": 1,
-      "_____10c-m__bac-cx-___bby-i": 1,
-      "_____10c-m__bac-cx-___bbz-i": 1,
-      "_____10c-m__bac-cx-rcordx-i": -38,
-      "_____10c-m__bac-cx-rcordy-i": 0,
-      "_____10c-m__bac-cx-rcordz-i": 10,
-      "_____10c-m__bac-cx-2dcorx-i": 892,
-      "_____10c-m__bac-cx-2dcory-i": 859,
-      "_____10c-m__bac-cx-gd_vis-b": true,
-      "_____10c-m__bac-nx-pstcr_-f": 5,
-      "_____10c-m__bac-nx-fire_t-f": 1,
-      "_____10c-m__bac-nx-refrac-i": 0,
-      "_____10c-m__bac-nx-leak_c-f": 10,
-      "_____10c-m__bac-nx-leak_v-f": 0,
-      "_____10c-m__bac-nx-c_fr_c-i": 3,
-      "_____10c-m__bac-nx-snooze-f": 0,
-      "_____10c-m__bac-nx-ftincx-f": 0,
-      "_____10c-m__bac-nx-ftincy-f": 0,
-      "_____10c-m__bac-nx-ftincz-f": 0,
-      "_____10c-m__bac-nx-fthlim-i": 0,
-      "_____10c-m__bac-nx-mp_acc-b": true,
-      "_____10c-m__bac-nx-mp_psp-b": false,
-      "_____10c-m__bac-cx-memory-b": false,
-      "_____10c-m__bac-cx-mem__t-i": 100,
-      "_____10c-m__bac-cx-mem_gr-i": 1,
-      "_____10c-m__bac-cx-mem_ls-i": 9,
-      "_____10c-m__bac-cx-__name-t": "backward",
-      "_____10c-m__bac-cx-_group-t": "CUSTOM",
-      "_____10c-iv00_C-cx-subgrp-t": "",
-      "_____10c-iv00_C-cx-_n_cnt-i": 1,
-      "_____10c-iv00_C-cx-synatt-i": 100,
-      "_____10c-iv00_C-cx-de_gen-f": 0.0,
-      "_____10c-iv00_C-cx-pspuni-b": false,
-      "_____10c-iv00_C-nx-pstcrm-f": 100.0,
-      "_____10c-iv00_C-cx-dstmap-d": {},
-      "_____10c-iv00_C-cx-___bbx-i": 64,
-      "_____10c-iv00_C-cx-___bby-i": 64,
-      "_____10c-iv00_C-cx-___bbz-i": 3,
-      "_____10c-iv00_C-cx-rcordx-i": 30,
-      "_____10c-iv00_C-cx-rcordy-i": 40,
-      "_____10c-iv00_C-cx-rcordz-i": -20,
-      "_____10c-iv00_C-cx-2dcorx-i": -262,
-      "_____10c-iv00_C-cx-2dcory-i": 127,
-      "_____10c-iv00_C-cx-gd_vis-b": true,
-      "_____10c-iv00_C-nx-pstcr_-f": 25.0,
-      "_____10c-iv00_C-nx-fire_t-f": 1.0,
-      "_____10c-iv00_C-nx-refrac-i": 0,
-      "_____10c-iv00_C-nx-leak_c-f": 0,
-      "_____10c-iv00_C-nx-leak_v-f": 0,
-      "_____10c-iv00_C-nx-c_fr_c-i": 3,
-      "_____10c-iv00_C-nx-snooze-f": 0,
-      "_____10c-iv00_C-nx-ftincx-f": 0,
-      "_____10c-iv00_C-nx-ftincy-f": 0,
-      "_____10c-iv00_C-nx-ftincz-f": 0,
-      "_____10c-iv00_C-nx-fthlim-i": 0,
-      "_____10c-iv00_C-nx-mp_acc-b": true,
-      "_____10c-iv00_C-nx-mp_psp-b": false,
-      "_____10c-iv00_C-cx-memory-b": false,
-      "_____10c-iv00_C-cx-mem__t-i": 100,
-      "_____10c-iv00_C-cx-mem_gr-i": 1,
-      "_____10c-iv00_C-cx-mem_ls-i": 9,
-      "_____10c-iv00_C-cx-__name-t": "vision_C",
-      "_____10c-iv00_C-cx-_group-t": "IPU",
-      "_____10c-iv00BL-cx-subgrp-t": "",
-      "_____10c-iv00BL-cx-_n_cnt-i": 1,
-      "_____10c-iv00BL-cx-synatt-i": 100,
-      "_____10c-iv00BL-cx-de_gen-f": 0,
-      "_____10c-iv00BL-cx-pspuni-b": false,
-      "_____10c-iv00BL-nx-pstcrm-f": 35,
-      "_____10c-iv00BL-cx-dstmap-d": {},
-      "_____10c-iv00BL-cx-___bbx-i": 8,
-      "_____10c-iv00BL-cx-___bby-i": 8,
-      "_____10c-iv00BL-cx-___bbz-i": 3,
-      "_____10c-iv00BL-cx-rcordx-i": 20,
-      "_____10c-iv00BL-cx-rcordy-i": 30,
-      "_____10c-iv00BL-cx-rcordz-i": -20,
-      "_____10c-iv00BL-cx-2dcorx-i": -614,
-      "_____10c-iv00BL-cx-2dcory-i": 317,
-      "_____10c-iv00BL-cx-gd_vis-b": true,
-      "_____10c-iv00BL-nx-pstcr_-f": 5,
-      "_____10c-iv00BL-nx-fire_t-f": 1,
-      "_____10c-iv00BL-nx-refrac-i": 0,
-      "_____10c-iv00BL-nx-leak_c-f": 0,
-      "_____10c-iv00BL-nx-leak_v-f": 0,
-      "_____10c-iv00BL-nx-c_fr_c-i": 3,
-      "_____10c-iv00BL-nx-snooze-f": 0,
-      "_____10c-iv00BL-nx-ftincx-f": 0,
-      "_____10c-iv00BL-nx-ftincy-f": 0,
-      "_____10c-iv00BL-nx-ftincz-f": 0,
-      "_____10c-iv00BL-nx-fthlim-i": 0,
-      "_____10c-iv00BL-nx-mp_acc-b": true,
-      "_____10c-iv00BL-nx-mp_psp-b": false,
-      "_____10c-iv00BL-cx-memory-b": false,
-      "_____10c-iv00BL-cx-mem__t-i": 100,
-      "_____10c-iv00BL-cx-mem_gr-i": 1,
-      "_____10c-iv00BL-cx-mem_ls-i": 9,
-      "_____10c-iv00BL-cx-__name-t": "vision_LL",
-      "_____10c-iv00BL-cx-_group-t": "IPU",
-      "_____10c-iv00BM-cx-subgrp-t": "",
-      "_____10c-iv00BM-cx-_n_cnt-i": 1,
-      "_____10c-iv00BM-cx-synatt-i": 100,
-      "_____10c-iv00BM-cx-de_gen-f": 0,
-      "_____10c-iv00BM-cx-pspuni-b": false,
-      "_____10c-iv00BM-nx-pstcrm-f": 35,
-      "_____10c-iv00BM-cx-dstmap-d": {
-         "m__bac": [
-            [
-               "projector",
-               [
-                  1,
-                  1,
-                  1
-               ],
-               1,
-               false,
-               1,
-               1,
-               1
-            ]
-         ]
-      },
-      "_____10c-iv00BM-cx-___bbx-i": 8,
-      "_____10c-iv00BM-cx-___bby-i": 8,
-      "_____10c-iv00BM-cx-___bbz-i": 3,
-      "_____10c-iv00BM-cx-rcordx-i": 55,
-      "_____10c-iv00BM-cx-rcordy-i": 30,
-      "_____10c-iv00BM-cx-rcordz-i": -20,
-      "_____10c-iv00BM-cx-2dcorx-i": -253,
-      "_____10c-iv00BM-cx-2dcory-i": 324,
-      "_____10c-iv00BM-cx-gd_vis-b": true,
-      "_____10c-iv00BM-nx-pstcr_-f": 5,
-      "_____10c-iv00BM-nx-fire_t-f": 1,
-      "_____10c-iv00BM-nx-refrac-i": 0,
-      "_____10c-iv00BM-nx-leak_c-f": 0,
-      "_____10c-iv00BM-nx-leak_v-f": 0,
-      "_____10c-iv00BM-nx-c_fr_c-i": 3,
-      "_____10c-iv00BM-nx-snooze-f": 0,
-      "_____10c-iv00BM-nx-ftincx-f": 0,
-      "_____10c-iv00BM-nx-ftincy-f": 0,
-      "_____10c-iv00BM-nx-ftincz-f": 0,
-      "_____10c-iv00BM-nx-fthlim-i": 0,
-      "_____10c-iv00BM-nx-mp_acc-b": true,
-      "_____10c-iv00BM-nx-mp_psp-b": false,
-      "_____10c-iv00BM-cx-memory-b": false,
-      "_____10c-iv00BM-cx-mem__t-i": 100,
-      "_____10c-iv00BM-cx-mem_gr-i": 1,
-      "_____10c-iv00BM-cx-mem_ls-i": 9,
-      "_____10c-iv00BM-cx-__name-t": "vision_LM",
-      "_____10c-iv00BM-cx-_group-t": "IPU",
-      "_____10c-iv00BR-cx-subgrp-t": "",
-      "_____10c-iv00BR-cx-_n_cnt-i": 1,
-      "_____10c-iv00BR-cx-synatt-i": 100,
-      "_____10c-iv00BR-cx-de_gen-f": 0,
-      "_____10c-iv00BR-cx-pspuni-b": false,
-      "_____10c-iv00BR-nx-pstcrm-f": 35,
-      "_____10c-iv00BR-cx-dstmap-d": {},
-      "_____10c-iv00BR-cx-___bbx-i": 8,
-      "_____10c-iv00BR-cx-___bby-i": 8,
-      "_____10c-iv00BR-cx-___bbz-i": 3,
-      "_____10c-iv00BR-cx-rcordx-i": 95,
-      "_____10c-iv00BR-cx-rcordy-i": 30,
-      "_____10c-iv00BR-cx-rcordz-i": -20,
-      "_____10c-iv00BR-cx-2dcorx-i": 86,
-      "_____10c-iv00BR-cx-2dcory-i": 319,
-      "_____10c-iv00BR-cx-gd_vis-b": true,
-      "_____10c-iv00BR-nx-pstcr_-f": 5,
-      "_____10c-iv00BR-nx-fire_t-f": 1,
-      "_____10c-iv00BR-nx-refrac-i": 0,
-      "_____10c-iv00BR-nx-leak_c-f": 0,
-      "_____10c-iv00BR-nx-leak_v-f": 0,
-      "_____10c-iv00BR-nx-c_fr_c-i": 3,
-      "_____10c-iv00BR-nx-snooze-f": 0,
-      "_____10c-iv00BR-nx-ftincx-f": 0,
-      "_____10c-iv00BR-nx-ftincy-f": 0,
-      "_____10c-iv00BR-nx-ftincz-f": 0,
-      "_____10c-iv00BR-nx-fthlim-i": 0,
-      "_____10c-iv00BR-nx-mp_acc-b": true,
-      "_____10c-iv00BR-nx-mp_psp-b": false,
-      "_____10c-iv00BR-cx-memory-b": false,
-      "_____10c-iv00BR-cx-mem__t-i": 100,
-      "_____10c-iv00BR-cx-mem_gr-i": 1,
-      "_____10c-iv00BR-cx-mem_ls-i": 9,
-      "_____10c-iv00BR-cx-__name-t": "vision_LR",
-      "_____10c-iv00BR-cx-_group-t": "IPU",
-      "_____10c-iv00ML-cx-subgrp-t": "",
-      "_____10c-iv00ML-cx-_n_cnt-i": 1,
-      "_____10c-iv00ML-cx-synatt-i": 100,
-      "_____10c-iv00ML-cx-de_gen-f": 0,
-      "_____10c-iv00ML-cx-pspuni-b": false,
-      "_____10c-iv00ML-nx-pstcrm-f": 35,
-      "_____10c-iv00ML-cx-dstmap-d": {},
-      "_____10c-iv00ML-cx-___bbx-i": 8,
-      "_____10c-iv00ML-cx-___bby-i": 8,
-      "_____10c-iv00ML-cx-___bbz-i": 3,
-      "_____10c-iv00ML-cx-rcordx-i": 20,
-      "_____10c-iv00ML-cx-rcordy-i": 70,
-      "_____10c-iv00ML-cx-rcordz-i": -20,
-      "_____10c-iv00ML-cx-2dcorx-i": -609,
-      "_____10c-iv00ML-cx-2dcory-i": 129,
-      "_____10c-iv00ML-cx-gd_vis-b": true,
-      "_____10c-iv00ML-nx-pstcr_-f": 5,
-      "_____10c-iv00ML-nx-fire_t-f": 1,
-      "_____10c-iv00ML-nx-refrac-i": 0,
-      "_____10c-iv00ML-nx-leak_c-f": 0,
-      "_____10c-iv00ML-nx-leak_v-f": 0,
-      "_____10c-iv00ML-nx-c_fr_c-i": 3,
-      "_____10c-iv00ML-nx-snooze-f": 0,
-      "_____10c-iv00ML-nx-ftincx-f": 0,
-      "_____10c-iv00ML-nx-ftincy-f": 0,
-      "_____10c-iv00ML-nx-ftincz-f": 0,
-      "_____10c-iv00ML-nx-fthlim-i": 0,
-      "_____10c-iv00ML-nx-mp_acc-b": true,
-      "_____10c-iv00ML-nx-mp_psp-b": false,
-      "_____10c-iv00ML-cx-memory-b": false,
-      "_____10c-iv00ML-cx-mem__t-i": 100,
-      "_____10c-iv00ML-cx-mem_gr-i": 1,
-      "_____10c-iv00ML-cx-mem_ls-i": 9,
-      "_____10c-iv00ML-cx-__name-t": "vision_ML",
-      "_____10c-iv00ML-cx-_group-t": "IPU",
-      "_____10c-iv00MR-cx-subgrp-t": "",
-      "_____10c-iv00MR-cx-_n_cnt-i": 1,
-      "_____10c-iv00MR-cx-synatt-i": 100,
-      "_____10c-iv00MR-cx-de_gen-f": 0,
-      "_____10c-iv00MR-cx-pspuni-b": false,
-      "_____10c-iv00MR-nx-pstcrm-f": 35,
-      "_____10c-iv00MR-cx-dstmap-d": {},
-      "_____10c-iv00MR-cx-___bbx-i": 8,
-      "_____10c-iv00MR-cx-___bby-i": 8,
-      "_____10c-iv00MR-cx-___bbz-i": 3,
-      "_____10c-iv00MR-cx-rcordx-i": 95,
-      "_____10c-iv00MR-cx-rcordy-i": 70,
-      "_____10c-iv00MR-cx-rcordz-i": -20,
-      "_____10c-iv00MR-cx-2dcorx-i": 81,
-      "_____10c-iv00MR-cx-2dcory-i": 131,
-      "_____10c-iv00MR-cx-gd_vis-b": true,
-      "_____10c-iv00MR-nx-pstcr_-f": 5,
-      "_____10c-iv00MR-nx-fire_t-f": 1,
-      "_____10c-iv00MR-nx-refrac-i": 0,
-      "_____10c-iv00MR-nx-leak_c-f": 0,
-      "_____10c-iv00MR-nx-leak_v-f": 0,
-      "_____10c-iv00MR-nx-c_fr_c-i": 3,
-      "_____10c-iv00MR-nx-snooze-f": 0,
-      "_____10c-iv00MR-nx-ftincx-f": 0,
-      "_____10c-iv00MR-nx-ftincy-f": 0,
-      "_____10c-iv00MR-nx-ftincz-f": 0,
-      "_____10c-iv00MR-nx-fthlim-i": 0,
-      "_____10c-iv00MR-nx-mp_acc-b": true,
-      "_____10c-iv00MR-nx-mp_psp-b": false,
-      "_____10c-iv00MR-cx-memory-b": false,
-      "_____10c-iv00MR-cx-mem__t-i": 100,
-      "_____10c-iv00MR-cx-mem_gr-i": 1,
-      "_____10c-iv00MR-cx-mem_ls-i": 9,
-      "_____10c-iv00MR-cx-__name-t": "vision_MR",
-      "_____10c-iv00MR-cx-_group-t": "IPU",
-      "_____10c-iv00TL-cx-subgrp-t": "",
-      "_____10c-iv00TL-cx-_n_cnt-i": 1,
-      "_____10c-iv00TL-cx-synatt-i": 100,
-      "_____10c-iv00TL-cx-de_gen-f": 0,
-      "_____10c-iv00TL-cx-pspuni-b": false,
-      "_____10c-iv00TL-nx-pstcrm-f": 35,
-      "_____10c-iv00TL-cx-dstmap-d": {},
-      "_____10c-iv00TL-cx-___bbx-i": 8,
-      "_____10c-iv00TL-cx-___bby-i": 8,
-      "_____10c-iv00TL-cx-___bbz-i": 3,
-      "_____10c-iv00TL-cx-rcordx-i": 20,
-      "_____10c-iv00TL-cx-rcordy-i": 105,
-      "_____10c-iv00TL-cx-rcordz-i": -20,
-      "_____10c-iv00TL-cx-2dcorx-i": -606,
-      "_____10c-iv00TL-cx-2dcory-i": -61,
-      "_____10c-iv00TL-cx-gd_vis-b": true,
-      "_____10c-iv00TL-nx-pstcr_-f": 5,
-      "_____10c-iv00TL-nx-fire_t-f": 1,
-      "_____10c-iv00TL-nx-refrac-i": 0,
-      "_____10c-iv00TL-nx-leak_c-f": 0,
-      "_____10c-iv00TL-nx-leak_v-f": 0,
-      "_____10c-iv00TL-nx-c_fr_c-i": 3,
-      "_____10c-iv00TL-nx-snooze-f": 0,
-      "_____10c-iv00TL-nx-ftincx-f": 0,
-      "_____10c-iv00TL-nx-ftincy-f": 0,
-      "_____10c-iv00TL-nx-ftincz-f": 0,
-      "_____10c-iv00TL-nx-fthlim-i": 0,
-      "_____10c-iv00TL-nx-mp_acc-b": true,
-      "_____10c-iv00TL-nx-mp_psp-b": false,
-      "_____10c-iv00TL-cx-memory-b": false,
-      "_____10c-iv00TL-cx-mem__t-i": 100,
-      "_____10c-iv00TL-cx-mem_gr-i": 1,
-      "_____10c-iv00TL-cx-mem_ls-i": 9,
-      "_____10c-iv00TL-cx-__name-t": "vision_TL",
-      "_____10c-iv00TL-cx-_group-t": "IPU",
-      "_____10c-iv00TR-cx-subgrp-t": "",
-      "_____10c-iv00TR-cx-_n_cnt-i": 1,
-      "_____10c-iv00TR-cx-synatt-i": 100,
-      "_____10c-iv00TR-cx-de_gen-f": 0,
-      "_____10c-iv00TR-cx-pspuni-b": false,
-      "_____10c-iv00TR-nx-pstcrm-f": 35,
-      "_____10c-iv00TR-cx-dstmap-d": {},
-      "_____10c-iv00TR-cx-___bbx-i": 8,
-      "_____10c-iv00TR-cx-___bby-i": 8,
-      "_____10c-iv00TR-cx-___bbz-i": 3,
-      "_____10c-iv00TR-cx-rcordx-i": 95,
-      "_____10c-iv00TR-cx-rcordy-i": 105,
-      "_____10c-iv00TR-cx-rcordz-i": -20,
-      "_____10c-iv00TR-cx-2dcorx-i": 72,
-      "_____10c-iv00TR-cx-2dcory-i": -62,
-      "_____10c-iv00TR-cx-gd_vis-b": true,
-      "_____10c-iv00TR-nx-pstcr_-f": 5,
-      "_____10c-iv00TR-nx-fire_t-f": 1,
-      "_____10c-iv00TR-nx-refrac-i": 0,
-      "_____10c-iv00TR-nx-leak_c-f": 0,
-      "_____10c-iv00TR-nx-leak_v-f": 0,
-      "_____10c-iv00TR-nx-c_fr_c-i": 3,
-      "_____10c-iv00TR-nx-snooze-f": 0,
-      "_____10c-iv00TR-nx-ftincx-f": 0,
-      "_____10c-iv00TR-nx-ftincy-f": 0,
-      "_____10c-iv00TR-nx-ftincz-f": 0,
-      "_____10c-iv00TR-nx-fthlim-i": 0,
-      "_____10c-iv00TR-nx-mp_acc-b": true,
-      "_____10c-iv00TR-nx-mp_psp-b": false,
-      "_____10c-iv00TR-cx-memory-b": false,
-      "_____10c-iv00TR-cx-mem__t-i": 100,
-      "_____10c-iv00TR-cx-mem_gr-i": 1,
-      "_____10c-iv00TR-cx-mem_ls-i": 9,
-      "_____10c-iv00TR-cx-__name-t": "vision_TR",
-      "_____10c-iv00TR-cx-_group-t": "IPU",
-      "_____10c-iv00TM-cx-subgrp-t": "",
-      "_____10c-iv00TM-cx-_n_cnt-i": 1,
-      "_____10c-iv00TM-cx-synatt-i": 100,
-      "_____10c-iv00TM-cx-de_gen-f": 0,
-      "_____10c-iv00TM-cx-pspuni-b": false,
-      "_____10c-iv00TM-nx-pstcrm-f": 35,
-      "_____10c-iv00TM-cx-dstmap-d": {
-         "m__for": [
-            [
-               "projector",
-               [
-                  1,
-                  1,
-                  1
-               ],
-               1,
-               false,
-               1,
-               1,
-               1
-            ]
-         ]
-      },
-      "_____10c-iv00TM-cx-___bbx-i": 8,
-      "_____10c-iv00TM-cx-___bby-i": 8,
-      "_____10c-iv00TM-cx-___bbz-i": 3,
-      "_____10c-iv00TM-cx-rcordx-i": 55,
-      "_____10c-iv00TM-cx-rcordy-i": 105,
-      "_____10c-iv00TM-cx-rcordz-i": -20,
-      "_____10c-iv00TM-cx-2dcorx-i": -271,
-      "_____10c-iv00TM-cx-2dcory-i": -65,
-      "_____10c-iv00TM-cx-gd_vis-b": true,
-      "_____10c-iv00TM-nx-pstcr_-f": 5,
-      "_____10c-iv00TM-nx-fire_t-f": 1,
-      "_____10c-iv00TM-nx-refrac-i": 0,
-      "_____10c-iv00TM-nx-leak_c-f": 0,
-      "_____10c-iv00TM-nx-leak_v-f": 0,
-      "_____10c-iv00TM-nx-c_fr_c-i": 3,
-      "_____10c-iv00TM-nx-snooze-f": 0,
-      "_____10c-iv00TM-nx-ftincx-f": 0,
-      "_____10c-iv00TM-nx-ftincy-f": 0,
-      "_____10c-iv00TM-nx-ftincz-f": 0,
-      "_____10c-iv00TM-nx-fthlim-i": 0,
-      "_____10c-iv00TM-nx-mp_acc-b": true,
-      "_____10c-iv00TM-nx-mp_psp-b": false,
-      "_____10c-iv00TM-cx-memory-b": false,
-      "_____10c-iv00TM-cx-mem__t-i": 100,
-      "_____10c-iv00TM-cx-mem_gr-i": 1,
-      "_____10c-iv00TM-cx-mem_ls-i": 9,
-      "_____10c-iv00TM-cx-__name-t": "vision_TM",
-      "_____10c-iv00TM-cx-_group-t": "IPU",
-      "_____10c-CRSMot-cx-subgrp-t": "",
-      "_____10c-CRSMot-cx-_n_cnt-i": 1,
-      "_____10c-CRSMot-cx-synatt-i": 100,
-      "_____10c-CRSMot-cx-de_gen-f": 0,
-      "_____10c-CRSMot-cx-pspuni-b": false,
-      "_____10c-CRSMot-nx-pstcrm-f": 99999,
-      "_____10c-CRSMot-cx-dstmap-d": {
-         "o__mot": [
-            [
-               "0_0_0-_0_0_0",
-               [
-                  1,
-                  1,
-                  1
-               ],
-               1,
-               false,
-               1,
-               1,
-               1
-            ]
-         ]
-      },
-      "_____10c-CRSMot-cx-gd_vis-b": true,
-      "_____10c-CRSMot-nx-pstcr_-f": 1,
-      "_____10c-CRSMot-nx-fire_t-f": 1,
-      "_____10c-CRSMot-nx-refrac-i": 0,
-      "_____10c-CRSMot-nx-leak_c-f": 0,
-      "_____10c-CRSMot-nx-leak_v-f": 0,
-      "_____10c-CRSMot-nx-c_fr_c-i": 0,
-      "_____10c-CRSMot-nx-snooze-f": 0,
-      "_____10c-CRSMot-nx-ftincx-f": 0,
-      "_____10c-CRSMot-nx-ftincy-f": 0,
-      "_____10c-CRSMot-nx-ftincz-f": 0,
-      "_____10c-CRSMot-nx-fthlim-i": 0,
-      "_____10c-CRSMot-nx-mp_acc-b": false,
-      "_____10c-CRSMot-nx-mp_psp-b": false,
-      "_____10c-CRSMot-cx-memory-b": false,
-      "_____10c-CRSMot-cx-mem__t-i": 100,
-      "_____10c-CRSMot-cx-mem_gr-i": 1,
-      "_____10c-CRSMot-cx-mem_ls-i": 9,
-      "_____10c-CRSMot-cx-__name-t": "M1_FW",
-      "_____10c-CRSMot-cx-___bbx-i": 1,
-      "_____10c-CRSMot-cx-___bby-i": 1,
-      "_____10c-CRSMot-cx-___bbz-i": 1,
-      "_____10c-CRSMot-cx-rcordx-i": -50,
-      "_____10c-CRSMot-cx-rcordy-i": 0,
-      "_____10c-CRSMot-cx-rcordz-i": -14,
-      "_____10c-CRSMot-cx-2dcorx-i": 1503,
-      "_____10c-CRSMot-cx-2dcory-i": -284,
-      "_____10c-CRSMot-cx-_group-t": "CUSTOM",
-      "_____10c-CIHMot-cx-subgrp-t": "",
-      "_____10c-CIHMot-cx-_n_cnt-i": 1,
-      "_____10c-CIHMot-cx-synatt-i": 100,
-      "_____10c-CIHMot-cx-de_gen-f": 0,
-      "_____10c-CIHMot-cx-pspuni-b": false,
-      "_____10c-CIHMot-nx-pstcrm-f": 99999,
-      "_____10c-CIHMot-cx-dstmap-d": {
-         "o__mot": [
-            [
-               "0_0_0-1_0_0",
-               [
-                  1,
-                  1,
-                  1
-               ],
-               1,
-               false,
-               1,
-               1,
-               1
-            ]
-         ]
-      },
-      "_____10c-CIHMot-cx-gd_vis-b": true,
-      "_____10c-CIHMot-nx-pstcr_-f": 1,
-      "_____10c-CIHMot-nx-fire_t-f": 1,
-      "_____10c-CIHMot-nx-refrac-i": 0,
-      "_____10c-CIHMot-nx-leak_c-f": 0,
-      "_____10c-CIHMot-nx-leak_v-f": 0,
-      "_____10c-CIHMot-nx-c_fr_c-i": 0,
-      "_____10c-CIHMot-nx-snooze-f": 0,
-      "_____10c-CIHMot-nx-ftincx-f": 0,
-      "_____10c-CIHMot-nx-ftincy-f": 0,
-      "_____10c-CIHMot-nx-ftincz-f": 0,
-      "_____10c-CIHMot-nx-fthlim-i": 0,
-      "_____10c-CIHMot-nx-mp_acc-b": false,
-      "_____10c-CIHMot-nx-mp_psp-b": false,
-      "_____10c-CIHMot-cx-memory-b": false,
-      "_____10c-CIHMot-cx-mem__t-i": 100,
-      "_____10c-CIHMot-cx-mem_gr-i": 1,
-      "_____10c-CIHMot-cx-mem_ls-i": 9,
-      "_____10c-CIHMot-cx-__name-t": "M1_BW",
-      "_____10c-CIHMot-cx-___bbx-i": 1,
-      "_____10c-CIHMot-cx-___bby-i": 1,
-      "_____10c-CIHMot-cx-___bbz-i": 1,
-      "_____10c-CIHMot-cx-rcordx-i": -45,
-      "_____10c-CIHMot-cx-rcordy-i": 0,
-      "_____10c-CIHMot-cx-rcordz-i": -14,
-      "_____10c-CIHMot-cx-2dcorx-i": 1510,
-      "_____10c-CIHMot-cx-2dcory-i": -106,
-      "_____10c-CIHMot-cx-_group-t": "CUSTOM",
-      "_____10c-CKQM2_-cx-subgrp-t": "",
-      "_____10c-CKQM2_-cx-_n_cnt-i": 1,
-      "_____10c-CKQM2_-cx-synatt-i": 100,
-      "_____10c-CKQM2_-cx-de_gen-f": 0,
-      "_____10c-CKQM2_-cx-pspuni-b": false,
-      "_____10c-CKQM2_-nx-pstcrm-f": 99999,
-      "_____10c-CKQM2_-cx-dstmap-d": {
-         "o__mot": [
-            [
-               "0_0_0-2_0_0",
-               [
-                  1,
-                  1,
-                  1
-               ],
-               1,
-               false,
-               1,
-               1,
-               1
-            ]
-         ]
-      },
-      "_____10c-CKQM2_-cx-gd_vis-b": true,
-      "_____10c-CKQM2_-nx-pstcr_-f": 1,
-      "_____10c-CKQM2_-nx-fire_t-f": 1,
-      "_____10c-CKQM2_-nx-refrac-i": 0,
-      "_____10c-CKQM2_-nx-leak_c-f": 0,
-      "_____10c-CKQM2_-nx-leak_v-f": 0,
-      "_____10c-CKQM2_-nx-c_fr_c-i": 0,
-      "_____10c-CKQM2_-nx-snooze-f": 0,
-      "_____10c-CKQM2_-nx-ftincx-f": 0,
-      "_____10c-CKQM2_-nx-ftincy-f": 0,
-      "_____10c-CKQM2_-nx-ftincz-f": 0,
-      "_____10c-CKQM2_-nx-fthlim-i": 0,
-      "_____10c-CKQM2_-nx-mp_acc-b": false,
-      "_____10c-CKQM2_-nx-mp_psp-b": false,
-      "_____10c-CKQM2_-cx-memory-b": false,
-      "_____10c-CKQM2_-cx-mem__t-i": 100,
-      "_____10c-CKQM2_-cx-mem_gr-i": 1,
-      "_____10c-CKQM2_-cx-mem_ls-i": 9,
-      "_____10c-CKQM2_-cx-__name-t": "M2_FW",
-      "_____10c-CKQM2_-cx-___bbx-i": 1,
-      "_____10c-CKQM2_-cx-___bby-i": 1,
-      "_____10c-CKQM2_-cx-___bbz-i": 1,
-      "_____10c-CKQM2_-cx-rcordx-i": -40,
-      "_____10c-CKQM2_-cx-rcordy-i": 0,
-      "_____10c-CKQM2_-cx-rcordz-i": -14,
-      "_____10c-CKQM2_-cx-2dcorx-i": 1509,
-      "_____10c-CKQM2_-cx-2dcory-i": 81,
-      "_____10c-CKQM2_-cx-_group-t": "CUSTOM",
-      "_____10c-CKYM2_-cx-subgrp-t": "",
-      "_____10c-CKYM2_-cx-_n_cnt-i": 1,
-      "_____10c-CKYM2_-cx-synatt-i": 100,
-      "_____10c-CKYM2_-cx-de_gen-f": 0,
-      "_____10c-CKYM2_-cx-pspuni-b": false,
-      "_____10c-CKYM2_-nx-pstcrm-f": 99999,
-      "_____10c-CKYM2_-cx-dstmap-d": {
-         "o__mot": [
-            [
-               "0_0_0-3_0_0",
-               [
-                  1,
-                  1,
-                  1
-               ],
-               1,
-               false,
-               1,
-               1,
-               1
-            ]
-         ]
-      },
-      "_____10c-CKYM2_-cx-gd_vis-b": true,
-      "_____10c-CKYM2_-nx-pstcr_-f": 1,
-      "_____10c-CKYM2_-nx-fire_t-f": 1,
-      "_____10c-CKYM2_-nx-refrac-i": 0,
-      "_____10c-CKYM2_-nx-leak_c-f": 0,
-      "_____10c-CKYM2_-nx-leak_v-f": 0,
-      "_____10c-CKYM2_-nx-c_fr_c-i": 0,
-      "_____10c-CKYM2_-nx-snooze-f": 0,
-      "_____10c-CKYM2_-nx-ftincx-f": 0,
-      "_____10c-CKYM2_-nx-ftincy-f": 0,
-      "_____10c-CKYM2_-nx-ftincz-f": 0,
-      "_____10c-CKYM2_-nx-fthlim-i": 0,
-      "_____10c-CKYM2_-nx-mp_acc-b": false,
-      "_____10c-CKYM2_-nx-mp_psp-b": false,
-      "_____10c-CKYM2_-cx-memory-b": false,
-      "_____10c-CKYM2_-cx-mem__t-i": 100,
-      "_____10c-CKYM2_-cx-mem_gr-i": 1,
-      "_____10c-CKYM2_-cx-mem_ls-i": 9,
-      "_____10c-CKYM2_-cx-__name-t": "M2_BW",
-      "_____10c-CKYM2_-cx-___bbx-i": 1,
-      "_____10c-CKYM2_-cx-___bby-i": 1,
-      "_____10c-CKYM2_-cx-___bbz-i": 1,
-      "_____10c-CKYM2_-cx-rcordx-i": -35,
-      "_____10c-CKYM2_-cx-rcordy-i": 0,
-      "_____10c-CKYM2_-cx-rcordz-i": -14,
-      "_____10c-CKYM2_-cx-2dcorx-i": 1518,
-      "_____10c-CKYM2_-cx-2dcory-i": 239,
-      "_____10c-CKYM2_-cx-_group-t": "CUSTOM",
-      "_____10c-CO4M3_-cx-subgrp-t": "",
-      "_____10c-CO4M3_-cx-_n_cnt-i": 1,
-      "_____10c-CO4M3_-cx-synatt-i": 100,
-      "_____10c-CO4M3_-cx-de_gen-f": 0,
-      "_____10c-CO4M3_-cx-pspuni-b": false,
-      "_____10c-CO4M3_-nx-pstcrm-f": 99999,
-      "_____10c-CO4M3_-cx-dstmap-d": {
-         "o__mot": [
-            [
-               "0_0_0-4_0_0",
-               [
-                  1,
-                  1,
-                  1
-               ],
-               1,
-               false,
-               1,
-               1,
-               1
-            ]
-         ]
-      },
-      "_____10c-CO4M3_-cx-gd_vis-b": true,
-      "_____10c-CO4M3_-nx-pstcr_-f": 1,
-      "_____10c-CO4M3_-nx-fire_t-f": 1,
-      "_____10c-CO4M3_-nx-refrac-i": 0,
-      "_____10c-CO4M3_-nx-leak_c-f": 0,
-      "_____10c-CO4M3_-nx-leak_v-f": 0,
-      "_____10c-CO4M3_-nx-c_fr_c-i": 0,
-      "_____10c-CO4M3_-nx-snooze-f": 0,
-      "_____10c-CO4M3_-nx-ftincx-f": 0,
-      "_____10c-CO4M3_-nx-ftincy-f": 0,
-      "_____10c-CO4M3_-nx-ftincz-f": 0,
-      "_____10c-CO4M3_-nx-fthlim-i": 0,
-      "_____10c-CO4M3_-nx-mp_acc-b": false,
-      "_____10c-CO4M3_-nx-mp_psp-b": false,
-      "_____10c-CO4M3_-cx-memory-b": false,
-      "_____10c-CO4M3_-cx-mem__t-i": 100,
-      "_____10c-CO4M3_-cx-mem_gr-i": 1,
-      "_____10c-CO4M3_-cx-mem_ls-i": 9,
-      "_____10c-CO4M3_-cx-__name-t": "M3_FW",
-      "_____10c-CO4M3_-cx-___bbx-i": 1,
-      "_____10c-CO4M3_-cx-___bby-i": 1,
-      "_____10c-CO4M3_-cx-___bbz-i": 1,
-      "_____10c-CO4M3_-cx-rcordx-i": -30,
-      "_____10c-CO4M3_-cx-rcordy-i": 0,
-      "_____10c-CO4M3_-cx-rcordz-i": -14,
-      "_____10c-CO4M3_-cx-2dcorx-i": 1517,
-      "_____10c-CO4M3_-cx-2dcory-i": 403,
-      "_____10c-CO4M3_-cx-_group-t": "CUSTOM",
-      "_____10c-CJWM3_-cx-subgrp-t": "",
-      "_____10c-CJWM3_-cx-_n_cnt-i": 1,
-      "_____10c-CJWM3_-cx-synatt-i": 100,
-      "_____10c-CJWM3_-cx-de_gen-f": 0,
-      "_____10c-CJWM3_-cx-pspuni-b": false,
-      "_____10c-CJWM3_-nx-pstcrm-f": 99999,
-      "_____10c-CJWM3_-cx-dstmap-d": {
-         "o__mot": [
-            [
-               "0_0_0-5_0_0",
-               [
-                  1,
-                  1,
-                  1
-               ],
-               1,
-               false,
-               1,
-               1,
-               1
-            ]
-         ]
-      },
-      "_____10c-CJWM3_-cx-gd_vis-b": true,
-      "_____10c-CJWM3_-nx-pstcr_-f": 1,
-      "_____10c-CJWM3_-nx-fire_t-f": 1,
-      "_____10c-CJWM3_-nx-refrac-i": 0,
-      "_____10c-CJWM3_-nx-leak_c-f": 0,
-      "_____10c-CJWM3_-nx-leak_v-f": 0,
-      "_____10c-CJWM3_-nx-c_fr_c-i": 0,
-      "_____10c-CJWM3_-nx-snooze-f": 0,
-      "_____10c-CJWM3_-nx-ftincx-f": 0,
-      "_____10c-CJWM3_-nx-ftincy-f": 0,
-      "_____10c-CJWM3_-nx-ftincz-f": 0,
-      "_____10c-CJWM3_-nx-fthlim-i": 0,
-      "_____10c-CJWM3_-nx-mp_acc-b": false,
-      "_____10c-CJWM3_-nx-mp_psp-b": false,
-      "_____10c-CJWM3_-cx-memory-b": false,
-      "_____10c-CJWM3_-cx-mem__t-i": 100,
-      "_____10c-CJWM3_-cx-mem_gr-i": 1,
-      "_____10c-CJWM3_-cx-mem_ls-i": 9,
-      "_____10c-CJWM3_-cx-__name-t": "M3_BW",
-      "_____10c-CJWM3_-cx-___bbx-i": 1,
-      "_____10c-CJWM3_-cx-___bby-i": 1,
-      "_____10c-CJWM3_-cx-___bbz-i": 1,
-      "_____10c-CJWM3_-cx-rcordx-i": -25,
-      "_____10c-CJWM3_-cx-rcordy-i": 0,
-      "_____10c-CJWM3_-cx-rcordz-i": -14,
-      "_____10c-CJWM3_-cx-2dcorx-i": 1514,
-      "_____10c-CJWM3_-cx-2dcory-i": 519,
-      "_____10c-CJWM3_-cx-_group-t": "CUSTOM",
-      "_____10c-CTGM4_-cx-subgrp-t": "",
-      "_____10c-CTGM4_-cx-_n_cnt-i": 1,
-      "_____10c-CTGM4_-cx-synatt-i": 100,
-      "_____10c-CTGM4_-cx-de_gen-f": 0,
-      "_____10c-CTGM4_-cx-pspuni-b": false,
-      "_____10c-CTGM4_-nx-pstcrm-f": 99999,
-      "_____10c-CTGM4_-cx-dstmap-d": {
-         "o__mot": [
-            [
-               "0_0_0-6_0_0",
-               [
-                  1,
-                  1,
-                  1
-               ],
-               1,
-               false,
-               1,
-               1,
-               1
-            ]
-         ]
-      },
-      "_____10c-CTGM4_-cx-gd_vis-b": true,
-      "_____10c-CTGM4_-nx-pstcr_-f": 1,
-      "_____10c-CTGM4_-nx-fire_t-f": 1,
-      "_____10c-CTGM4_-nx-refrac-i": 0,
-      "_____10c-CTGM4_-nx-leak_c-f": 0,
-      "_____10c-CTGM4_-nx-leak_v-f": 0,
-      "_____10c-CTGM4_-nx-c_fr_c-i": 0,
-      "_____10c-CTGM4_-nx-snooze-f": 0,
-      "_____10c-CTGM4_-nx-ftincx-f": 0,
-      "_____10c-CTGM4_-nx-ftincy-f": 0,
-      "_____10c-CTGM4_-nx-ftincz-f": 0,
-      "_____10c-CTGM4_-nx-fthlim-i": 0,
-      "_____10c-CTGM4_-nx-mp_acc-b": false,
-      "_____10c-CTGM4_-nx-mp_psp-b": false,
-      "_____10c-CTGM4_-cx-memory-b": false,
-      "_____10c-CTGM4_-cx-mem__t-i": 100,
-      "_____10c-CTGM4_-cx-mem_gr-i": 1,
-      "_____10c-CTGM4_-cx-mem_ls-i": 9,
-      "_____10c-CTGM4_-cx-__name-t": "M4_FW",
-      "_____10c-CTGM4_-cx-___bbx-i": 1,
-      "_____10c-CTGM4_-cx-___bby-i": 1,
-      "_____10c-CTGM4_-cx-___bbz-i": 1,
-      "_____10c-CTGM4_-cx-rcordx-i": -20,
-      "_____10c-CTGM4_-cx-rcordy-i": 0,
-      "_____10c-CTGM4_-cx-rcordz-i": -14,
-      "_____10c-CTGM4_-cx-2dcorx-i": 1516,
-      "_____10c-CTGM4_-cx-2dcory-i": 670,
-      "_____10c-CTGM4_-cx-_group-t": "CUSTOM",
-      "_____10c-CLWM4_-cx-subgrp-t": "",
-      "_____10c-CLWM4_-cx-_n_cnt-i": 1,
-      "_____10c-CLWM4_-cx-synatt-i": 100,
-      "_____10c-CLWM4_-cx-de_gen-f": 0,
-      "_____10c-CLWM4_-cx-pspuni-b": false,
-      "_____10c-CLWM4_-nx-pstcrm-f": 99999,
-      "_____10c-CLWM4_-cx-dstmap-d": {
-         "o__mot": [
-            [
-               "0_0_0-7_0_0",
-               [
-                  1,
-                  1,
-                  1
-               ],
-               1,
-               false,
-               1,
-               1,
-               1
-            ]
-         ]
-      },
-      "_____10c-CLWM4_-cx-gd_vis-b": true,
-      "_____10c-CLWM4_-nx-pstcr_-f": 1,
-      "_____10c-CLWM4_-nx-fire_t-f": 1,
-      "_____10c-CLWM4_-nx-refrac-i": 0,
-      "_____10c-CLWM4_-nx-leak_c-f": 0,
-      "_____10c-CLWM4_-nx-leak_v-f": 0,
-      "_____10c-CLWM4_-nx-c_fr_c-i": 0,
-      "_____10c-CLWM4_-nx-snooze-f": 0,
-      "_____10c-CLWM4_-nx-ftincx-f": 0,
-      "_____10c-CLWM4_-nx-ftincy-f": 0,
-      "_____10c-CLWM4_-nx-ftincz-f": 0,
-      "_____10c-CLWM4_-nx-fthlim-i": 0,
-      "_____10c-CLWM4_-nx-mp_acc-b": false,
-      "_____10c-CLWM4_-nx-mp_psp-b": false,
-      "_____10c-CLWM4_-cx-memory-b": false,
-      "_____10c-CLWM4_-cx-mem__t-i": 100,
-      "_____10c-CLWM4_-cx-mem_gr-i": 1,
-      "_____10c-CLWM4_-cx-mem_ls-i": 9,
-      "_____10c-CLWM4_-cx-__name-t": "M4_BW",
-      "_____10c-CLWM4_-cx-___bbx-i": 1,
-      "_____10c-CLWM4_-cx-___bby-i": 1,
-      "_____10c-CLWM4_-cx-___bbz-i": 1,
-      "_____10c-CLWM4_-cx-rcordx-i": -15,
-      "_____10c-CLWM4_-cx-rcordy-i": 0,
-      "_____10c-CLWM4_-cx-rcordz-i": -14,
-      "_____10c-CLWM4_-cx-2dcorx-i": 1520,
-      "_____10c-CLWM4_-cx-2dcory-i": 825,
-      "_____10c-CLWM4_-cx-_group-t": "CUSTOM"
-   }
+  "genome_id": "2022-07-10_21:53:10_961677_111111_G",
+  "version": "2.0",
+  "neuron_morphologies": {
+    "decrease_filter_diagonal": {
+      "parameters": {
+        "vectors": [
+          [
+            0,
+            1,
+            1
+          ]
+        ]
+      },
+      "type": "vectors",
+      "class": "custom"
+    },
+    "decrease_filter_diagonal2": {
+      "parameters": {
+        "vectors": [
+          [
+            0,
+            2,
+            1
+          ]
+        ]
+      },
+      "type": "vectors",
+      "class": "custom"
+    },
+    "increase_filter_diagonal": {
+      "parameters": {
+        "vectors": [
+          [
+            0,
+            1,
+            -1
+          ]
+        ]
+      },
+      "type": "vectors",
+      "class": "custom"
+    },
+    "increase_filter_diagonal2": {
+      "parameters": {
+        "vectors": [
+          [
+            0,
+            2,
+            -1
+          ]
+        ]
+      },
+      "type": "vectors",
+      "class": "custom"
+    },
+    "to_block_[5, 7, 4]": {
+      "parameters": {
+        "patterns": [
+          [
+            [
+              "*",
+              "*",
+              "*"
+            ],
+            [
+              5,
+              7,
+              4
+            ]
+          ]
+        ]
+      },
+      "type": "patterns",
+      "class": "custom"
+    },
+    "turn_left_level_one": {
+      "parameters": {
+        "patterns": [
+          [
+            [
+              0,
+              0,
+              0
+            ],
+            [
+              0,
+              0,
+              3
+            ]
+          ],
+          [
+            [
+              0,
+              0,
+              0
+            ],
+            [
+              2,
+              0,
+              4
+            ]
+          ],
+          [
+            [
+              0,
+              0,
+              0
+            ],
+            [
+              4,
+              0,
+              3
+            ]
+          ],
+          [
+            [
+              0,
+              0,
+              0
+            ],
+            [
+              6,
+              0,
+              4
+            ]
+          ]
+        ]
+      },
+      "type": "patterns",
+      "class": "custom"
+    },
+    "turn_left_level_two": {
+      "parameters": {
+        "patterns": [
+          [
+            [
+              1,
+              0,
+              0
+            ],
+            [
+              0,
+              0,
+              2
+            ]
+          ],
+          [
+            [
+              1,
+              0,
+              0
+            ],
+            [
+              2,
+              0,
+              4
+            ]
+          ],
+          [
+            [
+              1,
+              0,
+              0
+            ],
+            [
+              4,
+              0,
+              2
+            ]
+          ],
+          [
+            [
+              1,
+              0,
+              0
+            ],
+            [
+              6,
+              0,
+              4
+            ]
+          ]
+        ]
+      },
+      "type": "patterns",
+      "class": "custom"
+    },
+    "turn_left_level_three": {
+      "parameters": {
+        "patterns": [
+          [
+            [
+              2,
+              0,
+              0
+            ],
+            [
+              0,
+              0,
+              1
+            ]
+          ],
+          [
+            [
+              2,
+              0,
+              0
+            ],
+            [
+              2,
+              0,
+              4
+            ]
+          ],
+          [
+            [
+              2,
+              0,
+              0
+            ],
+            [
+              4,
+              0,
+              1
+            ]
+          ],
+          [
+            [
+              2,
+              0,
+              0
+            ],
+            [
+              6,
+              0,
+              4
+            ]
+          ]
+        ]
+      },
+      "type": "patterns",
+      "class": "custom"
+    },
+    "turn_left_level_four": {
+      "parameters": {
+        "patterns": [
+          [
+            [
+              3,
+              0,
+              0
+            ],
+            [
+              0,
+              0,
+              2
+            ]
+          ],
+          [
+            [
+              3,
+              0,
+              0
+            ],
+            [
+              2,
+              0,
+              4
+            ]
+          ],
+          [
+            [
+              3,
+              0,
+              0
+            ],
+            [
+              4,
+              0,
+              2
+            ]
+          ],
+          [
+            [
+              3,
+              0,
+              0
+            ],
+            [
+              6,
+              0,
+              4
+            ]
+          ]
+        ]
+      },
+      "type": "patterns",
+      "class": "custom"
+    },
+    "turn_left_level_five": {
+      "parameters": {
+        "patterns": [
+          [
+            [
+              4,
+              0,
+              0
+            ],
+            [
+              1,
+              0,
+              4
+            ]
+          ],
+          [
+            [
+              4,
+              0,
+              0
+            ],
+            [
+              2,
+              0,
+              4
+            ]
+          ],
+          [
+            [
+              4,
+              0,
+              0
+            ],
+            [
+              5,
+              0,
+              4
+            ]
+          ],
+          [
+            [
+              4,
+              0,
+              0
+            ],
+            [
+              6,
+              0,
+              4
+            ]
+          ]
+        ]
+      },
+      "type": "patterns",
+      "class": "custom"
+    },
+    "turn_right_level_one": {
+      "parameters": {
+        "patterns": [
+          [
+            [
+              0,
+              0,
+              0
+            ],
+            [
+              0,
+              0,
+              4
+            ]
+          ],
+          [
+            [
+              0,
+              0,
+              0
+            ],
+            [
+              2,
+              0,
+              3
+            ]
+          ],
+          [
+            [
+              0,
+              0,
+              0
+            ],
+            [
+              4,
+              0,
+              4
+            ]
+          ],
+          [
+            [
+              0,
+              0,
+              0
+            ],
+            [
+              6,
+              0,
+              3
+            ]
+          ]
+        ]
+      },
+      "type": "patterns",
+      "class": "custom"
+    },
+    "turn_right_level_two": {
+      "parameters": {
+        "patterns": [
+          [
+            [
+              1,
+              0,
+              0
+            ],
+            [
+              0,
+              0,
+              4
+            ]
+          ],
+          [
+            [
+              1,
+              0,
+              0
+            ],
+            [
+              2,
+              0,
+              2
+            ]
+          ],
+          [
+            [
+              1,
+              0,
+              0
+            ],
+            [
+              4,
+              0,
+              4
+            ]
+          ],
+          [
+            [
+              1,
+              0,
+              0
+            ],
+            [
+              6,
+              0,
+              2
+            ]
+          ]
+        ]
+      },
+      "type": "patterns",
+      "class": "custom"
+    },
+    "turn_right_level_three": {
+      "parameters": {
+        "patterns": [
+          [
+            [
+              2,
+              0,
+              0
+            ],
+            [
+              0,
+              0,
+              4
+            ]
+          ],
+          [
+            [
+              2,
+              0,
+              0
+            ],
+            [
+              2,
+              0,
+              1
+            ]
+          ],
+          [
+            [
+              2,
+              0,
+              0
+            ],
+            [
+              4,
+              0,
+              4
+            ]
+          ],
+          [
+            [
+              2,
+              0,
+              0
+            ],
+            [
+              6,
+              0,
+              1
+            ]
+          ]
+        ]
+      },
+      "type": "patterns",
+      "class": "custom"
+    },
+    "turn_right_level_four": {
+      "parameters": {
+        "patterns": [
+          [
+            [
+              3,
+              0,
+              0
+            ],
+            [
+              0,
+              0,
+              4
+            ]
+          ],
+          [
+            [
+              3,
+              0,
+              0
+            ],
+            [
+              2,
+              0,
+              2
+            ]
+          ],
+          [
+            [
+              3,
+              0,
+              0
+            ],
+            [
+              4,
+              0,
+              4
+            ]
+          ],
+          [
+            [
+              3,
+              0,
+              0
+            ],
+            [
+              6,
+              0,
+              2
+            ]
+          ]
+        ]
+      },
+      "type": "patterns",
+      "class": "custom"
+    },
+    "turn_right_level_five": {
+      "parameters": {
+        "patterns": [
+          [
+            [
+              4,
+              0,
+              0
+            ],
+            [
+              0,
+              0,
+              4
+            ]
+          ],
+          [
+            [
+              4,
+              0,
+              0
+            ],
+            [
+              3,
+              0,
+              4
+            ]
+          ],
+          [
+            [
+              4,
+              0,
+              0
+            ],
+            [
+              4,
+              0,
+              4
+            ]
+          ],
+          [
+            [
+              4,
+              0,
+              0
+            ],
+            [
+              7,
+              0,
+              4
+            ]
+          ]
+        ]
+      },
+      "type": "patterns",
+      "class": "custom"
+    },
+    "motor_forward": {
+      "parameters": {
+        "patterns": [
+          [
+            [
+              0,
+              0,
+              0
+            ],
+            [
+              0,
+              0,
+              4
+            ]
+          ],
+          [
+            [
+              0,
+              0,
+              0
+            ],
+            [
+              2,
+              0,
+              4
+            ]
+          ],
+          [
+            [
+              0,
+              0,
+              0
+            ],
+            [
+              4,
+              0,
+              4
+            ]
+          ],
+          [
+            [
+              0,
+              0,
+              0
+            ],
+            [
+              6,
+              0,
+              4
+            ]
+          ]
+        ]
+      },
+      "type": "patterns",
+      "class": "custom"
+    },
+    "motor_backward": {
+      "parameters": {
+        "patterns": [
+          [
+            [
+              0,
+              0,
+              0
+            ],
+            [
+              1,
+              0,
+              4
+            ]
+          ],
+          [
+            [
+              0,
+              0,
+              0
+            ],
+            [
+              3,
+              0,
+              4
+            ]
+          ],
+          [
+            [
+              0,
+              0,
+              0
+            ],
+            [
+              5,
+              0,
+              4
+            ]
+          ],
+          [
+            [
+              0,
+              0,
+              0
+            ],
+            [
+              7,
+              0,
+              4
+            ]
+          ]
+        ]
+      },
+      "type": "patterns",
+      "class": "custom"
+    },
+    "y_consolidator": {
+      "type": "patterns",
+      "parameters": {
+        "patterns": [
+          [
+            [
+              "*",
+              "*",
+              "*"
+            ],
+            [
+              "*",
+              "?",
+              "*"
+            ]
+          ]
+        ]
+      },
+      "class": "custom"
+    },
+    "intensity": {
+      "type": "patterns",
+      "parameters": {
+        "patterns": [
+          [
+            [
+              "*",
+              "*",
+              "*"
+            ],
+            [
+              0,
+              0,
+              "*"
+            ]
+          ]
+        ]
+      },
+      "class": "custom"
+    },
+    "APT_low": {
+      "type": "patterns",
+      "parameters": {
+        "patterns": [
+          [
+            [
+              0,
+              0,
+              7
+            ],
+            [
+              0,
+              0,
+              8
+            ]
+          ]
+        ]
+      },
+      "class": "custom"
+    },
+    "apt_high": {
+      "type": "patterns",
+      "parameters": {
+        "patterns": [
+          [
+            [
+              0,
+              0,
+              2
+            ],
+            [
+              0,
+              0,
+              2
+            ]
+          ]
+        ]
+      },
+      "class": "custom"
+    },
+    "diagonal_proprio": {
+      "type": "vectors",
+      "parameters": {
+        "vectors": [
+          [
+            1,
+            1,
+            0
+          ]
+        ]
+      },
+      "class": "custom"
+    },
+    "right_detect": {
+      "type": "patterns",
+      "parameters": {
+        "patterns": [
+          [
+            [
+              7,
+              "*",
+              0
+            ],
+            [
+              0,
+              0,
+              0
+            ]
+          ]
+        ]
+      },
+      "class": "custom"
+    },
+    "left_detect": {
+      "type": "patterns",
+      "parameters": {
+        "patterns": [
+          [
+            [
+              0,
+              "*",
+              0
+            ],
+            [
+              0,
+              0,
+              0
+            ]
+          ]
+        ]
+      },
+      "class": "custom"
+    },
+    "bbb3": {
+      "type": "vectors",
+      "parameters": {
+        "vectors": [
+          [
+            -1,
+            1,
+            0
+          ]
+        ]
+      },
+      "class": "custom"
+    },
+    "ori_135_deg": {
+      "parameters": {
+        "vectors": [
+          [
+            0,
+            0,
+            0
+          ],
+          [
+            1,
+            -1,
+            0
+          ],
+          [
+            2,
+            -2,
+            0
+          ],
+          [
+            3,
+            -3,
+            0
+          ],
+          [
+            4,
+            -4,
+            0
+          ],
+          [
+            5,
+            -5,
+            0
+          ]
+        ]
+      },
+      "type": "vectors",
+      "class": "custom"
+    },
+    "ori_115": {
+      "parameters": {
+        "vectors": [
+          [
+            0,
+            0,
+            0
+          ],
+          [
+            1,
+            -2,
+            0
+          ],
+          [
+            2,
+            -4,
+            0
+          ],
+          [
+            3,
+            -6,
+            0
+          ],
+          [
+            4,
+            -9,
+            0
+          ],
+          [
+            5,
+            -11,
+            0
+          ]
+        ]
+      },
+      "type": "vectors",
+      "class": "custom"
+    },
+    "ori_0_deg": {
+      "type": "vectors",
+      "parameters": {
+        "vectors": [
+          [
+            0,
+            0,
+            0
+          ],
+          [
+            1,
+            0,
+            0
+          ],
+          [
+            2,
+            0,
+            0
+          ],
+          [
+            3,
+            0,
+            0
+          ],
+          [
+            4,
+            0,
+            0
+          ]
+        ]
+      },
+      "class": "custom"
+    },
+    "ori_90_deg": {
+      "type": "vectors",
+      "parameters": {
+        "vectors": [
+          [
+            0,
+            0,
+            0
+          ],
+          [
+            0,
+            1,
+            0
+          ],
+          [
+            0,
+            2,
+            0
+          ],
+          [
+            0,
+            3,
+            0
+          ],
+          [
+            0,
+            4,
+            0
+          ],
+          [
+            0,
+            5,
+            0
+          ],
+          [
+            0,
+            6,
+            0
+          ],
+          [
+            0,
+            7,
+            0
+          ],
+          [
+            0,
+            8,
+            0
+          ],
+          [
+            0,
+            9,
+            0
+          ]
+        ]
+      },
+      "class": "custom"
+    },
+    "ori_45_deg": {
+      "type": "vectors",
+      "parameters": {
+        "vectors": [
+          [
+            0,
+            0,
+            0
+          ],
+          [
+            1,
+            1,
+            0
+          ],
+          [
+            2,
+            2,
+            0
+          ],
+          [
+            3,
+            3,
+            0
+          ],
+          [
+            4,
+            4,
+            0
+          ],
+          [
+            5,
+            5,
+            0
+          ],
+          [
+            6,
+            6,
+            0
+          ],
+          [
+            7,
+            7,
+            0
+          ],
+          [
+            8,
+            8,
+            0
+          ]
+        ]
+      },
+      "class": "custom"
+    },
+    "ori_60_deg": {
+      "type": "vectors",
+      "parameters": {
+        "vectors": [
+          [
+            0,
+            0,
+            0
+          ],
+          [
+            1,
+            1,
+            0
+          ],
+          [
+            1,
+            2,
+            0
+          ],
+          [
+            2,
+            3,
+            0
+          ],
+          [
+            2,
+            4,
+            0
+          ],
+          [
+            3,
+            5,
+            0
+          ],
+          [
+            3,
+            6,
+            0
+          ],
+          [
+            4,
+            7,
+            0
+          ]
+        ]
+      },
+      "class": "custom"
+    },
+    "block_to_block": {
+      "parameters": {
+        "vectors": [
+          [
+            0,
+            0,
+            0
+          ]
+        ]
+      },
+      "type": "vectors",
+      "class": "core"
+    },
+    "projector": {
+      "parameters": {},
+      "type": "functions",
+      "class": "core"
+    },
+    "memory": {
+      "parameters": {},
+      "type": "functions",
+      "class": "core"
+    },
+    "0-0-0_to_all": {
+      "type": "patterns",
+      "parameters": {
+        "patterns": [
+          [
+            [
+              0,
+              0,
+              0
+            ],
+            [
+              "*",
+              "*",
+              "*"
+            ]
+          ]
+        ]
+      },
+      "class": "core"
+    },
+    "all_to_0-0-0": {
+      "type": "patterns",
+      "parameters": {
+        "patterns": [
+          [
+            [
+              "*",
+              "*",
+              "*"
+            ],
+            [
+              0,
+              0,
+              0
+            ]
+          ]
+        ]
+      },
+      "class": "core"
+    },
+    "all_to_all": {
+      "type": "patterns",
+      "parameters": {
+        "patterns": [
+          [
+            [
+              "?",
+              "?",
+              "?"
+            ],
+            [
+              "*",
+              "*",
+              "*"
+            ]
+          ]
+        ]
+      },
+      "class": "core"
+    },
+    "lateral_+x": {
+      "parameters": {
+        "vectors": [
+          [
+            1,
+            0,
+            0
+          ]
+        ]
+      },
+      "type": "vectors",
+      "class": "core"
+    },
+    "lateral_-x": {
+      "parameters": {
+        "vectors": [
+          [
+            -1,
+            0,
+            0
+          ]
+        ]
+      },
+      "type": "vectors",
+      "class": "core"
+    },
+    "lateral_+y": {
+      "parameters": {
+        "vectors": [
+          [
+            0,
+            1,
+            0
+          ]
+        ]
+      },
+      "type": "vectors",
+      "class": "core"
+    },
+    "lateral_-y": {
+      "parameters": {
+        "vectors": [
+          [
+            0,
+            -1,
+            0
+          ]
+        ]
+      },
+      "type": "vectors",
+      "class": "core"
+    },
+    "lateral_+z": {
+      "parameters": {
+        "vectors": [
+          [
+            0,
+            0,
+            1
+          ]
+        ]
+      },
+      "type": "vectors",
+      "class": "core"
+    },
+    "lateral_-z": {
+      "parameters": {
+        "vectors": [
+          [
+            0,
+            0,
+            -1
+          ]
+        ]
+      },
+      "type": "vectors",
+      "class": "core"
+    },
+    "randomizer": {
+      "parameters": {},
+      "type": "functions",
+      "class": "core"
+    },
+    "expander_x": {
+      "parameters": {},
+      "type": "functions",
+      "class": "core"
+    },
+    "reducer_x": {
+      "parameters": {},
+      "type": "functions",
+      "class": "core"
+    },
+    "lateral_pairs_x": {
+      "parameters": {},
+      "type": "functions",
+      "class": "core"
+    },
+    "tile": {
+      "parameters": {
+        "src_seed": [
+          16,
+          16,
+          1
+        ],
+        "src_pattern": [
+          [
+            1,
+            0
+          ],
+          [
+            1,
+            0
+          ],
+          [
+            1,
+            0
+          ]
+        ],
+        "mapper_morphology": "projector"
+      },
+      "type": "composite",
+      "class": "core"
+    },
+    "0_0_0-_0_0_0": {
+      "type": "patterns",
+      "parameters": {
+        "patterns": [
+          [
+            [
+              0,
+              0,
+              0
+            ],
+            [
+              0,
+              0,
+              0
+            ]
+          ]
+        ]
+      },
+      "morphology_name": "0_0_0-_0_0_0",
+      "class": "custom"
+    },
+    "0_0_0-1_0_0": {
+      "type": "patterns",
+      "parameters": {
+        "patterns": [
+          [
+            [
+              0,
+              0,
+              0
+            ],
+            [
+              1,
+              0,
+              0
+            ]
+          ]
+        ]
+      },
+      "morphology_name": "0_0_0-1_0_0",
+      "class": "custom"
+    },
+    "0_0_0-2_0_0": {
+      "type": "patterns",
+      "parameters": {
+        "patterns": [
+          [
+            [
+              0,
+              0,
+              0
+            ],
+            [
+              2,
+              0,
+              0
+            ]
+          ]
+        ]
+      },
+      "morphology_name": "0_0_0-2_0_0",
+      "class": "custom"
+    },
+    "0_0_0-3_0_0": {
+      "type": "patterns",
+      "parameters": {
+        "patterns": [
+          [
+            [
+              0,
+              0,
+              0
+            ],
+            [
+              3,
+              0,
+              0
+            ]
+          ]
+        ]
+      },
+      "morphology_name": "0_0_0-3_0_0",
+      "class": "custom"
+    },
+    "0_0_0-4_0_0": {
+      "type": "patterns",
+      "parameters": {
+        "patterns": [
+          [
+            [
+              0,
+              0,
+              0
+            ],
+            [
+              4,
+              0,
+              0
+            ]
+          ]
+        ]
+      },
+      "morphology_name": "0_0_0-4_0_0",
+      "class": "custom"
+    },
+    "0_0_0-5_0_0": {
+      "type": "patterns",
+      "parameters": {
+        "patterns": [
+          [
+            [
+              0,
+              0,
+              0
+            ],
+            [
+              5,
+              0,
+              0
+            ]
+          ]
+        ]
+      },
+      "morphology_name": "0_0_0-5_0_0",
+      "class": "custom"
+    },
+    "0_0_0-6_0_0": {
+      "type": "patterns",
+      "parameters": {
+        "patterns": [
+          [
+            [
+              0,
+              0,
+              0
+            ],
+            [
+              6,
+              0,
+              0
+            ]
+          ]
+        ]
+      },
+      "morphology_name": "0_0_0-6_0_0",
+      "class": "custom"
+    },
+    "0_0_0-7_0_0": {
+      "type": "patterns",
+      "parameters": {
+        "patterns": [
+          [
+            [
+              0,
+              0,
+              0
+            ],
+            [
+              7,
+              0,
+              0
+            ]
+          ]
+        ]
+      },
+      "morphology_name": "0_0_0-7_0_0",
+      "class": "custom"
+    }
+  },
+  "hosts": {},
+  "physiology": {
+    "burst_delay": 0.025,
+    "max_age": 10000000,
+    "evolution_burst_count": 50,
+    "ipu_idle_threshold": 1000,
+    "plasticity_queue_depth": 3,
+    "lifespan_mgmt_interval": 10
+  },
+  "stats": {
+    "innate_cortical_area_count": 23,
+    "innate_neuron_count": 13845,
+    "innate_synapse_count": 400
+  },
+  "signatures": {
+    "genome": "d6c692d9194f8c0a",
+    "blueprint": "b6c2d4f83d8e3088",
+    "physiology": "5f1e7f587e1af2c8"
+  },
+  "timestamp": 1713187080.019076,
+  "blueprint": {
+    "_____10c-___pwr-cx-subgrp-t": "",
+    "_____10c-___pwr-cx-_n_cnt-i": 1,
+    "_____10c-___pwr-cx-synatt-i": 100,
+    "_____10c-___pwr-cx-de_gen-f": 0.01,
+    "_____10c-___pwr-cx-pspuni-b": false,
+    "_____10c-___pwr-nx-pstcrm-f": 35,
+    "_____10c-___pwr-cx-dstmap-d": {},
+    "_____10c-___pwr-cx-___bbx-i": 1,
+    "_____10c-___pwr-cx-___bby-i": 1,
+    "_____10c-___pwr-cx-___bbz-i": 1,
+    "_____10c-___pwr-cx-rcordx-i": 10,
+    "_____10c-___pwr-cx-rcordy-i": 0,
+    "_____10c-___pwr-cx-rcordz-i": -20,
+    "_____10c-___pwr-cx-2dcorx-i": -319,
+    "_____10c-___pwr-cx-2dcory-i": -682,
+    "_____10c-___pwr-cx-gd_vis-b": true,
+    "_____10c-___pwr-nx-pstcr_-f": 500,
+    "_____10c-___pwr-nx-fire_t-f": 1,
+    "_____10c-___pwr-nx-refrac-i": 0,
+    "_____10c-___pwr-nx-leak_c-f": 10,
+    "_____10c-___pwr-nx-leak_v-f": 0,
+    "_____10c-___pwr-nx-c_fr_c-i": 3,
+    "_____10c-___pwr-nx-snooze-f": 0,
+    "_____10c-___pwr-nx-ftincx-f": 0,
+    "_____10c-___pwr-nx-ftincy-f": 0,
+    "_____10c-___pwr-nx-ftincz-f": 0,
+    "_____10c-___pwr-nx-fthlim-i": 0,
+    "_____10c-___pwr-nx-mp_acc-b": true,
+    "_____10c-___pwr-nx-mp_psp-b": false,
+    "_____10c-___pwr-cx-memory-b": false,
+    "_____10c-___pwr-cx-mem__t-i": 100,
+    "_____10c-___pwr-cx-mem_gr-i": 1,
+    "_____10c-___pwr-cx-mem_ls-i": 9,
+    "_____10c-___pwr-nx-excite-i": 100,
+    "_____10c-___pwr-cx-__name-t": "Brain_Power",
+    "_____10c-___pwr-cx-_group-t": "CORE",
+    "_____10c-o__mot-cx-subgrp-t": "",
+    "_____10c-o__mot-cx-_n_cnt-i": 1,
+    "_____10c-o__mot-cx-synatt-i": 100,
+    "_____10c-o__mot-cx-de_gen-f": 0,
+    "_____10c-o__mot-cx-pspuni-b": false,
+    "_____10c-o__mot-nx-pstcrm-f": 35,
+    "_____10c-o__mot-cx-dstmap-d": {},
+    "_____10c-o__mot-cx-___bbx-i": 8,
+    "_____10c-o__mot-cx-___bby-i": 1,
+    "_____10c-o__mot-cx-___bbz-i": 1,
+    "_____10c-o__mot-cx-rcordx-i": -31,
+    "_____10c-o__mot-cx-rcordy-i": 0,
+    "_____10c-o__mot-cx-rcordz-i": -22,
+    "_____10c-o__mot-cx-2dcorx-i": 2083,
+    "_____10c-o__mot-cx-2dcory-i": 187,
+    "_____10c-o__mot-cx-gd_vis-b": true,
+    "_____10c-o__mot-nx-pstcr_-f": 6,
+    "_____10c-o__mot-nx-fire_t-f": 1,
+    "_____10c-o__mot-nx-refrac-i": 0,
+    "_____10c-o__mot-nx-leak_c-f": 0,
+    "_____10c-o__mot-nx-leak_v-f": 0,
+    "_____10c-o__mot-nx-c_fr_c-i": 0,
+    "_____10c-o__mot-nx-snooze-f": 0,
+    "_____10c-o__mot-nx-ftincx-f": 0,
+    "_____10c-o__mot-nx-ftincy-f": 0,
+    "_____10c-o__mot-nx-ftincz-f": 0,
+    "_____10c-o__mot-nx-fthlim-i": 0,
+    "_____10c-o__mot-nx-mp_acc-b": false,
+    "_____10c-o__mot-nx-mp_psp-b": false,
+    "_____10c-o__mot-cx-memory-b": false,
+    "_____10c-o__mot-cx-mem__t-i": 100,
+    "_____10c-o__mot-cx-mem_gr-i": 1,
+    "_____10c-o__mot-cx-mem_ls-i": 9,
+    "_____10c-o__mot-nx-excite-i": 100,
+    "_____10c-o__mot-cx-__name-t": "motor_opu",
+    "_____10c-o__mot-cx-_group-t": "OPU",
+    "_____10c-m__lef-cx-subgrp-t": "",
+    "_____10c-m__lef-cx-_n_cnt-i": 1,
+    "_____10c-m__lef-cx-synatt-i": 100,
+    "_____10c-m__lef-cx-de_gen-f": 0,
+    "_____10c-m__lef-cx-pspuni-b": true,
+    "_____10c-m__lef-nx-pstcrm-f": 35,
+    "_____10c-m__lef-cx-dstmap-d": {},
+    "_____10c-m__lef-cx-___bbx-i": 1,
+    "_____10c-m__lef-cx-___bby-i": 1,
+    "_____10c-m__lef-cx-___bbz-i": 1,
+    "_____10c-m__lef-cx-rcordx-i": -48,
+    "_____10c-m__lef-cx-rcordy-i": 0,
+    "_____10c-m__lef-cx-rcordz-i": 5,
+    "_____10c-m__lef-cx-2dcorx-i": 887,
+    "_____10c-m__lef-cx-2dcory-i": 533,
+    "_____10c-m__lef-cx-gd_vis-b": true,
+    "_____10c-m__lef-nx-pstcr_-f": 5,
+    "_____10c-m__lef-nx-fire_t-f": 1,
+    "_____10c-m__lef-nx-refrac-i": 0,
+    "_____10c-m__lef-nx-leak_c-f": 10,
+    "_____10c-m__lef-nx-leak_v-f": 0,
+    "_____10c-m__lef-nx-c_fr_c-i": 3,
+    "_____10c-m__lef-nx-snooze-f": 0,
+    "_____10c-m__lef-nx-ftincx-f": 0,
+    "_____10c-m__lef-nx-ftincy-f": 0,
+    "_____10c-m__lef-nx-ftincz-f": 0,
+    "_____10c-m__lef-nx-fthlim-i": 0,
+    "_____10c-m__lef-nx-mp_acc-b": true,
+    "_____10c-m__lef-nx-mp_psp-b": false,
+    "_____10c-m__lef-cx-memory-b": false,
+    "_____10c-m__lef-cx-mem__t-i": 100,
+    "_____10c-m__lef-cx-mem_gr-i": 1,
+    "_____10c-m__lef-cx-mem_ls-i": 9,
+    "_____10c-m__lef-nx-excite-i": 100,
+    "_____10c-m__lef-cx-__name-t": "turn_left",
+    "_____10c-m__lef-cx-_group-t": "CUSTOM",
+    "_____10c-m__rig-cx-subgrp-t": "",
+    "_____10c-m__rig-cx-_n_cnt-i": 1,
+    "_____10c-m__rig-cx-synatt-i": 100,
+    "_____10c-m__rig-cx-de_gen-f": 0,
+    "_____10c-m__rig-cx-pspuni-b": true,
+    "_____10c-m__rig-nx-pstcrm-f": 35,
+    "_____10c-m__rig-cx-dstmap-d": {},
+    "_____10c-m__rig-cx-___bbx-i": 1,
+    "_____10c-m__rig-cx-___bby-i": 1,
+    "_____10c-m__rig-cx-___bbz-i": 1,
+    "_____10c-m__rig-cx-rcordx-i": -28,
+    "_____10c-m__rig-cx-rcordy-i": 0,
+    "_____10c-m__rig-cx-rcordz-i": 5,
+    "_____10c-m__rig-cx-2dcorx-i": 896,
+    "_____10c-m__rig-cx-2dcory-i": 239,
+    "_____10c-m__rig-cx-gd_vis-b": true,
+    "_____10c-m__rig-nx-pstcr_-f": 5,
+    "_____10c-m__rig-nx-fire_t-f": 1,
+    "_____10c-m__rig-nx-refrac-i": 0,
+    "_____10c-m__rig-nx-leak_c-f": 10,
+    "_____10c-m__rig-nx-leak_v-f": 0,
+    "_____10c-m__rig-nx-c_fr_c-i": 3,
+    "_____10c-m__rig-nx-snooze-f": 0,
+    "_____10c-m__rig-nx-ftincx-f": 0,
+    "_____10c-m__rig-nx-ftincy-f": 0,
+    "_____10c-m__rig-nx-ftincz-f": 0,
+    "_____10c-m__rig-nx-fthlim-i": 0,
+    "_____10c-m__rig-nx-mp_acc-b": true,
+    "_____10c-m__rig-nx-mp_psp-b": false,
+    "_____10c-m__rig-cx-memory-b": false,
+    "_____10c-m__rig-cx-mem__t-i": 100,
+    "_____10c-m__rig-cx-mem_gr-i": 1,
+    "_____10c-m__rig-cx-mem_ls-i": 9,
+    "_____10c-m__rig-nx-excite-i": 100,
+    "_____10c-m__rig-cx-__name-t": "turn_right",
+    "_____10c-m__rig-cx-_group-t": "CUSTOM",
+    "_____10c-m__for-cx-subgrp-t": "",
+    "_____10c-m__for-cx-_n_cnt-i": 1,
+    "_____10c-m__for-cx-synatt-i": 100,
+    "_____10c-m__for-cx-de_gen-f": 0,
+    "_____10c-m__for-cx-pspuni-b": true,
+    "_____10c-m__for-nx-pstcrm-f": 35,
+    "_____10c-m__for-cx-dstmap-d": {
+      "CRSMot": [
+        [
+          "projector",
+          [
+            1,
+            1,
+            1
+          ],
+          1,
+          false,
+          1,
+          1,
+          1
+        ]
+      ],
+      "CKQM2_": [
+        [
+          "projector",
+          [
+            1,
+            1,
+            1
+          ],
+          1,
+          false,
+          1,
+          1,
+          1
+        ]
+      ],
+      "CO4M3_": [
+        [
+          "projector",
+          [
+            1,
+            1,
+            1
+          ],
+          1,
+          false,
+          1,
+          1,
+          1
+        ]
+      ],
+      "CTGM4_": [
+        [
+          "projector",
+          [
+            1,
+            1,
+            1
+          ],
+          1,
+          false,
+          1,
+          1,
+          1
+        ]
+      ]
+    },
+    "_____10c-m__for-cx-___bbx-i": 1,
+    "_____10c-m__for-cx-___bby-i": 1,
+    "_____10c-m__for-cx-___bbz-i": 1,
+    "_____10c-m__for-cx-rcordx-i": -38,
+    "_____10c-m__for-cx-rcordy-i": 0,
+    "_____10c-m__for-cx-rcordz-i": 0,
+    "_____10c-m__for-cx-2dcorx-i": 894,
+    "_____10c-m__for-cx-2dcory-i": -204,
+    "_____10c-m__for-cx-gd_vis-b": true,
+    "_____10c-m__for-nx-pstcr_-f": 5,
+    "_____10c-m__for-nx-fire_t-f": 1,
+    "_____10c-m__for-nx-refrac-i": 0,
+    "_____10c-m__for-nx-leak_c-f": 10,
+    "_____10c-m__for-nx-leak_v-f": 0,
+    "_____10c-m__for-nx-c_fr_c-i": 3,
+    "_____10c-m__for-nx-snooze-f": 0,
+    "_____10c-m__for-nx-ftincx-f": 0,
+    "_____10c-m__for-nx-ftincy-f": 0,
+    "_____10c-m__for-nx-ftincz-f": 0,
+    "_____10c-m__for-nx-fthlim-i": 0,
+    "_____10c-m__for-nx-mp_acc-b": true,
+    "_____10c-m__for-nx-mp_psp-b": false,
+    "_____10c-m__for-cx-memory-b": false,
+    "_____10c-m__for-cx-mem__t-i": 100,
+    "_____10c-m__for-cx-mem_gr-i": 1,
+    "_____10c-m__for-cx-mem_ls-i": 9,
+    "_____10c-m__for-nx-excite-i": 100,
+    "_____10c-m__for-cx-__name-t": "forward",
+    "_____10c-m__for-cx-_group-t": "CUSTOM",
+    "_____10c-m__bac-cx-subgrp-t": "",
+    "_____10c-m__bac-cx-_n_cnt-i": 1,
+    "_____10c-m__bac-cx-synatt-i": 100,
+    "_____10c-m__bac-cx-de_gen-f": 0,
+    "_____10c-m__bac-cx-pspuni-b": true,
+    "_____10c-m__bac-nx-pstcrm-f": 35,
+    "_____10c-m__bac-cx-dstmap-d": {
+      "CLWM4_": [
+        [
+          "projector",
+          [
+            1,
+            1,
+            1
+          ],
+          1,
+          false,
+          1,
+          1,
+          1
+        ]
+      ],
+      "CJWM3_": [
+        [
+          "projector",
+          [
+            1,
+            1,
+            1
+          ],
+          1,
+          false,
+          1,
+          1,
+          1
+        ]
+      ],
+      "CKYM2_": [
+        [
+          "projector",
+          [
+            1,
+            1,
+            1
+          ],
+          1,
+          false,
+          1,
+          1,
+          1
+        ]
+      ],
+      "CIHMot": [
+        [
+          "projector",
+          [
+            1,
+            1,
+            1
+          ],
+          1,
+          false,
+          1,
+          1,
+          1
+        ]
+      ]
+    },
+    "_____10c-m__bac-cx-___bbx-i": 1,
+    "_____10c-m__bac-cx-___bby-i": 1,
+    "_____10c-m__bac-cx-___bbz-i": 1,
+    "_____10c-m__bac-cx-rcordx-i": -38,
+    "_____10c-m__bac-cx-rcordy-i": 0,
+    "_____10c-m__bac-cx-rcordz-i": 10,
+    "_____10c-m__bac-cx-2dcorx-i": 892,
+    "_____10c-m__bac-cx-2dcory-i": 859,
+    "_____10c-m__bac-cx-gd_vis-b": true,
+    "_____10c-m__bac-nx-pstcr_-f": 5,
+    "_____10c-m__bac-nx-fire_t-f": 1,
+    "_____10c-m__bac-nx-refrac-i": 0,
+    "_____10c-m__bac-nx-leak_c-f": 10,
+    "_____10c-m__bac-nx-leak_v-f": 0,
+    "_____10c-m__bac-nx-c_fr_c-i": 3,
+    "_____10c-m__bac-nx-snooze-f": 0,
+    "_____10c-m__bac-nx-ftincx-f": 0,
+    "_____10c-m__bac-nx-ftincy-f": 0,
+    "_____10c-m__bac-nx-ftincz-f": 0,
+    "_____10c-m__bac-nx-fthlim-i": 0,
+    "_____10c-m__bac-nx-mp_acc-b": true,
+    "_____10c-m__bac-nx-mp_psp-b": false,
+    "_____10c-m__bac-cx-memory-b": false,
+    "_____10c-m__bac-cx-mem__t-i": 100,
+    "_____10c-m__bac-cx-mem_gr-i": 1,
+    "_____10c-m__bac-cx-mem_ls-i": 9,
+    "_____10c-m__bac-nx-excite-i": 100,
+    "_____10c-m__bac-cx-__name-t": "backward",
+    "_____10c-m__bac-cx-_group-t": "CUSTOM",
+    "_____10c-iv00_C-cx-subgrp-t": "",
+    "_____10c-iv00_C-cx-_n_cnt-i": 1,
+    "_____10c-iv00_C-cx-synatt-i": 100,
+    "_____10c-iv00_C-cx-de_gen-f": 0,
+    "_____10c-iv00_C-cx-pspuni-b": false,
+    "_____10c-iv00_C-nx-pstcrm-f": 100,
+    "_____10c-iv00_C-cx-dstmap-d": {},
+    "_____10c-iv00_C-cx-___bbx-i": 64,
+    "_____10c-iv00_C-cx-___bby-i": 64,
+    "_____10c-iv00_C-cx-___bbz-i": 3,
+    "_____10c-iv00_C-cx-rcordx-i": 30,
+    "_____10c-iv00_C-cx-rcordy-i": 40,
+    "_____10c-iv00_C-cx-rcordz-i": -20,
+    "_____10c-iv00_C-cx-2dcorx-i": -262,
+    "_____10c-iv00_C-cx-2dcory-i": 127,
+    "_____10c-iv00_C-cx-gd_vis-b": true,
+    "_____10c-iv00_C-nx-pstcr_-f": 25,
+    "_____10c-iv00_C-nx-fire_t-f": 1,
+    "_____10c-iv00_C-nx-refrac-i": 0,
+    "_____10c-iv00_C-nx-leak_c-f": 0,
+    "_____10c-iv00_C-nx-leak_v-f": 0,
+    "_____10c-iv00_C-nx-c_fr_c-i": 3,
+    "_____10c-iv00_C-nx-snooze-f": 0,
+    "_____10c-iv00_C-nx-ftincx-f": 0,
+    "_____10c-iv00_C-nx-ftincy-f": 0,
+    "_____10c-iv00_C-nx-ftincz-f": 0,
+    "_____10c-iv00_C-nx-fthlim-i": 0,
+    "_____10c-iv00_C-nx-mp_acc-b": true,
+    "_____10c-iv00_C-nx-mp_psp-b": false,
+    "_____10c-iv00_C-cx-memory-b": false,
+    "_____10c-iv00_C-cx-mem__t-i": 100,
+    "_____10c-iv00_C-cx-mem_gr-i": 1,
+    "_____10c-iv00_C-cx-mem_ls-i": 9,
+    "_____10c-iv00_C-nx-excite-i": 100,
+    "_____10c-iv00_C-cx-__name-t": "vision_C",
+    "_____10c-iv00_C-cx-_group-t": "IPU",
+    "_____10c-iv00BL-cx-subgrp-t": "",
+    "_____10c-iv00BL-cx-_n_cnt-i": 1,
+    "_____10c-iv00BL-cx-synatt-i": 100,
+    "_____10c-iv00BL-cx-de_gen-f": 0,
+    "_____10c-iv00BL-cx-pspuni-b": false,
+    "_____10c-iv00BL-nx-pstcrm-f": 35,
+    "_____10c-iv00BL-cx-dstmap-d": {},
+    "_____10c-iv00BL-cx-___bbx-i": 8,
+    "_____10c-iv00BL-cx-___bby-i": 8,
+    "_____10c-iv00BL-cx-___bbz-i": 3,
+    "_____10c-iv00BL-cx-rcordx-i": 20,
+    "_____10c-iv00BL-cx-rcordy-i": 30,
+    "_____10c-iv00BL-cx-rcordz-i": -20,
+    "_____10c-iv00BL-cx-2dcorx-i": -614,
+    "_____10c-iv00BL-cx-2dcory-i": 317,
+    "_____10c-iv00BL-cx-gd_vis-b": true,
+    "_____10c-iv00BL-nx-pstcr_-f": 5,
+    "_____10c-iv00BL-nx-fire_t-f": 1,
+    "_____10c-iv00BL-nx-refrac-i": 0,
+    "_____10c-iv00BL-nx-leak_c-f": 0,
+    "_____10c-iv00BL-nx-leak_v-f": 0,
+    "_____10c-iv00BL-nx-c_fr_c-i": 3,
+    "_____10c-iv00BL-nx-snooze-f": 0,
+    "_____10c-iv00BL-nx-ftincx-f": 0,
+    "_____10c-iv00BL-nx-ftincy-f": 0,
+    "_____10c-iv00BL-nx-ftincz-f": 0,
+    "_____10c-iv00BL-nx-fthlim-i": 0,
+    "_____10c-iv00BL-nx-mp_acc-b": true,
+    "_____10c-iv00BL-nx-mp_psp-b": false,
+    "_____10c-iv00BL-cx-memory-b": false,
+    "_____10c-iv00BL-cx-mem__t-i": 100,
+    "_____10c-iv00BL-cx-mem_gr-i": 1,
+    "_____10c-iv00BL-cx-mem_ls-i": 9,
+    "_____10c-iv00BL-nx-excite-i": 100,
+    "_____10c-iv00BL-cx-__name-t": "vision_LL",
+    "_____10c-iv00BL-cx-_group-t": "IPU",
+    "_____10c-iv00BM-cx-subgrp-t": "",
+    "_____10c-iv00BM-cx-_n_cnt-i": 1,
+    "_____10c-iv00BM-cx-synatt-i": 100,
+    "_____10c-iv00BM-cx-de_gen-f": 0,
+    "_____10c-iv00BM-cx-pspuni-b": false,
+    "_____10c-iv00BM-nx-pstcrm-f": 35,
+    "_____10c-iv00BM-cx-dstmap-d": {
+      "m__bac": [
+        [
+          "projector",
+          [
+            1,
+            1,
+            1
+          ],
+          1,
+          false,
+          1,
+          1,
+          1
+        ]
+      ]
+    },
+    "_____10c-iv00BM-cx-___bbx-i": 8,
+    "_____10c-iv00BM-cx-___bby-i": 8,
+    "_____10c-iv00BM-cx-___bbz-i": 3,
+    "_____10c-iv00BM-cx-rcordx-i": 55,
+    "_____10c-iv00BM-cx-rcordy-i": 30,
+    "_____10c-iv00BM-cx-rcordz-i": -20,
+    "_____10c-iv00BM-cx-2dcorx-i": -253,
+    "_____10c-iv00BM-cx-2dcory-i": 324,
+    "_____10c-iv00BM-cx-gd_vis-b": true,
+    "_____10c-iv00BM-nx-pstcr_-f": 5,
+    "_____10c-iv00BM-nx-fire_t-f": 1,
+    "_____10c-iv00BM-nx-refrac-i": 0,
+    "_____10c-iv00BM-nx-leak_c-f": 0,
+    "_____10c-iv00BM-nx-leak_v-f": 0,
+    "_____10c-iv00BM-nx-c_fr_c-i": 3,
+    "_____10c-iv00BM-nx-snooze-f": 0,
+    "_____10c-iv00BM-nx-ftincx-f": 0,
+    "_____10c-iv00BM-nx-ftincy-f": 0,
+    "_____10c-iv00BM-nx-ftincz-f": 0,
+    "_____10c-iv00BM-nx-fthlim-i": 0,
+    "_____10c-iv00BM-nx-mp_acc-b": true,
+    "_____10c-iv00BM-nx-mp_psp-b": false,
+    "_____10c-iv00BM-cx-memory-b": false,
+    "_____10c-iv00BM-cx-mem__t-i": 100,
+    "_____10c-iv00BM-cx-mem_gr-i": 1,
+    "_____10c-iv00BM-cx-mem_ls-i": 9,
+    "_____10c-iv00BM-nx-excite-i": 100,
+    "_____10c-iv00BM-cx-__name-t": "vision_LM",
+    "_____10c-iv00BM-cx-_group-t": "IPU",
+    "_____10c-iv00BR-cx-subgrp-t": "",
+    "_____10c-iv00BR-cx-_n_cnt-i": 1,
+    "_____10c-iv00BR-cx-synatt-i": 100,
+    "_____10c-iv00BR-cx-de_gen-f": 0,
+    "_____10c-iv00BR-cx-pspuni-b": false,
+    "_____10c-iv00BR-nx-pstcrm-f": 35,
+    "_____10c-iv00BR-cx-dstmap-d": {},
+    "_____10c-iv00BR-cx-___bbx-i": 8,
+    "_____10c-iv00BR-cx-___bby-i": 8,
+    "_____10c-iv00BR-cx-___bbz-i": 3,
+    "_____10c-iv00BR-cx-rcordx-i": 95,
+    "_____10c-iv00BR-cx-rcordy-i": 30,
+    "_____10c-iv00BR-cx-rcordz-i": -20,
+    "_____10c-iv00BR-cx-2dcorx-i": 86,
+    "_____10c-iv00BR-cx-2dcory-i": 319,
+    "_____10c-iv00BR-cx-gd_vis-b": true,
+    "_____10c-iv00BR-nx-pstcr_-f": 5,
+    "_____10c-iv00BR-nx-fire_t-f": 1,
+    "_____10c-iv00BR-nx-refrac-i": 0,
+    "_____10c-iv00BR-nx-leak_c-f": 0,
+    "_____10c-iv00BR-nx-leak_v-f": 0,
+    "_____10c-iv00BR-nx-c_fr_c-i": 3,
+    "_____10c-iv00BR-nx-snooze-f": 0,
+    "_____10c-iv00BR-nx-ftincx-f": 0,
+    "_____10c-iv00BR-nx-ftincy-f": 0,
+    "_____10c-iv00BR-nx-ftincz-f": 0,
+    "_____10c-iv00BR-nx-fthlim-i": 0,
+    "_____10c-iv00BR-nx-mp_acc-b": true,
+    "_____10c-iv00BR-nx-mp_psp-b": false,
+    "_____10c-iv00BR-cx-memory-b": false,
+    "_____10c-iv00BR-cx-mem__t-i": 100,
+    "_____10c-iv00BR-cx-mem_gr-i": 1,
+    "_____10c-iv00BR-cx-mem_ls-i": 9,
+    "_____10c-iv00BR-nx-excite-i": 100,
+    "_____10c-iv00BR-cx-__name-t": "vision_LR",
+    "_____10c-iv00BR-cx-_group-t": "IPU",
+    "_____10c-iv00ML-cx-subgrp-t": "",
+    "_____10c-iv00ML-cx-_n_cnt-i": 1,
+    "_____10c-iv00ML-cx-synatt-i": 100,
+    "_____10c-iv00ML-cx-de_gen-f": 0,
+    "_____10c-iv00ML-cx-pspuni-b": false,
+    "_____10c-iv00ML-nx-pstcrm-f": 35,
+    "_____10c-iv00ML-cx-dstmap-d": {},
+    "_____10c-iv00ML-cx-___bbx-i": 8,
+    "_____10c-iv00ML-cx-___bby-i": 8,
+    "_____10c-iv00ML-cx-___bbz-i": 3,
+    "_____10c-iv00ML-cx-rcordx-i": 20,
+    "_____10c-iv00ML-cx-rcordy-i": 70,
+    "_____10c-iv00ML-cx-rcordz-i": -20,
+    "_____10c-iv00ML-cx-2dcorx-i": -609,
+    "_____10c-iv00ML-cx-2dcory-i": 129,
+    "_____10c-iv00ML-cx-gd_vis-b": true,
+    "_____10c-iv00ML-nx-pstcr_-f": 5,
+    "_____10c-iv00ML-nx-fire_t-f": 1,
+    "_____10c-iv00ML-nx-refrac-i": 0,
+    "_____10c-iv00ML-nx-leak_c-f": 0,
+    "_____10c-iv00ML-nx-leak_v-f": 0,
+    "_____10c-iv00ML-nx-c_fr_c-i": 3,
+    "_____10c-iv00ML-nx-snooze-f": 0,
+    "_____10c-iv00ML-nx-ftincx-f": 0,
+    "_____10c-iv00ML-nx-ftincy-f": 0,
+    "_____10c-iv00ML-nx-ftincz-f": 0,
+    "_____10c-iv00ML-nx-fthlim-i": 0,
+    "_____10c-iv00ML-nx-mp_acc-b": true,
+    "_____10c-iv00ML-nx-mp_psp-b": false,
+    "_____10c-iv00ML-cx-memory-b": false,
+    "_____10c-iv00ML-cx-mem__t-i": 100,
+    "_____10c-iv00ML-cx-mem_gr-i": 1,
+    "_____10c-iv00ML-cx-mem_ls-i": 9,
+    "_____10c-iv00ML-nx-excite-i": 100,
+    "_____10c-iv00ML-cx-__name-t": "vision_ML",
+    "_____10c-iv00ML-cx-_group-t": "IPU",
+    "_____10c-iv00MR-cx-subgrp-t": "",
+    "_____10c-iv00MR-cx-_n_cnt-i": 1,
+    "_____10c-iv00MR-cx-synatt-i": 100,
+    "_____10c-iv00MR-cx-de_gen-f": 0,
+    "_____10c-iv00MR-cx-pspuni-b": false,
+    "_____10c-iv00MR-nx-pstcrm-f": 35,
+    "_____10c-iv00MR-cx-dstmap-d": {},
+    "_____10c-iv00MR-cx-___bbx-i": 8,
+    "_____10c-iv00MR-cx-___bby-i": 8,
+    "_____10c-iv00MR-cx-___bbz-i": 3,
+    "_____10c-iv00MR-cx-rcordx-i": 95,
+    "_____10c-iv00MR-cx-rcordy-i": 70,
+    "_____10c-iv00MR-cx-rcordz-i": -20,
+    "_____10c-iv00MR-cx-2dcorx-i": 81,
+    "_____10c-iv00MR-cx-2dcory-i": 131,
+    "_____10c-iv00MR-cx-gd_vis-b": true,
+    "_____10c-iv00MR-nx-pstcr_-f": 5,
+    "_____10c-iv00MR-nx-fire_t-f": 1,
+    "_____10c-iv00MR-nx-refrac-i": 0,
+    "_____10c-iv00MR-nx-leak_c-f": 0,
+    "_____10c-iv00MR-nx-leak_v-f": 0,
+    "_____10c-iv00MR-nx-c_fr_c-i": 3,
+    "_____10c-iv00MR-nx-snooze-f": 0,
+    "_____10c-iv00MR-nx-ftincx-f": 0,
+    "_____10c-iv00MR-nx-ftincy-f": 0,
+    "_____10c-iv00MR-nx-ftincz-f": 0,
+    "_____10c-iv00MR-nx-fthlim-i": 0,
+    "_____10c-iv00MR-nx-mp_acc-b": true,
+    "_____10c-iv00MR-nx-mp_psp-b": false,
+    "_____10c-iv00MR-cx-memory-b": false,
+    "_____10c-iv00MR-cx-mem__t-i": 100,
+    "_____10c-iv00MR-cx-mem_gr-i": 1,
+    "_____10c-iv00MR-cx-mem_ls-i": 9,
+    "_____10c-iv00MR-nx-excite-i": 100,
+    "_____10c-iv00MR-cx-__name-t": "vision_MR",
+    "_____10c-iv00MR-cx-_group-t": "IPU",
+    "_____10c-iv00TL-cx-subgrp-t": "",
+    "_____10c-iv00TL-cx-_n_cnt-i": 1,
+    "_____10c-iv00TL-cx-synatt-i": 100,
+    "_____10c-iv00TL-cx-de_gen-f": 0,
+    "_____10c-iv00TL-cx-pspuni-b": false,
+    "_____10c-iv00TL-nx-pstcrm-f": 35,
+    "_____10c-iv00TL-cx-dstmap-d": {},
+    "_____10c-iv00TL-cx-___bbx-i": 8,
+    "_____10c-iv00TL-cx-___bby-i": 8,
+    "_____10c-iv00TL-cx-___bbz-i": 3,
+    "_____10c-iv00TL-cx-rcordx-i": 20,
+    "_____10c-iv00TL-cx-rcordy-i": 105,
+    "_____10c-iv00TL-cx-rcordz-i": -20,
+    "_____10c-iv00TL-cx-2dcorx-i": -606,
+    "_____10c-iv00TL-cx-2dcory-i": -61,
+    "_____10c-iv00TL-cx-gd_vis-b": true,
+    "_____10c-iv00TL-nx-pstcr_-f": 5,
+    "_____10c-iv00TL-nx-fire_t-f": 1,
+    "_____10c-iv00TL-nx-refrac-i": 0,
+    "_____10c-iv00TL-nx-leak_c-f": 0,
+    "_____10c-iv00TL-nx-leak_v-f": 0,
+    "_____10c-iv00TL-nx-c_fr_c-i": 3,
+    "_____10c-iv00TL-nx-snooze-f": 0,
+    "_____10c-iv00TL-nx-ftincx-f": 0,
+    "_____10c-iv00TL-nx-ftincy-f": 0,
+    "_____10c-iv00TL-nx-ftincz-f": 0,
+    "_____10c-iv00TL-nx-fthlim-i": 0,
+    "_____10c-iv00TL-nx-mp_acc-b": true,
+    "_____10c-iv00TL-nx-mp_psp-b": false,
+    "_____10c-iv00TL-cx-memory-b": false,
+    "_____10c-iv00TL-cx-mem__t-i": 100,
+    "_____10c-iv00TL-cx-mem_gr-i": 1,
+    "_____10c-iv00TL-cx-mem_ls-i": 9,
+    "_____10c-iv00TL-nx-excite-i": 100,
+    "_____10c-iv00TL-cx-__name-t": "vision_TL",
+    "_____10c-iv00TL-cx-_group-t": "IPU",
+    "_____10c-iv00TR-cx-subgrp-t": "",
+    "_____10c-iv00TR-cx-_n_cnt-i": 1,
+    "_____10c-iv00TR-cx-synatt-i": 100,
+    "_____10c-iv00TR-cx-de_gen-f": 0,
+    "_____10c-iv00TR-cx-pspuni-b": false,
+    "_____10c-iv00TR-nx-pstcrm-f": 35,
+    "_____10c-iv00TR-cx-dstmap-d": {},
+    "_____10c-iv00TR-cx-___bbx-i": 8,
+    "_____10c-iv00TR-cx-___bby-i": 8,
+    "_____10c-iv00TR-cx-___bbz-i": 3,
+    "_____10c-iv00TR-cx-rcordx-i": 95,
+    "_____10c-iv00TR-cx-rcordy-i": 105,
+    "_____10c-iv00TR-cx-rcordz-i": -20,
+    "_____10c-iv00TR-cx-2dcorx-i": 72,
+    "_____10c-iv00TR-cx-2dcory-i": -62,
+    "_____10c-iv00TR-cx-gd_vis-b": true,
+    "_____10c-iv00TR-nx-pstcr_-f": 5,
+    "_____10c-iv00TR-nx-fire_t-f": 1,
+    "_____10c-iv00TR-nx-refrac-i": 0,
+    "_____10c-iv00TR-nx-leak_c-f": 0,
+    "_____10c-iv00TR-nx-leak_v-f": 0,
+    "_____10c-iv00TR-nx-c_fr_c-i": 3,
+    "_____10c-iv00TR-nx-snooze-f": 0,
+    "_____10c-iv00TR-nx-ftincx-f": 0,
+    "_____10c-iv00TR-nx-ftincy-f": 0,
+    "_____10c-iv00TR-nx-ftincz-f": 0,
+    "_____10c-iv00TR-nx-fthlim-i": 0,
+    "_____10c-iv00TR-nx-mp_acc-b": true,
+    "_____10c-iv00TR-nx-mp_psp-b": false,
+    "_____10c-iv00TR-cx-memory-b": false,
+    "_____10c-iv00TR-cx-mem__t-i": 100,
+    "_____10c-iv00TR-cx-mem_gr-i": 1,
+    "_____10c-iv00TR-cx-mem_ls-i": 9,
+    "_____10c-iv00TR-nx-excite-i": 100,
+    "_____10c-iv00TR-cx-__name-t": "vision_TR",
+    "_____10c-iv00TR-cx-_group-t": "IPU",
+    "_____10c-iv00TM-cx-subgrp-t": "",
+    "_____10c-iv00TM-cx-_n_cnt-i": 1,
+    "_____10c-iv00TM-cx-synatt-i": 100,
+    "_____10c-iv00TM-cx-de_gen-f": 0,
+    "_____10c-iv00TM-cx-pspuni-b": false,
+    "_____10c-iv00TM-nx-pstcrm-f": 35,
+    "_____10c-iv00TM-cx-dstmap-d": {
+      "m__for": [
+        [
+          "projector",
+          [
+            1,
+            1,
+            1
+          ],
+          1,
+          false,
+          1,
+          1,
+          1
+        ]
+      ]
+    },
+    "_____10c-iv00TM-cx-___bbx-i": 8,
+    "_____10c-iv00TM-cx-___bby-i": 8,
+    "_____10c-iv00TM-cx-___bbz-i": 3,
+    "_____10c-iv00TM-cx-rcordx-i": 55,
+    "_____10c-iv00TM-cx-rcordy-i": 105,
+    "_____10c-iv00TM-cx-rcordz-i": -20,
+    "_____10c-iv00TM-cx-2dcorx-i": -271,
+    "_____10c-iv00TM-cx-2dcory-i": -65,
+    "_____10c-iv00TM-cx-gd_vis-b": true,
+    "_____10c-iv00TM-nx-pstcr_-f": 5,
+    "_____10c-iv00TM-nx-fire_t-f": 1,
+    "_____10c-iv00TM-nx-refrac-i": 0,
+    "_____10c-iv00TM-nx-leak_c-f": 0,
+    "_____10c-iv00TM-nx-leak_v-f": 0,
+    "_____10c-iv00TM-nx-c_fr_c-i": 3,
+    "_____10c-iv00TM-nx-snooze-f": 0,
+    "_____10c-iv00TM-nx-ftincx-f": 0,
+    "_____10c-iv00TM-nx-ftincy-f": 0,
+    "_____10c-iv00TM-nx-ftincz-f": 0,
+    "_____10c-iv00TM-nx-fthlim-i": 0,
+    "_____10c-iv00TM-nx-mp_acc-b": true,
+    "_____10c-iv00TM-nx-mp_psp-b": false,
+    "_____10c-iv00TM-cx-memory-b": false,
+    "_____10c-iv00TM-cx-mem__t-i": 100,
+    "_____10c-iv00TM-cx-mem_gr-i": 1,
+    "_____10c-iv00TM-cx-mem_ls-i": 9,
+    "_____10c-iv00TM-nx-excite-i": 100,
+    "_____10c-iv00TM-cx-__name-t": "vision_TM",
+    "_____10c-iv00TM-cx-_group-t": "IPU",
+    "_____10c-CRSMot-cx-subgrp-t": "",
+    "_____10c-CRSMot-cx-_n_cnt-i": 1,
+    "_____10c-CRSMot-cx-synatt-i": 100,
+    "_____10c-CRSMot-cx-de_gen-f": 0,
+    "_____10c-CRSMot-cx-pspuni-b": false,
+    "_____10c-CRSMot-nx-pstcrm-f": 99999,
+    "_____10c-CRSMot-cx-dstmap-d": {
+      "o__mot": [
+        [
+          "0_0_0-_0_0_0",
+          [
+            1,
+            1,
+            1
+          ],
+          1,
+          false,
+          1,
+          1,
+          1
+        ]
+      ]
+    },
+    "_____10c-CRSMot-cx-___bbx-i": 1,
+    "_____10c-CRSMot-cx-___bby-i": 1,
+    "_____10c-CRSMot-cx-___bbz-i": 1,
+    "_____10c-CRSMot-cx-rcordx-i": -50,
+    "_____10c-CRSMot-cx-rcordy-i": 0,
+    "_____10c-CRSMot-cx-rcordz-i": -14,
+    "_____10c-CRSMot-cx-2dcorx-i": 1503,
+    "_____10c-CRSMot-cx-2dcory-i": -284,
+    "_____10c-CRSMot-cx-gd_vis-b": true,
+    "_____10c-CRSMot-nx-pstcr_-f": 1,
+    "_____10c-CRSMot-nx-fire_t-f": 1,
+    "_____10c-CRSMot-nx-refrac-i": 0,
+    "_____10c-CRSMot-nx-leak_c-f": 0,
+    "_____10c-CRSMot-nx-leak_v-f": 0,
+    "_____10c-CRSMot-nx-c_fr_c-i": 0,
+    "_____10c-CRSMot-nx-snooze-f": 0,
+    "_____10c-CRSMot-nx-ftincx-f": 0,
+    "_____10c-CRSMot-nx-ftincy-f": 0,
+    "_____10c-CRSMot-nx-ftincz-f": 0,
+    "_____10c-CRSMot-nx-fthlim-i": 0,
+    "_____10c-CRSMot-nx-mp_acc-b": false,
+    "_____10c-CRSMot-nx-mp_psp-b": false,
+    "_____10c-CRSMot-cx-memory-b": false,
+    "_____10c-CRSMot-cx-mem__t-i": 100,
+    "_____10c-CRSMot-cx-mem_gr-i": 1,
+    "_____10c-CRSMot-cx-mem_ls-i": 9,
+    "_____10c-CRSMot-nx-excite-i": 100,
+    "_____10c-CRSMot-cx-__name-t": "M1_FW",
+    "_____10c-CRSMot-cx-_group-t": "CUSTOM",
+    "_____10c-CIHMot-cx-subgrp-t": "",
+    "_____10c-CIHMot-cx-_n_cnt-i": 1,
+    "_____10c-CIHMot-cx-synatt-i": 100,
+    "_____10c-CIHMot-cx-de_gen-f": 0,
+    "_____10c-CIHMot-cx-pspuni-b": false,
+    "_____10c-CIHMot-nx-pstcrm-f": 99999,
+    "_____10c-CIHMot-cx-dstmap-d": {
+      "o__mot": [
+        [
+          "0_0_0-1_0_0",
+          [
+            1,
+            1,
+            1
+          ],
+          1,
+          false,
+          1,
+          1,
+          1
+        ]
+      ]
+    },
+    "_____10c-CIHMot-cx-___bbx-i": 1,
+    "_____10c-CIHMot-cx-___bby-i": 1,
+    "_____10c-CIHMot-cx-___bbz-i": 1,
+    "_____10c-CIHMot-cx-rcordx-i": -45,
+    "_____10c-CIHMot-cx-rcordy-i": 0,
+    "_____10c-CIHMot-cx-rcordz-i": -14,
+    "_____10c-CIHMot-cx-2dcorx-i": 1510,
+    "_____10c-CIHMot-cx-2dcory-i": -106,
+    "_____10c-CIHMot-cx-gd_vis-b": true,
+    "_____10c-CIHMot-nx-pstcr_-f": 1,
+    "_____10c-CIHMot-nx-fire_t-f": 1,
+    "_____10c-CIHMot-nx-refrac-i": 0,
+    "_____10c-CIHMot-nx-leak_c-f": 0,
+    "_____10c-CIHMot-nx-leak_v-f": 0,
+    "_____10c-CIHMot-nx-c_fr_c-i": 0,
+    "_____10c-CIHMot-nx-snooze-f": 0,
+    "_____10c-CIHMot-nx-ftincx-f": 0,
+    "_____10c-CIHMot-nx-ftincy-f": 0,
+    "_____10c-CIHMot-nx-ftincz-f": 0,
+    "_____10c-CIHMot-nx-fthlim-i": 0,
+    "_____10c-CIHMot-nx-mp_acc-b": false,
+    "_____10c-CIHMot-nx-mp_psp-b": false,
+    "_____10c-CIHMot-cx-memory-b": false,
+    "_____10c-CIHMot-cx-mem__t-i": 100,
+    "_____10c-CIHMot-cx-mem_gr-i": 1,
+    "_____10c-CIHMot-cx-mem_ls-i": 9,
+    "_____10c-CIHMot-nx-excite-i": 100,
+    "_____10c-CIHMot-cx-__name-t": "M1_BW",
+    "_____10c-CIHMot-cx-_group-t": "CUSTOM",
+    "_____10c-CKQM2_-cx-subgrp-t": "",
+    "_____10c-CKQM2_-cx-_n_cnt-i": 1,
+    "_____10c-CKQM2_-cx-synatt-i": 100,
+    "_____10c-CKQM2_-cx-de_gen-f": 0,
+    "_____10c-CKQM2_-cx-pspuni-b": false,
+    "_____10c-CKQM2_-nx-pstcrm-f": 99999,
+    "_____10c-CKQM2_-cx-dstmap-d": {
+      "o__mot": [
+        [
+          "0_0_0-2_0_0",
+          [
+            1,
+            1,
+            1
+          ],
+          1,
+          false,
+          1,
+          1,
+          1
+        ]
+      ]
+    },
+    "_____10c-CKQM2_-cx-___bbx-i": 1,
+    "_____10c-CKQM2_-cx-___bby-i": 1,
+    "_____10c-CKQM2_-cx-___bbz-i": 1,
+    "_____10c-CKQM2_-cx-rcordx-i": -40,
+    "_____10c-CKQM2_-cx-rcordy-i": 0,
+    "_____10c-CKQM2_-cx-rcordz-i": -14,
+    "_____10c-CKQM2_-cx-2dcorx-i": 1509,
+    "_____10c-CKQM2_-cx-2dcory-i": 81,
+    "_____10c-CKQM2_-cx-gd_vis-b": true,
+    "_____10c-CKQM2_-nx-pstcr_-f": 1,
+    "_____10c-CKQM2_-nx-fire_t-f": 1,
+    "_____10c-CKQM2_-nx-refrac-i": 0,
+    "_____10c-CKQM2_-nx-leak_c-f": 0,
+    "_____10c-CKQM2_-nx-leak_v-f": 0,
+    "_____10c-CKQM2_-nx-c_fr_c-i": 0,
+    "_____10c-CKQM2_-nx-snooze-f": 0,
+    "_____10c-CKQM2_-nx-ftincx-f": 0,
+    "_____10c-CKQM2_-nx-ftincy-f": 0,
+    "_____10c-CKQM2_-nx-ftincz-f": 0,
+    "_____10c-CKQM2_-nx-fthlim-i": 0,
+    "_____10c-CKQM2_-nx-mp_acc-b": false,
+    "_____10c-CKQM2_-nx-mp_psp-b": false,
+    "_____10c-CKQM2_-cx-memory-b": false,
+    "_____10c-CKQM2_-cx-mem__t-i": 100,
+    "_____10c-CKQM2_-cx-mem_gr-i": 1,
+    "_____10c-CKQM2_-cx-mem_ls-i": 9,
+    "_____10c-CKQM2_-nx-excite-i": 100,
+    "_____10c-CKQM2_-cx-__name-t": "M2_FW",
+    "_____10c-CKQM2_-cx-_group-t": "CUSTOM",
+    "_____10c-CKYM2_-cx-subgrp-t": "",
+    "_____10c-CKYM2_-cx-_n_cnt-i": 1,
+    "_____10c-CKYM2_-cx-synatt-i": 100,
+    "_____10c-CKYM2_-cx-de_gen-f": 0,
+    "_____10c-CKYM2_-cx-pspuni-b": false,
+    "_____10c-CKYM2_-nx-pstcrm-f": 99999,
+    "_____10c-CKYM2_-cx-dstmap-d": {
+      "o__mot": [
+        [
+          "0_0_0-3_0_0",
+          [
+            1,
+            1,
+            1
+          ],
+          1,
+          false,
+          1,
+          1,
+          1
+        ]
+      ]
+    },
+    "_____10c-CKYM2_-cx-___bbx-i": 1,
+    "_____10c-CKYM2_-cx-___bby-i": 1,
+    "_____10c-CKYM2_-cx-___bbz-i": 1,
+    "_____10c-CKYM2_-cx-rcordx-i": -35,
+    "_____10c-CKYM2_-cx-rcordy-i": 0,
+    "_____10c-CKYM2_-cx-rcordz-i": -14,
+    "_____10c-CKYM2_-cx-2dcorx-i": 1518,
+    "_____10c-CKYM2_-cx-2dcory-i": 239,
+    "_____10c-CKYM2_-cx-gd_vis-b": true,
+    "_____10c-CKYM2_-nx-pstcr_-f": 1,
+    "_____10c-CKYM2_-nx-fire_t-f": 1,
+    "_____10c-CKYM2_-nx-refrac-i": 0,
+    "_____10c-CKYM2_-nx-leak_c-f": 0,
+    "_____10c-CKYM2_-nx-leak_v-f": 0,
+    "_____10c-CKYM2_-nx-c_fr_c-i": 0,
+    "_____10c-CKYM2_-nx-snooze-f": 0,
+    "_____10c-CKYM2_-nx-ftincx-f": 0,
+    "_____10c-CKYM2_-nx-ftincy-f": 0,
+    "_____10c-CKYM2_-nx-ftincz-f": 0,
+    "_____10c-CKYM2_-nx-fthlim-i": 0,
+    "_____10c-CKYM2_-nx-mp_acc-b": false,
+    "_____10c-CKYM2_-nx-mp_psp-b": false,
+    "_____10c-CKYM2_-cx-memory-b": false,
+    "_____10c-CKYM2_-cx-mem__t-i": 100,
+    "_____10c-CKYM2_-cx-mem_gr-i": 1,
+    "_____10c-CKYM2_-cx-mem_ls-i": 9,
+    "_____10c-CKYM2_-nx-excite-i": 100,
+    "_____10c-CKYM2_-cx-__name-t": "M2_BW",
+    "_____10c-CKYM2_-cx-_group-t": "CUSTOM",
+    "_____10c-CO4M3_-cx-subgrp-t": "",
+    "_____10c-CO4M3_-cx-_n_cnt-i": 1,
+    "_____10c-CO4M3_-cx-synatt-i": 100,
+    "_____10c-CO4M3_-cx-de_gen-f": 0,
+    "_____10c-CO4M3_-cx-pspuni-b": false,
+    "_____10c-CO4M3_-nx-pstcrm-f": 99999,
+    "_____10c-CO4M3_-cx-dstmap-d": {
+      "o__mot": [
+        [
+          "0_0_0-4_0_0",
+          [
+            1,
+            1,
+            1
+          ],
+          1,
+          false,
+          1,
+          1,
+          1
+        ]
+      ]
+    },
+    "_____10c-CO4M3_-cx-___bbx-i": 1,
+    "_____10c-CO4M3_-cx-___bby-i": 1,
+    "_____10c-CO4M3_-cx-___bbz-i": 1,
+    "_____10c-CO4M3_-cx-rcordx-i": -30,
+    "_____10c-CO4M3_-cx-rcordy-i": 0,
+    "_____10c-CO4M3_-cx-rcordz-i": -14,
+    "_____10c-CO4M3_-cx-2dcorx-i": 1517,
+    "_____10c-CO4M3_-cx-2dcory-i": 403,
+    "_____10c-CO4M3_-cx-gd_vis-b": true,
+    "_____10c-CO4M3_-nx-pstcr_-f": 1,
+    "_____10c-CO4M3_-nx-fire_t-f": 1,
+    "_____10c-CO4M3_-nx-refrac-i": 0,
+    "_____10c-CO4M3_-nx-leak_c-f": 0,
+    "_____10c-CO4M3_-nx-leak_v-f": 0,
+    "_____10c-CO4M3_-nx-c_fr_c-i": 0,
+    "_____10c-CO4M3_-nx-snooze-f": 0,
+    "_____10c-CO4M3_-nx-ftincx-f": 0,
+    "_____10c-CO4M3_-nx-ftincy-f": 0,
+    "_____10c-CO4M3_-nx-ftincz-f": 0,
+    "_____10c-CO4M3_-nx-fthlim-i": 0,
+    "_____10c-CO4M3_-nx-mp_acc-b": false,
+    "_____10c-CO4M3_-nx-mp_psp-b": false,
+    "_____10c-CO4M3_-cx-memory-b": false,
+    "_____10c-CO4M3_-cx-mem__t-i": 100,
+    "_____10c-CO4M3_-cx-mem_gr-i": 1,
+    "_____10c-CO4M3_-cx-mem_ls-i": 9,
+    "_____10c-CO4M3_-nx-excite-i": 100,
+    "_____10c-CO4M3_-cx-__name-t": "M3_FW",
+    "_____10c-CO4M3_-cx-_group-t": "CUSTOM",
+    "_____10c-CJWM3_-cx-subgrp-t": "",
+    "_____10c-CJWM3_-cx-_n_cnt-i": 1,
+    "_____10c-CJWM3_-cx-synatt-i": 100,
+    "_____10c-CJWM3_-cx-de_gen-f": 0,
+    "_____10c-CJWM3_-cx-pspuni-b": false,
+    "_____10c-CJWM3_-nx-pstcrm-f": 99999,
+    "_____10c-CJWM3_-cx-dstmap-d": {
+      "o__mot": [
+        [
+          "0_0_0-5_0_0",
+          [
+            1,
+            1,
+            1
+          ],
+          1,
+          false,
+          1,
+          1,
+          1
+        ]
+      ]
+    },
+    "_____10c-CJWM3_-cx-___bbx-i": 1,
+    "_____10c-CJWM3_-cx-___bby-i": 1,
+    "_____10c-CJWM3_-cx-___bbz-i": 1,
+    "_____10c-CJWM3_-cx-rcordx-i": -25,
+    "_____10c-CJWM3_-cx-rcordy-i": 0,
+    "_____10c-CJWM3_-cx-rcordz-i": -14,
+    "_____10c-CJWM3_-cx-2dcorx-i": 1514,
+    "_____10c-CJWM3_-cx-2dcory-i": 519,
+    "_____10c-CJWM3_-cx-gd_vis-b": true,
+    "_____10c-CJWM3_-nx-pstcr_-f": 1,
+    "_____10c-CJWM3_-nx-fire_t-f": 1,
+    "_____10c-CJWM3_-nx-refrac-i": 0,
+    "_____10c-CJWM3_-nx-leak_c-f": 0,
+    "_____10c-CJWM3_-nx-leak_v-f": 0,
+    "_____10c-CJWM3_-nx-c_fr_c-i": 0,
+    "_____10c-CJWM3_-nx-snooze-f": 0,
+    "_____10c-CJWM3_-nx-ftincx-f": 0,
+    "_____10c-CJWM3_-nx-ftincy-f": 0,
+    "_____10c-CJWM3_-nx-ftincz-f": 0,
+    "_____10c-CJWM3_-nx-fthlim-i": 0,
+    "_____10c-CJWM3_-nx-mp_acc-b": false,
+    "_____10c-CJWM3_-nx-mp_psp-b": false,
+    "_____10c-CJWM3_-cx-memory-b": false,
+    "_____10c-CJWM3_-cx-mem__t-i": 100,
+    "_____10c-CJWM3_-cx-mem_gr-i": 1,
+    "_____10c-CJWM3_-cx-mem_ls-i": 9,
+    "_____10c-CJWM3_-nx-excite-i": 100,
+    "_____10c-CJWM3_-cx-__name-t": "M3_BW",
+    "_____10c-CJWM3_-cx-_group-t": "CUSTOM",
+    "_____10c-CTGM4_-cx-subgrp-t": "",
+    "_____10c-CTGM4_-cx-_n_cnt-i": 1,
+    "_____10c-CTGM4_-cx-synatt-i": 100,
+    "_____10c-CTGM4_-cx-de_gen-f": 0,
+    "_____10c-CTGM4_-cx-pspuni-b": false,
+    "_____10c-CTGM4_-nx-pstcrm-f": 99999,
+    "_____10c-CTGM4_-cx-dstmap-d": {
+      "o__mot": [
+        [
+          "0_0_0-6_0_0",
+          [
+            1,
+            1,
+            1
+          ],
+          1,
+          false,
+          1,
+          1,
+          1
+        ]
+      ]
+    },
+    "_____10c-CTGM4_-cx-___bbx-i": 1,
+    "_____10c-CTGM4_-cx-___bby-i": 1,
+    "_____10c-CTGM4_-cx-___bbz-i": 1,
+    "_____10c-CTGM4_-cx-rcordx-i": -20,
+    "_____10c-CTGM4_-cx-rcordy-i": 0,
+    "_____10c-CTGM4_-cx-rcordz-i": -14,
+    "_____10c-CTGM4_-cx-2dcorx-i": 1516,
+    "_____10c-CTGM4_-cx-2dcory-i": 670,
+    "_____10c-CTGM4_-cx-gd_vis-b": true,
+    "_____10c-CTGM4_-nx-pstcr_-f": 1,
+    "_____10c-CTGM4_-nx-fire_t-f": 1,
+    "_____10c-CTGM4_-nx-refrac-i": 0,
+    "_____10c-CTGM4_-nx-leak_c-f": 0,
+    "_____10c-CTGM4_-nx-leak_v-f": 0,
+    "_____10c-CTGM4_-nx-c_fr_c-i": 0,
+    "_____10c-CTGM4_-nx-snooze-f": 0,
+    "_____10c-CTGM4_-nx-ftincx-f": 0,
+    "_____10c-CTGM4_-nx-ftincy-f": 0,
+    "_____10c-CTGM4_-nx-ftincz-f": 0,
+    "_____10c-CTGM4_-nx-fthlim-i": 0,
+    "_____10c-CTGM4_-nx-mp_acc-b": false,
+    "_____10c-CTGM4_-nx-mp_psp-b": false,
+    "_____10c-CTGM4_-cx-memory-b": false,
+    "_____10c-CTGM4_-cx-mem__t-i": 100,
+    "_____10c-CTGM4_-cx-mem_gr-i": 1,
+    "_____10c-CTGM4_-cx-mem_ls-i": 9,
+    "_____10c-CTGM4_-nx-excite-i": 100,
+    "_____10c-CTGM4_-cx-__name-t": "M4_FW",
+    "_____10c-CTGM4_-cx-_group-t": "CUSTOM",
+    "_____10c-CLWM4_-cx-subgrp-t": "",
+    "_____10c-CLWM4_-cx-_n_cnt-i": 1,
+    "_____10c-CLWM4_-cx-synatt-i": 100,
+    "_____10c-CLWM4_-cx-de_gen-f": 0,
+    "_____10c-CLWM4_-cx-pspuni-b": false,
+    "_____10c-CLWM4_-nx-pstcrm-f": 99999,
+    "_____10c-CLWM4_-cx-dstmap-d": {
+      "o__mot": [
+        [
+          "0_0_0-7_0_0",
+          [
+            1,
+            1,
+            1
+          ],
+          1,
+          false,
+          1,
+          1,
+          1
+        ]
+      ]
+    },
+    "_____10c-CLWM4_-cx-___bbx-i": 1,
+    "_____10c-CLWM4_-cx-___bby-i": 1,
+    "_____10c-CLWM4_-cx-___bbz-i": 1,
+    "_____10c-CLWM4_-cx-rcordx-i": -15,
+    "_____10c-CLWM4_-cx-rcordy-i": 0,
+    "_____10c-CLWM4_-cx-rcordz-i": -14,
+    "_____10c-CLWM4_-cx-2dcorx-i": 1520,
+    "_____10c-CLWM4_-cx-2dcory-i": 825,
+    "_____10c-CLWM4_-cx-gd_vis-b": true,
+    "_____10c-CLWM4_-nx-pstcr_-f": 1,
+    "_____10c-CLWM4_-nx-fire_t-f": 1,
+    "_____10c-CLWM4_-nx-refrac-i": 0,
+    "_____10c-CLWM4_-nx-leak_c-f": 0,
+    "_____10c-CLWM4_-nx-leak_v-f": 0,
+    "_____10c-CLWM4_-nx-c_fr_c-i": 0,
+    "_____10c-CLWM4_-nx-snooze-f": 0,
+    "_____10c-CLWM4_-nx-ftincx-f": 0,
+    "_____10c-CLWM4_-nx-ftincy-f": 0,
+    "_____10c-CLWM4_-nx-ftincz-f": 0,
+    "_____10c-CLWM4_-nx-fthlim-i": 0,
+    "_____10c-CLWM4_-nx-mp_acc-b": false,
+    "_____10c-CLWM4_-nx-mp_psp-b": false,
+    "_____10c-CLWM4_-cx-memory-b": false,
+    "_____10c-CLWM4_-cx-mem__t-i": 100,
+    "_____10c-CLWM4_-cx-mem_gr-i": 1,
+    "_____10c-CLWM4_-cx-mem_ls-i": 9,
+    "_____10c-CLWM4_-nx-excite-i": 100,
+    "_____10c-CLWM4_-cx-__name-t": "M4_BW",
+    "_____10c-CLWM4_-cx-_group-t": "CUSTOM"
+  }
 }
\ No newline at end of file
diff --git a/src/evo/genome_editor.py b/src/evo/genome_editor.py
index 5115798dd..65425b305 100644
--- a/src/evo/genome_editor.py
+++ b/src/evo/genome_editor.py
@@ -21,8 +21,12 @@
 """
 
 import logging
+import traceback
+
+import xxhash
 from src.inf import runtime_data
 from datetime import datetime
+from time import time
 from time import sleep
 import json
 
@@ -33,7 +37,9 @@
 def set_default(obj):
     if isinstance(obj, set):
         return list(obj)
-    raise TypeError
+    print("#___" * 20)
+    print(type(obj), obj)
+    return obj
 
 
 def add_gene():
@@ -54,22 +60,48 @@ def save_genome(genome, file_name=''):
     try:
         with open(genome_file, "w") as data_file:
             data = genome
+            if "signatures" not in data:
+                data["signatures"] = {}
+            data["timestamp"] = time()
+
+            # host_info = runtime_data.host_info.copy()
+            # data["hosts"] = clean_host_info(host_info)
+            # print("@----" * 20)
+            # print(data["hosts"])
+
+            if "signatures" not in data:
+                data["signatures"] = {}
+            data["timestamp"] = time()
+            data["signatures"]["genome"] = generate_hash(genome_signature_payload(data))
+            data["signatures"]["blueprint"] = generate_hash(data["blueprint"])
+            data["signatures"]["physiology"] = generate_hash(data["physiology"])
+
             data_file.seek(0)  # rewind
             data_file.write(json.dumps(data, indent=3, default=set_default))
             data_file.truncate()
             # todo: Identify the cause of errors when sleep is eliminated
             sleep(0.5)  # Elimination of sleep causes issues with Uvicorn
             print("genome is saved")
+            runtime_data.changes_saved_externally = False
+    except Exception as e:
+        print(f"Warning: Genome could not be saved! {e}", traceback.print_exc())
 
-    except KeyError:
-        print("Warning: Genome could not be saved!")
 
+def clean_host_info(host_info):
+    for host in host_info:
+        if "listener" in host_info[host]:
+            host_info[host].pop("listener")
+    return host_info
+
+
+def generate_hash(payload):
+    serialized_genome = json.dumps(payload, sort_keys=True)
+    signature = xxhash.xxh64(serialized_genome).hexdigest()
+    return signature
 
-# def validate_genome():
-#
-#
-#
 
-if __name__ == "__main__":
-    add_gene()
-    save_genome()
+def genome_signature_payload(genome):
+    payload = dict()
+    payload["blueprint"] = genome["blueprint"]
+    payload["physiology"] = genome["physiology"]
+    return payload
diff --git a/src/evo/genome_processor.py b/src/evo/genome_processor.py
index e63dda1a3..869d6f1ae 100644
--- a/src/evo/genome_processor.py
+++ b/src/evo/genome_processor.py
@@ -43,6 +43,8 @@ def genome_ver_check(genome):
                 print("Error during genome validation!!\n", traceback.print_exc(), e)
             genome = merge_core_morphologies(genome)
             genome = genome_morphology_updator(genome)
+            genome = genome_physiology_updator(genome=genome)
+            genome = genome_stat_updator(genome=genome)
             save_genome(genome=genome, file_name=runtime_data.connectome_path + "genome.json")
             genome1 = genome_2_1_convertor(flat_genome=genome['blueprint'])
             genome_2_hierarchifier(flat_genome=genome['blueprint'])
@@ -446,8 +448,46 @@ def is_memory_cortical_area(cortical_area):
         return False
 
 
+def genome_physiology_updator(genome: dict):
+    if "physiology" not in genome:
+        genome["physiology"] = {}
+    if "max_burst_count" in genome:
+        genome.pop("max_burst_count")
+    if "burst_delay" in genome:
+        genome["physiology"]["burst_delay"] = genome["burst_delay"]
+        genome.pop("burst_delay")
+    if "max_age" in genome:
+        genome["physiology"]["max_age"] = genome["max_age"]
+        genome.pop("max_age")
+    if "evolution_burst_count" in genome:
+        genome["physiology"]["evolution_burst_count"] = genome["evolution_burst_count"]
+        genome.pop("evolution_burst_count")
+    if "ipu_idle_threshold" in genome:
+        genome["physiology"]["ipu_idle_threshold"] = genome["ipu_idle_threshold"]
+        genome.pop("ipu_idle_threshold")
+    if "plasticity_queue_depth" in genome:
+        genome["physiology"]["plasticity_queue_depth"] = genome["plasticity_queue_depth"]
+        genome.pop("plasticity_queue_depth")
+    if "lifespan_mgmt_interval" in genome:
+        genome["physiology"]["lifespan_mgmt_interval"] = genome["lifespan_mgmt_interval"]
+        genome.pop("lifespan_mgmt_interval")
+
+    return genome
+
+
+def genome_stat_updator(genome: dict):
+    if "stats" not in genome:
+        genome["stats"] = {}
+    if "cortical_count" not in genome["stats"]:
+        genome["stats"]["innate_cortical_area_count"] = 0
+    if "neuron_count" not in genome["stats"]:
+        genome["stats"]["innate_neuron_count"] = 0
+    if "synapse_count" not in genome["stats"]:
+        genome["stats"]["innate_synapse_count"] = 0
+    return genome
+
+
 gene_decoder = {
-    "_______b-_____s-__-__name-t": "species_name",
     "_______c-______-cx-__name-t": "cortical_name",
     "_______c-______-cx-_n_cnt-i": "cortical_neuron_count",
     "_______c-______-cx-gd_vis-b": "godot_visualization",
diff --git a/src/evo/genome_validator.py b/src/evo/genome_validator.py
index 718fbc0aa..5a30d414b 100644
--- a/src/evo/genome_validator.py
+++ b/src/evo/genome_validator.py
@@ -23,8 +23,9 @@
 import logging
 import traceback
 
-from src.evo.genome_properties import *
 from src.inf import settings
+from src.evo.genome_properties import *
+from src.evo.templates import cortical_types
 
 
 logger = logging.getLogger(__name__)
@@ -103,9 +104,8 @@ def morphology_validator(genome):
                                     for pattern_segment in pattern:
                                         if len(pattern_segment) != 3:
                                             genome_validity = False
-                                            print(
-                                                "Warning! Morphology \"%s\" has an incorrect pattern parameter definition."
-                                                % morphology)
+                                            print("Warning! Morphology \"%s\" has an incorrect pattern parameter "
+                                                  "definition." % morphology)
                                             return genome_validity
 
             if "parameters" not in neuron_morphologies[morphology]:
@@ -168,6 +168,18 @@ def destination_rules(gene_):
                         return False
         return True
 
+    def special_areas(gene_):
+        segments = gene_.split(genome_properties["structure"]["segment_seperator"])
+        special_core_types = {"IPU", "OPU", "CORE"}
+        cortical_area = segments[1]
+        if segments[3] == "_group":
+            defined_cortical_type = blueprint[gene_]
+            if defined_cortical_type in special_core_types:
+                if cortical_area not in cortical_types[defined_cortical_type]["supported_devices"]:
+                    return False
+
+        return True
+
     for gene in blueprint:
         if not gene_segments(gene):
             valid_genome = False
@@ -175,15 +187,13 @@ def destination_rules(gene_):
         if not destination_rules(gene):
             print(gene)
             valid_genome = False
+        if not special_areas(gene):
+            print(gene)
+            valid_genome = False
 
     return valid_genome
 
 
-def core_validator(genome):
-    # TBD
-    return True
-
-
 def print_validity(validity_status):
     if validity_status:
         print("\n" + settings.Bcolors.OKGREEN + "* -- * " * 20 + settings.Bcolors.ENDC)
@@ -201,7 +211,6 @@ def print_validity(validity_status):
 
 def genome_validator(genome):
     genome_validity = morphology_validator(genome=genome) and \
-                      blueprint_validator(genome=genome) and \
-                      core_validator(genome=genome)
+                      blueprint_validator(genome=genome)
     print_validity(validity_status=genome_validity)
     return genome_validity
diff --git a/src/evo/neuroembryogenesis.py b/src/evo/neuroembryogenesis.py
index 8766ca2e1..33bed3056 100644
--- a/src/evo/neuroembryogenesis.py
+++ b/src/evo/neuroembryogenesis.py
@@ -35,6 +35,8 @@
 import shutil
 import concurrent.futures
 from src.evo import neuron, synapse, stats, genetics, voxels
+from src.evo.genome_editor import save_genome
+from src.evo.genome_processor import genome_v1_v2_converter
 from functools import partial
 from multiprocessing import Pool, Process
 from src.inf import disk_ops
@@ -320,6 +322,12 @@ def develop(target_areas=None):
     # runtime_data.brain = disk_ops.load_brain_in_memory()
 
     connectome_neuron_count, connectome_synapse_count = stats.brain_total_synapse_cnt()
+    runtime_data.genome["stats"]["innate_cortical_area_count"] = len(runtime_data.cortical_list)
+    runtime_data.genome["stats"]["innate_neuron_count"] = connectome_neuron_count
+    runtime_data.genome["stats"]["innate_synapse_count"] = connectome_synapse_count
+
+    save_genome(genome=genome_v1_v2_converter(runtime_data.genome),
+                file_name=runtime_data.connectome_path + "genome.json")
 
     # The following formula was derived by curve fitting sample data
     connectome_size_on_disk = 3E-08 * connectome_neuron_count**2 + 0.0011 * connectome_neuron_count + 2.9073
diff --git a/src/evo/x_genesis.py b/src/evo/x_genesis.py
index 2da509fd5..6105b5828 100644
--- a/src/evo/x_genesis.py
+++ b/src/evo/x_genesis.py
@@ -135,14 +135,14 @@ def update_cortical_properties(cortical_properties):
             cortical_properties['cortical_name']
         changed_areas.add("name")
 
-    if cortical_properties['cortical_coordinates'] is not None:
+    if cortical_properties['coordinates_3d'] is not None:
         x_cortical_reposition(cortical_area=cortical_area,
-                              new_coordinates=cortical_properties['cortical_coordinates'])
+                              new_coordinates=cortical_properties['coordinates_3d'])
         changed_areas.add("3d_loc")
 
-    if cortical_properties['cortical_coordinates_2d'] is not None:
+    if cortical_properties['coordinates_2d'] is not None:
         x_cortical_reposition_2d(cortical_area=cortical_area,
-                                 new_coordinates=cortical_properties['cortical_coordinates_2d'])
+                                 new_coordinates=cortical_properties['coordinates_2d'])
         changed_areas.add("2d_loc")
 
     if cortical_properties['neuron_fire_threshold'] is not None:
@@ -632,76 +632,79 @@ def add_core_cortical_area(cortical_properties):
         template = templates.cortical_template.copy()
         cortical_type = cortical_properties['cortical_type']
         cortical_id_ = cortical_properties['cortical_id']
-        cortical_name = \
-            templates.cortical_types[cortical_type]["supported_devices"][cortical_id_]['cortical_name']
-
-        if cortical_id_ in runtime_data.genome['blueprint']:
-            print("Warning! Cortical area already part of genome. Nothing got added.")
+        if cortical_id_ in templates.cortical_types[cortical_type]["supported_devices"]:
+            cortical_name = \
+                templates.cortical_types[cortical_type]["supported_devices"][cortical_id_]['cortical_name']
+
+            if cortical_id_ in runtime_data.genome['blueprint']:
+                print("Warning! Cortical area already part of genome. Nothing got added.")
+            else:
+                reset_connectome_file(cortical_area=cortical_id_)
+                runtime_data.voxel_dict[cortical_id_] = dict()
+                runtime_data.genome['blueprint'][cortical_id_] = dict()
+                runtime_data.cortical_list = genome_1_cortical_list(runtime_data.genome)
+                runtime_data.genome["blueprint"][cortical_id_] = \
+                    template.copy()
+                runtime_data.genome["blueprint"][cortical_id_]["cortical_name"] = cortical_name
+                runtime_data.genome['blueprint'][cortical_id_]["block_boundaries"] = \
+                    [cortical_properties['channel_count'] *
+                     templates.cortical_types[cortical_type]['supported_devices'][cortical_id_]['resolution'][0],
+                     templates.cortical_types[cortical_type]['supported_devices'][cortical_id_]['resolution'][1],
+                     templates.cortical_types[cortical_type]['supported_devices'][cortical_id_]['resolution'][2],
+                     ]
+
+                runtime_data.genome['blueprint'][cortical_id_]["relative_coordinate"] = \
+                    [cortical_properties['coordinates_3d'][0],
+                     cortical_properties['coordinates_3d'][1],
+                     cortical_properties['coordinates_3d'][2]]
+
+                runtime_data.genome['blueprint'][cortical_id_]["2d_coordinate"] = \
+                    [cortical_properties['coordinates_2d'][0],
+                     cortical_properties['coordinates_2d'][1]]
+
+                runtime_data.genome['blueprint'][cortical_id_]['cortical_mapping_dst'] = dict()
+
+                for parameter in template:
+                    runtime_data.genome["blueprint"][cortical_id_][parameter] = template[parameter]
+
+                # runtime_data.genome["blueprint"][cortical_id_]["per_voxel_neuron_cnt"] = \
+                #     template['per_voxel_neuron_cnt']
+                # runtime_data.genome["blueprint"][cortical_id_]["synapse_attractivity"] = \
+                #     template['synapse_attractivity']
+                # runtime_data.genome["blueprint"][cortical_id_]["postsynaptic_current"] = \
+                #     template['postsynaptic_current']
+                # runtime_data.genome["blueprint"][cortical_id_]["plasticity_constant"] = \
+                #     template['plasticity_constant']
+                # runtime_data.genome["blueprint"][cortical_id_]["degeneration"] = \
+                #     template['degeneration']
+                # runtime_data.genome["blueprint"][cortical_id_]["psp_uniform_distribution"] = \
+                #     template['psp_uniform_distribution']
+                # runtime_data.genome["blueprint"][cortical_id_]["postsynaptic_current_max"] = \
+                #     template['postsynaptic_current_max']
+                # runtime_data.genome["blueprint"][cortical_id_]["mp_charge_accumulation"] = \
+                #     template['mp_charge_accumulation']
+                # runtime_data.genome["blueprint"][cortical_id_]["mp_driven_psp"] = \
+                #     template['mp_driven_psp']
+                # runtime_data.genome["blueprint"][cortical_id_]["firing_threshold_increment"] = \
+                #     template['firing_threshold_increment']
+                # runtime_data.genome["blueprint"][cortical_id_]["firing_threshold_limit"] = \
+                #     template['firing_threshold_limit']
+
+                runtime_data.genome["blueprint"][cortical_id_]["group_id"] = cortical_properties['cortical_type']
+
+                neuroembryogenesis.voxelogenesis(cortical_area=cortical_id_)
+                neuroembryogenesis.neurogenesis(cortical_area=cortical_id_)
+                init_fcl(cortical_id_)
+                init_cortical_cumulative_stats(cortical_area=cortical_id_)
+                runtime_data.cortical_dimensions = generate_cortical_dimensions()
+                runtime_data.cortical_dimensions_by_id = generate_cortical_dimensions_by_id()
+
+                save_genome(genome=genome_v1_v2_converter(runtime_data.genome),
+                            file_name=runtime_data.connectome_path + "genome.json")
+                runtime_data.last_genome_modification_time = datetime.datetime.now()
+                return cortical_id_
         else:
-            reset_connectome_file(cortical_area=cortical_id_)
-            runtime_data.voxel_dict[cortical_id_] = dict()
-            runtime_data.genome['blueprint'][cortical_id_] = dict()
-            runtime_data.cortical_list = genome_1_cortical_list(runtime_data.genome)
-            runtime_data.genome["blueprint"][cortical_id_] = \
-                template.copy()
-            runtime_data.genome["blueprint"][cortical_id_]["cortical_name"] = cortical_name
-            runtime_data.genome['blueprint'][cortical_id_]["block_boundaries"] = \
-                [cortical_properties['channel_count'] *
-                 templates.cortical_types[cortical_type]['supported_devices'][cortical_id_]['resolution'][0],
-                 templates.cortical_types[cortical_type]['supported_devices'][cortical_id_]['resolution'][1],
-                 templates.cortical_types[cortical_type]['supported_devices'][cortical_id_]['resolution'][2],
-                 ]
-
-            runtime_data.genome['blueprint'][cortical_id_]["relative_coordinate"] = \
-                [cortical_properties['coordinates_3d'][0],
-                 cortical_properties['coordinates_3d'][1],
-                 cortical_properties['coordinates_3d'][2]]
-
-            runtime_data.genome['blueprint'][cortical_id_]["2d_coordinate"] = \
-                [cortical_properties['coordinates_2d'][0],
-                 cortical_properties['coordinates_2d'][1]]
-
-            runtime_data.genome['blueprint'][cortical_id_]['cortical_mapping_dst'] = dict()
-
-            for parameter in template:
-                runtime_data.genome["blueprint"][cortical_id_][parameter] = template[parameter]
-
-            # runtime_data.genome["blueprint"][cortical_id_]["per_voxel_neuron_cnt"] = \
-            #     template['per_voxel_neuron_cnt']
-            # runtime_data.genome["blueprint"][cortical_id_]["synapse_attractivity"] = \
-            #     template['synapse_attractivity']
-            # runtime_data.genome["blueprint"][cortical_id_]["postsynaptic_current"] = \
-            #     template['postsynaptic_current']
-            # runtime_data.genome["blueprint"][cortical_id_]["plasticity_constant"] = \
-            #     template['plasticity_constant']
-            # runtime_data.genome["blueprint"][cortical_id_]["degeneration"] = \
-            #     template['degeneration']
-            # runtime_data.genome["blueprint"][cortical_id_]["psp_uniform_distribution"] = \
-            #     template['psp_uniform_distribution']
-            # runtime_data.genome["blueprint"][cortical_id_]["postsynaptic_current_max"] = \
-            #     template['postsynaptic_current_max']
-            # runtime_data.genome["blueprint"][cortical_id_]["mp_charge_accumulation"] = \
-            #     template['mp_charge_accumulation']
-            # runtime_data.genome["blueprint"][cortical_id_]["mp_driven_psp"] = \
-            #     template['mp_driven_psp']
-            # runtime_data.genome["blueprint"][cortical_id_]["firing_threshold_increment"] = \
-            #     template['firing_threshold_increment']
-            # runtime_data.genome["blueprint"][cortical_id_]["firing_threshold_limit"] = \
-            #     template['firing_threshold_limit']
-
-            runtime_data.genome["blueprint"][cortical_id_]["group_id"] = cortical_properties['cortical_type']
-
-            neuroembryogenesis.voxelogenesis(cortical_area=cortical_id_)
-            neuroembryogenesis.neurogenesis(cortical_area=cortical_id_)
-            init_fcl(cortical_id_)
-            init_cortical_cumulative_stats(cortical_area=cortical_id_)
-            runtime_data.cortical_dimensions = generate_cortical_dimensions()
-            runtime_data.cortical_dimensions_by_id = generate_cortical_dimensions_by_id()
-
-            save_genome(genome=genome_v1_v2_converter(runtime_data.genome),
-                        file_name=runtime_data.connectome_path + "genome.json")
-            runtime_data.last_genome_modification_time = datetime.datetime.now()
-            return cortical_id_
+            print(f"Warning! while adding core cortical area. {cortical_id_} is not defined as {cortical_type}, possibly a bad gene.")
 
     except KeyError:
         print("Error: New cortical area was not added.", traceback.print_exc())
@@ -849,6 +852,7 @@ def append_circuit(source_genome, circuit_origin):
                     dst_blueprint[new_cortical_area_id]["relative_coordinate"][0] = new_coordinates[0]
                     dst_blueprint[new_cortical_area_id]["relative_coordinate"][1] = new_coordinates[1]
                     dst_blueprint[new_cortical_area_id]["relative_coordinate"][2] = new_coordinates[2]
+                    runtime_data.cortical_dimensions_by_id = generate_cortical_dimensions_by_id()
                     print(f"---------------Successfully imported a new cortical area.  "
                           f"id:{new_cortical_area_id} name:{new_cortical_name}")
                 else:
diff --git a/src/inf/db_handler.py b/src/inf/db_handler.py
index ea42f37de..26cce85f1 100644
--- a/src/inf/db_handler.py
+++ b/src/inf/db_handler.py
@@ -218,7 +218,7 @@ def __init__(self):
                 print("Successfully connected to InfluxDb! ")
 
             except Exception as e:
-                print("ERROR: Influx service is not running!!!", e, traceback.print_exc())
+                print("ERROR: Influx service is not running!!!", e)
         else:
             print("ERROR: Parameters are not set for InfluxDb configuration!")
 
diff --git a/src/inf/initialize.py b/src/inf/initialize.py
index 9f35e9b9a..87d811781 100644
--- a/src/inf/initialize.py
+++ b/src/inf/initialize.py
@@ -78,8 +78,10 @@ def deploy_genome(neuroembryogenesis_flag=False, reset_runtime_data_flag=False,
     runtime_data.genome_ver = "2.0"
 
     # todo temp check to find a better solution
-    if "lifespan_mgmt_interval" not in runtime_data.genome:
-        runtime_data.genome["lifespan_mgmt_interval"] = 10
+    if "physiology" not in runtime_data.genome:
+        runtime_data.genome["physiology"] = {}
+    if "lifespan_mgmt_interval" not in runtime_data.genome["physiology"]:
+        runtime_data.genome["physiology"]["lifespan_mgmt_interval"] = 10
 
     for _ in runtime_data.genome["blueprint"]:
         if "mp_charge_accumulation" not in runtime_data.genome["blueprint"][_]:
@@ -97,10 +99,10 @@ def deploy_genome(neuroembryogenesis_flag=False, reset_runtime_data_flag=False,
         if "leak_variability" not in runtime_data.genome["blueprint"][_]:
             runtime_data.genome["blueprint"][_]["leak_variability"] = 0
 
-    if "plasticity_queue_depth" not in runtime_data.genome:
-        runtime_data.genome["plasticity_queue_depth"] = 3
+    if "plasticity_queue_depth" not in runtime_data.genome["physiology"]:
+        runtime_data.genome["physiology"]["plasticity_queue_depth"] = 3
 
-    runtime_data.plasticity_queue_depth = runtime_data.genome["plasticity_queue_depth"]
+    runtime_data.plasticity_queue_depth = runtime_data.genome["physiology"]["plasticity_queue_depth"]
     init_fcl()
     init_brain()
     if 'genome_id' not in runtime_data.genome:
@@ -129,24 +131,24 @@ def deploy_genome(neuroembryogenesis_flag=False, reset_runtime_data_flag=False,
 #     import controller
 
 
-def detect_hardware():
-    """
-    Identifies the type of hardware the brain is running on so the right capabilities can be utilized
-    """
-    # todo
-
-    try:
-        with open('/sys/firmware/devicetree/base/model', "r") as file:
-            if "Raspberry" in file.read():
-                runtime_data.hardware = "raspberry_pi"
-    except:
-        print("Need to figure how other platforms can be detected")
-
-    runtime_data.hw_controller_path = '../third_party/' + \
-                                      runtime_data.genome['species']['brand'] + '/' +\
-                                      runtime_data.genome['species']['model'] + '/controller.py'
-    print("Hardware controller path: ", runtime_data.hw_controller_path)
-
+# def detect_hardware():
+#     """
+#     Identifies the type of hardware the brain is running on so the right capabilities can be utilized
+#     """
+#     # todo
+#
+#     try:
+#         with open('/sys/firmware/devicetree/base/model', "r") as file:
+#             if "Raspberry" in file.read():
+#                 runtime_data.hardware = "raspberry_pi"
+#     except:
+#         print("Need to figure how other platforms can be detected")
+#
+#     runtime_data.hw_controller_path = '../third_party/' + \
+#                                       runtime_data.genome['species']['brand'] + '/' +\
+#                                       runtime_data.genome['species']['model'] + '/controller.py'
+#     print("Hardware controller path: ", runtime_data.hw_controller_path)
+#
 
 def init_container_variables():
     """
@@ -403,14 +405,16 @@ def reset_runtime_data():
     runtime_data.genome = {}
     runtime_data.stats = {}
     runtime_data.brain = {}
+    runtime_data.cortical_list = []
     runtime_data.plasticity_dict = {}
-    runtime_data.cortical_list = {}
     runtime_data.memory_register = {}
     runtime_data.cortical_dimensions = {}
+    runtime_data.cortical_dimensions_by_id = {}
     runtime_data.stimulation_script = {}
     runtime_data.plasticity_queue_candidates = set()
     runtime_data.shock_admin = False
     runtime_data.shock_scenarios = tuple
+    runtime_data.intercortical_mapping = []
 
     # Clear brain activities
     runtime_data.fire_candidate_list = {}
@@ -455,8 +459,8 @@ def init_brain():
     init_genome_post_processes()
     generate_plasticity_dict()
     runtime_data.new_genome = True
-    if 'burst_delay' in runtime_data.genome:
-        runtime_data.burst_timer = float(runtime_data.genome['burst_delay'])
+    if 'burst_delay' in runtime_data.genome["physiology"]:
+        runtime_data.burst_timer = float(runtime_data.genome['physiology']['burst_delay'])
 
     print("\n\n=========================   Brain Initialization Complete ===================================\n\n")
     runtime_data.cumulative_stats = {}
@@ -489,7 +493,7 @@ def init_burst_engine():
     runtime_data.death_flag = False
 
     try:
-        runtime_data.burst_timer = float(runtime_data.genome['burst_delay'])
+        runtime_data.burst_timer = float(runtime_data.genome['physiology']['burst_delay'])
         print("Burst time has been set to:", runtime_data.burst_timer)
     except KeyError:
         print("\n\n==============================================")
diff --git a/src/inf/runtime_data.py b/src/inf/runtime_data.py
index 5c0b84479..071c261aa 100644
--- a/src/inf/runtime_data.py
+++ b/src/inf/runtime_data.py
@@ -43,6 +43,7 @@
 paths = {}
 pending_amalgamation = {}
 amalgamation_history = {}
+changes_saved_externally = False
 
 
 # Evolutionary
@@ -193,6 +194,13 @@
 }
 """
 agent_registry = {}
+host_info = {}
+connected_agents = {
+    "media_capture_ctrl": False,
+    "bluetooth_ctrl": False,
+    "godot_game_ctrl": False,
+    "zmq_to_ws_ctrl": False
+}
 
 
 # Unique Logs
diff --git a/src/mem/memory.py b/src/mem/memory.py
index 5b1daa866..15894e702 100644
--- a/src/mem/memory.py
+++ b/src/mem/memory.py
@@ -196,7 +196,7 @@ def lstm_lifespan_mgmt():
     """
     if runtime_data.memory_register:
         if runtime_data.burst_count > runtime_data.upcoming_lifesnap_mgmt:
-            runtime_data.upcoming_lifesnap_mgmt += runtime_data.genome["lifespan_mgmt_interval"]
+            runtime_data.upcoming_lifesnap_mgmt += runtime_data.genome["physiology"]["lifespan_mgmt_interval"]
 
             # Wipe short-term memory neurons that has expired
             memory_cleanup()
diff --git a/src/npu/burst_engine.py b/src/npu/burst_engine.py
index e491bf53a..df4444923 100644
--- a/src/npu/burst_engine.py
+++ b/src/npu/burst_engine.py
@@ -93,7 +93,7 @@ def burst_duration_calculator(controller_capabilities):
     #     alert_condition = elapsed_time.seconds > int(runtime_data.parameters['Timers']['alert_mode_duration'])
     #     if alert_condition:
     #         time_delta = datetime.now() - runtime_data.last_ipu_activity
-    #         if time_delta.seconds > int(runtime_data.genome['ipu_idle_threshold']):
+    #         if time_delta.seconds > int(runtime_data.genome["physiology"]['ipu_idle_threshold']):
     #             # Go to sleep by stopping IPU/OPU threads
     #             # todo: instead of turning off the IPU, reduce IPU responsiveness so via an trigger brain can awake
     #             print(">> >> Brain going to sleep..")
@@ -168,7 +168,7 @@ def burst_stats(burst_start_time):
                       % (runtime_data.burst_duration, runtime_data.burst_count) + settings.Bcolors.ENDC)
 
     def evolutionary_checkpoint():
-        if runtime_data.burst_count % runtime_data.genome['evolution_burst_count'] == 0:
+        if runtime_data.burst_count % runtime_data.genome["physiology"]['evolution_burst_count'] == 0:
             print('Evolution phase reached...')
             for area in runtime_data.cortical_list:
                 neuron_count, synapse_count = connectome_total_synapse_cnt(area)
@@ -598,6 +598,14 @@ def burst():
                 for neuron in runtime_data.brain["___pwr"]:
                     runtime_data.fire_candidate_list["___pwr"].add(neuron)
 
+            # Reset connected agent list
+            runtime_data.connected_agents = {
+                "media_capture_ctrl": False,
+                "bluetooth_ctrl": False,
+                "godot_game_ctrl": False,
+                "zmq_to_ws_ctrl": False
+            }
+
             # Manage ZMQ communication from and to FEAGI
             pns_manager()
 
diff --git a/src/pns/pns_router.py b/src/pns/pns_router.py
index 04d2a4b86..0b38dbeec 100644
--- a/src/pns/pns_router.py
+++ b/src/pns/pns_router.py
@@ -81,6 +81,12 @@ def stimuli_router(ipu_data):
                     print("ERROR while processing Stimulation IPU", ipu_data["data"]["direct_stimulation"], ">>", e,
                           traceback.format_exc())
 
+        if "connected_agents" in ipu_data["data"]:
+            if ipu_data["data"]["connected_agents"]:
+                for connected_agent in ipu_data["data"]["connected_agents"]:
+                    if not runtime_data.connected_agents[connected_agent]:
+                        runtime_data.connected_agents[connected_agent] = True
+
         if "sensory_data" in ipu_data["data"]:
             for sensor_type in ipu_data["data"]["sensory_data"]:
                 # Ultrasonic / Lidar Handler
diff --git a/third_party/visualizers/grafana/Dockerfile b/third_party/visualizers/grafana/Dockerfile
deleted file mode 100644
index f92819ba5..000000000
--- a/third_party/visualizers/grafana/Dockerfile
+++ /dev/null
@@ -1,9 +0,0 @@
-FROM grafana/grafana:8.2.5-ubuntu
-
-ENV GF_AUTH_DISABLE_LOGIN_FORM=true
-ENV GF_AUTH_ANONYMOUS_ENABLED=true
-ENV GF_AUTH_ANONYMOUS_ORG_ROLE=Admin
-
-COPY ./provisioning /etc/grafana/provisioning
-COPY ./grafana.ini /etc/grafana/grafana.ini
-COPY ./dashboards /etc/grafana/dashboards
diff --git a/third_party/visualizers/grafana/README.md b/third_party/visualizers/grafana/README.md
deleted file mode 100644
index a02ede6b6..000000000
--- a/third_party/visualizers/grafana/README.md
+++ /dev/null
@@ -1,60 +0,0 @@
-# The information in this file may be outdated. Please refer to the [grafana](https://github.com/feagi/feagi/wiki/Grafana) page in the wiki for the most up to date information.
-
-# **Visualizing FEAGI data with Grafana**
-Users have the option to perform real-time monitoring of artificial brain activities (ex: membrane potentials, active cortical areas, composite network activity, current burst index etc.) during FEAGI runtime, which can be useful for troubleshooting and gaining insights into artificial brain functioning. This is achieved using [Grafana](https://grafana.com) combined with [InfluxDB](https://www.influxdata.com) serving as a Grafana datasource for the various forms of time series data generated by FEAGI. These tools can be quickly deployed alongside FEAGI using a containerized approach with minimal user setup required.  
-
-## **Grafana**
-Grafana is an open source web application that provides customizable data visualization where users can create dashboards for visualizing data obtained from a datasource (ex: a database). Configuration files for both dashboards and datasources can be found in `/feagi/third_party/grafana/provisioning` in the `dashboards/` and `datasources/` directories, respectively. General configuration of Grafana itself is achieved through the `grafana.ini` configuration file found in `/feagi/third_party/grafana/`. For more extensive Grafana configuration information, view the Grafana configuration [documentation](https://grafana.com/docs/grafana/latest/administration/configuration/). 
-
-As mentioned previously, Grafana uses InfluxDB as a datasource, which stores time series data collected from FEAGI during execution. The aforementioned datasource configuration file for the InfluxDB datasource contains data for authenticating the InfluxDB instance, connecting to the database URL and specifying the target bucket for data storage. For this containerized deployment, it is recommended that users refrain from altering any of the accessible configuration files to avoid corrupting connections amongst services.
-
-**NOTE:** This deployment uses InfluxDB version 2 (`v2.0.7`), which relies on the functional data scripting language [Flux](https://docs.influxdata.com/flux/v0.x/get-started/) for querying and other data processing operations instead of the SQL-like [InfluxQL](https://docs.influxdata.com/influxdb/v1.8/query_language/) associated with earlier versions of InfluxDB (`< v2.0`). A sample Flux query is provided below to show the basic structure and highlight differences from InfluxQL syntax.
- 
-```
-from(bucket: "example-bucket")
-  |> range(start: -1d)
-  |> filter(fn: (r) => r._measurement == "example-measurement")
-  |> mean()
-  |> yield(name: "_results")
-```
-**Sample Flux query**
-
-## **Deploying networked FEAGI, InfluxDB and Grafana containers using `docker-compose`(Outdated)**
-To deploy a containerized setup consisting of FEAGI, InfluxDB and Grafana, navigate to `/feagi/docker/` and enter the following commands as shown below (assuming both [Docker](https://docs.docker.com/get-docker/) and [docker-compose](https://docs.docker.com/compose/install/) are installed on the host machine):
-
-**Build the images**
-- `docker-compose -f docker-compose-feagi-influx-grafana.yml build --no-cache`
-
-**Start the containers**
-- `docker-compose -f docker-compose-feagi-influx-grafana.yml up`
-
-**Access Grafana**
-- Navigate to `http://localhost:3000` in a web browser to access the Grafana main menu, where users may select an existing data visualization dashboard (ex: `test_dashbboard` - a simple, one-panel dashboard for visualizing FEAGI neuron burst data to verify connectivity) or create a new, customized dashboard by clicking on the dashboard icon, then `Manage`, followed by `New Dashboard`.
-
-  &nbsp;  
-  ![dashboard_mgmt](./_static/grafana_mgmt.png)  
-  **Access Grafana dashboard management (if needed) via the menu dock**
-
-- To learn more about Grafana dashboards (creation, customization, management, etc.), visit the following resources:
-    - [Grafana Dashboard overview](https://grafana.com/docs/grafana/latest/dashboards/?pg=docs)
-
-    - [Best practices for creating dashboards](https://grafana.com/docs/grafana/latest/best-practices/best-practices-for-creating-dashboards/)
-
-    - [Change default dashboard](https://grafana.com/docs/grafana/latest/administration/preferences/change-home-dashboard/)
-        
-    - [Add panels to a dashboard](https://grafana.com/docs/grafana/latest/panels/add-a-panel/)
-
-**Confirm FEAGI data is flowing to Grafana**
-- After running `docker-compose -f docker-compose-feagi-influx-grafana.yml up`, data should begin flowing from FEAGI (to InfluxDB) to Grafana and, if configured accordingly, appear in the dashboard in the respective panel(s), similar to the figure shown below.
-
-  &nbsp;  
-  ![grafana_data](./_static/grafana_data.gif)  
-  **Example of FEAGI data being displayed in the panel of a Grafana dashboard**
- 
-- If no data appears in the dashboard despite appropriate configuration, it may be necessary to change the dashboard's Time Range (upper right corner of dashboard), which controls how far into the past the panel's time scale extends, to one of the values present in the dropdown menu (ex: Last _n_ minutes).
-
-  &nbsp;  
-  ![time_range](./_static/grafana_menu.png)  
-  **Location of Time Range dropdown menu on a Grafana dashboard**  
-
-- After confirming that data is flowing to the Grafana dashboard, make any desired adjustments to the dashboard's appearance and/or properties using the Grafana dashboard user interface.
diff --git a/third_party/visualizers/grafana/_static/grafana_data.gif b/third_party/visualizers/grafana/_static/grafana_data.gif
deleted file mode 100644
index d890e2d82..000000000
Binary files a/third_party/visualizers/grafana/_static/grafana_data.gif and /dev/null differ
diff --git a/third_party/visualizers/grafana/_static/grafana_menu.png b/third_party/visualizers/grafana/_static/grafana_menu.png
deleted file mode 100644
index cac222695..000000000
Binary files a/third_party/visualizers/grafana/_static/grafana_menu.png and /dev/null differ
diff --git a/third_party/visualizers/grafana/_static/grafana_mgmt.png b/third_party/visualizers/grafana/_static/grafana_mgmt.png
deleted file mode 100644
index d0baa4df3..000000000
Binary files a/third_party/visualizers/grafana/_static/grafana_mgmt.png and /dev/null differ
diff --git a/third_party/visualizers/grafana/dashboards/archive/default_dashboard_old.json b/third_party/visualizers/grafana/dashboards/archive/default_dashboard_old.json
deleted file mode 100644
index ffcdb6ec5..000000000
--- a/third_party/visualizers/grafana/dashboards/archive/default_dashboard_old.json
+++ /dev/null
@@ -1,151 +0,0 @@
-{
-  "annotations": {
-    "list": [
-      {
-        "builtIn": 1,
-        "datasource": "-- Grafana --",
-        "enable": true,
-        "hide": true,
-        "iconColor": "rgba(0, 211, 255, 1)",
-        "name": "Annotations & Alerts",
-        "target": {
-          "limit": 100,
-          "matchAny": false,
-          "tags": [],
-          "type": "dashboard"
-        },
-        "type": "dashboard"
-      }
-    ]
-  },
-  "editable": true,
-  "fiscalYearStartMonth": 0,
-  "gnetId": null,
-  "graphTooltip": 0,
-  "id": 1,
-  "links": [],
-  "liveNow": false,
-  "panels": [
-    {
-      "datasource": null,
-      "fieldConfig": {
-        "defaults": {
-          "color": {
-            "mode": "palette-classic"
-          },
-          "custom": {
-            "axisLabel": "",
-            "axisPlacement": "auto",
-            "barAlignment": 0,
-            "drawStyle": "line",
-            "fillOpacity": 10,
-            "gradientMode": "none",
-            "hideFrom": {
-              "legend": false,
-              "tooltip": false,
-              "viz": false
-            },
-            "lineInterpolation": "linear",
-            "lineWidth": 1,
-            "pointSize": 4,
-            "scaleDistribution": {
-              "type": "linear"
-            },
-            "showPoints": "always",
-            "spanNulls": false,
-            "stacking": {
-              "group": "A",
-              "mode": "normal"
-            },
-            "thresholdsStyle": {
-              "mode": "off"
-            }
-          },
-          "mappings": [],
-          "thresholds": {
-            "mode": "absolute",
-            "steps": [
-              {
-                "color": "green",
-                "value": null
-              },
-              {
-                "color": "red",
-                "value": 80
-              }
-            ]
-          },
-          "unit": "mvolt"
-        },
-        "overrides": []
-      },
-      "gridPos": {
-        "h": 8,
-        "w": 24,
-        "x": 0,
-        "y": 0
-      },
-      "id": 6,
-      "links": [],
-      "options": {
-        "legend": {
-          "calcs": [
-            "lastNotNull",
-            "delta",
-            "min",
-            "max"
-          ],
-          "displayMode": "table",
-          "placement": "bottom"
-        },
-        "tooltip": {
-          "mode": "single"
-        }
-      },
-      "pluginVersion": "8.2.5",
-      "targets": [
-        {
-          "alias": "Membrane Potentials",
-          "groupBy": [],
-          "measurement": "membranePotential",
-          "orderByTime": "ASC",
-          "policy": "autogen",
-          "query": "from(bucket: \"data\")\n  |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n  |> filter(fn: (r) => r[\"_measurement\"] == \"membranePotential\" and r[\"_field\"] == \"membrane_potential\" and r[\"_value\"] > 0)\n  |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)\n  |> drop(columns: [\"_field\", \"_start\", \"_stop\", \"connectome\", \"_measurement\"])\n  |> yield(name: \"mean\")",
-          "refId": "A",
-          "resultFormat": "time_series",
-          "select": [
-            [
-              {
-                "params": [
-                  "membrane_potential"
-                ],
-                "type": "field"
-              }
-            ]
-          ],
-          "tags": []
-        }
-      ],
-      "timeFrom": "5m",
-      "timeShift": null,
-      "title": "Membrane Potentials",
-      "type": "timeseries"
-    }
-  ],
-  "refresh": "30s",
-  "schemaVersion": 32,
-  "style": "dark",
-  "tags": [],
-  "templating": {
-    "list": []
-  },
-  "time": {
-    "from": "now-5m",
-    "to": "now"
-  },
-  "timepicker": {},
-  "timezone": "",
-  "title": "test_dashboard",
-  "uid": "C1ndOctnk",
-  "version": 24
-}
\ No newline at end of file
diff --git a/third_party/visualizers/grafana/dashboards/default_dashboard.json b/third_party/visualizers/grafana/dashboards/default_dashboard.json
deleted file mode 100644
index 84679125a..000000000
--- a/third_party/visualizers/grafana/dashboards/default_dashboard.json
+++ /dev/null
@@ -1,741 +0,0 @@
-{
-  "annotations": {
-    "list": [
-      {
-        "builtIn": 1,
-        "datasource": "-- Grafana --",
-        "enable": true,
-        "hide": true,
-        "iconColor": "rgba(0, 211, 255, 1)",
-        "name": "Annotations & Alerts",
-        "target": {
-          "limit": 100,
-          "matchAny": false,
-          "tags": [],
-          "type": "dashboard"
-        },
-        "type": "dashboard"
-      },
-      {
-        "datasource": "InfluxDB_v2_Flux",
-        "enable": false,
-        "iconColor": "red",
-        "mappings": {
-          "id": {
-            "source": "field",
-            "value": "Neuron m__inf"
-          },
-          "tags": {
-            "source": "field",
-            "value": "Neuron m__inf"
-          },
-          "text": {
-            "source": "field",
-            "value": "Neuron m__inf"
-          },
-          "time": {
-            "source": "field",
-            "value": "Time"
-          },
-          "timeEnd": {
-            "source": "field",
-            "value": "Time"
-          },
-          "title": {
-            "source": "field",
-            "value": "Neuron m__inf"
-          }
-        },
-        "name": "Shocks",
-        "target": {
-          "limit": 10,
-          "query": "from(bucket: \"data\")\n  |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n  |> drop(columns:[\"connectome\"])\n  |> filter(fn: (r) => r[\"_measurement\"] == \"neuron\")\n  |> filter(fn: (r) => r[\"_field\"] == \"membrane_potential\" and r[\"dst_cortical_area\"] == \"i__shok\" )\n  |> drop(columns:[\"dst_voxel_x\", \"dst_voxel_y\", \"dst_voxel_z\", \"dst_neuron_id\", \"dst_voxel_id\"])\n  |> set(key: \"_field\", value: \"Neuron\")\n",
-          "refId": "Anno",
-          "type": "tags"
-        }
-      }
-    ]
-  },
-  "editable": true,
-  "fiscalYearStartMonth": 0,
-  "gnetId": null,
-  "graphTooltip": 1,
-  "id": 3,
-  "iteration": 1654958850174,
-  "links": [],
-  "liveNow": false,
-  "panels": [
-    {
-      "datasource": null,
-      "fieldConfig": {
-        "defaults": {
-          "color": {
-            "mode": "palette-classic"
-          },
-          "custom": {
-            "axisLabel": "",
-            "axisPlacement": "auto",
-            "barAlignment": 0,
-            "drawStyle": "line",
-            "fillOpacity": 0,
-            "gradientMode": "none",
-            "hideFrom": {
-              "legend": false,
-              "tooltip": false,
-              "viz": false
-            },
-            "lineInterpolation": "linear",
-            "lineWidth": 1,
-            "pointSize": 5,
-            "scaleDistribution": {
-              "type": "linear"
-            },
-            "showPoints": "auto",
-            "spanNulls": false,
-            "stacking": {
-              "group": "A",
-              "mode": "none"
-            },
-            "thresholdsStyle": {
-              "mode": "off"
-            }
-          },
-          "mappings": [],
-          "thresholds": {
-            "mode": "absolute",
-            "steps": [
-              {
-                "color": "green",
-                "value": null
-              },
-              {
-                "color": "red",
-                "value": 80
-              }
-            ]
-          }
-        },
-        "overrides": []
-      },
-      "gridPos": {
-        "h": 12,
-        "w": 24,
-        "x": 0,
-        "y": 0
-      },
-      "id": 9,
-      "options": {
-        "legend": {
-          "calcs": [],
-          "displayMode": "list",
-          "placement": "bottom"
-        },
-        "tooltip": {
-          "mode": "single"
-        }
-      },
-      "targets": [
-        {
-          "query": "from(bucket: \"data\")\n  |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n  |> drop(columns:[\"connectome\"])\n  |> filter(fn: (r) => r[\"_measurement\"] == \"neuron\")\n  |> filter(fn: (r) => r[\"_field\"] == \"membrane_potential\" and r[\"dst_cortical_area\"] =~ /^${dst_cortical_area:regex}$/ )\n  |> filter(fn: (r) => r[\"dst_voxel_x\"] =~ /^${dst_vox_x:regex}$/ and r[\"dst_voxel_y\"] =~ /^${dst_vox_y:regex}$/ and r[\"dst_voxel_z\"] =~ /^${dst_vox_z:regex}$/ )\n  |> drop(columns:[\"dst_voxel_x\", \"dst_voxel_y\", \"dst_voxel_z\"])\n  |> set(key: \"_field\", value: \"Neuron\")\n",
-          "refId": "A"
-        }
-      ],
-      "title": "Membrane Potentials",
-      "transformations": [
-        {
-          "id": "renameByRegex",
-          "options": {
-            "regex": "cortical_area",
-            "renamePattern": "area"
-          }
-        },
-        {
-          "id": "renameByRegex",
-          "options": {
-            "regex": "(\\d+-\\d+-\\d+_\\d+:\\d+:\\d+_\\d+_)(\\w+)(_N)",
-            "renamePattern": "$2"
-          }
-        },
-        {
-          "id": "renameByRegex",
-          "options": {
-            "regex": "voxel_id",
-            "renamePattern": "vox"
-          }
-        },
-        {
-          "id": "renameByRegex",
-          "options": {
-            "regex": "Neuron ",
-            "renamePattern": ""
-          }
-        }
-      ],
-      "type": "timeseries"
-    },
-    {
-      "datasource": null,
-      "fieldConfig": {
-        "defaults": {
-          "color": {
-            "mode": "palette-classic"
-          },
-          "custom": {
-            "axisLabel": "",
-            "axisPlacement": "auto",
-            "barAlignment": 0,
-            "drawStyle": "line",
-            "fillOpacity": 10,
-            "gradientMode": "none",
-            "hideFrom": {
-              "legend": false,
-              "tooltip": false,
-              "viz": false
-            },
-            "lineInterpolation": "linear",
-            "lineWidth": 1,
-            "pointSize": 4,
-            "scaleDistribution": {
-              "type": "linear"
-            },
-            "showPoints": "always",
-            "spanNulls": false,
-            "stacking": {
-              "group": "A",
-              "mode": "normal"
-            },
-            "thresholdsStyle": {
-              "mode": "off"
-            }
-          },
-          "mappings": [],
-          "thresholds": {
-            "mode": "absolute",
-            "steps": [
-              {
-                "color": "green",
-                "value": null
-              },
-              {
-                "color": "red",
-                "value": 80
-              }
-            ]
-          },
-          "unit": "none"
-        },
-        "overrides": []
-      },
-      "gridPos": {
-        "h": 8,
-        "w": 24,
-        "x": 0,
-        "y": 12
-      },
-      "id": 6,
-      "links": [],
-      "options": {
-        "legend": {
-          "calcs": [],
-          "displayMode": "table",
-          "placement": "bottom"
-        },
-        "tooltip": {
-          "mode": "single"
-        }
-      },
-      "pluginVersion": "8.2.5",
-      "targets": [
-        {
-          "alias": "Membrane Potentials",
-          "groupBy": [],
-          "measurement": "membranePotential",
-          "orderByTime": "ASC",
-          "policy": "autogen",
-          "query": "from(bucket: \"data\")\n  |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n  |> filter(fn: (r) => r[\"_measurement\"] == \"synapse\")\n  |> filter(fn: (r) => r[\"_field\"] == \"postSynapticCurrent\" and (r[\"src_cortical_area\"] =~ /^${src_cortical_area:regex}$/ or r[\"dst_cortical_area\"] =~ /^${dst_cortical_area:regex}$/))\n  |> filter(fn: (r) => r[\"src_neuron_id\"] =~ /^${src_neuron_id:regex}$/ and r[\"dst_neuron_id\"] =~ /^${dst_neuron_id:regex}$/)\n  |> filter(fn: (r) => r[\"dst_voxel_x\"] =~ /^${dst_vox_x:regex}$/ and r[\"dst_voxel_y\"] =~ /^${dst_vox_y:regex}$/ and r[\"dst_voxel_z\"] =~ /^${dst_vox_z:regex}$/ )\n  |> drop(columns:[\"connectome\", \"src_voxel_x\", \"src_voxel_y\", \"src_voxel_z\", \"dst_voxel_x\", \"dst_voxel_y\", \"dst_voxel_z\"])\n  |> yield(name: \"mean\")",
-          "refId": "A",
-          "resultFormat": "time_series",
-          "select": [
-            [
-              {
-                "params": [
-                  "membrane_potential"
-                ],
-                "type": "field"
-              }
-            ]
-          ],
-          "tags": []
-        }
-      ],
-      "timeShift": null,
-      "title": "Post Synaptic Currents",
-      "transformations": [
-        {
-          "id": "renameByRegex",
-          "options": {
-            "regex": "cortical_area",
-            "renamePattern": "area"
-          }
-        },
-        {
-          "id": "renameByRegex",
-          "options": {
-            "regex": "(\\d+-\\d+-\\d+_\\d+:\\d+:\\d+_\\d+_)(\\w+)(_N)",
-            "renamePattern": "$2"
-          }
-        },
-        {
-          "id": "renameByRegex",
-          "options": {
-            "regex": "voxel_id",
-            "renamePattern": "vox"
-          }
-        },
-        {
-          "id": "renameByRegex",
-          "options": {
-            "regex": "postSynapticCurrent ",
-            "renamePattern": ""
-          }
-        },
-        {
-          "id": "renameByRegex",
-          "options": {
-            "regex": "(\\d+-\\d+-\\d+_\\d+:\\d+:\\d+_\\d+_)(\\w+)(_N)",
-            "renamePattern": "$2"
-          }
-        },
-        {
-          "id": "renameByRegex",
-          "options": {
-            "regex": "voxel_id",
-            "renamePattern": "vox"
-          }
-        }
-      ],
-      "type": "timeseries"
-    },
-    {
-      "datasource": null,
-      "fieldConfig": {
-        "defaults": {
-          "color": {
-            "mode": "palette-classic"
-          },
-          "custom": {
-            "axisLabel": "",
-            "axisPlacement": "auto",
-            "barAlignment": 0,
-            "drawStyle": "line",
-            "fillOpacity": 0,
-            "gradientMode": "none",
-            "hideFrom": {
-              "legend": false,
-              "tooltip": false,
-              "viz": false
-            },
-            "lineInterpolation": "linear",
-            "lineWidth": 1,
-            "pointSize": 5,
-            "scaleDistribution": {
-              "type": "linear"
-            },
-            "showPoints": "auto",
-            "spanNulls": true,
-            "stacking": {
-              "group": "A",
-              "mode": "none"
-            },
-            "thresholdsStyle": {
-              "mode": "off"
-            }
-          },
-          "mappings": [],
-          "thresholds": {
-            "mode": "absolute",
-            "steps": [
-              {
-                "color": "green",
-                "value": null
-              },
-              {
-                "color": "red",
-                "value": 80
-              }
-            ]
-          }
-        },
-        "overrides": []
-      },
-      "gridPos": {
-        "h": 12,
-        "w": 24,
-        "x": 0,
-        "y": 20
-      },
-      "id": 8,
-      "options": {
-        "legend": {
-          "calcs": [],
-          "displayMode": "list",
-          "placement": "bottom"
-        },
-        "tooltip": {
-          "mode": "multi"
-        }
-      },
-      "pluginVersion": "8.2.5",
-      "targets": [
-        {
-          "query": "from(bucket: \"data\")\n  |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n  |> drop(columns:[\"connectome\"])\n  |> filter(fn: (r) => r[\"_measurement\"] == \"neuron\")\n  |> filter(fn: (r) => r[\"dst_voxel_x\"] =~ /^${dst_vox_x:regex}$/ and r[\"dst_voxel_y\"] =~ /^${dst_vox_y:regex}$/ and r[\"dst_voxel_z\"] =~ /^${dst_vox_z:regex}$/ )\n  |> drop(columns:[\"dst_voxel_x\", \"dst_voxel_y\", \"dst_voxel_z\", \"dst_voxel_id\", \"dst_neuron_id\"])\n  |> set(key: \"_field\", value: \"Neuron\")\n  |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)\n  |> yield(name: \"average\")\n",
-          "refId": "A"
-        }
-      ],
-      "timeFrom": null,
-      "timeShift": null,
-      "title": "Average Neuron Fire Count",
-      "transformations": [
-        {
-          "id": "renameByRegex",
-          "options": {
-            "regex": "cortical_area",
-            "renamePattern": "area"
-          }
-        },
-        {
-          "id": "renameByRegex",
-          "options": {
-            "regex": "(\\d+-\\d+-\\d+_\\d+:\\d+:\\d+_\\d+_)(\\w+)(_N)",
-            "renamePattern": "$2"
-          }
-        },
-        {
-          "id": "renameByRegex",
-          "options": {
-            "regex": "voxel_id",
-            "renamePattern": "vox"
-          }
-        },
-        {
-          "id": "renameByRegex",
-          "options": {
-            "regex": "Neuron ",
-            "renamePattern": ""
-          }
-        }
-      ],
-      "type": "timeseries"
-    }
-  ],
-  "refresh": "1s",
-  "schemaVersion": 32,
-  "style": "dark",
-  "tags": [],
-  "templating": {
-    "list": [
-      {
-        "allValue": null,
-        "current": {
-          "selected": true,
-          "text": [
-            "All"
-          ],
-          "value": [
-            "$__all"
-          ]
-        },
-        "datasource": null,
-        "definition": "import \"influxdata/influxdb/v1\"\nv1.tagValues(\n    bucket: v.bucket,\n    tag: \"dst_cortical_area\",\n    predicate: (r) => r[\"_measurement\"] == \"neuron\"  or r[\"_measurement\"] == \"synapse\",\n    start: -1d\n)",
-        "description": null,
-        "error": null,
-        "hide": 0,
-        "includeAll": true,
-        "label": "Destination Cortical Area",
-        "multi": true,
-        "name": "dst_cortical_area",
-        "options": [],
-        "query": "import \"influxdata/influxdb/v1\"\nv1.tagValues(\n    bucket: v.bucket,\n    tag: \"dst_cortical_area\",\n    predicate: (r) => r[\"_measurement\"] == \"neuron\"  or r[\"_measurement\"] == \"synapse\",\n    start: -1d\n)",
-        "refresh": 1,
-        "regex": "",
-        "skipUrlSync": false,
-        "sort": 0,
-        "type": "query"
-      },
-      {
-        "allValue": null,
-        "current": {
-          "selected": true,
-          "text": [
-            "All"
-          ],
-          "value": [
-            "$__all"
-          ]
-        },
-        "datasource": null,
-        "definition": "import \"influxdata/influxdb/v1\"\nv1.tagValues(\n    bucket: v.bucket,\n    tag: \"dst_voxel_x\",\n    predicate: (r) =>  r[\"dst_cortical_area\"] =~ /^${dst_cortical_area:regex}$/,\n    start: -1d\n)",
-        "description": null,
-        "error": null,
-        "hide": 0,
-        "includeAll": true,
-        "label": "Dst Vox X",
-        "multi": true,
-        "name": "dst_vox_x",
-        "options": [],
-        "query": "import \"influxdata/influxdb/v1\"\nv1.tagValues(\n    bucket: v.bucket,\n    tag: \"dst_voxel_x\",\n    predicate: (r) =>  r[\"dst_cortical_area\"] =~ /^${dst_cortical_area:regex}$/,\n    start: -1d\n)",
-        "refresh": 2,
-        "regex": "",
-        "skipUrlSync": false,
-        "sort": 0,
-        "type": "query"
-      },
-      {
-        "allValue": null,
-        "current": {
-          "selected": true,
-          "text": [
-            "All"
-          ],
-          "value": [
-            "$__all"
-          ]
-        },
-        "datasource": null,
-        "definition": "import \"influxdata/influxdb/v1\"\nv1.tagValues(\n    bucket: v.bucket,\n    tag: \"dst_voxel_y\",\n    predicate: (r) =>  r[\"dst_cortical_area\"] =~ /^${dst_cortical_area:regex}$/,\n    start: -1d\n)",
-        "description": null,
-        "error": null,
-        "hide": 0,
-        "includeAll": true,
-        "label": "Dst Vox Y",
-        "multi": true,
-        "name": "dst_vox_y",
-        "options": [],
-        "query": "import \"influxdata/influxdb/v1\"\nv1.tagValues(\n    bucket: v.bucket,\n    tag: \"dst_voxel_y\",\n    predicate: (r) =>  r[\"dst_cortical_area\"] =~ /^${dst_cortical_area:regex}$/,\n    start: -1d\n)",
-        "refresh": 2,
-        "regex": "",
-        "skipUrlSync": false,
-        "sort": 0,
-        "type": "query"
-      },
-      {
-        "allValue": null,
-        "current": {
-          "selected": true,
-          "text": [
-            "All"
-          ],
-          "value": [
-            "$__all"
-          ]
-        },
-        "datasource": null,
-        "definition": "import \"influxdata/influxdb/v1\"\nv1.tagValues(\n    bucket: v.bucket,\n    tag: \"dst_voxel_z\",\n    predicate: (r) =>  r[\"dst_cortical_area\"] =~ /^${dst_cortical_area:regex}$/,\n    start: -1d\n)",
-        "description": null,
-        "error": null,
-        "hide": 0,
-        "includeAll": true,
-        "label": "Dst Vox Z",
-        "multi": true,
-        "name": "dst_vox_z",
-        "options": [],
-        "query": "import \"influxdata/influxdb/v1\"\nv1.tagValues(\n    bucket: v.bucket,\n    tag: \"dst_voxel_z\",\n    predicate: (r) =>  r[\"dst_cortical_area\"] =~ /^${dst_cortical_area:regex}$/,\n    start: -1d\n)",
-        "refresh": 2,
-        "regex": "",
-        "skipUrlSync": false,
-        "sort": 0,
-        "type": "query"
-      },
-      {
-        "allValue": null,
-        "current": {
-          "selected": false,
-          "text": [
-            "All"
-          ],
-          "value": [
-            "$__all"
-          ]
-        },
-        "datasource": null,
-        "definition": "import \"influxdata/influxdb/v1\"\nv1.tagValues(\n    bucket: v.bucket,\n    tag: \"src_cortical_area\",\n    predicate: (r) => r[\"_measurement\"] == \"neuron\" or r[\"_measurement\"] == \"synapse\",\n    start: -1d\n)",
-        "description": null,
-        "error": null,
-        "hide": 0,
-        "includeAll": true,
-        "label": "Source Cortical Area",
-        "multi": true,
-        "name": "src_cortical_area",
-        "options": [],
-        "query": "import \"influxdata/influxdb/v1\"\nv1.tagValues(\n    bucket: v.bucket,\n    tag: \"src_cortical_area\",\n    predicate: (r) => r[\"_measurement\"] == \"neuron\" or r[\"_measurement\"] == \"synapse\",\n    start: -1d\n)",
-        "refresh": 1,
-        "regex": "",
-        "skipUrlSync": false,
-        "sort": 0,
-        "type": "query"
-      },
-      {
-        "allValue": null,
-        "current": {
-          "selected": true,
-          "text": [
-            "All"
-          ],
-          "value": [
-            "$__all"
-          ]
-        },
-        "datasource": null,
-        "definition": "import \"influxdata/influxdb/v1\"\nv1.tagValues(\n    bucket: v.bucket,\n    tag: \"src_voxel_x\",\n    predicate: (r) =>  r[\"src_cortical_area\"] =~ /^${src_cortical_area:regex}$/,\n    start: -1d\n)",
-        "description": null,
-        "error": null,
-        "hide": 0,
-        "includeAll": true,
-        "label": "Src Vox X",
-        "multi": true,
-        "name": "src_vox_x",
-        "options": [],
-        "query": "import \"influxdata/influxdb/v1\"\nv1.tagValues(\n    bucket: v.bucket,\n    tag: \"src_voxel_x\",\n    predicate: (r) =>  r[\"src_cortical_area\"] =~ /^${src_cortical_area:regex}$/,\n    start: -1d\n)",
-        "refresh": 2,
-        "regex": "",
-        "skipUrlSync": false,
-        "sort": 0,
-        "type": "query"
-      },
-      {
-        "allValue": null,
-        "current": {
-          "selected": true,
-          "text": [
-            "All"
-          ],
-          "value": [
-            "$__all"
-          ]
-        },
-        "datasource": null,
-        "definition": "import \"influxdata/influxdb/v1\"\nv1.tagValues(\n    bucket: v.bucket,\n    tag: \"src_voxel_y\",\n    predicate: (r) =>  r[\"src_cortical_area\"] =~ /^${src_cortical_area:regex}$/,\n    start: -1d\n)",
-        "description": null,
-        "error": null,
-        "hide": 0,
-        "includeAll": true,
-        "label": "Src Vox Y",
-        "multi": true,
-        "name": "src_vox_y",
-        "options": [],
-        "query": "import \"influxdata/influxdb/v1\"\nv1.tagValues(\n    bucket: v.bucket,\n    tag: \"src_voxel_y\",\n    predicate: (r) =>  r[\"src_cortical_area\"] =~ /^${src_cortical_area:regex}$/,\n    start: -1d\n)",
-        "refresh": 2,
-        "regex": "",
-        "skipUrlSync": false,
-        "sort": 0,
-        "type": "query"
-      },
-      {
-        "allValue": null,
-        "current": {
-          "selected": true,
-          "text": [
-            "All"
-          ],
-          "value": [
-            "$__all"
-          ]
-        },
-        "datasource": null,
-        "definition": "import \"influxdata/influxdb/v1\"\nv1.tagValues(\n    bucket: v.bucket,\n    tag: \"src_voxel_z\",\n    predicate: (r) =>  r[\"src_cortical_area\"] =~ /^${src_cortical_area:regex}$/,\n    start: -1d\n)",
-        "description": null,
-        "error": null,
-        "hide": 0,
-        "includeAll": true,
-        "label": "Src Vox Z",
-        "multi": true,
-        "name": "src_vox_z",
-        "options": [],
-        "query": "import \"influxdata/influxdb/v1\"\nv1.tagValues(\n    bucket: v.bucket,\n    tag: \"src_voxel_z\",\n    predicate: (r) =>  r[\"src_cortical_area\"] =~ /^${src_cortical_area:regex}$/,\n    start: -1d\n)",
-        "refresh": 2,
-        "regex": "",
-        "skipUrlSync": false,
-        "sort": 0,
-        "type": "query"
-      },
-      {
-        "allValue": null,
-        "current": {
-          "selected": true,
-          "text": [
-            "All"
-          ],
-          "value": [
-            "$__all"
-          ]
-        },
-        "datasource": null,
-        "definition": "import \"influxdata/influxdb/v1\"\nv1.tagValues(\n    bucket: v.bucket,\n    tag: \"dst_neuron_id\",\n    predicate: (r) => r[\"_measurement\"] == \"synapse\" and r[\"dst_cortical_area\"] =~ /^${dst_cortical_area:regex}$/,\n    start: -1d\n)",
-        "description": null,
-        "error": null,
-        "hide": 0,
-        "includeAll": true,
-        "label": "Destination Neuron ID",
-        "multi": true,
-        "name": "dst_neuron_id",
-        "options": [],
-        "query": "import \"influxdata/influxdb/v1\"\nv1.tagValues(\n    bucket: v.bucket,\n    tag: \"dst_neuron_id\",\n    predicate: (r) => r[\"_measurement\"] == \"synapse\" and r[\"dst_cortical_area\"] =~ /^${dst_cortical_area:regex}$/,\n    start: -1d\n)",
-        "refresh": 1,
-        "regex": "",
-        "skipUrlSync": false,
-        "sort": 0,
-        "type": "query"
-      },
-      {
-        "allValue": null,
-        "current": {
-          "selected": true,
-          "text": [
-            "All"
-          ],
-          "value": [
-            "$__all"
-          ]
-        },
-        "datasource": null,
-        "definition": "import \"influxdata/influxdb/v1\"\nv1.tagValues(\n    bucket: v.bucket,\n    tag: \"src_neuron_id\",\n    predicate: (r) => r[\"_measurement\"] == \"synapse\" and r[\"dst_cortical_area\"] =~ /^${dst_cortical_area:regex}$/,\n    start: -1d\n)",
-        "description": null,
-        "error": null,
-        "hide": 0,
-        "includeAll": true,
-        "label": "Source Neuron ID",
-        "multi": true,
-        "name": "src_neuron_id",
-        "options": [],
-        "query": "import \"influxdata/influxdb/v1\"\nv1.tagValues(\n    bucket: v.bucket,\n    tag: \"src_neuron_id\",\n    predicate: (r) => r[\"_measurement\"] == \"synapse\" and r[\"dst_cortical_area\"] =~ /^${dst_cortical_area:regex}$/,\n    start: -1d\n)",
-        "refresh": 1,
-        "regex": "",
-        "skipUrlSync": false,
-        "sort": 0,
-        "type": "query"
-      }
-    ]
-  },
-  "time": {
-    "from": "now-2m",
-    "to": "now"
-  },
-  "timepicker": {
-    "refresh_intervals": [
-      "1s",
-      "5s",
-      "10s",
-      "30s",
-      "1m",
-      "5m",
-      "15m",
-      "30m",
-      "1h",
-      "1d"
-    ]
-  },
-  "timezone": "",
-  "title": "FEAGI Brain Activity Analyzer",
-  "uid": "Se3OI7f7k",
-  "version": 76
-}
\ No newline at end of file
diff --git a/third_party/visualizers/grafana/dashboards/game_results.json b/third_party/visualizers/grafana/dashboards/game_results.json
deleted file mode 100644
index 4bdea7b01..000000000
--- a/third_party/visualizers/grafana/dashboards/game_results.json
+++ /dev/null
@@ -1,487 +0,0 @@
-{
-  "annotations": {
-    "list": [
-      {
-        "builtIn": 1,
-        "datasource": "-- Grafana --",
-        "enable": true,
-        "hide": true,
-        "iconColor": "rgba(0, 211, 255, 1)",
-        "name": "Annotations & Alerts",
-        "target": {
-          "limit": 100,
-          "matchAny": false,
-          "tags": [],
-          "type": "dashboard"
-        },
-        "type": "dashboard"
-      }
-    ]
-  },
-  "editable": true,
-  "fiscalYearStartMonth": 0,
-  "gnetId": null,
-  "graphTooltip": 0,
-  "id": 6,
-  "iteration": 1696132533966,
-  "links": [],
-  "liveNow": false,
-  "panels": [
-    {
-      "datasource": null,
-      "fieldConfig": {
-        "defaults": {
-          "color": {
-            "mode": "palette-classic"
-          },
-          "custom": {
-            "hideFrom": {
-              "legend": false,
-              "tooltip": false,
-              "viz": false
-            }
-          },
-          "mappings": []
-        },
-        "overrides": [
-          {
-            "matcher": {
-              "id": "byName",
-              "options": "count punishment"
-            },
-            "properties": [
-              {
-                "id": "color",
-                "value": {
-                  "fixedColor": "light-red",
-                  "mode": "fixed"
-                }
-              }
-            ]
-          },
-          {
-            "matcher": {
-              "id": "byName",
-              "options": "count success"
-            },
-            "properties": [
-              {
-                "id": "color",
-                "value": {
-                  "fixedColor": "green",
-                  "mode": "fixed"
-                }
-              }
-            ]
-          }
-        ]
-      },
-      "gridPos": {
-        "h": 11,
-        "w": 9,
-        "x": 0,
-        "y": 0
-      },
-      "id": 4,
-      "options": {
-        "displayLabels": [
-          "value"
-        ],
-        "legend": {
-          "displayMode": "list",
-          "placement": "bottom"
-        },
-        "pieType": "pie",
-        "reduceOptions": {
-          "calcs": [
-            "count"
-          ],
-          "fields": "",
-          "values": false
-        },
-        "tooltip": {
-          "mode": "single"
-        }
-      },
-      "repeat": "TimeInterval",
-      "repeatDirection": "h",
-      "targets": [
-        {
-          "query": "from(bucket: \"data\")\n  |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n  |> filter(fn: (r) => r[\"_measurement\"] == \"game_result\")\n  |> filter(fn: (r) => r[\"_field\"] == \"count\")\n  |> aggregateWindow(every: v.windowPeriod, fn: sum, createEmpty: false)\n  |> yield(name: \"sum\")\n",
-          "refId": "A"
-        }
-      ],
-      "title": "Success vs Punishment",
-      "transparent": true,
-      "type": "piechart"
-    },
-    {
-      "datasource": null,
-      "fieldConfig": {
-        "defaults": {
-          "color": {
-            "mode": "thresholds"
-          },
-          "mappings": [],
-          "thresholds": {
-            "mode": "absolute",
-            "steps": [
-              {
-                "color": "green",
-                "value": null
-              },
-              {
-                "color": "red",
-                "value": 80
-              }
-            ]
-          },
-          "unit": "percent"
-        },
-        "overrides": []
-      },
-      "gridPos": {
-        "h": 11,
-        "w": 5,
-        "x": 9,
-        "y": 0
-      },
-      "id": 8,
-      "options": {
-        "colorMode": "value",
-        "graphMode": "area",
-        "justifyMode": "auto",
-        "orientation": "auto",
-        "reduceOptions": {
-          "calcs": [
-            "lastNotNull"
-          ],
-          "fields": "",
-          "values": false
-        },
-        "text": {
-          "titleSize": 1
-        },
-        "textMode": "auto"
-      },
-      "pluginVersion": "8.2.5",
-      "targets": [
-        {
-          "query": "// Define the bucket and time range\nbucket = \"data\"\nstart_time = v.timeRangeStart\nstop_time = v.timeRangeStop\n\n// Count of success\nsuccessCount = from(bucket: bucket)\n  |> range(start: start_time, stop: stop_time)\n  |> filter(fn: (r) => \n      r[\"_measurement\"] == \"game_result\" and \n      r[\"_field\"] == \"count\" and \n      r[\"event\"] == \"success\"\n  )\n  |> count()\n\n// Count of punishment\npunishmentCount = from(bucket: bucket)\n  |> range(start: start_time, stop: stop_time)\n  |> filter(fn: (r) => \n      r[\"_measurement\"] == \"game_result\" and \n      r[\"_field\"] == \"count\" and \n      r[\"event\"] == \"punishment\"\n  )\n  |> count()\n\n// Calculate the success rate\nresult = join(\n  tables: {success: successCount, punishment: punishmentCount},\n  on: [\"_start\", \"_stop\"]\n)\n  |> map(fn: (r) => {\n    total = float(v: r._value_success) + float(v: r._value_punishment)\n    return {\n      _time: r._time,\n      _value: if total == 0.0 then 0.0 else float(v: r._value_success * 100) / total,\n      _field: \"successRate\"\n    }\n  })\n\n// Yield the result\nresult |> yield(name: \"successRate\")\n\n",
-          "refId": "A"
-        }
-      ],
-      "title": "Success Rate",
-      "type": "stat"
-    },
-    {
-      "datasource": null,
-      "fieldConfig": {
-        "defaults": {
-          "color": {
-            "mode": "thresholds"
-          },
-          "mappings": [],
-          "thresholds": {
-            "mode": "absolute",
-            "steps": [
-              {
-                "color": "green",
-                "value": null
-              }
-            ]
-          }
-        },
-        "overrides": [
-          {
-            "matcher": {
-              "id": "byName",
-              "options": "count success"
-            },
-            "properties": [
-              {
-                "id": "color",
-                "value": {
-                  "fixedColor": "dark-green",
-                  "mode": "fixed"
-                }
-              },
-              {
-                "id": "displayName",
-                "value": "Success"
-              }
-            ]
-          },
-          {
-            "matcher": {
-              "id": "byName",
-              "options": "count punishment"
-            },
-            "properties": [
-              {
-                "id": "color",
-                "value": {
-                  "fixedColor": "dark-red",
-                  "mode": "fixed"
-                }
-              },
-              {
-                "id": "displayName",
-                "value": "Punishment"
-              }
-            ]
-          }
-        ]
-      },
-      "gridPos": {
-        "h": 11,
-        "w": 10,
-        "x": 14,
-        "y": 0
-      },
-      "id": 2,
-      "options": {
-        "colorMode": "value",
-        "graphMode": "area",
-        "justifyMode": "auto",
-        "orientation": "auto",
-        "reduceOptions": {
-          "calcs": [
-            "sum"
-          ],
-          "fields": "",
-          "values": false
-        },
-        "text": {},
-        "textMode": "auto"
-      },
-      "pluginVersion": "8.2.5",
-      "targets": [
-        {
-          "query": "from(bucket: \"data\")\n  |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n  |> filter(fn: (r) => r[\"_measurement\"] == \"game_result\")\n  |> filter(fn: (r) => r[\"_field\"] == \"count\")\n  |> aggregateWindow(every: v.windowPeriod, fn: sum, createEmpty: false)\n  |> yield(name: \"sum\")\n",
-          "refId": "A"
-        }
-      ],
-      "timeFrom": null,
-      "timeShift": null,
-      "title": "Panel Title",
-      "type": "stat"
-    },
-    {
-      "datasource": null,
-      "fieldConfig": {
-        "defaults": {
-          "color": {
-            "mode": "palette-classic"
-          },
-          "custom": {
-            "axisLabel": "",
-            "axisPlacement": "auto",
-            "barAlignment": 0,
-            "drawStyle": "bars",
-            "fillOpacity": 100,
-            "gradientMode": "hue",
-            "hideFrom": {
-              "legend": false,
-              "tooltip": false,
-              "viz": false
-            },
-            "lineInterpolation": "linear",
-            "lineWidth": 1,
-            "pointSize": 5,
-            "scaleDistribution": {
-              "type": "linear"
-            },
-            "showPoints": "auto",
-            "spanNulls": false,
-            "stacking": {
-              "group": "A",
-              "mode": "percent"
-            },
-            "thresholdsStyle": {
-              "mode": "off"
-            }
-          },
-          "mappings": [],
-          "min": 0,
-          "thresholds": {
-            "mode": "absolute",
-            "steps": [
-              {
-                "color": "green",
-                "value": null
-              },
-              {
-                "color": "red",
-                "value": 80
-              }
-            ]
-          }
-        },
-        "overrides": [
-          {
-            "matcher": {
-              "id": "byName",
-              "options": "count punishment"
-            },
-            "properties": [
-              {
-                "id": "color",
-                "value": {
-                  "fixedColor": "red",
-                  "mode": "fixed"
-                }
-              }
-            ]
-          },
-          {
-            "matcher": {
-              "id": "byName",
-              "options": "count success"
-            },
-            "properties": [
-              {
-                "id": "color",
-                "value": {
-                  "fixedColor": "green",
-                  "mode": "fixed"
-                }
-              }
-            ]
-          }
-        ]
-      },
-      "gridPos": {
-        "h": 12,
-        "w": 24,
-        "x": 0,
-        "y": 11
-      },
-      "id": 6,
-      "options": {
-        "legend": {
-          "calcs": [],
-          "displayMode": "list",
-          "placement": "bottom"
-        },
-        "tooltip": {
-          "mode": "single"
-        }
-      },
-      "pluginVersion": "8.2.5",
-      "targets": [
-        {
-          "query": "from(bucket: \"data\")\n  |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n  |> filter(fn: (r) => r[\"_measurement\"] == \"game_result\")\n  |> filter(fn: (r) => r[\"_field\"] == \"count\")\n  |> filter(fn: (r) => r[\"event\"] == \"success\" or r[\"event\"] == \"punishment\")\n  |> aggregateWindow(every: ${TimeInterval}, fn: sum, createEmpty: false)\n  |> yield(name: \"sum\")",
-          "refId": "A"
-        }
-      ],
-      "timeFrom": null,
-      "timeShift": null,
-      "title": "Success / Punishment Timeline",
-      "type": "timeseries"
-    }
-  ],
-  "refresh": "5s",
-  "schemaVersion": 32,
-  "style": "dark",
-  "tags": [],
-  "templating": {
-    "list": [
-      {
-        "allValue": null,
-        "current": {
-          "selected": true,
-          "text": "5m",
-          "value": "5m"
-        },
-        "description": null,
-        "error": null,
-        "hide": 0,
-        "includeAll": false,
-        "label": "Time Interval",
-        "multi": false,
-        "name": "TimeInterval",
-        "options": [
-          {
-            "selected": false,
-            "text": "1m",
-            "value": "1m"
-          },
-          {
-            "selected": false,
-            "text": "2m",
-            "value": "2m"
-          },
-          {
-            "selected": false,
-            "text": "3m",
-            "value": "3m"
-          },
-          {
-            "selected": true,
-            "text": "5m",
-            "value": "5m"
-          },
-          {
-            "selected": false,
-            "text": "10m",
-            "value": "10m"
-          },
-          {
-            "selected": false,
-            "text": "15m",
-            "value": "15m"
-          },
-          {
-            "selected": false,
-            "text": "30m",
-            "value": "30m"
-          },
-          {
-            "selected": false,
-            "text": "1h",
-            "value": "1h"
-          },
-          {
-            "selected": false,
-            "text": "2h",
-            "value": "2h"
-          },
-          {
-            "selected": false,
-            "text": "3h",
-            "value": "3h"
-          },
-          {
-            "selected": false,
-            "text": "6h",
-            "value": "6h"
-          },
-          {
-            "selected": false,
-            "text": "12h",
-            "value": "12h"
-          },
-          {
-            "selected": false,
-            "text": "24h",
-            "value": "24h"
-          }
-        ],
-        "query": "1m, 2m, 3m, 5m, 10m, 15m, 30m, 1h, 2h, 3h, 6h, 12h, 24h",
-        "queryValue": "",
-        "skipUrlSync": false,
-        "type": "custom"
-      }
-    ]
-  },
-  "time": {
-    "from": "now-5m",
-    "to": "now"
-  },
-  "timepicker": {},
-  "timezone": "",
-  "title": "Game Dashboard",
-  "uid": "6yux5u34z",
-  "version": 33
-}
\ No newline at end of file
diff --git a/third_party/visualizers/grafana/dashboards/membrane_potential_dashboard.json b/third_party/visualizers/grafana/dashboards/membrane_potential_dashboard.json
deleted file mode 100644
index e927fa443..000000000
--- a/third_party/visualizers/grafana/dashboards/membrane_potential_dashboard.json
+++ /dev/null
@@ -1,336 +0,0 @@
-{
-  "annotations": {
-    "list": [
-      {
-        "builtIn": 1,
-        "datasource": "-- Grafana --",
-        "enable": true,
-        "hide": true,
-        "iconColor": "rgba(0, 211, 255, 1)",
-        "name": "Annotations & Alerts",
-        "target": {
-          "limit": 100,
-          "matchAny": false,
-          "tags": [],
-          "type": "dashboard"
-        },
-        "type": "dashboard"
-      }
-    ]
-  },
-  "editable": true,
-  "fiscalYearStartMonth": 0,
-  "gnetId": null,
-  "graphTooltip": 0,
-  "id": 6,
-  "iteration": 1654107715007,
-  "links": [],
-  "liveNow": false,
-  "panels": [
-    {
-      "datasource": null,
-      "fieldConfig": {
-        "defaults": {
-          "color": {
-            "mode": "palette-classic"
-          },
-          "custom": {
-            "axisLabel": "",
-            "axisPlacement": "auto",
-            "barAlignment": 0,
-            "drawStyle": "line",
-            "fillOpacity": 0,
-            "gradientMode": "none",
-            "hideFrom": {
-              "legend": false,
-              "tooltip": false,
-              "viz": false
-            },
-            "lineInterpolation": "linear",
-            "lineWidth": 1,
-            "pointSize": 5,
-            "scaleDistribution": {
-              "type": "linear"
-            },
-            "showPoints": "auto",
-            "spanNulls": false,
-            "stacking": {
-              "group": "A",
-              "mode": "none"
-            },
-            "thresholdsStyle": {
-              "mode": "off"
-            }
-          },
-          "mappings": [],
-          "thresholds": {
-            "mode": "absolute",
-            "steps": [
-              {
-                "color": "green",
-                "value": null
-              },
-              {
-                "color": "red",
-                "value": 80
-              }
-            ]
-          }
-        },
-        "overrides": []
-      },
-      "gridPos": {
-        "h": 12,
-        "w": 24,
-        "x": 0,
-        "y": 0
-      },
-      "id": 8,
-      "options": {
-        "legend": {
-          "calcs": [],
-          "displayMode": "list",
-          "placement": "bottom"
-        },
-        "tooltip": {
-          "mode": "single"
-        }
-      },
-      "targets": [
-        {
-          "query": "from(bucket: \"data\")\n  |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n  |> drop(columns:[\"connectome\"])\n  |> filter(fn: (r) => r[\"_measurement\"] == \"neuron\")\n  |> filter(fn: (r) => r[\"_field\"] == \"membrane_potential\" and r[\"src_cortical_area\"] =~ /^${src_cortical_area:regex}$/ )\n  |> filter(fn: (r) => r[\"voxel_x\"] =~ /^${vox_x:regex}$/ and r[\"voxel_y\"] =~ /^${vox_y:regex}$/ and r[\"voxel_z\"] =~ /^${vox_z:regex}$/ )\n  |> drop(columns:[\"voxel_x\", \"voxel_y\", \"voxel_z\"])\n  |> set(key: \"_field\", value: \"Neuron\")",
-          "refId": "A"
-        }
-      ],
-      "title": "Membrane Potentials",
-      "transformations": [],
-      "type": "timeseries"
-    }
-  ],
-  "refresh": "1s",
-  "schemaVersion": 32,
-  "style": "dark",
-  "tags": [],
-  "templating": {
-    "list": [
-      {
-        "allValue": null,
-        "current": {
-          "selected": true,
-          "text": [
-            "All"
-          ],
-          "value": [
-            "$__all"
-          ]
-        },
-        "datasource": null,
-        "definition": "import \"influxdata/influxdb/v1\"\nv1.tagValues(\n    bucket: v.bucket,\n    tag: \"src_cortical_area\",\n    predicate: (r) => r[\"_measurement\"] == \"neuron\",\n    start: -1d\n)",
-        "description": null,
-        "error": null,
-        "hide": 0,
-        "includeAll": true,
-        "label": "Source Cortical Area",
-        "multi": true,
-        "name": "src_cortical_area",
-        "options": [],
-        "query": "import \"influxdata/influxdb/v1\"\nv1.tagValues(\n    bucket: v.bucket,\n    tag: \"src_cortical_area\",\n    predicate: (r) => r[\"_measurement\"] == \"neuron\",\n    start: -1d\n)",
-        "refresh": 1,
-        "regex": "",
-        "skipUrlSync": false,
-        "sort": 0,
-        "type": "query"
-      },
-      {
-        "allValue": null,
-        "current": {
-          "selected": true,
-          "text": [
-            "All"
-          ],
-          "value": [
-            "$__all"
-          ]
-        },
-        "datasource": null,
-        "definition": "import \"influxdata/influxdb/v1\"\nv1.tagValues(\n    bucket: v.bucket,\n    tag: \"dst_cortical_area\",\n    predicate: (r) => r[\"_measurement\"] == \"synapse\",\n    start: -1d\n)",
-        "description": null,
-        "error": null,
-        "hide": 0,
-        "includeAll": true,
-        "label": "Destination Cortical Area",
-        "multi": true,
-        "name": "dst_cortical_area",
-        "options": [],
-        "query": "import \"influxdata/influxdb/v1\"\nv1.tagValues(\n    bucket: v.bucket,\n    tag: \"dst_cortical_area\",\n    predicate: (r) => r[\"_measurement\"] == \"synapse\",\n    start: -1d\n)",
-        "refresh": 1,
-        "regex": "",
-        "skipUrlSync": false,
-        "sort": 0,
-        "type": "query"
-      },
-      {
-        "allValue": null,
-        "current": {
-          "selected": true,
-          "text": [
-            "All"
-          ],
-          "value": [
-            "$__all"
-          ]
-        },
-        "datasource": null,
-        "definition": "import \"influxdata/influxdb/v1\"\nv1.tagValues(\n    bucket: v.bucket,\n    tag: \"voxel_x\",\n    predicate: (r) =>  r[\"src_cortical_area\"] =~ /^${src_cortical_area:regex}$/ or r[\"dst_cortical_area\"] =~ /^${dst_cortical_area:regex}$/,\n    start: -1d\n)",
-        "description": null,
-        "error": null,
-        "hide": 0,
-        "includeAll": true,
-        "label": "X Voxel",
-        "multi": true,
-        "name": "vox_x",
-        "options": [],
-        "query": "import \"influxdata/influxdb/v1\"\nv1.tagValues(\n    bucket: v.bucket,\n    tag: \"voxel_x\",\n    predicate: (r) =>  r[\"src_cortical_area\"] =~ /^${src_cortical_area:regex}$/ or r[\"dst_cortical_area\"] =~ /^${dst_cortical_area:regex}$/,\n    start: -1d\n)",
-        "refresh": 2,
-        "regex": "",
-        "skipUrlSync": false,
-        "sort": 0,
-        "type": "query"
-      },
-      {
-        "allValue": null,
-        "current": {
-          "selected": true,
-          "text": [
-            "All"
-          ],
-          "value": [
-            "$__all"
-          ]
-        },
-        "datasource": null,
-        "definition": "import \"influxdata/influxdb/v1\"\nv1.tagValues(\n    bucket: v.bucket,\n    tag: \"voxel_y\",\n    predicate: (r) =>  r[\"src_cortical_area\"] =~ /^${src_cortical_area:regex}$/ or r[\"dst_cortical_area\"] =~ /^${dst_cortical_area:regex}$/,\n    start: -1d\n)",
-        "description": null,
-        "error": null,
-        "hide": 0,
-        "includeAll": true,
-        "label": "Y Voxel",
-        "multi": true,
-        "name": "vox_y",
-        "options": [],
-        "query": "import \"influxdata/influxdb/v1\"\nv1.tagValues(\n    bucket: v.bucket,\n    tag: \"voxel_y\",\n    predicate: (r) =>  r[\"src_cortical_area\"] =~ /^${src_cortical_area:regex}$/ or r[\"dst_cortical_area\"] =~ /^${dst_cortical_area:regex}$/,\n    start: -1d\n)",
-        "refresh": 2,
-        "regex": "",
-        "skipUrlSync": false,
-        "sort": 0,
-        "type": "query"
-      },
-      {
-        "allValue": null,
-        "current": {
-          "selected": true,
-          "text": [
-            "All"
-          ],
-          "value": [
-            "$__all"
-          ]
-        },
-        "datasource": null,
-        "definition": "import \"influxdata/influxdb/v1\"\nv1.tagValues(\n    bucket: v.bucket,\n    tag: \"voxel_z\",\n    predicate: (r) =>  r[\"src_cortical_area\"] =~ /^${src_cortical_area:regex}$/ or r[\"dst_cortical_area\"] =~ /^${dst_cortical_area:regex}$/,\n    start: -1d\n)",
-        "description": null,
-        "error": null,
-        "hide": 0,
-        "includeAll": true,
-        "label": "Z Voxel",
-        "multi": true,
-        "name": "vox_z",
-        "options": [],
-        "query": "import \"influxdata/influxdb/v1\"\nv1.tagValues(\n    bucket: v.bucket,\n    tag: \"voxel_z\",\n    predicate: (r) =>  r[\"src_cortical_area\"] =~ /^${src_cortical_area:regex}$/ or r[\"dst_cortical_area\"] =~ /^${dst_cortical_area:regex}$/,\n    start: -1d\n)",
-        "refresh": 2,
-        "regex": "",
-        "skipUrlSync": false,
-        "sort": 0,
-        "type": "query"
-      },
-      {
-        "allValue": null,
-        "current": {
-          "selected": true,
-          "text": [
-            "All"
-          ],
-          "value": [
-            "$__all"
-          ]
-        },
-        "datasource": null,
-        "definition": "import \"influxdata/influxdb/v1\"\nv1.tagValues(\n    bucket: v.bucket,\n    tag: \"dst_neuron_id\",\n    predicate: (r) => r[\"_measurement\"] == \"synapse\" and r[\"dst_cortical_area\"] =~ /^${dst_cortical_area:regex}$/,\n    start: -1d\n)",
-        "description": null,
-        "error": null,
-        "hide": 0,
-        "includeAll": true,
-        "label": "Destination Neuron ID",
-        "multi": true,
-        "name": "dst_neuron_id",
-        "options": [],
-        "query": "import \"influxdata/influxdb/v1\"\nv1.tagValues(\n    bucket: v.bucket,\n    tag: \"dst_neuron_id\",\n    predicate: (r) => r[\"_measurement\"] == \"synapse\" and r[\"dst_cortical_area\"] =~ /^${dst_cortical_area:regex}$/,\n    start: -1d\n)",
-        "refresh": 1,
-        "regex": "",
-        "skipUrlSync": false,
-        "sort": 0,
-        "type": "query"
-      },
-      {
-        "allValue": null,
-        "current": {
-          "selected": true,
-          "text": [
-            "All"
-          ],
-          "value": [
-            "$__all"
-          ]
-        },
-        "datasource": null,
-        "definition": "import \"influxdata/influxdb/v1\"\nv1.tagValues(\n    bucket: v.bucket,\n    tag: \"src_neuron_id\",\n    predicate: (r) => r[\"_measurement\"] == \"synapse\" and r[\"dst_cortical_area\"] =~ /^${dst_cortical_area:regex}$/,\n    start: -1d\n)",
-        "description": null,
-        "error": null,
-        "hide": 0,
-        "includeAll": true,
-        "label": "Source Neuron ID",
-        "multi": true,
-        "name": "src_neuron_id",
-        "options": [],
-        "query": "import \"influxdata/influxdb/v1\"\nv1.tagValues(\n    bucket: v.bucket,\n    tag: \"src_neuron_id\",\n    predicate: (r) => r[\"_measurement\"] == \"synapse\" and r[\"dst_cortical_area\"] =~ /^${dst_cortical_area:regex}$/,\n    start: -1d\n)",
-        "refresh": 1,
-        "regex": "",
-        "skipUrlSync": false,
-        "sort": 0,
-        "type": "query"
-      }
-    ]
-  },
-  "time": {
-    "from": "now-5m",
-    "to": "now"
-  },
-  "timepicker": {
-    "refresh_intervals": [
-      "1s",
-      "5s",
-      "10s",
-      "30s",
-      "1m",
-      "5m",
-      "15m",
-      "30m",
-      "1h",
-      "1d"
-    ]
-  },
-  "timezone": "",
-  "title": "FEAGI Membrane Potential Monitor",
-  "uid": "d3gBW0r7k",
-  "version": 3
-}
\ No newline at end of file
diff --git a/third_party/visualizers/grafana/dashboards/postsynaptic_potential_dashboard.json b/third_party/visualizers/grafana/dashboards/postsynaptic_potential_dashboard.json
deleted file mode 100644
index 7ea1d1f5c..000000000
--- a/third_party/visualizers/grafana/dashboards/postsynaptic_potential_dashboard.json
+++ /dev/null
@@ -1,387 +0,0 @@
-{
-  "annotations": {
-    "list": [
-      {
-        "builtIn": 1,
-        "datasource": "-- Grafana --",
-        "enable": true,
-        "hide": true,
-        "iconColor": "rgba(0, 211, 255, 1)",
-        "name": "Annotations & Alerts",
-        "target": {
-          "limit": 100,
-          "matchAny": false,
-          "tags": [],
-          "type": "dashboard"
-        },
-        "type": "dashboard"
-      }
-    ]
-  },
-  "editable": true,
-  "fiscalYearStartMonth": 0,
-  "gnetId": null,
-  "graphTooltip": 0,
-  "id": 5,
-  "iteration": 1654203022456,
-  "links": [],
-  "liveNow": false,
-  "panels": [
-    {
-      "datasource": null,
-      "fieldConfig": {
-        "defaults": {
-          "color": {
-            "mode": "palette-classic"
-          },
-          "custom": {
-            "axisLabel": "",
-            "axisPlacement": "auto",
-            "barAlignment": 0,
-            "drawStyle": "line",
-            "fillOpacity": 10,
-            "gradientMode": "none",
-            "hideFrom": {
-              "legend": false,
-              "tooltip": false,
-              "viz": false
-            },
-            "lineInterpolation": "linear",
-            "lineWidth": 1,
-            "pointSize": 4,
-            "scaleDistribution": {
-              "type": "linear"
-            },
-            "showPoints": "always",
-            "spanNulls": false,
-            "stacking": {
-              "group": "A",
-              "mode": "normal"
-            },
-            "thresholdsStyle": {
-              "mode": "off"
-            }
-          },
-          "mappings": [],
-          "thresholds": {
-            "mode": "absolute",
-            "steps": [
-              {
-                "color": "green",
-                "value": null
-              },
-              {
-                "color": "red",
-                "value": 80
-              }
-            ]
-          },
-          "unit": "none"
-        },
-        "overrides": [
-          {
-            "__systemRef": "hideSeriesFrom",
-            "matcher": {
-              "id": "byNames",
-              "options": {
-                "mode": "exclude",
-                "names": [
-                  "postSynapticCurrent {dst_cortical_area=\"i__sho\", dst_neuron_id=\"2022-06-02_20:43:56_402555_CP8I2I_N\", src_cortical_area=\"a_pain\", src_neuron_id=\"2022-06-02_20:43:56_402799_S9F0FK_N\"}"
-                ],
-                "prefix": "All except:",
-                "readOnly": true
-              }
-            },
-            "properties": [
-              {
-                "id": "custom.hideFrom",
-                "value": {
-                  "legend": false,
-                  "tooltip": false,
-                  "viz": true
-                }
-              }
-            ]
-          }
-        ]
-      },
-      "gridPos": {
-        "h": 8,
-        "w": 24,
-        "x": 0,
-        "y": 0
-      },
-      "id": 6,
-      "links": [],
-      "options": {
-        "legend": {
-          "calcs": [],
-          "displayMode": "table",
-          "placement": "bottom"
-        },
-        "tooltip": {
-          "mode": "single"
-        }
-      },
-      "pluginVersion": "8.2.5",
-      "targets": [
-        {
-          "alias": "Membrane Potentials",
-          "groupBy": [],
-          "measurement": "membranePotential",
-          "orderByTime": "ASC",
-          "policy": "autogen",
-          "query": "from(bucket: \"data\")\n  |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n  |> filter(fn: (r) => r[\"_measurement\"] == \"synapse\")\n  |> filter(fn: (r) => r[\"_field\"] == \"postSynapticCurrent\" and (r[\"src_cortical_area\"] =~ /^${src_cortical_area:regex}$/ or r[\"dst_cortical_area\"] =~ /^${dst_cortical_area:regex}$/))\n  |> filter(fn: (r) => r[\"src_neuron_id\"] =~ /^${src_neuron_id:regex}$/ and r[\"dst_neuron_id\"] =~ /^${dst_neuron_id:regex}$/)\n  |> drop(columns:[\"connectome\"])\n  |> yield(name: \"mean\")",
-          "refId": "A",
-          "resultFormat": "time_series",
-          "select": [
-            [
-              {
-                "params": [
-                  "membrane_potential"
-                ],
-                "type": "field"
-              }
-            ]
-          ],
-          "tags": []
-        }
-      ],
-      "timeShift": null,
-      "title": "Post Synaptic Currents",
-      "transformations": [
-        {
-          "id": "groupBy",
-          "options": {}
-        }
-      ],
-      "type": "timeseries"
-    }
-  ],
-  "refresh": false,
-  "schemaVersion": 32,
-  "style": "dark",
-  "tags": [],
-  "templating": {
-    "list": [
-      {
-        "allValue": null,
-        "current": {
-          "selected": true,
-          "text": [
-            "All"
-          ],
-          "value": [
-            "$__all"
-          ]
-        },
-        "datasource": null,
-        "definition": "import \"influxdata/influxdb/v1\"\nv1.tagValues(\n    bucket: v.bucket,\n    tag: \"src_cortical_area\",\n    predicate: (r) => r[\"_measurement\"] == \"neuron\",\n    start: -1d\n)",
-        "description": null,
-        "error": null,
-        "hide": 0,
-        "includeAll": true,
-        "label": "Source Cortical Area",
-        "multi": true,
-        "name": "src_cortical_area",
-        "options": [],
-        "query": "import \"influxdata/influxdb/v1\"\nv1.tagValues(\n    bucket: v.bucket,\n    tag: \"src_cortical_area\",\n    predicate: (r) => r[\"_measurement\"] == \"neuron\",\n    start: -1d\n)",
-        "refresh": 1,
-        "regex": "",
-        "skipUrlSync": false,
-        "sort": 0,
-        "type": "query"
-      },
-      {
-        "allValue": null,
-        "current": {
-          "selected": true,
-          "text": [
-            "All"
-          ],
-          "value": [
-            "$__all"
-          ]
-        },
-        "datasource": null,
-        "definition": "import \"influxdata/influxdb/v1\"\nv1.tagValues(\n    bucket: v.bucket,\n    tag: \"dst_cortical_area\",\n    predicate: (r) => r[\"_measurement\"] == \"synapse\",\n    start: -1d\n)",
-        "description": null,
-        "error": null,
-        "hide": 0,
-        "includeAll": true,
-        "label": "Destination Cortical Area",
-        "multi": true,
-        "name": "dst_cortical_area",
-        "options": [],
-        "query": "import \"influxdata/influxdb/v1\"\nv1.tagValues(\n    bucket: v.bucket,\n    tag: \"dst_cortical_area\",\n    predicate: (r) => r[\"_measurement\"] == \"synapse\",\n    start: -1d\n)",
-        "refresh": 1,
-        "regex": "",
-        "skipUrlSync": false,
-        "sort": 0,
-        "type": "query"
-      },
-      {
-        "allValue": null,
-        "current": {
-          "selected": true,
-          "text": [
-            "All"
-          ],
-          "value": [
-            "$__all"
-          ]
-        },
-        "datasource": null,
-        "definition": "import \"influxdata/influxdb/v1\"\nv1.tagValues(\n    bucket: v.bucket,\n    tag: \"voxel_x\",\n    predicate: (r) =>  r[\"src_cortical_area\"] =~ /^${src_cortical_area:regex}$/ or r[\"dst_cortical_area\"] =~ /^${dst_cortical_area:regex}$/,\n    start: -1d\n)",
-        "description": null,
-        "error": null,
-        "hide": 0,
-        "includeAll": true,
-        "label": "X Voxel",
-        "multi": true,
-        "name": "vox_x",
-        "options": [],
-        "query": "import \"influxdata/influxdb/v1\"\nv1.tagValues(\n    bucket: v.bucket,\n    tag: \"voxel_x\",\n    predicate: (r) =>  r[\"src_cortical_area\"] =~ /^${src_cortical_area:regex}$/ or r[\"dst_cortical_area\"] =~ /^${dst_cortical_area:regex}$/,\n    start: -1d\n)",
-        "refresh": 2,
-        "regex": "",
-        "skipUrlSync": false,
-        "sort": 0,
-        "type": "query"
-      },
-      {
-        "allValue": null,
-        "current": {
-          "selected": true,
-          "text": [
-            "All"
-          ],
-          "value": [
-            "$__all"
-          ]
-        },
-        "datasource": null,
-        "definition": "import \"influxdata/influxdb/v1\"\nv1.tagValues(\n    bucket: v.bucket,\n    tag: \"voxel_y\",\n    predicate: (r) =>  r[\"src_cortical_area\"] =~ /^${src_cortical_area:regex}$/ or r[\"dst_cortical_area\"] =~ /^${dst_cortical_area:regex}$/,\n    start: -1d\n)",
-        "description": null,
-        "error": null,
-        "hide": 0,
-        "includeAll": true,
-        "label": "Y Voxel",
-        "multi": true,
-        "name": "vox_y",
-        "options": [],
-        "query": "import \"influxdata/influxdb/v1\"\nv1.tagValues(\n    bucket: v.bucket,\n    tag: \"voxel_y\",\n    predicate: (r) =>  r[\"src_cortical_area\"] =~ /^${src_cortical_area:regex}$/ or r[\"dst_cortical_area\"] =~ /^${dst_cortical_area:regex}$/,\n    start: -1d\n)",
-        "refresh": 2,
-        "regex": "",
-        "skipUrlSync": false,
-        "sort": 0,
-        "type": "query"
-      },
-      {
-        "allValue": null,
-        "current": {
-          "selected": true,
-          "text": [
-            "All"
-          ],
-          "value": [
-            "$__all"
-          ]
-        },
-        "datasource": null,
-        "definition": "import \"influxdata/influxdb/v1\"\nv1.tagValues(\n    bucket: v.bucket,\n    tag: \"voxel_z\",\n    predicate: (r) =>  r[\"src_cortical_area\"] =~ /^${src_cortical_area:regex}$/ or r[\"dst_cortical_area\"] =~ /^${dst_cortical_area:regex}$/,\n    start: -1d\n)",
-        "description": null,
-        "error": null,
-        "hide": 0,
-        "includeAll": true,
-        "label": "Z Voxel",
-        "multi": true,
-        "name": "vox_z",
-        "options": [],
-        "query": "import \"influxdata/influxdb/v1\"\nv1.tagValues(\n    bucket: v.bucket,\n    tag: \"voxel_z\",\n    predicate: (r) =>  r[\"src_cortical_area\"] =~ /^${src_cortical_area:regex}$/ or r[\"dst_cortical_area\"] =~ /^${dst_cortical_area:regex}$/,\n    start: -1d\n)",
-        "refresh": 2,
-        "regex": "",
-        "skipUrlSync": false,
-        "sort": 0,
-        "type": "query"
-      },
-      {
-        "allValue": null,
-        "current": {
-          "selected": true,
-          "text": [
-            "All"
-          ],
-          "value": [
-            "$__all"
-          ]
-        },
-        "datasource": null,
-        "definition": "import \"influxdata/influxdb/v1\"\nv1.tagValues(\n    bucket: v.bucket,\n    tag: \"dst_neuron_id\",\n    predicate: (r) => r[\"_measurement\"] == \"synapse\" and r[\"dst_cortical_area\"] =~ /^${dst_cortical_area:regex}$/,\n    start: -1d\n)",
-        "description": null,
-        "error": null,
-        "hide": 0,
-        "includeAll": true,
-        "label": "Destination Neuron ID",
-        "multi": true,
-        "name": "dst_neuron_id",
-        "options": [],
-        "query": "import \"influxdata/influxdb/v1\"\nv1.tagValues(\n    bucket: v.bucket,\n    tag: \"dst_neuron_id\",\n    predicate: (r) => r[\"_measurement\"] == \"synapse\" and r[\"dst_cortical_area\"] =~ /^${dst_cortical_area:regex}$/,\n    start: -1d\n)",
-        "refresh": 1,
-        "regex": "",
-        "skipUrlSync": false,
-        "sort": 0,
-        "type": "query"
-      },
-      {
-        "allValue": null,
-        "current": {
-          "selected": true,
-          "text": [
-            "All"
-          ],
-          "value": [
-            "$__all"
-          ]
-        },
-        "datasource": null,
-        "definition": "import \"influxdata/influxdb/v1\"\nv1.tagValues(\n    bucket: v.bucket,\n    tag: \"src_neuron_id\",\n    predicate: (r) => r[\"_measurement\"] == \"synapse\" and r[\"dst_cortical_area\"] =~ /^${dst_cortical_area:regex}$/,\n    start: -1d\n)",
-        "description": null,
-        "error": null,
-        "hide": 0,
-        "includeAll": true,
-        "label": "Source Neuron ID",
-        "multi": true,
-        "name": "src_neuron_id",
-        "options": [],
-        "query": "import \"influxdata/influxdb/v1\"\nv1.tagValues(\n    bucket: v.bucket,\n    tag: \"src_neuron_id\",\n    predicate: (r) => r[\"_measurement\"] == \"synapse\" and r[\"dst_cortical_area\"] =~ /^${dst_cortical_area:regex}$/,\n    start: -1d\n)",
-        "refresh": 1,
-        "regex": "",
-        "skipUrlSync": false,
-        "sort": 0,
-        "type": "query"
-      }
-    ]
-  },
-  "time": {
-    "from": "2022-06-02T20:50:53.195Z",
-    "to": "2022-06-02T20:50:53.201Z"
-  },
-  "timepicker": {
-    "refresh_intervals": [
-      "1s",
-      "5s",
-      "10s",
-      "30s",
-      "1m",
-      "5m",
-      "15m",
-      "30m",
-      "1h",
-      "1d"
-    ]
-  },
-  "timezone": "",
-  "title": "FEAGI Postsynaptic Potential Monitor",
-  "uid": "ATgzXo9nz",
-  "version": 6
-}
\ No newline at end of file
diff --git a/third_party/visualizers/grafana/grafana.ini b/third_party/visualizers/grafana/grafana.ini
deleted file mode 100644
index 9bbd58fc0..000000000
--- a/third_party/visualizers/grafana/grafana.ini
+++ /dev/null
@@ -1,20 +0,0 @@
-[paths]
-provisioning = /etc/grafana/provisioning
-
-[auth]
-disable_login_form = true
-
-[auth.anonymous]
-enabled = true
-
-[server]
-enable_gzip = true
-
-[security]
-allow_embedding = true
-
-[users]
-default_theme = dark
-
-[dashboards]
-min_refresh_interval = 1s
\ No newline at end of file
diff --git a/third_party/visualizers/grafana/provisioning/dashboards/dashboard.yml b/third_party/visualizers/grafana/provisioning/dashboards/dashboard.yml
deleted file mode 100644
index 0922449e3..000000000
--- a/third_party/visualizers/grafana/provisioning/dashboards/dashboard.yml
+++ /dev/null
@@ -1,14 +0,0 @@
-apiVersion: 1
-
-providers:
-- name: dashboards
-  org_id: 1
-  folder: ''
-  type: 'file'
-  disableDeletion: false
-  editable: true
-  updateIntervalSeconds: 1
-  allowUiUpdates: true
-  options:
-    path: /etc/grafana/dashboards
-    foldersFromFilesStructure: true
diff --git a/third_party/visualizers/grafana/provisioning/datasources/datasource.yml b/third_party/visualizers/grafana/provisioning/datasources/datasource.yml
deleted file mode 100644
index a5bf292b9..000000000
--- a/third_party/visualizers/grafana/provisioning/datasources/datasource.yml
+++ /dev/null
@@ -1,19 +0,0 @@
-apiVersion: 1
-
-datasources:
-  - name: InfluxDB_v2_Flux
-    type: influxdb
-    access: proxy
-    orgId: 1
-    url: $INFLUXDB_URL
-    user: $INFLUXDB_USER
-    isDefault: true
-    editable: true
-    secureJsonData:
-      token: $INFLUXDB_TOKEN
-      password: $INFLUXDB_PASSWORD
-    jsonData:
-      version: Flux
-      organization: $INFLUXDB_ORG
-      defaultBucket: $INFLUXDB_BUCKET
-      tlsSkipVerify: true
\ No newline at end of file


Test patch:
diff --git a/third_party/visualizers/grafana/dashboards/archive/test_dashboard.json b/third_party/visualizers/grafana/dashboards/archive/test_dashboard.json
deleted file mode 100644
index 051179831..000000000
--- a/third_party/visualizers/grafana/dashboards/archive/test_dashboard.json
+++ /dev/null
@@ -1,151 +0,0 @@
-{
-  "annotations": {
-    "list": [
-      {
-        "builtIn": 1,
-        "datasource": "-- Grafana --",
-        "enable": true,
-        "hide": true,
-        "iconColor": "rgba(0, 211, 255, 1)",
-        "name": "Annotations & Alerts",
-        "target": {
-          "limit": 100,
-          "matchAny": false,
-          "tags": [],
-          "type": "dashboard"
-        },
-        "type": "dashboard"
-      }
-    ]
-  },
-  "editable": true,
-  "fiscalYearStartMonth": 0,
-  "gnetId": null,
-  "graphTooltip": 0,
-  "id": 1,
-  "links": [],
-  "liveNow": false,
-  "panels": [
-    {
-      "datasource": null,
-      "fieldConfig": {
-        "defaults": {
-          "color": {
-            "mode": "palette-classic"
-          },
-          "custom": {
-            "axisLabel": "",
-            "axisPlacement": "auto",
-            "barAlignment": 0,
-            "drawStyle": "line",
-            "fillOpacity": 10,
-            "gradientMode": "none",
-            "hideFrom": {
-              "legend": false,
-              "tooltip": false,
-              "viz": false
-            },
-            "lineInterpolation": "linear",
-            "lineWidth": 1,
-            "pointSize": 4,
-            "scaleDistribution": {
-              "type": "linear"
-            },
-            "showPoints": "always",
-            "spanNulls": false,
-            "stacking": {
-              "group": "A",
-              "mode": "normal"
-            },
-            "thresholdsStyle": {
-              "mode": "off"
-            }
-          },
-          "mappings": [],
-          "thresholds": {
-            "mode": "absolute",
-            "steps": [
-              {
-                "color": "green",
-                "value": null
-              },
-              {
-                "color": "red",
-                "value": 80
-              }
-            ]
-          },
-          "unit": "mvolt"
-        },
-        "overrides": []
-      },
-      "gridPos": {
-        "h": 8,
-        "w": 24,
-        "x": 0,
-        "y": 0
-      },
-      "id": 6,
-      "links": [],
-      "options": {
-        "legend": {
-          "calcs": [
-            "lastNotNull",
-            "delta",
-            "min",
-            "max"
-          ],
-          "displayMode": "table",
-          "placement": "bottom"
-        },
-        "tooltip": {
-          "mode": "single"
-        }
-      },
-      "pluginVersion": "8.2.5",
-      "targets": [
-        {
-          "alias": "Membrane Potentials",
-          "groupBy": [],
-          "measurement": "membranePotential",
-          "orderByTime": "ASC",
-          "policy": "autogen",
-          "query": "from(bucket: \"data\")\n  |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n  |> filter(fn: (r) => r[\"_measurement\"] == \"membranePotential\" and r[\"_field\"] == \"membrane_potential\" and r[\"_value\"] > 0)\n  |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)\n  |> drop(columns: [\"_field\", \"_start\", \"_stop\", \"connectome\", \"_measurement\"])\n  |> yield(name: \"mean\")",
-          "refId": "A",
-          "resultFormat": "time_series",
-          "select": [
-            [
-              {
-                "params": [
-                  "membrane_potential"
-                ],
-                "type": "field"
-              }
-            ]
-          ],
-          "tags": []
-        }
-      ],
-      "timeFrom": "5m",
-      "timeShift": null,
-      "title": "Membrane Potentials",
-      "type": "timeseries"
-    }
-  ],
-  "refresh": "5s",
-  "schemaVersion": 32,
-  "style": "dark",
-  "tags": [],
-  "templating": {
-    "list": []
-  },
-  "time": {
-    "from": "now-5m",
-    "to": "now"
-  },
-  "timepicker": {},
-  "timezone": "",
-  "title": "test_dashboard",
-  "uid": "C1ndOctnk",
-  "version": 24
-}
\ No newline at end of file