Repository: h4ndzdatm0ld/ttp_sros_parser (language: python)

Issue:
Add Mypy to Testing + Add typehints
Title


Discussion / hints:

Fix patch:
diff --git a/.github/workflows/python-app.yml b/.github/workflows/python-app.yml
index e4a7ee7..4e49756 100644
--- a/.github/workflows/python-app.yml
+++ b/.github/workflows/python-app.yml
@@ -25,6 +25,18 @@ jobs:
           python -m pip install --upgrade pip
           pip install poetry
           poetry install --no-interaction
+
+      - name: Lint & Code Format
+        run: |
+          echo 'Running Black' && \
+          poetry run black --check --diff . && \
+          echo 'Running Yamllint' && \
+          poetry run yamllint . && \
+          echo 'Running Bandit' && \
+          poetry run bandit --recursive ./ --configfile pyproject.toml && \
+          echo 'Running MyPy' && \
+          poetry run mypy .
+
       - name: Test with pytest
         run: |
           poetry run pytest --cov=ttp_sros_parser --cov-report=xml -vv
diff --git a/.vscode/settings.json b/.vscode/settings.json
index b75074f..5702a9a 100644
--- a/.vscode/settings.json
+++ b/.vscode/settings.json
@@ -1,26 +1,28 @@
 {
-    "python.pythonPath": "/home/htinoco/.cache/pypoetry/virtualenvs/ttp-sros-parser-JRXJ3YFb-py3.8/bin/python",
-    "workbench.colorCustomizations": {
-        "activityBar.activeBackground": "#75aea7",
-        "activityBar.activeBorder": "#f2ebf3",
-        "activityBar.background": "#75aea7",
-        "activityBar.foreground": "#15202b",
-        "activityBar.inactiveForeground": "#15202b99",
-        "activityBarBadge.background": "#f2ebf3",
-        "activityBarBadge.foreground": "#15202b",
-        "statusBar.background": "#599790",
-        "statusBar.foreground": "#15202b",
-        "statusBarItem.hoverBackground": "#467771",
-        "titleBar.activeBackground": "#599790",
-        "titleBar.activeForeground": "#15202b",
-        "titleBar.inactiveBackground": "#59979099",
-        "titleBar.inactiveForeground": "#15202b99",
-        "sash.hoverBorder": "#75aea7",
-        "statusBarItem.remoteBackground": "#599790",
-        "statusBarItem.remoteForeground": "#15202b",
-        "commandCenter.border": "#15202b99"
-    },
-    "peacock.remoteColor": "#599790",
-    "python.linting.pylintEnabled": true,
-    "peacock.color": "#599790"
-}
\ No newline at end of file
+  "python.pythonPath": "/home/htinoco/.cache/pypoetry/virtualenvs/ttp-sros-parser-JRXJ3YFb-py3.8/bin/python",
+  "workbench.colorCustomizations": {
+    "activityBar.activeBackground": "#75aea7",
+    "activityBar.activeBorder": "#f2ebf3",
+    "activityBar.background": "#75aea7",
+    "activityBar.foreground": "#15202b",
+    "activityBar.inactiveForeground": "#15202b99",
+    "activityBarBadge.background": "#f2ebf3",
+    "activityBarBadge.foreground": "#15202b",
+    "statusBar.background": "#599790",
+    "statusBar.foreground": "#15202b",
+    "statusBarItem.hoverBackground": "#467771",
+    "titleBar.activeBackground": "#599790",
+    "titleBar.activeForeground": "#15202b",
+    "titleBar.inactiveBackground": "#59979099",
+    "titleBar.inactiveForeground": "#15202b99",
+    "sash.hoverBorder": "#75aea7",
+    "statusBarItem.remoteBackground": "#599790",
+    "statusBarItem.remoteForeground": "#15202b",
+    "commandCenter.border": "#15202b99"
+  },
+  "peacock.remoteColor": "#599790",
+  "python.linting.pylintEnabled": true,
+  "peacock.color": "#599790",
+  "githubPullRequests.ignoredPullRequestBranches": ["develop"],
+  "ansible.python.interpreterPath": "/home/codespace/.python/current/bin/python3"
+}
diff --git a/docker-compose.yml b/docker-compose.yml
index bbc7342..954ce3a 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -4,4 +4,4 @@ services:
   test:
     build:
       context: "."
-      target: "test"
\ No newline at end of file
+      target: "test"
diff --git a/docs/changelog.md b/docs/changelog.md
index 6d8c269..0809e22 100644
--- a/docs/changelog.md
+++ b/docs/changelog.md
@@ -7,31 +7,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
 ## [1.0.0] - 2023-XX-XX
 
 ### Added
-    - Contributions from @Jeremy-Coder76. Test / parsing changes + additional parsers. PR#33
-        - AAA Config/Declaration
-        - CFLOWD
-        - DHCP
-        - Filters
-        - IGMP
-        - ISIS
-        - L2TP
-        - LDP
-        - Mirror
-        - Mmgt Router
-        - PIM
-        - Multicast
-        - Qos
-        - Port Cross XC
-        - VRRP
-        - TWAMP
-        - System /
-        - Suubscriber
-        - Router Policy
-        - BGP
-        - Redundancy
-        - Radius
     - Introduced Dataclasses and simplified the main class object SrosParser
-
+    - Contributions from @Jeremy-Coder76. Test / parsing changes + additional parsers. PR#33
     Methods
     - get_system_begin
     - get_mgmt_router_config
@@ -67,6 +44,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
     - get_system_time_ntp_config
 ### Changed
     - Several parsing changes happened, which will break previously working parsers. PR#33
+    - Private `_parse` method always returns Dict now
+    - All unit tests reflect the above changes
 
 ## [0.1.6] - 2022-22-05
 
diff --git a/poetry.lock b/poetry.lock
index 16514a4..de34956 100644
--- a/poetry.lock
+++ b/poetry.lock
@@ -1,10 +1,9 @@
-# This file is automatically @generated by Poetry and should not be changed by hand.
+# This file is automatically @generated by Poetry 1.5.0 and should not be changed by hand.
 
 [[package]]
 name = "appnope"
 version = "0.1.3"
 description = "Disable App Nap on macOS >= 10.9"
-category = "dev"
 optional = false
 python-versions = "*"
 files = [
@@ -14,32 +13,32 @@ files = [
 
 [[package]]
 name = "astroid"
-version = "2.11.5"
+version = "2.15.5"
 description = "An abstract syntax tree for Python with inference support."
-category = "dev"
 optional = false
-python-versions = ">=3.6.2"
+python-versions = ">=3.7.2"
 files = [
-    {file = "astroid-2.11.5-py3-none-any.whl", hash = "sha256:14ffbb4f6aa2cf474a0834014005487f7ecd8924996083ab411e7fa0b508ce0b"},
-    {file = "astroid-2.11.5.tar.gz", hash = "sha256:f4e4ec5294c4b07ac38bab9ca5ddd3914d4bf46f9006eb5c0ae755755061044e"},
+    {file = "astroid-2.15.5-py3-none-any.whl", hash = "sha256:078e5212f9885fa85fbb0cf0101978a336190aadea6e13305409d099f71b2324"},
+    {file = "astroid-2.15.5.tar.gz", hash = "sha256:1039262575027b441137ab4a62a793a9b43defb42c32d5670f38686207cd780f"},
 ]
 
 [package.dependencies]
 lazy-object-proxy = ">=1.4.0"
-setuptools = ">=20.0"
-typing-extensions = {version = ">=3.10", markers = "python_version < \"3.10\""}
-wrapt = ">=1.11,<2"
+typing-extensions = {version = ">=4.0.0", markers = "python_version < \"3.11\""}
+wrapt = [
+    {version = ">=1.11,<2", markers = "python_version < \"3.11\""},
+    {version = ">=1.14,<2", markers = "python_version >= \"3.11\""},
+]
 
 [[package]]
 name = "asttokens"
-version = "2.0.5"
+version = "2.2.1"
 description = "Annotate AST trees with source code positions"
-category = "dev"
 optional = false
 python-versions = "*"
 files = [
-    {file = "asttokens-2.0.5-py2.py3-none-any.whl", hash = "sha256:0844691e88552595a6f4a4281a9f7f79b8dd45ca4ccea82e5e05b4bbdb76705c"},
-    {file = "asttokens-2.0.5.tar.gz", hash = "sha256:9a54c114f02c7a9480d56550932546a3f1fe71d8a02f1bc7ccd0ee3ee35cf4d5"},
+    {file = "asttokens-2.2.1-py2.py3-none-any.whl", hash = "sha256:6b0ac9e93fb0335014d382b8fa9b3afa7df546984258005da0b9e7095b3deb1c"},
+    {file = "asttokens-2.2.1.tar.gz", hash = "sha256:4622110b2a6f30b77e1473affaa97e711bc2f07d3f10848420ff1898edbe94f3"},
 ]
 
 [package.dependencies]
@@ -48,41 +47,10 @@ six = "*"
 [package.extras]
 test = ["astroid", "pytest"]
 
-[[package]]
-name = "atomicwrites"
-version = "1.4.0"
-description = "Atomic file writes."
-category = "dev"
-optional = false
-python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
-files = [
-    {file = "atomicwrites-1.4.0-py2.py3-none-any.whl", hash = "sha256:6d1784dea7c0c8d4a5172b6c620f40b6e4cbfdf96d783691f2e1302a7b88e197"},
-    {file = "atomicwrites-1.4.0.tar.gz", hash = "sha256:ae70396ad1a434f9c7046fd2dd196fc04b12f9e91ffb859164193be8b6168a7a"},
-]
-
-[[package]]
-name = "attrs"
-version = "21.4.0"
-description = "Classes Without Boilerplate"
-category = "dev"
-optional = false
-python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
-files = [
-    {file = "attrs-21.4.0-py2.py3-none-any.whl", hash = "sha256:2d27e3784d7a565d36ab851fe94887c5eccd6a463168875832a1be79c82828b4"},
-    {file = "attrs-21.4.0.tar.gz", hash = "sha256:626ba8234211db98e869df76230a137c4c40a12d72445c45d5f5b716f076e2fd"},
-]
-
-[package.extras]
-dev = ["cloudpickle", "coverage[toml] (>=5.0.2)", "furo", "hypothesis", "mypy", "pre-commit", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "six", "sphinx", "sphinx-notfound-page", "zope.interface"]
-docs = ["furo", "sphinx", "sphinx-notfound-page", "zope.interface"]
-tests = ["cloudpickle", "coverage[toml] (>=5.0.2)", "hypothesis", "mypy", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "six", "zope.interface"]
-tests-no-zope = ["cloudpickle", "coverage[toml] (>=5.0.2)", "hypothesis", "mypy", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "six"]
-
 [[package]]
 name = "backcall"
 version = "0.2.0"
 description = "Specifications for callback functions passed in to an API"
-category = "dev"
 optional = false
 python-versions = "*"
 files = [
@@ -92,63 +60,65 @@ files = [
 
 [[package]]
 name = "bandit"
-version = "1.7.4"
+version = "1.7.5"
 description = "Security oriented static analyser for python code."
-category = "dev"
 optional = false
 python-versions = ">=3.7"
 files = [
-    {file = "bandit-1.7.4-py3-none-any.whl", hash = "sha256:412d3f259dab4077d0e7f0c11f50f650cc7d10db905d98f6520a95a18049658a"},
-    {file = "bandit-1.7.4.tar.gz", hash = "sha256:2d63a8c573417bae338962d4b9b06fbc6080f74ecd955a092849e1e65c717bd2"},
+    {file = "bandit-1.7.5-py3-none-any.whl", hash = "sha256:75665181dc1e0096369112541a056c59d1c5f66f9bb74a8d686c3c362b83f549"},
+    {file = "bandit-1.7.5.tar.gz", hash = "sha256:bdfc739baa03b880c2d15d0431b31c658ffc348e907fe197e54e0389dd59e11e"},
 ]
 
 [package.dependencies]
 colorama = {version = ">=0.3.9", markers = "platform_system == \"Windows\""}
 GitPython = ">=1.0.1"
 PyYAML = ">=5.3.1"
+rich = "*"
 stevedore = ">=1.20.0"
 
 [package.extras]
-test = ["beautifulsoup4 (>=4.8.0)", "coverage (>=4.5.4)", "fixtures (>=3.0.0)", "flake8 (>=4.0.0)", "pylint (==1.9.4)", "stestr (>=2.5.0)", "testscenarios (>=0.5.0)", "testtools (>=2.3.0)", "toml"]
-toml = ["toml"]
+test = ["beautifulsoup4 (>=4.8.0)", "coverage (>=4.5.4)", "fixtures (>=3.0.0)", "flake8 (>=4.0.0)", "pylint (==1.9.4)", "stestr (>=2.5.0)", "testscenarios (>=0.5.0)", "testtools (>=2.3.0)", "tomli (>=1.1.0)"]
+toml = ["tomli (>=1.1.0)"]
 yaml = ["PyYAML"]
 
 [[package]]
 name = "black"
-version = "22.3.0"
+version = "23.3.0"
 description = "The uncompromising code formatter."
-category = "dev"
 optional = false
-python-versions = ">=3.6.2"
+python-versions = ">=3.7"
 files = [
-    {file = "black-22.3.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:2497f9c2386572e28921fa8bec7be3e51de6801f7459dffd6e62492531c47e09"},
-    {file = "black-22.3.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:5795a0375eb87bfe902e80e0c8cfaedf8af4d49694d69161e5bd3206c18618bb"},
-    {file = "black-22.3.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e3556168e2e5c49629f7b0f377070240bd5511e45e25a4497bb0073d9dda776a"},
-    {file = "black-22.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:67c8301ec94e3bcc8906740fe071391bce40a862b7be0b86fb5382beefecd968"},
-    {file = "black-22.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:fd57160949179ec517d32ac2ac898b5f20d68ed1a9c977346efbac9c2f1e779d"},
-    {file = "black-22.3.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:cc1e1de68c8e5444e8f94c3670bb48a2beef0e91dddfd4fcc29595ebd90bb9ce"},
-    {file = "black-22.3.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6d2fc92002d44746d3e7db7cf9313cf4452f43e9ea77a2c939defce3b10b5c82"},
-    {file = "black-22.3.0-cp36-cp36m-win_amd64.whl", hash = "sha256:a6342964b43a99dbc72f72812bf88cad8f0217ae9acb47c0d4f141a6416d2d7b"},
-    {file = "black-22.3.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:328efc0cc70ccb23429d6be184a15ce613f676bdfc85e5fe8ea2a9354b4e9015"},
-    {file = "black-22.3.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:06f9d8846f2340dfac80ceb20200ea5d1b3f181dd0556b47af4e8e0b24fa0a6b"},
-    {file = "black-22.3.0-cp37-cp37m-win_amd64.whl", hash = "sha256:ad4efa5fad66b903b4a5f96d91461d90b9507a812b3c5de657d544215bb7877a"},
-    {file = "black-22.3.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:e8477ec6bbfe0312c128e74644ac8a02ca06bcdb8982d4ee06f209be28cdf163"},
-    {file = "black-22.3.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:637a4014c63fbf42a692d22b55d8ad6968a946b4a6ebc385c5505d9625b6a464"},
-    {file = "black-22.3.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:863714200ada56cbc366dc9ae5291ceb936573155f8bf8e9de92aef51f3ad0f0"},
-    {file = "black-22.3.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:10dbe6e6d2988049b4655b2b739f98785a884d4d6b85bc35133a8fb9a2233176"},
-    {file = "black-22.3.0-cp38-cp38-win_amd64.whl", hash = "sha256:cee3e11161dde1b2a33a904b850b0899e0424cc331b7295f2a9698e79f9a69a0"},
-    {file = "black-22.3.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:5891ef8abc06576985de8fa88e95ab70641de6c1fca97e2a15820a9b69e51b20"},
-    {file = "black-22.3.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:30d78ba6bf080eeaf0b7b875d924b15cd46fec5fd044ddfbad38c8ea9171043a"},
-    {file = "black-22.3.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ee8f1f7228cce7dffc2b464f07ce769f478968bfb3dd1254a4c2eeed84928aad"},
-    {file = "black-22.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6ee227b696ca60dd1c507be80a6bc849a5a6ab57ac7352aad1ffec9e8b805f21"},
-    {file = "black-22.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:9b542ced1ec0ceeff5b37d69838106a6348e60db7b8fdd245294dc1d26136265"},
-    {file = "black-22.3.0-py3-none-any.whl", hash = "sha256:bc58025940a896d7e5356952228b68f793cf5fcb342be703c3a2669a1488cb72"},
-    {file = "black-22.3.0.tar.gz", hash = "sha256:35020b8886c022ced9282b51b5a875b6d1ab0c387b31a065b84db7c33085ca79"},
+    {file = "black-23.3.0-cp310-cp310-macosx_10_16_arm64.whl", hash = "sha256:0945e13506be58bf7db93ee5853243eb368ace1c08a24c65ce108986eac65915"},
+    {file = "black-23.3.0-cp310-cp310-macosx_10_16_universal2.whl", hash = "sha256:67de8d0c209eb5b330cce2469503de11bca4085880d62f1628bd9972cc3366b9"},
+    {file = "black-23.3.0-cp310-cp310-macosx_10_16_x86_64.whl", hash = "sha256:7c3eb7cea23904399866c55826b31c1f55bbcd3890ce22ff70466b907b6775c2"},
+    {file = "black-23.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:32daa9783106c28815d05b724238e30718f34155653d4d6e125dc7daec8e260c"},
+    {file = "black-23.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:35d1381d7a22cc5b2be2f72c7dfdae4072a3336060635718cc7e1ede24221d6c"},
+    {file = "black-23.3.0-cp311-cp311-macosx_10_16_arm64.whl", hash = "sha256:a8a968125d0a6a404842fa1bf0b349a568634f856aa08ffaff40ae0dfa52e7c6"},
+    {file = "black-23.3.0-cp311-cp311-macosx_10_16_universal2.whl", hash = "sha256:c7ab5790333c448903c4b721b59c0d80b11fe5e9803d8703e84dcb8da56fec1b"},
+    {file = "black-23.3.0-cp311-cp311-macosx_10_16_x86_64.whl", hash = "sha256:a6f6886c9869d4daae2d1715ce34a19bbc4b95006d20ed785ca00fa03cba312d"},
+    {file = "black-23.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6f3c333ea1dd6771b2d3777482429864f8e258899f6ff05826c3a4fcc5ce3f70"},
+    {file = "black-23.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:11c410f71b876f961d1de77b9699ad19f939094c3a677323f43d7a29855fe326"},
+    {file = "black-23.3.0-cp37-cp37m-macosx_10_16_x86_64.whl", hash = "sha256:1d06691f1eb8de91cd1b322f21e3bfc9efe0c7ca1f0e1eb1db44ea367dff656b"},
+    {file = "black-23.3.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:50cb33cac881766a5cd9913e10ff75b1e8eb71babf4c7104f2e9c52da1fb7de2"},
+    {file = "black-23.3.0-cp37-cp37m-win_amd64.whl", hash = "sha256:e114420bf26b90d4b9daa597351337762b63039752bdf72bf361364c1aa05925"},
+    {file = "black-23.3.0-cp38-cp38-macosx_10_16_arm64.whl", hash = "sha256:48f9d345675bb7fbc3dd85821b12487e1b9a75242028adad0333ce36ed2a6d27"},
+    {file = "black-23.3.0-cp38-cp38-macosx_10_16_universal2.whl", hash = "sha256:714290490c18fb0126baa0fca0a54ee795f7502b44177e1ce7624ba1c00f2331"},
+    {file = "black-23.3.0-cp38-cp38-macosx_10_16_x86_64.whl", hash = "sha256:064101748afa12ad2291c2b91c960be28b817c0c7eaa35bec09cc63aa56493c5"},
+    {file = "black-23.3.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:562bd3a70495facf56814293149e51aa1be9931567474993c7942ff7d3533961"},
+    {file = "black-23.3.0-cp38-cp38-win_amd64.whl", hash = "sha256:e198cf27888ad6f4ff331ca1c48ffc038848ea9f031a3b40ba36aced7e22f2c8"},
+    {file = "black-23.3.0-cp39-cp39-macosx_10_16_arm64.whl", hash = "sha256:3238f2aacf827d18d26db07524e44741233ae09a584273aa059066d644ca7b30"},
+    {file = "black-23.3.0-cp39-cp39-macosx_10_16_universal2.whl", hash = "sha256:f0bd2f4a58d6666500542b26354978218a9babcdc972722f4bf90779524515f3"},
+    {file = "black-23.3.0-cp39-cp39-macosx_10_16_x86_64.whl", hash = "sha256:92c543f6854c28a3c7f39f4d9b7694f9a6eb9d3c5e2ece488c327b6e7ea9b266"},
+    {file = "black-23.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3a150542a204124ed00683f0db1f5cf1c2aaaa9cc3495b7a3b5976fb136090ab"},
+    {file = "black-23.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:6b39abdfb402002b8a7d030ccc85cf5afff64ee90fa4c5aebc531e3ad0175ddb"},
+    {file = "black-23.3.0-py3-none-any.whl", hash = "sha256:ec751418022185b0c1bb7d7736e6933d40bbb14c14a0abcf9123d1b159f98dd4"},
+    {file = "black-23.3.0.tar.gz", hash = "sha256:1c7b8d606e728a41ea1ccbd7264677e494e87cf630e399262ced92d4a8dac940"},
 ]
 
 [package.dependencies]
 click = ">=8.0.0"
 mypy-extensions = ">=0.4.3"
+packaging = ">=22.0"
 pathspec = ">=0.9.0"
 platformdirs = ">=2"
 tomli = {version = ">=1.1.0", markers = "python_version < \"3.11\""}
@@ -164,7 +134,6 @@ uvloop = ["uvloop (>=0.15.2)"]
 name = "click"
 version = "8.1.3"
 description = "Composable command line interface toolkit"
-category = "dev"
 optional = false
 python-versions = ">=3.7"
 files = [
@@ -177,69 +146,77 @@ colorama = {version = "*", markers = "platform_system == \"Windows\""}
 
 [[package]]
 name = "colorama"
-version = "0.4.4"
+version = "0.4.6"
 description = "Cross-platform colored terminal text."
-category = "dev"
 optional = false
-python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
+python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7"
 files = [
-    {file = "colorama-0.4.4-py2.py3-none-any.whl", hash = "sha256:9f47eda37229f68eee03b24b9748937c7dc3868f906e8ba69fbcbdd3bc5dc3e2"},
-    {file = "colorama-0.4.4.tar.gz", hash = "sha256:5941b2b48a20143d2267e95b1c2a7603ce057ee39fd88e7329b0c292aa16869b"},
+    {file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"},
+    {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"},
 ]
 
 [[package]]
 name = "coverage"
-version = "6.3.3"
+version = "7.2.6"
 description = "Code coverage measurement for Python"
-category = "dev"
 optional = false
 python-versions = ">=3.7"
 files = [
-    {file = "coverage-6.3.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:df32ee0f4935a101e4b9a5f07b617d884a531ed5666671ff6ac66d2e8e8246d8"},
-    {file = "coverage-6.3.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:75b5dbffc334e0beb4f6c503fb95e6d422770fd2d1b40a64898ea26d6c02742d"},
-    {file = "coverage-6.3.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:114944e6061b68a801c5da5427b9173a0dd9d32cd5fcc18a13de90352843737d"},
-    {file = "coverage-6.3.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2ab88a01cd180b5640ccc9c47232e31924d5f9967ab7edd7e5c91c68eee47a69"},
-    {file = "coverage-6.3.3-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ad8f9068f5972a46d50fe5f32c09d6ee11da69c560fcb1b4c3baea246ca4109b"},
-    {file = "coverage-6.3.3-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:4cd696aa712e6cd16898d63cf66139dc70d998f8121ab558f0e1936396dbc579"},
-    {file = "coverage-6.3.3-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:c1a9942e282cc9d3ed522cd3e3cab081149b27ea3bda72d6f61f84eaf88c1a63"},
-    {file = "coverage-6.3.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:c06455121a089252b5943ea682187a4e0a5cf0a3fb980eb8e7ce394b144430a9"},
-    {file = "coverage-6.3.3-cp310-cp310-win32.whl", hash = "sha256:cb5311d6ccbd22578c80028c5e292a7ab9adb91bd62c1982087fad75abe2e63d"},
-    {file = "coverage-6.3.3-cp310-cp310-win_amd64.whl", hash = "sha256:6d4a6f30f611e657495cc81a07ff7aa8cd949144e7667c5d3e680d73ba7a70e4"},
-    {file = "coverage-6.3.3-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:79bf405432428e989cad7b8bc60581963238f7645ae8a404f5dce90236cc0293"},
-    {file = "coverage-6.3.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:338c417613f15596af9eb7a39353b60abec9d8ce1080aedba5ecee6a5d85f8d3"},
-    {file = "coverage-6.3.3-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:db094a6a4ae6329ed322a8973f83630b12715654c197dd392410400a5bfa1a73"},
-    {file = "coverage-6.3.3-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1414e8b124611bf4df8d77215bd32cba6e3425da8ce9c1f1046149615e3a9a31"},
-    {file = "coverage-6.3.3-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:93b16b08f94c92cab88073ffd185070cdcb29f1b98df8b28e6649145b7f2c90d"},
-    {file = "coverage-6.3.3-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:fbc86ae8cc129c801e7baaafe3addf3c8d49c9c1597c44bdf2d78139707c3c62"},
-    {file = "coverage-6.3.3-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:b5ba058610e8289a07db2a57bce45a1793ec0d3d11db28c047aae2aa1a832572"},
-    {file = "coverage-6.3.3-cp37-cp37m-win32.whl", hash = "sha256:8329635c0781927a2c6ae068461e19674c564e05b86736ab8eb29c420ee7dc20"},
-    {file = "coverage-6.3.3-cp37-cp37m-win_amd64.whl", hash = "sha256:e5af1feee71099ae2e3b086ec04f57f9950e1be9ecf6c420696fea7977b84738"},
-    {file = "coverage-6.3.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:e814a4a5a1d95223b08cdb0f4f57029e8eab22ffdbae2f97107aeef28554517e"},
-    {file = "coverage-6.3.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:61f4fbf3633cb0713437291b8848634ea97f89c7e849c2be17a665611e433f53"},
-    {file = "coverage-6.3.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3401b0d2ed9f726fadbfa35102e00d1b3547b73772a1de5508ef3bdbcb36afe7"},
-    {file = "coverage-6.3.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8586b177b4407f988731eb7f41967415b2197f35e2a6ee1a9b9b561f6323c8e9"},
-    {file = "coverage-6.3.3-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:892e7fe32191960da559a14536768a62e83e87bbb867e1b9c643e7e0fbce2579"},
-    {file = "coverage-6.3.3-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:afb03f981fadb5aed1ac6e3dd34f0488e1a0875623d557b6fad09b97a942b38a"},
-    {file = "coverage-6.3.3-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:cbe91bc84be4e5ef0b1480d15c7b18e29c73bdfa33e07d3725da7d18e1b0aff2"},
-    {file = "coverage-6.3.3-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:91502bf27cbd5c83c95cfea291ef387469f2387508645602e1ca0fd8a4ba7548"},
-    {file = "coverage-6.3.3-cp38-cp38-win32.whl", hash = "sha256:c488db059848702aff30aa1d90ef87928d4e72e4f00717343800546fdbff0a94"},
-    {file = "coverage-6.3.3-cp38-cp38-win_amd64.whl", hash = "sha256:ceb6534fcdfb5c503affb6b1130db7b5bfc8a0f77fa34880146f7a5c117987d0"},
-    {file = "coverage-6.3.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:cc692c9ee18f0dd3214843779ba6b275ee4bb9b9a5745ba64265bce911aefd1a"},
-    {file = "coverage-6.3.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:462105283de203df8de58a68c1bb4ba2a8a164097c2379f664fa81d6baf94b81"},
-    {file = "coverage-6.3.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cc972d829ad5ef4d4c5fcabd2bbe2add84ce8236f64ba1c0c72185da3a273130"},
-    {file = "coverage-6.3.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:06f54765cdbce99901871d50fe9f41d58213f18e98b170a30ca34f47de7dd5e8"},
-    {file = "coverage-6.3.3-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7835f76a081787f0ca62a53504361b3869840a1620049b56d803a8cb3a9eeea3"},
-    {file = "coverage-6.3.3-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:6f5fee77ec3384b934797f1873758f796dfb4f167e1296dc00f8b2e023ce6ee9"},
-    {file = "coverage-6.3.3-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:baa8be8aba3dd1e976e68677be68a960a633a6d44c325757aefaa4d66175050f"},
-    {file = "coverage-6.3.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:4d06380e777dd6b35ee936f333d55b53dc4a8271036ff884c909cf6e94be8b6c"},
-    {file = "coverage-6.3.3-cp39-cp39-win32.whl", hash = "sha256:f8cabc5fd0091976ab7b020f5708335033e422de25e20ddf9416bdce2b7e07d8"},
-    {file = "coverage-6.3.3-cp39-cp39-win_amd64.whl", hash = "sha256:9c9441d57b0963cf8340268ad62fc83de61f1613034b79c2b1053046af0c5284"},
-    {file = "coverage-6.3.3-pp36.pp37.pp38-none-any.whl", hash = "sha256:d522f1dc49127eab0bfbba4e90fa068ecff0899bbf61bf4065c790ddd6c177fe"},
-    {file = "coverage-6.3.3.tar.gz", hash = "sha256:2781c43bffbbec2b8867376d4d61916f5e9c4cc168232528562a61d1b4b01879"},
+    {file = "coverage-7.2.6-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:496b86f1fc9c81a1cd53d8842ef712e950a4611bba0c42d33366a7b91ba969ec"},
+    {file = "coverage-7.2.6-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:fbe6e8c0a9a7193ba10ee52977d4d5e7652957c1f56ccefed0701db8801a2a3b"},
+    {file = "coverage-7.2.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:76d06b721c2550c01a60e5d3093f417168658fb454e5dfd9a23570e9bffe39a1"},
+    {file = "coverage-7.2.6-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:77a04b84d01f0e12c66f16e69e92616442dc675bbe51b90bfb074b1e5d1c7fbd"},
+    {file = "coverage-7.2.6-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:35db06450272473eab4449e9c2ad9bc6a0a68dab8e81a0eae6b50d9c2838767e"},
+    {file = "coverage-7.2.6-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:6727a0d929ff0028b1ed8b3e7f8701670b1d7032f219110b55476bb60c390bfb"},
+    {file = "coverage-7.2.6-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:aac1d5fdc5378f6bac2c0c7ebe7635a6809f5b4376f6cf5d43243c1917a67087"},
+    {file = "coverage-7.2.6-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:1c9e4a5eb1bbc3675ee57bc31f8eea4cd7fb0cbcbe4912cf1cb2bf3b754f4a80"},
+    {file = "coverage-7.2.6-cp310-cp310-win32.whl", hash = "sha256:71f739f97f5f80627f1fee2331e63261355fd1e9a9cce0016394b6707ac3f4ec"},
+    {file = "coverage-7.2.6-cp310-cp310-win_amd64.whl", hash = "sha256:fde5c7a9d9864d3e07992f66767a9817f24324f354caa3d8129735a3dc74f126"},
+    {file = "coverage-7.2.6-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:bc7b667f8654376e9353dd93e55e12ce2a59fb6d8e29fce40de682273425e044"},
+    {file = "coverage-7.2.6-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:697f4742aa3f26c107ddcb2b1784a74fe40180014edbd9adaa574eac0529914c"},
+    {file = "coverage-7.2.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:541280dde49ce74a4262c5e395b48ea1207e78454788887118c421cb4ffbfcac"},
+    {file = "coverage-7.2.6-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6e7f1a8328eeec34c54f1d5968a708b50fc38d31e62ca8b0560e84a968fbf9a9"},
+    {file = "coverage-7.2.6-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4bbd58eb5a2371bf160590f4262109f66b6043b0b991930693134cb617bc0169"},
+    {file = "coverage-7.2.6-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:ae82c5f168d2a39a5d69a12a69d4dc23837a43cf2ca99be60dfe59996ea6b113"},
+    {file = "coverage-7.2.6-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:f5440cdaf3099e7ab17a5a7065aed59aff8c8b079597b61c1f8be6f32fe60636"},
+    {file = "coverage-7.2.6-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:a6f03f87fea579d55e0b690d28f5042ec1368650466520fbc400e7aeaf09e995"},
+    {file = "coverage-7.2.6-cp311-cp311-win32.whl", hash = "sha256:dc4d5187ef4d53e0d4c8eaf530233685667844c5fb0b855fea71ae659017854b"},
+    {file = "coverage-7.2.6-cp311-cp311-win_amd64.whl", hash = "sha256:c93d52c3dc7b9c65e39473704988602300e3cc1bad08b5ab5b03ca98bbbc68c1"},
+    {file = "coverage-7.2.6-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:42c692b55a647a832025a4c048007034fe77b162b566ad537ce65ad824b12a84"},
+    {file = "coverage-7.2.6-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d7786b2fa7809bf835f830779ad285215a04da76293164bb6745796873f0942d"},
+    {file = "coverage-7.2.6-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:25bad4196104761bc26b1dae9b57383826542ec689ff0042f7f4f4dd7a815cba"},
+    {file = "coverage-7.2.6-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2692306d3d4cb32d2cceed1e47cebd6b1d2565c993d6d2eda8e6e6adf53301e6"},
+    {file = "coverage-7.2.6-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:392154d09bd4473b9d11351ab5d63391f3d5d24d752f27b3be7498b0ee2b5226"},
+    {file = "coverage-7.2.6-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:fa079995432037b5e2ef5ddbb270bcd2ded9f52b8e191a5de11fe59a00ea30d8"},
+    {file = "coverage-7.2.6-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:d712cefff15c712329113b01088ba71bbcef0f7ea58478ca0bbec63a824844cb"},
+    {file = "coverage-7.2.6-cp37-cp37m-win32.whl", hash = "sha256:004948e296149644d208964300cb3d98affc5211e9e490e9979af4030b0d6473"},
+    {file = "coverage-7.2.6-cp37-cp37m-win_amd64.whl", hash = "sha256:c1d7a31603c3483ac49c1726723b0934f88f2c011c660e6471e7bd735c2fa110"},
+    {file = "coverage-7.2.6-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:3436927d1794fa6763b89b60c896f9e3bd53212001026ebc9080d23f0c2733c1"},
+    {file = "coverage-7.2.6-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:44c9b9f1a245f3d0d202b1a8fa666a80b5ecbe4ad5d0859c0fb16a52d9763224"},
+    {file = "coverage-7.2.6-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4e3783a286d5a93a2921396d50ce45a909aa8f13eee964465012f110f0cbb611"},
+    {file = "coverage-7.2.6-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3cff6980fe7100242170092bb40d2b1cdad79502cd532fd26b12a2b8a5f9aee0"},
+    {file = "coverage-7.2.6-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c534431153caffc7c495c3eddf7e6a6033e7f81d78385b4e41611b51e8870446"},
+    {file = "coverage-7.2.6-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:3062fd5c62df988cea9f2972c593f77fed1182bfddc5a3b12b1e606cb7aba99e"},
+    {file = "coverage-7.2.6-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:6284a2005e4f8061c58c814b1600ad0074ccb0289fe61ea709655c5969877b70"},
+    {file = "coverage-7.2.6-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:97729e6828643f168a2a3f07848e1b1b94a366b13a9f5aba5484c2215724edc8"},
+    {file = "coverage-7.2.6-cp38-cp38-win32.whl", hash = "sha256:dc11b42fa61ff1e788dd095726a0aed6aad9c03d5c5984b54cb9e1e67b276aa5"},
+    {file = "coverage-7.2.6-cp38-cp38-win_amd64.whl", hash = "sha256:cbcc874f454ee51f158afd604a315f30c0e31dff1d5d5bf499fc529229d964dd"},
+    {file = "coverage-7.2.6-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:d3cacc6a665221108ecdf90517a8028d07a2783df3417d12dcfef1c517e67478"},
+    {file = "coverage-7.2.6-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:272ab31228a9df857ab5df5d67936d8861464dc89c5d3fab35132626e9369379"},
+    {file = "coverage-7.2.6-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9a8723ccec4e564d4b9a79923246f7b9a8de4ec55fa03ec4ec804459dade3c4f"},
+    {file = "coverage-7.2.6-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5906f6a84b47f995cd1bf0aca1c72d591c55ee955f98074e93660d64dfc66eb9"},
+    {file = "coverage-7.2.6-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:52c139b7ab3f0b15f9aad0a3fedef5a1f8c0b2bdc291d88639ca2c97d3682416"},
+    {file = "coverage-7.2.6-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:a5ffd45c6b93c23a8507e2f436983015c6457aa832496b6a095505ca2f63e8f1"},
+    {file = "coverage-7.2.6-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:4f3c7c19581d471af0e9cb49d928172cd8492cd78a2b7a4e82345d33662929bb"},
+    {file = "coverage-7.2.6-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:2e8c0e79820cdd67978e1120983786422d279e07a381dbf89d03bbb23ec670a6"},
+    {file = "coverage-7.2.6-cp39-cp39-win32.whl", hash = "sha256:13cde6bb0e58fb67d09e2f373de3899d1d1e866c5a9ff05d93615f2f54fbd2bb"},
+    {file = "coverage-7.2.6-cp39-cp39-win_amd64.whl", hash = "sha256:6b9f64526286255735847aed0221b189486e0b9ed943446936e41b7e44b08783"},
+    {file = "coverage-7.2.6-pp37.pp38.pp39-none-any.whl", hash = "sha256:6babcbf1e66e46052442f10833cfc4a0d3554d8276aa37af8531a83ed3c1a01d"},
+    {file = "coverage-7.2.6.tar.gz", hash = "sha256:2025f913f2edb0272ef15d00b1f335ff8908c921c8eb2013536fcaf61f5a683d"},
 ]
 
 [package.dependencies]
-tomli = {version = "*", optional = true, markers = "extra == \"toml\""}
+tomli = {version = "*", optional = true, markers = "python_full_version <= \"3.11.0a6\" and extra == \"toml\""}
 
 [package.extras]
 toml = ["tomli"]
@@ -248,7 +225,6 @@ toml = ["tomli"]
 name = "decorator"
 version = "5.1.1"
 description = "Decorators for Humans"
-category = "dev"
 optional = false
 python-versions = ">=3.5"
 files = [
@@ -258,58 +234,71 @@ files = [
 
 [[package]]
 name = "dill"
-version = "0.3.5.1"
+version = "0.3.6"
 description = "serialize all of python"
-category = "dev"
 optional = false
-python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, !=3.6.*"
+python-versions = ">=3.7"
 files = [
-    {file = "dill-0.3.5.1-py2.py3-none-any.whl", hash = "sha256:33501d03270bbe410c72639b350e941882a8b0fd55357580fbc873fba0c59302"},
-    {file = "dill-0.3.5.1.tar.gz", hash = "sha256:d75e41f3eff1eee599d738e76ba8f4ad98ea229db8b085318aa2b3333a208c86"},
+    {file = "dill-0.3.6-py3-none-any.whl", hash = "sha256:a07ffd2351b8c678dfc4a856a3005f8067aea51d6ba6c700796a4d9e280f39f0"},
+    {file = "dill-0.3.6.tar.gz", hash = "sha256:e5db55f3687856d8fbdab002ed78544e1c4559a130302693d839dfe8f93f2373"},
 ]
 
 [package.extras]
 graph = ["objgraph (>=1.7.2)"]
 
+[[package]]
+name = "exceptiongroup"
+version = "1.1.1"
+description = "Backport of PEP 654 (exception groups)"
+optional = false
+python-versions = ">=3.7"
+files = [
+    {file = "exceptiongroup-1.1.1-py3-none-any.whl", hash = "sha256:232c37c63e4f682982c8b6459f33a8981039e5fb8756b2074364e5055c498c9e"},
+    {file = "exceptiongroup-1.1.1.tar.gz", hash = "sha256:d484c3090ba2889ae2928419117447a14daf3c1231d5e30d0aae34f354f01785"},
+]
+
+[package.extras]
+test = ["pytest (>=6)"]
+
 [[package]]
 name = "executing"
-version = "0.8.3"
+version = "1.2.0"
 description = "Get the currently executing AST node of a frame, and other information"
-category = "dev"
 optional = false
 python-versions = "*"
 files = [
-    {file = "executing-0.8.3-py2.py3-none-any.whl", hash = "sha256:d1eef132db1b83649a3905ca6dd8897f71ac6f8cac79a7e58a1a09cf137546c9"},
-    {file = "executing-0.8.3.tar.gz", hash = "sha256:c6554e21c6b060590a6d3be4b82fb78f8f0194d809de5ea7df1c093763311501"},
+    {file = "executing-1.2.0-py2.py3-none-any.whl", hash = "sha256:0314a69e37426e3608aada02473b4161d4caf5a4b244d1d0c48072b8fee7bacc"},
+    {file = "executing-1.2.0.tar.gz", hash = "sha256:19da64c18d2d851112f09c287f8d3dbbdf725ab0e569077efb6cdcbd3497c107"},
 ]
 
+[package.extras]
+tests = ["asttokens", "littleutils", "pytest", "rich"]
+
 [[package]]
 name = "flake8"
-version = "4.0.1"
+version = "5.0.4"
 description = "the modular source code checker: pep8 pyflakes and co"
-category = "dev"
 optional = false
-python-versions = ">=3.6"
+python-versions = ">=3.6.1"
 files = [
-    {file = "flake8-4.0.1-py2.py3-none-any.whl", hash = "sha256:479b1304f72536a55948cb40a32dce8bb0ffe3501e26eaf292c7e60eb5e0428d"},
-    {file = "flake8-4.0.1.tar.gz", hash = "sha256:806e034dda44114815e23c16ef92f95c91e4c71100ff52813adf7132a6ad870d"},
+    {file = "flake8-5.0.4-py2.py3-none-any.whl", hash = "sha256:7a1cf6b73744f5806ab95e526f6f0d8c01c66d7bbe349562d22dfca20610b248"},
+    {file = "flake8-5.0.4.tar.gz", hash = "sha256:6fbe320aad8d6b95cec8b8e47bc933004678dc63095be98528b7bdd2a9f510db"},
 ]
 
 [package.dependencies]
-mccabe = ">=0.6.0,<0.7.0"
-pycodestyle = ">=2.8.0,<2.9.0"
-pyflakes = ">=2.4.0,<2.5.0"
+mccabe = ">=0.7.0,<0.8.0"
+pycodestyle = ">=2.9.0,<2.10.0"
+pyflakes = ">=2.5.0,<2.6.0"
 
 [[package]]
 name = "gitdb"
-version = "4.0.9"
+version = "4.0.10"
 description = "Git Object Database"
-category = "dev"
 optional = false
-python-versions = ">=3.6"
+python-versions = ">=3.7"
 files = [
-    {file = "gitdb-4.0.9-py3-none-any.whl", hash = "sha256:8033ad4e853066ba6ca92050b9df2f89301b8fc8bf7e9324d412a63f8bf1a8fd"},
-    {file = "gitdb-4.0.9.tar.gz", hash = "sha256:bac2fd45c0a1c9cf619e63a90d62bdc63892ef92387424b855792a6cabe789aa"},
+    {file = "gitdb-4.0.10-py3-none-any.whl", hash = "sha256:c286cf298426064079ed96a9e4a9d39e7f3e9bf15ba60701e95f5492f28415c7"},
+    {file = "gitdb-4.0.10.tar.gz", hash = "sha256:6eb990b69df4e15bad899ea868dc46572c3f75339735663b81de79b06f17eb9a"},
 ]
 
 [package.dependencies]
@@ -317,14 +306,13 @@ smmap = ">=3.0.1,<6"
 
 [[package]]
 name = "gitpython"
-version = "3.1.30"
-description = "GitPython is a python library used to interact with Git repositories"
-category = "dev"
+version = "3.1.31"
+description = "GitPython is a Python library used to interact with Git repositories"
 optional = false
 python-versions = ">=3.7"
 files = [
-    {file = "GitPython-3.1.30-py3-none-any.whl", hash = "sha256:cd455b0000615c60e286208ba540271af9fe531fa6a87cc590a7298785ab2882"},
-    {file = "GitPython-3.1.30.tar.gz", hash = "sha256:769c2d83e13f5d938b7688479da374c4e3d49f71549aaf462b646db9602ea6f8"},
+    {file = "GitPython-3.1.31-py3-none-any.whl", hash = "sha256:f04893614f6aa713a60cbbe1e6a97403ef633103cdd0ef5eb6efe0deb98dbe8d"},
+    {file = "GitPython-3.1.31.tar.gz", hash = "sha256:8ce3bcf69adfdf7c7d503e78fd3b1c492af782d58893b650adb2ac8912ddd573"},
 ]
 
 [package.dependencies]
@@ -332,26 +320,24 @@ gitdb = ">=4.0.1,<5"
 
 [[package]]
 name = "iniconfig"
-version = "1.1.1"
-description = "iniconfig: brain-dead simple config-ini parsing"
-category = "dev"
+version = "2.0.0"
+description = "brain-dead simple config-ini parsing"
 optional = false
-python-versions = "*"
+python-versions = ">=3.7"
 files = [
-    {file = "iniconfig-1.1.1-py2.py3-none-any.whl", hash = "sha256:011e24c64b7f47f6ebd835bb12a743f2fbe9a26d4cecaa7f53bc4f35ee9da8b3"},
-    {file = "iniconfig-1.1.1.tar.gz", hash = "sha256:bc3af051d7d14b2ee5ef9969666def0cd1a000e121eaea580d4a313df4b37f32"},
+    {file = "iniconfig-2.0.0-py3-none-any.whl", hash = "sha256:b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374"},
+    {file = "iniconfig-2.0.0.tar.gz", hash = "sha256:2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3"},
 ]
 
 [[package]]
 name = "ipython"
-version = "8.10.0"
+version = "8.12.2"
 description = "IPython: Productive Interactive Computing"
-category = "dev"
 optional = false
 python-versions = ">=3.8"
 files = [
-    {file = "ipython-8.10.0-py3-none-any.whl", hash = "sha256:b38c31e8fc7eff642fc7c597061fff462537cf2314e3225a19c906b7b0d8a345"},
-    {file = "ipython-8.10.0.tar.gz", hash = "sha256:b13a1d6c1f5818bd388db53b7107d17454129a70de2b87481d555daede5eb49e"},
+    {file = "ipython-8.12.2-py3-none-any.whl", hash = "sha256:ea8801f15dfe4ffb76dea1b09b847430ffd70d827b41735c64a0638a04103bfc"},
+    {file = "ipython-8.12.2.tar.gz", hash = "sha256:c7b80eb7f5a855a88efc971fda506ff7a91c280b42cdae26643e0f601ea281ea"},
 ]
 
 [package.dependencies]
@@ -363,10 +349,11 @@ jedi = ">=0.16"
 matplotlib-inline = "*"
 pexpect = {version = ">4.3", markers = "sys_platform != \"win32\""}
 pickleshare = "*"
-prompt-toolkit = ">=3.0.30,<3.1.0"
+prompt-toolkit = ">=3.0.30,<3.0.37 || >3.0.37,<3.1.0"
 pygments = ">=2.4.0"
 stack-data = "*"
 traitlets = ">=5"
+typing-extensions = {version = "*", markers = "python_version < \"3.10\""}
 
 [package.extras]
 all = ["black", "curio", "docrepr", "ipykernel", "ipyparallel", "ipywidgets", "matplotlib", "matplotlib (!=3.2.0)", "nbconvert", "nbformat", "notebook", "numpy (>=1.21)", "pandas", "pytest (<7)", "pytest (<7.1)", "pytest-asyncio", "qtconsole", "setuptools (>=18.5)", "sphinx (>=1.3)", "sphinx-rtd-theme", "stack-data", "testpath", "trio", "typing-extensions"]
@@ -383,98 +370,118 @@ test-extra = ["curio", "matplotlib (!=3.2.0)", "nbformat", "numpy (>=1.21)", "pa
 
 [[package]]
 name = "isort"
-version = "5.10.1"
+version = "5.12.0"
 description = "A Python utility / library to sort Python imports."
-category = "dev"
 optional = false
-python-versions = ">=3.6.1,<4.0"
+python-versions = ">=3.8.0"
 files = [
-    {file = "isort-5.10.1-py3-none-any.whl", hash = "sha256:6f62d78e2f89b4500b080fe3a81690850cd254227f27f75c3a0c491a1f351ba7"},
-    {file = "isort-5.10.1.tar.gz", hash = "sha256:e8443a5e7a020e9d7f97f1d7d9cd17c88bcb3bc7e218bf9cf5095fe550be2951"},
+    {file = "isort-5.12.0-py3-none-any.whl", hash = "sha256:f84c2818376e66cf843d497486ea8fed8700b340f308f076c6fb1229dff318b6"},
+    {file = "isort-5.12.0.tar.gz", hash = "sha256:8bef7dde241278824a6d83f44a544709b065191b95b6e50894bdc722fcba0504"},
 ]
 
 [package.extras]
-colors = ["colorama (>=0.4.3,<0.5.0)"]
-pipfile-deprecated-finder = ["pipreqs", "requirementslib"]
+colors = ["colorama (>=0.4.3)"]
+pipfile-deprecated-finder = ["pip-shims (>=0.5.2)", "pipreqs", "requirementslib"]
 plugins = ["setuptools"]
 requirements-deprecated-finder = ["pip-api", "pipreqs"]
 
 [[package]]
 name = "jedi"
-version = "0.18.1"
+version = "0.18.2"
 description = "An autocompletion tool for Python that can be used for text editors."
-category = "dev"
 optional = false
 python-versions = ">=3.6"
 files = [
-    {file = "jedi-0.18.1-py2.py3-none-any.whl", hash = "sha256:637c9635fcf47945ceb91cd7f320234a7be540ded6f3e99a50cb6febdfd1ba8d"},
-    {file = "jedi-0.18.1.tar.gz", hash = "sha256:74137626a64a99c8eb6ae5832d99b3bdd7d29a3850fe2aa80a4126b2a7d949ab"},
+    {file = "jedi-0.18.2-py2.py3-none-any.whl", hash = "sha256:203c1fd9d969ab8f2119ec0a3342e0b49910045abe6af0a3ae83a5764d54639e"},
+    {file = "jedi-0.18.2.tar.gz", hash = "sha256:bae794c30d07f6d910d32a7048af09b5a39ed740918da923c6b780790ebac612"},
 ]
 
 [package.dependencies]
 parso = ">=0.8.0,<0.9.0"
 
 [package.extras]
+docs = ["Jinja2 (==2.11.3)", "MarkupSafe (==1.1.1)", "Pygments (==2.8.1)", "alabaster (==0.7.12)", "babel (==2.9.1)", "chardet (==4.0.0)", "commonmark (==0.8.1)", "docutils (==0.17.1)", "future (==0.18.2)", "idna (==2.10)", "imagesize (==1.2.0)", "mock (==1.0.1)", "packaging (==20.9)", "pyparsing (==2.4.7)", "pytz (==2021.1)", "readthedocs-sphinx-ext (==2.1.4)", "recommonmark (==0.5.0)", "requests (==2.25.1)", "six (==1.15.0)", "snowballstemmer (==2.1.0)", "sphinx (==1.8.5)", "sphinx-rtd-theme (==0.4.3)", "sphinxcontrib-serializinghtml (==1.1.4)", "sphinxcontrib-websupport (==1.2.4)", "urllib3 (==1.26.4)"]
 qa = ["flake8 (==3.8.3)", "mypy (==0.782)"]
-testing = ["Django (<3.1)", "colorama", "docopt", "pytest (<7.0.0)"]
+testing = ["Django (<3.1)", "attrs", "colorama", "docopt", "pytest (<7.0.0)"]
 
 [[package]]
 name = "lazy-object-proxy"
-version = "1.7.1"
+version = "1.9.0"
 description = "A fast and thorough lazy object proxy."
-category = "dev"
 optional = false
-python-versions = ">=3.6"
+python-versions = ">=3.7"
+files = [
+    {file = "lazy-object-proxy-1.9.0.tar.gz", hash = "sha256:659fb5809fa4629b8a1ac5106f669cfc7bef26fbb389dda53b3e010d1ac4ebae"},
+    {file = "lazy_object_proxy-1.9.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:b40387277b0ed2d0602b8293b94d7257e17d1479e257b4de114ea11a8cb7f2d7"},
+    {file = "lazy_object_proxy-1.9.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e8c6cfb338b133fbdbc5cfaa10fe3c6aeea827db80c978dbd13bc9dd8526b7d4"},
+    {file = "lazy_object_proxy-1.9.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:721532711daa7db0d8b779b0bb0318fa87af1c10d7fe5e52ef30f8eff254d0cd"},
+    {file = "lazy_object_proxy-1.9.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:66a3de4a3ec06cd8af3f61b8e1ec67614fbb7c995d02fa224813cb7afefee701"},
+    {file = "lazy_object_proxy-1.9.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:1aa3de4088c89a1b69f8ec0dcc169aa725b0ff017899ac568fe44ddc1396df46"},
+    {file = "lazy_object_proxy-1.9.0-cp310-cp310-win32.whl", hash = "sha256:f0705c376533ed2a9e5e97aacdbfe04cecd71e0aa84c7c0595d02ef93b6e4455"},
+    {file = "lazy_object_proxy-1.9.0-cp310-cp310-win_amd64.whl", hash = "sha256:ea806fd4c37bf7e7ad82537b0757999264d5f70c45468447bb2b91afdbe73a6e"},
+    {file = "lazy_object_proxy-1.9.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:946d27deaff6cf8452ed0dba83ba38839a87f4f7a9732e8f9fd4107b21e6ff07"},
+    {file = "lazy_object_proxy-1.9.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:79a31b086e7e68b24b99b23d57723ef7e2c6d81ed21007b6281ebcd1688acb0a"},
+    {file = "lazy_object_proxy-1.9.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f699ac1c768270c9e384e4cbd268d6e67aebcfae6cd623b4d7c3bfde5a35db59"},
+    {file = "lazy_object_proxy-1.9.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:bfb38f9ffb53b942f2b5954e0f610f1e721ccebe9cce9025a38c8ccf4a5183a4"},
+    {file = "lazy_object_proxy-1.9.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:189bbd5d41ae7a498397287c408617fe5c48633e7755287b21d741f7db2706a9"},
+    {file = "lazy_object_proxy-1.9.0-cp311-cp311-win32.whl", hash = "sha256:81fc4d08b062b535d95c9ea70dbe8a335c45c04029878e62d744bdced5141586"},
+    {file = "lazy_object_proxy-1.9.0-cp311-cp311-win_amd64.whl", hash = "sha256:f2457189d8257dd41ae9b434ba33298aec198e30adf2dcdaaa3a28b9994f6adb"},
+    {file = "lazy_object_proxy-1.9.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:d9e25ef10a39e8afe59a5c348a4dbf29b4868ab76269f81ce1674494e2565a6e"},
+    {file = "lazy_object_proxy-1.9.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cbf9b082426036e19c6924a9ce90c740a9861e2bdc27a4834fd0a910742ac1e8"},
+    {file = "lazy_object_proxy-1.9.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9f5fa4a61ce2438267163891961cfd5e32ec97a2c444e5b842d574251ade27d2"},
+    {file = "lazy_object_proxy-1.9.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:8fa02eaab317b1e9e03f69aab1f91e120e7899b392c4fc19807a8278a07a97e8"},
+    {file = "lazy_object_proxy-1.9.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:e7c21c95cae3c05c14aafffe2865bbd5e377cfc1348c4f7751d9dc9a48ca4bda"},
+    {file = "lazy_object_proxy-1.9.0-cp37-cp37m-win32.whl", hash = "sha256:f12ad7126ae0c98d601a7ee504c1122bcef553d1d5e0c3bfa77b16b3968d2734"},
+    {file = "lazy_object_proxy-1.9.0-cp37-cp37m-win_amd64.whl", hash = "sha256:edd20c5a55acb67c7ed471fa2b5fb66cb17f61430b7a6b9c3b4a1e40293b1671"},
+    {file = "lazy_object_proxy-1.9.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:2d0daa332786cf3bb49e10dc6a17a52f6a8f9601b4cf5c295a4f85854d61de63"},
+    {file = "lazy_object_proxy-1.9.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9cd077f3d04a58e83d04b20e334f678c2b0ff9879b9375ed107d5d07ff160171"},
+    {file = "lazy_object_proxy-1.9.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:660c94ea760b3ce47d1855a30984c78327500493d396eac4dfd8bd82041b22be"},
+    {file = "lazy_object_proxy-1.9.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:212774e4dfa851e74d393a2370871e174d7ff0ebc980907723bb67d25c8a7c30"},
+    {file = "lazy_object_proxy-1.9.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:f0117049dd1d5635bbff65444496c90e0baa48ea405125c088e93d9cf4525b11"},
+    {file = "lazy_object_proxy-1.9.0-cp38-cp38-win32.whl", hash = "sha256:0a891e4e41b54fd5b8313b96399f8b0e173bbbfc03c7631f01efbe29bb0bcf82"},
+    {file = "lazy_object_proxy-1.9.0-cp38-cp38-win_amd64.whl", hash = "sha256:9990d8e71b9f6488e91ad25f322898c136b008d87bf852ff65391b004da5e17b"},
+    {file = "lazy_object_proxy-1.9.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9e7551208b2aded9c1447453ee366f1c4070602b3d932ace044715d89666899b"},
+    {file = "lazy_object_proxy-1.9.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5f83ac4d83ef0ab017683d715ed356e30dd48a93746309c8f3517e1287523ef4"},
+    {file = "lazy_object_proxy-1.9.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7322c3d6f1766d4ef1e51a465f47955f1e8123caee67dd641e67d539a534d006"},
+    {file = "lazy_object_proxy-1.9.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:18b78ec83edbbeb69efdc0e9c1cb41a3b1b1ed11ddd8ded602464c3fc6020494"},
+    {file = "lazy_object_proxy-1.9.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:09763491ce220c0299688940f8dc2c5d05fd1f45af1e42e636b2e8b2303e4382"},
+    {file = "lazy_object_proxy-1.9.0-cp39-cp39-win32.whl", hash = "sha256:9090d8e53235aa280fc9239a86ae3ea8ac58eff66a705fa6aa2ec4968b95c821"},
+    {file = "lazy_object_proxy-1.9.0-cp39-cp39-win_amd64.whl", hash = "sha256:db1c1722726f47e10e0b5fdbf15ac3b8adb58c091d12b3ab713965795036985f"},
+]
+
+[[package]]
+name = "markdown-it-py"
+version = "2.2.0"
+description = "Python port of markdown-it. Markdown parsing, done right!"
+optional = false
+python-versions = ">=3.7"
 files = [
-    {file = "lazy-object-proxy-1.7.1.tar.gz", hash = "sha256:d609c75b986def706743cdebe5e47553f4a5a1da9c5ff66d76013ef396b5a8a4"},
-    {file = "lazy_object_proxy-1.7.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:bb8c5fd1684d60a9902c60ebe276da1f2281a318ca16c1d0a96db28f62e9166b"},
-    {file = "lazy_object_proxy-1.7.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a57d51ed2997e97f3b8e3500c984db50a554bb5db56c50b5dab1b41339b37e36"},
-    {file = "lazy_object_proxy-1.7.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fd45683c3caddf83abbb1249b653a266e7069a09f486daa8863fb0e7496a9fdb"},
-    {file = "lazy_object_proxy-1.7.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:8561da8b3dd22d696244d6d0d5330618c993a215070f473b699e00cf1f3f6443"},
-    {file = "lazy_object_proxy-1.7.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:fccdf7c2c5821a8cbd0a9440a456f5050492f2270bd54e94360cac663398739b"},
-    {file = "lazy_object_proxy-1.7.1-cp310-cp310-win32.whl", hash = "sha256:898322f8d078f2654d275124a8dd19b079080ae977033b713f677afcfc88e2b9"},
-    {file = "lazy_object_proxy-1.7.1-cp310-cp310-win_amd64.whl", hash = "sha256:85b232e791f2229a4f55840ed54706110c80c0a210d076eee093f2b2e33e1bfd"},
-    {file = "lazy_object_proxy-1.7.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:46ff647e76f106bb444b4533bb4153c7370cdf52efc62ccfc1a28bdb3cc95442"},
-    {file = "lazy_object_proxy-1.7.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:12f3bb77efe1367b2515f8cb4790a11cffae889148ad33adad07b9b55e0ab22c"},
-    {file = "lazy_object_proxy-1.7.1-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c19814163728941bb871240d45c4c30d33b8a2e85972c44d4e63dd7107faba44"},
-    {file = "lazy_object_proxy-1.7.1-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:e40f2013d96d30217a51eeb1db28c9ac41e9d0ee915ef9d00da639c5b63f01a1"},
-    {file = "lazy_object_proxy-1.7.1-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:2052837718516a94940867e16b1bb10edb069ab475c3ad84fd1e1a6dd2c0fcfc"},
-    {file = "lazy_object_proxy-1.7.1-cp36-cp36m-win32.whl", hash = "sha256:6a24357267aa976abab660b1d47a34aaf07259a0c3859a34e536f1ee6e76b5bb"},
-    {file = "lazy_object_proxy-1.7.1-cp36-cp36m-win_amd64.whl", hash = "sha256:6aff3fe5de0831867092e017cf67e2750c6a1c7d88d84d2481bd84a2e019ec35"},
-    {file = "lazy_object_proxy-1.7.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:6a6e94c7b02641d1311228a102607ecd576f70734dc3d5e22610111aeacba8a0"},
-    {file = "lazy_object_proxy-1.7.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c4ce15276a1a14549d7e81c243b887293904ad2d94ad767f42df91e75fd7b5b6"},
-    {file = "lazy_object_proxy-1.7.1-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e368b7f7eac182a59ff1f81d5f3802161932a41dc1b1cc45c1f757dc876b5d2c"},
-    {file = "lazy_object_proxy-1.7.1-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:6ecbb350991d6434e1388bee761ece3260e5228952b1f0c46ffc800eb313ff42"},
-    {file = "lazy_object_proxy-1.7.1-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:553b0f0d8dbf21890dd66edd771f9b1b5f51bd912fa5f26de4449bfc5af5e029"},
-    {file = "lazy_object_proxy-1.7.1-cp37-cp37m-win32.whl", hash = "sha256:c7a683c37a8a24f6428c28c561c80d5f4fd316ddcf0c7cab999b15ab3f5c5c69"},
-    {file = "lazy_object_proxy-1.7.1-cp37-cp37m-win_amd64.whl", hash = "sha256:df2631f9d67259dc9620d831384ed7732a198eb434eadf69aea95ad18c587a28"},
-    {file = "lazy_object_proxy-1.7.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:07fa44286cda977bd4803b656ffc1c9b7e3bc7dff7d34263446aec8f8c96f88a"},
-    {file = "lazy_object_proxy-1.7.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4dca6244e4121c74cc20542c2ca39e5c4a5027c81d112bfb893cf0790f96f57e"},
-    {file = "lazy_object_proxy-1.7.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:91ba172fc5b03978764d1df5144b4ba4ab13290d7bab7a50f12d8117f8630c38"},
-    {file = "lazy_object_proxy-1.7.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:043651b6cb706eee4f91854da4a089816a6606c1428fd391573ef8cb642ae4f7"},
-    {file = "lazy_object_proxy-1.7.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:b9e89b87c707dd769c4ea91f7a31538888aad05c116a59820f28d59b3ebfe25a"},
-    {file = "lazy_object_proxy-1.7.1-cp38-cp38-win32.whl", hash = "sha256:9d166602b525bf54ac994cf833c385bfcc341b364e3ee71e3bf5a1336e677b55"},
-    {file = "lazy_object_proxy-1.7.1-cp38-cp38-win_amd64.whl", hash = "sha256:8f3953eb575b45480db6568306893f0bd9d8dfeeebd46812aa09ca9579595148"},
-    {file = "lazy_object_proxy-1.7.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:dd7ed7429dbb6c494aa9bc4e09d94b778a3579be699f9d67da7e6804c422d3de"},
-    {file = "lazy_object_proxy-1.7.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:70ed0c2b380eb6248abdef3cd425fc52f0abd92d2b07ce26359fcbc399f636ad"},
-    {file = "lazy_object_proxy-1.7.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7096a5e0c1115ec82641afbdd70451a144558ea5cf564a896294e346eb611be1"},
-    {file = "lazy_object_proxy-1.7.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:f769457a639403073968d118bc70110e7dce294688009f5c24ab78800ae56dc8"},
-    {file = "lazy_object_proxy-1.7.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:39b0e26725c5023757fc1ab2a89ef9d7ab23b84f9251e28f9cc114d5b59c1b09"},
-    {file = "lazy_object_proxy-1.7.1-cp39-cp39-win32.whl", hash = "sha256:2130db8ed69a48a3440103d4a520b89d8a9405f1b06e2cc81640509e8bf6548f"},
-    {file = "lazy_object_proxy-1.7.1-cp39-cp39-win_amd64.whl", hash = "sha256:677ea950bef409b47e51e733283544ac3d660b709cfce7b187f5ace137960d61"},
-    {file = "lazy_object_proxy-1.7.1-pp37.pp38-none-any.whl", hash = "sha256:d66906d5785da8e0be7360912e99c9188b70f52c422f9fc18223347235691a84"},
+    {file = "markdown-it-py-2.2.0.tar.gz", hash = "sha256:7c9a5e412688bc771c67432cbfebcdd686c93ce6484913dccf06cb5a0bea35a1"},
+    {file = "markdown_it_py-2.2.0-py3-none-any.whl", hash = "sha256:5a35f8d1870171d9acc47b99612dc146129b631baf04970128b568f190d0cc30"},
 ]
 
+[package.dependencies]
+mdurl = ">=0.1,<1.0"
+
+[package.extras]
+benchmarking = ["psutil", "pytest", "pytest-benchmark"]
+code-style = ["pre-commit (>=3.0,<4.0)"]
+compare = ["commonmark (>=0.9,<1.0)", "markdown (>=3.4,<4.0)", "mistletoe (>=1.0,<2.0)", "mistune (>=2.0,<3.0)", "panflute (>=2.3,<3.0)"]
+linkify = ["linkify-it-py (>=1,<3)"]
+plugins = ["mdit-py-plugins"]
+profiling = ["gprof2dot"]
+rtd = ["attrs", "myst-parser", "pyyaml", "sphinx", "sphinx-copybutton", "sphinx-design", "sphinx_book_theme"]
+testing = ["coverage", "pytest", "pytest-cov", "pytest-regressions"]
+
 [[package]]
 name = "matplotlib-inline"
-version = "0.1.3"
+version = "0.1.6"
 description = "Inline Matplotlib backend for Jupyter"
-category = "dev"
 optional = false
 python-versions = ">=3.5"
 files = [
-    {file = "matplotlib-inline-0.1.3.tar.gz", hash = "sha256:a04bfba22e0d1395479f866853ec1ee28eea1485c1d69a6faf00dc3e24ff34ee"},
-    {file = "matplotlib_inline-0.1.3-py3-none-any.whl", hash = "sha256:aed605ba3b72462d64d475a21a9296f400a19c4f74a31b59103d2a99ffd5aa5c"},
+    {file = "matplotlib-inline-0.1.6.tar.gz", hash = "sha256:f887e5f10ba98e8d2b150ddcf4702c1e5f8b3a20005eb0f74bfdbd360ee6f304"},
+    {file = "matplotlib_inline-0.1.6-py3-none-any.whl", hash = "sha256:f1f41aab5328aa5aaea9b16d083b128102f8712542f819fe7e6a420ff581b311"},
 ]
 
 [package.dependencies]
@@ -482,48 +489,98 @@ traitlets = "*"
 
 [[package]]
 name = "mccabe"
-version = "0.6.1"
+version = "0.7.0"
 description = "McCabe checker, plugin for flake8"
-category = "dev"
 optional = false
-python-versions = "*"
+python-versions = ">=3.6"
+files = [
+    {file = "mccabe-0.7.0-py2.py3-none-any.whl", hash = "sha256:6c2d30ab6be0e4a46919781807b4f0d834ebdd6c6e3dca0bda5a15f863427b6e"},
+    {file = "mccabe-0.7.0.tar.gz", hash = "sha256:348e0240c33b60bbdf4e523192ef919f28cb2c3d7d5c7794f74009290f236325"},
+]
+
+[[package]]
+name = "mdurl"
+version = "0.1.2"
+description = "Markdown URL utilities"
+optional = false
+python-versions = ">=3.7"
+files = [
+    {file = "mdurl-0.1.2-py3-none-any.whl", hash = "sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8"},
+    {file = "mdurl-0.1.2.tar.gz", hash = "sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba"},
+]
+
+[[package]]
+name = "mypy"
+version = "1.3.0"
+description = "Optional static typing for Python"
+optional = false
+python-versions = ">=3.7"
 files = [
-    {file = "mccabe-0.6.1-py2.py3-none-any.whl", hash = "sha256:ab8a6258860da4b6677da4bd2fe5dc2c659cff31b3ee4f7f5d64e79735b80d42"},
-    {file = "mccabe-0.6.1.tar.gz", hash = "sha256:dd8d182285a0fe56bace7f45b5e7d1a6ebcbf524e8f3bd87eb0f125271b8831f"},
+    {file = "mypy-1.3.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c1eb485cea53f4f5284e5baf92902cd0088b24984f4209e25981cc359d64448d"},
+    {file = "mypy-1.3.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:4c99c3ecf223cf2952638da9cd82793d8f3c0c5fa8b6ae2b2d9ed1e1ff51ba85"},
+    {file = "mypy-1.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:550a8b3a19bb6589679a7c3c31f64312e7ff482a816c96e0cecec9ad3a7564dd"},
+    {file = "mypy-1.3.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:cbc07246253b9e3d7d74c9ff948cd0fd7a71afcc2b77c7f0a59c26e9395cb152"},
+    {file = "mypy-1.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:a22435632710a4fcf8acf86cbd0d69f68ac389a3892cb23fbad176d1cddaf228"},
+    {file = "mypy-1.3.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6e33bb8b2613614a33dff70565f4c803f889ebd2f859466e42b46e1df76018dd"},
+    {file = "mypy-1.3.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:7d23370d2a6b7a71dc65d1266f9a34e4cde9e8e21511322415db4b26f46f6b8c"},
+    {file = "mypy-1.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:658fe7b674769a0770d4b26cb4d6f005e88a442fe82446f020be8e5f5efb2fae"},
+    {file = "mypy-1.3.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:6e42d29e324cdda61daaec2336c42512e59c7c375340bd202efa1fe0f7b8f8ca"},
+    {file = "mypy-1.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:d0b6c62206e04061e27009481cb0ec966f7d6172b5b936f3ead3d74f29fe3dcf"},
+    {file = "mypy-1.3.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:76ec771e2342f1b558c36d49900dfe81d140361dd0d2df6cd71b3db1be155409"},
+    {file = "mypy-1.3.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ebc95f8386314272bbc817026f8ce8f4f0d2ef7ae44f947c4664efac9adec929"},
+    {file = "mypy-1.3.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:faff86aa10c1aa4a10e1a301de160f3d8fc8703b88c7e98de46b531ff1276a9a"},
+    {file = "mypy-1.3.0-cp37-cp37m-win_amd64.whl", hash = "sha256:8c5979d0deb27e0f4479bee18ea0f83732a893e81b78e62e2dda3e7e518c92ee"},
+    {file = "mypy-1.3.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:c5d2cc54175bab47011b09688b418db71403aefad07cbcd62d44010543fc143f"},
+    {file = "mypy-1.3.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:87df44954c31d86df96c8bd6e80dfcd773473e877ac6176a8e29898bfb3501cb"},
+    {file = "mypy-1.3.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:473117e310febe632ddf10e745a355714e771ffe534f06db40702775056614c4"},
+    {file = "mypy-1.3.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:74bc9b6e0e79808bf8678d7678b2ae3736ea72d56eede3820bd3849823e7f305"},
+    {file = "mypy-1.3.0-cp38-cp38-win_amd64.whl", hash = "sha256:44797d031a41516fcf5cbfa652265bb994e53e51994c1bd649ffcd0c3a7eccbf"},
+    {file = "mypy-1.3.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:ddae0f39ca146972ff6bb4399f3b2943884a774b8771ea0a8f50e971f5ea5ba8"},
+    {file = "mypy-1.3.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:1c4c42c60a8103ead4c1c060ac3cdd3ff01e18fddce6f1016e08939647a0e703"},
+    {file = "mypy-1.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e86c2c6852f62f8f2b24cb7a613ebe8e0c7dc1402c61d36a609174f63e0ff017"},
+    {file = "mypy-1.3.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:f9dca1e257d4cc129517779226753dbefb4f2266c4eaad610fc15c6a7e14283e"},
+    {file = "mypy-1.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:95d8d31a7713510685b05fbb18d6ac287a56c8f6554d88c19e73f724a445448a"},
+    {file = "mypy-1.3.0-py3-none-any.whl", hash = "sha256:a8763e72d5d9574d45ce5881962bc8e9046bf7b375b0abf031f3e6811732a897"},
+    {file = "mypy-1.3.0.tar.gz", hash = "sha256:e1f4d16e296f5135624b34e8fb741eb0eadedca90862405b1f1fde2040b9bd11"},
 ]
 
+[package.dependencies]
+mypy-extensions = ">=1.0.0"
+tomli = {version = ">=1.1.0", markers = "python_version < \"3.11\""}
+typing-extensions = ">=3.10"
+
+[package.extras]
+dmypy = ["psutil (>=4.0)"]
+install-types = ["pip"]
+python2 = ["typed-ast (>=1.4.0,<2)"]
+reports = ["lxml"]
+
 [[package]]
 name = "mypy-extensions"
-version = "0.4.3"
-description = "Experimental type system extensions for programs checked with the mypy typechecker."
-category = "dev"
+version = "1.0.0"
+description = "Type system extensions for programs checked with the mypy type checker."
 optional = false
-python-versions = "*"
+python-versions = ">=3.5"
 files = [
-    {file = "mypy_extensions-0.4.3-py2.py3-none-any.whl", hash = "sha256:090fedd75945a69ae91ce1303b5824f428daf5a028d2f6ab8a299250a846f15d"},
-    {file = "mypy_extensions-0.4.3.tar.gz", hash = "sha256:2d82818f5bb3e369420cb3c4060a7970edba416647068eb4c5343488a6c604a8"},
+    {file = "mypy_extensions-1.0.0-py3-none-any.whl", hash = "sha256:4392f6c0eb8a5668a69e23d168ffa70f0be9ccfd32b5cc2d26a34ae5b844552d"},
+    {file = "mypy_extensions-1.0.0.tar.gz", hash = "sha256:75dbf8955dc00442a438fc4d0666508a9a97b6bd41aa2f0ffe9d2f2725af0782"},
 ]
 
 [[package]]
 name = "packaging"
-version = "21.3"
+version = "23.1"
 description = "Core utilities for Python packages"
-category = "dev"
 optional = false
-python-versions = ">=3.6"
+python-versions = ">=3.7"
 files = [
-    {file = "packaging-21.3-py3-none-any.whl", hash = "sha256:ef103e05f519cdc783ae24ea4e2e0f508a9c99b2d4969652eed6a2e1ea5bd522"},
-    {file = "packaging-21.3.tar.gz", hash = "sha256:dd47c42927d89ab911e606518907cc2d3a1f38bbd026385970643f9c5b8ecfeb"},
+    {file = "packaging-23.1-py3-none-any.whl", hash = "sha256:994793af429502c4ea2ebf6bf664629d07c1a9fe974af92966e4b8d2df7edc61"},
+    {file = "packaging-23.1.tar.gz", hash = "sha256:a392980d2b6cffa644431898be54b0045151319d1e7ec34f0cfed48767dd334f"},
 ]
 
-[package.dependencies]
-pyparsing = ">=2.0.2,<3.0.5 || >3.0.5"
-
 [[package]]
 name = "parso"
 version = "0.8.3"
 description = "A Python Parser"
-category = "dev"
 optional = false
 python-versions = ">=3.6"
 files = [
@@ -537,33 +594,30 @@ testing = ["docopt", "pytest (<6.0.0)"]
 
 [[package]]
 name = "pathspec"
-version = "0.9.0"
+version = "0.11.1"
 description = "Utility library for gitignore style pattern matching of file paths."
-category = "dev"
 optional = false
-python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7"
+python-versions = ">=3.7"
 files = [
-    {file = "pathspec-0.9.0-py2.py3-none-any.whl", hash = "sha256:7d15c4ddb0b5c802d161efc417ec1a2558ea2653c2e8ad9c19098201dc1c993a"},
-    {file = "pathspec-0.9.0.tar.gz", hash = "sha256:e564499435a2673d586f6b2130bb5b95f04a3ba06f81b8f895b651a3c76aabb1"},
+    {file = "pathspec-0.11.1-py3-none-any.whl", hash = "sha256:d8af70af76652554bd134c22b3e8a1cc46ed7d91edcdd721ef1a0c51a84a5293"},
+    {file = "pathspec-0.11.1.tar.gz", hash = "sha256:2798de800fa92780e33acca925945e9a19a133b715067cf165b8866c15a31687"},
 ]
 
 [[package]]
 name = "pbr"
-version = "5.9.0"
+version = "5.11.1"
 description = "Python Build Reasonableness"
-category = "dev"
 optional = false
 python-versions = ">=2.6"
 files = [
-    {file = "pbr-5.9.0-py2.py3-none-any.whl", hash = "sha256:e547125940bcc052856ded43be8e101f63828c2d94239ffbe2b327ba3d5ccf0a"},
-    {file = "pbr-5.9.0.tar.gz", hash = "sha256:e8dca2f4b43560edef58813969f52a56cef023146cbb8931626db80e6c1c4308"},
+    {file = "pbr-5.11.1-py2.py3-none-any.whl", hash = "sha256:567f09558bae2b3ab53cb3c1e2e33e726ff3338e7bae3db5dc954b3a44eef12b"},
+    {file = "pbr-5.11.1.tar.gz", hash = "sha256:aefc51675b0b533d56bb5fd1c8c6c0522fe31896679882e1c4c63d5e4a0fccb3"},
 ]
 
 [[package]]
 name = "pexpect"
 version = "4.8.0"
 description = "Pexpect allows easy control of interactive console applications."
-category = "dev"
 optional = false
 python-versions = "*"
 files = [
@@ -578,7 +632,6 @@ ptyprocess = ">=0.5"
 name = "pickleshare"
 version = "0.7.5"
 description = "Tiny 'shelve'-like database with concurrency support"
-category = "dev"
 optional = false
 python-versions = "*"
 files = [
@@ -588,25 +641,23 @@ files = [
 
 [[package]]
 name = "platformdirs"
-version = "2.5.2"
-description = "A small Python module for determining appropriate platform-specific dirs, e.g. a \"user data dir\"."
-category = "dev"
+version = "3.5.1"
+description = "A small Python package for determining appropriate platform-specific dirs, e.g. a \"user data dir\"."
 optional = false
 python-versions = ">=3.7"
 files = [
-    {file = "platformdirs-2.5.2-py3-none-any.whl", hash = "sha256:027d8e83a2d7de06bbac4e5ef7e023c02b863d7ea5d079477e722bb41ab25788"},
-    {file = "platformdirs-2.5.2.tar.gz", hash = "sha256:58c8abb07dcb441e6ee4b11d8df0ac856038f944ab98b7be6b27b2a3c7feef19"},
+    {file = "platformdirs-3.5.1-py3-none-any.whl", hash = "sha256:e2378146f1964972c03c085bb5662ae80b2b8c06226c54b2ff4aa9483e8a13a5"},
+    {file = "platformdirs-3.5.1.tar.gz", hash = "sha256:412dae91f52a6f84830f39a8078cecd0e866cb72294a5c66808e74d5e88d251f"},
 ]
 
 [package.extras]
-docs = ["furo (>=2021.7.5b38)", "proselint (>=0.10.2)", "sphinx (>=4)", "sphinx-autodoc-typehints (>=1.12)"]
-test = ["appdirs (==1.4.4)", "pytest (>=6)", "pytest-cov (>=2.7)", "pytest-mock (>=3.6)"]
+docs = ["furo (>=2023.3.27)", "proselint (>=0.13)", "sphinx (>=6.2.1)", "sphinx-autodoc-typehints (>=1.23,!=1.23.4)"]
+test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=7.3.1)", "pytest-cov (>=4)", "pytest-mock (>=3.10)"]
 
 [[package]]
 name = "pluggy"
 version = "1.0.0"
 description = "plugin and hook calling mechanisms for python"
-category = "dev"
 optional = false
 python-versions = ">=3.6"
 files = [
@@ -620,14 +671,13 @@ testing = ["pytest", "pytest-benchmark"]
 
 [[package]]
 name = "prompt-toolkit"
-version = "3.0.36"
+version = "3.0.38"
 description = "Library for building powerful interactive command lines in Python"
-category = "dev"
 optional = false
-python-versions = ">=3.6.2"
+python-versions = ">=3.7.0"
 files = [
-    {file = "prompt_toolkit-3.0.36-py3-none-any.whl", hash = "sha256:aa64ad242a462c5ff0363a7b9cfe696c20d55d9fc60c11fd8e632d064804d305"},
-    {file = "prompt_toolkit-3.0.36.tar.gz", hash = "sha256:3e163f254bef5a03b146397d7c1963bd3e2812f0964bb9a24e6ec761fd28db63"},
+    {file = "prompt_toolkit-3.0.38-py3-none-any.whl", hash = "sha256:45ea77a2f7c60418850331366c81cf6b5b9cf4c7fd34616f733c5427e6abbb1f"},
+    {file = "prompt_toolkit-3.0.38.tar.gz", hash = "sha256:23ac5d50538a9a38c8bde05fecb47d0b403ecd0662857a86f886f798563d5b9b"},
 ]
 
 [package.dependencies]
@@ -637,7 +687,6 @@ wcwidth = "*"
 name = "ptyprocess"
 version = "0.7.0"
 description = "Run a subprocess in a pseudo terminal"
-category = "dev"
 optional = false
 python-versions = "*"
 files = [
@@ -649,7 +698,6 @@ files = [
 name = "pure-eval"
 version = "0.2.2"
 description = "Safely evaluate AST nodes without side effects"
-category = "dev"
 optional = false
 python-versions = "*"
 files = [
@@ -660,147 +708,119 @@ files = [
 [package.extras]
 tests = ["pytest"]
 
-[[package]]
-name = "py"
-version = "1.11.0"
-description = "library with cross-python path, ini-parsing, io, code, log facilities"
-category = "dev"
-optional = false
-python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
-files = [
-    {file = "py-1.11.0-py2.py3-none-any.whl", hash = "sha256:607c53218732647dff4acdfcd50cb62615cedf612e72d1724fb1a0cc6405b378"},
-    {file = "py-1.11.0.tar.gz", hash = "sha256:51c75c4126074b472f746a24399ad32f6053d1b34b68d2fa41e558e6f4a98719"},
-]
-
 [[package]]
 name = "pycodestyle"
-version = "2.8.0"
+version = "2.9.1"
 description = "Python style guide checker"
-category = "dev"
 optional = false
-python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
+python-versions = ">=3.6"
 files = [
-    {file = "pycodestyle-2.8.0-py2.py3-none-any.whl", hash = "sha256:720f8b39dde8b293825e7ff02c475f3077124006db4f440dcbc9a20b76548a20"},
-    {file = "pycodestyle-2.8.0.tar.gz", hash = "sha256:eddd5847ef438ea1c7870ca7eb78a9d47ce0cdb4851a5523949f2601d0cbbe7f"},
+    {file = "pycodestyle-2.9.1-py2.py3-none-any.whl", hash = "sha256:d1735fc58b418fd7c5f658d28d943854f8a849b01a5d0a1e6f3f3fdd0166804b"},
+    {file = "pycodestyle-2.9.1.tar.gz", hash = "sha256:2c9607871d58c76354b697b42f5d57e1ada7d261c261efac224b664affdc5785"},
 ]
 
 [[package]]
 name = "pydocstyle"
-version = "6.1.1"
+version = "6.3.0"
 description = "Python docstring style checker"
-category = "dev"
 optional = false
 python-versions = ">=3.6"
 files = [
-    {file = "pydocstyle-6.1.1-py3-none-any.whl", hash = "sha256:6987826d6775056839940041beef5c08cc7e3d71d63149b48e36727f70144dc4"},
-    {file = "pydocstyle-6.1.1.tar.gz", hash = "sha256:1d41b7c459ba0ee6c345f2eb9ae827cab14a7533a88c5c6f7e94923f72df92dc"},
+    {file = "pydocstyle-6.3.0-py3-none-any.whl", hash = "sha256:118762d452a49d6b05e194ef344a55822987a462831ade91ec5c06fd2169d019"},
+    {file = "pydocstyle-6.3.0.tar.gz", hash = "sha256:7ce43f0c0ac87b07494eb9c0b462c0b73e6ff276807f204d6b53edc72b7e44e1"},
 ]
 
 [package.dependencies]
-snowballstemmer = "*"
+snowballstemmer = ">=2.2.0"
 
 [package.extras]
-toml = ["toml"]
+toml = ["tomli (>=1.2.3)"]
 
 [[package]]
 name = "pyflakes"
-version = "2.4.0"
+version = "2.5.0"
 description = "passive checker of Python programs"
-category = "dev"
 optional = false
-python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
+python-versions = ">=3.6"
 files = [
-    {file = "pyflakes-2.4.0-py2.py3-none-any.whl", hash = "sha256:3bb3a3f256f4b7968c9c788781e4ff07dce46bdf12339dcda61053375426ee2e"},
-    {file = "pyflakes-2.4.0.tar.gz", hash = "sha256:05a85c2872edf37a4ed30b0cce2f6093e1d0581f8c19d7393122da7e25b2b24c"},
+    {file = "pyflakes-2.5.0-py2.py3-none-any.whl", hash = "sha256:4579f67d887f804e67edb544428f264b7b24f435b263c4614f384135cea553d2"},
+    {file = "pyflakes-2.5.0.tar.gz", hash = "sha256:491feb020dca48ccc562a8c0cbe8df07ee13078df59813b83959cbdada312ea3"},
 ]
 
 [[package]]
 name = "pygments"
-version = "2.12.0"
+version = "2.15.1"
 description = "Pygments is a syntax highlighting package written in Python."
-category = "dev"
 optional = false
-python-versions = ">=3.6"
+python-versions = ">=3.7"
 files = [
-    {file = "Pygments-2.12.0-py3-none-any.whl", hash = "sha256:dc9c10fb40944260f6ed4c688ece0cd2048414940f1cea51b8b226318411c519"},
-    {file = "Pygments-2.12.0.tar.gz", hash = "sha256:5eb116118f9612ff1ee89ac96437bb6b49e8f04d8a13b514ba26f620208e26eb"},
+    {file = "Pygments-2.15.1-py3-none-any.whl", hash = "sha256:db2db3deb4b4179f399a09054b023b6a586b76499d36965813c71aa8ed7b5fd1"},
+    {file = "Pygments-2.15.1.tar.gz", hash = "sha256:8ace4d3c1dd481894b2005f560ead0f9f19ee64fe983366be1a21e171d12775c"},
 ]
 
+[package.extras]
+plugins = ["importlib-metadata"]
+
 [[package]]
 name = "pylint"
-version = "2.13.9"
+version = "2.17.4"
 description = "python code static checker"
-category = "dev"
 optional = false
-python-versions = ">=3.6.2"
+python-versions = ">=3.7.2"
 files = [
-    {file = "pylint-2.13.9-py3-none-any.whl", hash = "sha256:705c620d388035bdd9ff8b44c5bcdd235bfb49d276d488dd2c8ff1736aa42526"},
-    {file = "pylint-2.13.9.tar.gz", hash = "sha256:095567c96e19e6f57b5b907e67d265ff535e588fe26b12b5ebe1fc5645b2c731"},
+    {file = "pylint-2.17.4-py3-none-any.whl", hash = "sha256:7a1145fb08c251bdb5cca11739722ce64a63db479283d10ce718b2460e54123c"},
+    {file = "pylint-2.17.4.tar.gz", hash = "sha256:5dcf1d9e19f41f38e4e85d10f511e5b9c35e1aa74251bf95cdd8cb23584e2db1"},
 ]
 
 [package.dependencies]
-astroid = ">=2.11.5,<=2.12.0-dev0"
-colorama = {version = "*", markers = "sys_platform == \"win32\""}
-dill = ">=0.2"
+astroid = ">=2.15.4,<=2.17.0-dev0"
+colorama = {version = ">=0.4.5", markers = "sys_platform == \"win32\""}
+dill = [
+    {version = ">=0.2", markers = "python_version < \"3.11\""},
+    {version = ">=0.3.6", markers = "python_version >= \"3.11\""},
+]
 isort = ">=4.2.5,<6"
 mccabe = ">=0.6,<0.8"
 platformdirs = ">=2.2.0"
 tomli = {version = ">=1.1.0", markers = "python_version < \"3.11\""}
+tomlkit = ">=0.10.1"
 typing-extensions = {version = ">=3.10.0", markers = "python_version < \"3.10\""}
 
 [package.extras]
-testutil = ["gitpython (>3)"]
-
-[[package]]
-name = "pyparsing"
-version = "3.0.9"
-description = "pyparsing module - Classes and methods to define and execute parsing grammars"
-category = "dev"
-optional = false
-python-versions = ">=3.6.8"
-files = [
-    {file = "pyparsing-3.0.9-py3-none-any.whl", hash = "sha256:5026bae9a10eeaefb61dab2f09052b9f4307d44aee4eda64b309723d8d206bbc"},
-    {file = "pyparsing-3.0.9.tar.gz", hash = "sha256:2b020ecf7d21b687f219b71ecad3631f644a47f01403fa1d1036b0c6416d70fb"},
-]
-
-[package.extras]
-diagrams = ["jinja2", "railroad-diagrams"]
+spelling = ["pyenchant (>=3.2,<4.0)"]
+testutils = ["gitpython (>3)"]
 
 [[package]]
 name = "pytest"
-version = "7.1.2"
+version = "7.3.1"
 description = "pytest: simple powerful testing with Python"
-category = "dev"
 optional = false
 python-versions = ">=3.7"
 files = [
-    {file = "pytest-7.1.2-py3-none-any.whl", hash = "sha256:13d0e3ccfc2b6e26be000cb6568c832ba67ba32e719443bfe725814d3c42433c"},
-    {file = "pytest-7.1.2.tar.gz", hash = "sha256:a06a0425453864a270bc45e71f783330a7428defb4230fb5e6a731fde06ecd45"},
+    {file = "pytest-7.3.1-py3-none-any.whl", hash = "sha256:3799fa815351fea3a5e96ac7e503a96fa51cc9942c3753cda7651b93c1cfa362"},
+    {file = "pytest-7.3.1.tar.gz", hash = "sha256:434afafd78b1d78ed0addf160ad2b77a30d35d4bdf8af234fe621919d9ed15e3"},
 ]
 
 [package.dependencies]
-atomicwrites = {version = ">=1.0", markers = "sys_platform == \"win32\""}
-attrs = ">=19.2.0"
 colorama = {version = "*", markers = "sys_platform == \"win32\""}
+exceptiongroup = {version = ">=1.0.0rc8", markers = "python_version < \"3.11\""}
 iniconfig = "*"
 packaging = "*"
 pluggy = ">=0.12,<2.0"
-py = ">=1.8.2"
-tomli = ">=1.0.0"
+tomli = {version = ">=1.0.0", markers = "python_version < \"3.11\""}
 
 [package.extras]
-testing = ["argcomplete", "hypothesis (>=3.56)", "mock", "nose", "pygments (>=2.7.2)", "requests", "xmlschema"]
+testing = ["argcomplete", "attrs (>=19.2.0)", "hypothesis (>=3.56)", "mock", "nose", "pygments (>=2.7.2)", "requests", "xmlschema"]
 
 [[package]]
 name = "pytest-cov"
-version = "3.0.0"
+version = "4.0.0"
 description = "Pytest plugin for measuring coverage."
-category = "dev"
 optional = false
 python-versions = ">=3.6"
 files = [
-    {file = "pytest-cov-3.0.0.tar.gz", hash = "sha256:e7f0f5b1617d2210a2cabc266dfe2f4c75a8d32fb89eafb7ad9d06f6d076d470"},
-    {file = "pytest_cov-3.0.0-py3-none-any.whl", hash = "sha256:578d5d15ac4a25e5f961c938b85a05b09fdaae9deef3bb6de9a6e766622ca7a6"},
+    {file = "pytest-cov-4.0.0.tar.gz", hash = "sha256:996b79efde6433cdbd0088872dbc5fb3ed7fe1578b68cdbba634f14bb8dd0470"},
+    {file = "pytest_cov-4.0.0-py3-none-any.whl", hash = "sha256:2feb1b751d66a8bd934e5edfa2e961d11309dc37b73b0eabe73b5945fee20f6b"},
 ]
 
 [package.dependencies]
@@ -814,7 +834,6 @@ testing = ["fields", "hunter", "process-tests", "pytest-xdist", "six", "virtuale
 name = "pyyaml"
 version = "6.0"
 description = "YAML parser and emitter for Python"
-category = "dev"
 optional = false
 python-versions = ">=3.6"
 files = [
@@ -861,27 +880,28 @@ files = [
 ]
 
 [[package]]
-name = "setuptools"
-version = "67.2.0"
-description = "Easily download, build, install, upgrade, and uninstall Python packages"
-category = "dev"
+name = "rich"
+version = "13.3.5"
+description = "Render rich text, tables, progress bars, syntax highlighting, markdown and more to the terminal"
 optional = false
-python-versions = ">=3.7"
+python-versions = ">=3.7.0"
 files = [
-    {file = "setuptools-67.2.0-py3-none-any.whl", hash = "sha256:16ccf598aab3b506593c17378473978908a2734d7336755a8769b480906bec1c"},
-    {file = "setuptools-67.2.0.tar.gz", hash = "sha256:b440ee5f7e607bb8c9de15259dba2583dd41a38879a7abc1d43a71c59524da48"},
+    {file = "rich-13.3.5-py3-none-any.whl", hash = "sha256:69cdf53799e63f38b95b9bf9c875f8c90e78dd62b2f00c13a911c7a3b9fa4704"},
+    {file = "rich-13.3.5.tar.gz", hash = "sha256:2d11b9b8dd03868f09b4fffadc84a6a8cda574e40dc90821bd845720ebb8e89c"},
 ]
 
+[package.dependencies]
+markdown-it-py = ">=2.2.0,<3.0.0"
+pygments = ">=2.13.0,<3.0.0"
+typing-extensions = {version = ">=4.0.0,<5.0", markers = "python_version < \"3.9\""}
+
 [package.extras]
-docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-hoverxref (<2)", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (==0.8.3)", "sphinx-reredirects", "sphinxcontrib-towncrier"]
-testing = ["build[virtualenv]", "filelock (>=3.4.0)", "flake8 (<5)", "flake8-2020", "ini2toml[lite] (>=0.9)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "pip (>=19.1)", "pip-run (>=8.8)", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)", "pytest-perf", "pytest-timeout", "pytest-xdist", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel"]
-testing-integration = ["build[virtualenv]", "filelock (>=3.4.0)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "pytest", "pytest-enabler", "pytest-xdist", "tomli", "virtualenv (>=13.0.0)", "wheel"]
+jupyter = ["ipywidgets (>=7.5.1,<9)"]
 
 [[package]]
 name = "six"
 version = "1.16.0"
 description = "Python 2 and 3 compatibility utilities"
-category = "dev"
 optional = false
 python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*"
 files = [
@@ -893,7 +913,6 @@ files = [
 name = "smmap"
 version = "5.0.0"
 description = "A pure Python implementation of a sliding window memory map manager"
-category = "dev"
 optional = false
 python-versions = ">=3.6"
 files = [
@@ -905,7 +924,6 @@ files = [
 name = "snowballstemmer"
 version = "2.2.0"
 description = "This package provides 29 stemmers for 28 languages generated from Snowball algorithms."
-category = "dev"
 optional = false
 python-versions = "*"
 files = [
@@ -915,19 +933,18 @@ files = [
 
 [[package]]
 name = "stack-data"
-version = "0.2.0"
+version = "0.6.2"
 description = "Extract data from python stack frames and tracebacks for informative displays"
-category = "dev"
 optional = false
 python-versions = "*"
 files = [
-    {file = "stack_data-0.2.0-py3-none-any.whl", hash = "sha256:999762f9c3132308789affa03e9271bbbe947bf78311851f4d485d8402ed858e"},
-    {file = "stack_data-0.2.0.tar.gz", hash = "sha256:45692d41bd633a9503a5195552df22b583caf16f0b27c4e58c98d88c8b648e12"},
+    {file = "stack_data-0.6.2-py3-none-any.whl", hash = "sha256:cbb2a53eb64e5785878201a97ed7c7b94883f48b87bfb0bbe8b623c74679e4a8"},
+    {file = "stack_data-0.6.2.tar.gz", hash = "sha256:32d2dd0376772d01b6cb9fc996f3c8b57a357089dec328ed4b6553d037eaf815"},
 ]
 
 [package.dependencies]
-asttokens = "*"
-executing = "*"
+asttokens = ">=2.1.0"
+executing = ">=1.2.0"
 pure-eval = "*"
 
 [package.extras]
@@ -935,14 +952,13 @@ tests = ["cython", "littleutils", "pygments", "pytest", "typeguard"]
 
 [[package]]
 name = "stevedore"
-version = "3.5.0"
+version = "5.1.0"
 description = "Manage dynamic plugins for Python applications"
-category = "dev"
 optional = false
-python-versions = ">=3.6"
+python-versions = ">=3.8"
 files = [
-    {file = "stevedore-3.5.0-py3-none-any.whl", hash = "sha256:a547de73308fd7e90075bb4d301405bebf705292fa90a90fc3bcf9133f58616c"},
-    {file = "stevedore-3.5.0.tar.gz", hash = "sha256:f40253887d8712eaa2bb0ea3830374416736dc8ec0e22f5a65092c1174c44335"},
+    {file = "stevedore-5.1.0-py3-none-any.whl", hash = "sha256:8cc040628f3cea5d7128f2e76cf486b2251a4e543c7b938f58d9a377f6694a2d"},
+    {file = "stevedore-5.1.0.tar.gz", hash = "sha256:a54534acf9b89bc7ed264807013b505bf07f74dbe4bcfa37d32bd063870b087c"},
 ]
 
 [package.dependencies]
@@ -952,7 +968,6 @@ pbr = ">=2.0.0,<2.1.0 || >2.1.0"
 name = "tomli"
 version = "2.0.1"
 description = "A lil' TOML parser"
-category = "dev"
 optional = false
 python-versions = ">=3.7"
 files = [
@@ -960,26 +975,36 @@ files = [
     {file = "tomli-2.0.1.tar.gz", hash = "sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f"},
 ]
 
+[[package]]
+name = "tomlkit"
+version = "0.11.8"
+description = "Style preserving TOML library"
+optional = false
+python-versions = ">=3.7"
+files = [
+    {file = "tomlkit-0.11.8-py3-none-any.whl", hash = "sha256:8c726c4c202bdb148667835f68d68780b9a003a9ec34167b6c673b38eff2a171"},
+    {file = "tomlkit-0.11.8.tar.gz", hash = "sha256:9330fc7faa1db67b541b28e62018c17d20be733177d290a13b24c62d1614e0c3"},
+]
+
 [[package]]
 name = "traitlets"
-version = "5.2.1.post0"
-description = ""
-category = "dev"
+version = "5.9.0"
+description = "Traitlets Python configuration system"
 optional = false
 python-versions = ">=3.7"
 files = [
-    {file = "traitlets-5.2.1.post0-py3-none-any.whl", hash = "sha256:f44b708d33d98b0addb40c29d148a761f44af740603a8fd0e2f8b5b27cf0f087"},
-    {file = "traitlets-5.2.1.post0.tar.gz", hash = "sha256:70815ecb20ec619d1af28910ade523383be13754283aef90528eb3d47b77c5db"},
+    {file = "traitlets-5.9.0-py3-none-any.whl", hash = "sha256:9e6ec080259b9a5940c797d58b613b5e31441c2257b87c2e795c5228ae80d2d8"},
+    {file = "traitlets-5.9.0.tar.gz", hash = "sha256:f6cde21a9c68cf756af02035f72d5a723bf607e862e7be33ece505abf4a3bad9"},
 ]
 
 [package.extras]
-test = ["pre-commit", "pytest"]
+docs = ["myst-parser", "pydata-sphinx-theme", "sphinx"]
+test = ["argcomplete (>=2.0)", "pre-commit", "pytest", "pytest-mock"]
 
 [[package]]
 name = "ttp"
 version = "0.7.2"
 description = "Template Text Parser"
-category = "main"
 optional = false
 python-versions = "*"
 files = [
@@ -988,119 +1013,129 @@ files = [
 
 [[package]]
 name = "typing-extensions"
-version = "4.2.0"
+version = "4.6.1"
 description = "Backported and Experimental Type Hints for Python 3.7+"
-category = "dev"
 optional = false
 python-versions = ">=3.7"
 files = [
-    {file = "typing_extensions-4.2.0-py3-none-any.whl", hash = "sha256:6657594ee297170d19f67d55c05852a874e7eb634f4f753dbd667855e07c1708"},
-    {file = "typing_extensions-4.2.0.tar.gz", hash = "sha256:f1c24655a0da0d1b67f07e17a5e6b2a105894e6824b92096378bb3668ef02376"},
+    {file = "typing_extensions-4.6.1-py3-none-any.whl", hash = "sha256:6bac751f4789b135c43228e72de18637e9a6c29d12777023a703fd1a6858469f"},
+    {file = "typing_extensions-4.6.1.tar.gz", hash = "sha256:558bc0c4145f01e6405f4a5fdbd82050bd221b119f4bf72a961a1cfd471349d6"},
 ]
 
 [[package]]
 name = "wcwidth"
-version = "0.2.5"
+version = "0.2.6"
 description = "Measures the displayed width of unicode strings in a terminal"
-category = "dev"
 optional = false
 python-versions = "*"
 files = [
-    {file = "wcwidth-0.2.5-py2.py3-none-any.whl", hash = "sha256:beb4802a9cebb9144e99086eff703a642a13d6a0052920003a230f3294bbe784"},
-    {file = "wcwidth-0.2.5.tar.gz", hash = "sha256:c4d647b99872929fdb7bdcaa4fbe7f01413ed3d98077df798530e5b04f116c83"},
+    {file = "wcwidth-0.2.6-py2.py3-none-any.whl", hash = "sha256:795b138f6875577cd91bba52baf9e445cd5118fd32723b460e30a0af30ea230e"},
+    {file = "wcwidth-0.2.6.tar.gz", hash = "sha256:a5220780a404dbe3353789870978e472cfe477761f06ee55077256e509b156d0"},
 ]
 
 [[package]]
 name = "wrapt"
-version = "1.14.1"
+version = "1.15.0"
 description = "Module for decorators, wrappers and monkey patching."
-category = "dev"
 optional = false
 python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7"
 files = [
-    {file = "wrapt-1.14.1-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:1b376b3f4896e7930f1f772ac4b064ac12598d1c38d04907e696cc4d794b43d3"},
-    {file = "wrapt-1.14.1-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:903500616422a40a98a5a3c4ff4ed9d0066f3b4c951fa286018ecdf0750194ef"},
-    {file = "wrapt-1.14.1-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:5a9a0d155deafd9448baff28c08e150d9b24ff010e899311ddd63c45c2445e28"},
-    {file = "wrapt-1.14.1-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:ddaea91abf8b0d13443f6dac52e89051a5063c7d014710dcb4d4abb2ff811a59"},
-    {file = "wrapt-1.14.1-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:36f582d0c6bc99d5f39cd3ac2a9062e57f3cf606ade29a0a0d6b323462f4dd87"},
-    {file = "wrapt-1.14.1-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:7ef58fb89674095bfc57c4069e95d7a31cfdc0939e2a579882ac7d55aadfd2a1"},
-    {file = "wrapt-1.14.1-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:e2f83e18fe2f4c9e7db597e988f72712c0c3676d337d8b101f6758107c42425b"},
-    {file = "wrapt-1.14.1-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:ee2b1b1769f6707a8a445162ea16dddf74285c3964f605877a20e38545c3c462"},
-    {file = "wrapt-1.14.1-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:833b58d5d0b7e5b9832869f039203389ac7cbf01765639c7309fd50ef619e0b1"},
-    {file = "wrapt-1.14.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:80bb5c256f1415f747011dc3604b59bc1f91c6e7150bd7db03b19170ee06b320"},
-    {file = "wrapt-1.14.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:07f7a7d0f388028b2df1d916e94bbb40624c59b48ecc6cbc232546706fac74c2"},
-    {file = "wrapt-1.14.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:02b41b633c6261feff8ddd8d11c711df6842aba629fdd3da10249a53211a72c4"},
-    {file = "wrapt-1.14.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2fe803deacd09a233e4762a1adcea5db5d31e6be577a43352936179d14d90069"},
-    {file = "wrapt-1.14.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:257fd78c513e0fb5cdbe058c27a0624c9884e735bbd131935fd49e9fe719d310"},
-    {file = "wrapt-1.14.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:4fcc4649dc762cddacd193e6b55bc02edca674067f5f98166d7713b193932b7f"},
-    {file = "wrapt-1.14.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:11871514607b15cfeb87c547a49bca19fde402f32e2b1c24a632506c0a756656"},
-    {file = "wrapt-1.14.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:8ad85f7f4e20964db4daadcab70b47ab05c7c1cf2a7c1e51087bfaa83831854c"},
-    {file = "wrapt-1.14.1-cp310-cp310-win32.whl", hash = "sha256:a9a52172be0b5aae932bef82a79ec0a0ce87288c7d132946d645eba03f0ad8a8"},
-    {file = "wrapt-1.14.1-cp310-cp310-win_amd64.whl", hash = "sha256:6d323e1554b3d22cfc03cd3243b5bb815a51f5249fdcbb86fda4bf62bab9e164"},
-    {file = "wrapt-1.14.1-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:43ca3bbbe97af00f49efb06e352eae40434ca9d915906f77def219b88e85d907"},
-    {file = "wrapt-1.14.1-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:6b1a564e6cb69922c7fe3a678b9f9a3c54e72b469875aa8018f18b4d1dd1adf3"},
-    {file = "wrapt-1.14.1-cp35-cp35m-manylinux2010_i686.whl", hash = "sha256:00b6d4ea20a906c0ca56d84f93065b398ab74b927a7a3dbd470f6fc503f95dc3"},
-    {file = "wrapt-1.14.1-cp35-cp35m-manylinux2010_x86_64.whl", hash = "sha256:a85d2b46be66a71bedde836d9e41859879cc54a2a04fad1191eb50c2066f6e9d"},
-    {file = "wrapt-1.14.1-cp35-cp35m-win32.whl", hash = "sha256:dbcda74c67263139358f4d188ae5faae95c30929281bc6866d00573783c422b7"},
-    {file = "wrapt-1.14.1-cp35-cp35m-win_amd64.whl", hash = "sha256:b21bb4c09ffabfa0e85e3a6b623e19b80e7acd709b9f91452b8297ace2a8ab00"},
-    {file = "wrapt-1.14.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:9e0fd32e0148dd5dea6af5fee42beb949098564cc23211a88d799e434255a1f4"},
-    {file = "wrapt-1.14.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9736af4641846491aedb3c3f56b9bc5568d92b0692303b5a305301a95dfd38b1"},
-    {file = "wrapt-1.14.1-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5b02d65b9ccf0ef6c34cba6cf5bf2aab1bb2f49c6090bafeecc9cd81ad4ea1c1"},
-    {file = "wrapt-1.14.1-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:21ac0156c4b089b330b7666db40feee30a5d52634cc4560e1905d6529a3897ff"},
-    {file = "wrapt-1.14.1-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:9f3e6f9e05148ff90002b884fbc2a86bd303ae847e472f44ecc06c2cd2fcdb2d"},
-    {file = "wrapt-1.14.1-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:6e743de5e9c3d1b7185870f480587b75b1cb604832e380d64f9504a0535912d1"},
-    {file = "wrapt-1.14.1-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:d79d7d5dc8a32b7093e81e97dad755127ff77bcc899e845f41bf71747af0c569"},
-    {file = "wrapt-1.14.1-cp36-cp36m-win32.whl", hash = "sha256:81b19725065dcb43df02b37e03278c011a09e49757287dca60c5aecdd5a0b8ed"},
-    {file = "wrapt-1.14.1-cp36-cp36m-win_amd64.whl", hash = "sha256:b014c23646a467558be7da3d6b9fa409b2c567d2110599b7cf9a0c5992b3b471"},
-    {file = "wrapt-1.14.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:88bd7b6bd70a5b6803c1abf6bca012f7ed963e58c68d76ee20b9d751c74a3248"},
-    {file = "wrapt-1.14.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b5901a312f4d14c59918c221323068fad0540e34324925c8475263841dbdfe68"},
-    {file = "wrapt-1.14.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d77c85fedff92cf788face9bfa3ebaa364448ebb1d765302e9af11bf449ca36d"},
-    {file = "wrapt-1.14.1-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8d649d616e5c6a678b26d15ece345354f7c2286acd6db868e65fcc5ff7c24a77"},
-    {file = "wrapt-1.14.1-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:7d2872609603cb35ca513d7404a94d6d608fc13211563571117046c9d2bcc3d7"},
-    {file = "wrapt-1.14.1-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:ee6acae74a2b91865910eef5e7de37dc6895ad96fa23603d1d27ea69df545015"},
-    {file = "wrapt-1.14.1-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:2b39d38039a1fdad98c87279b48bc5dce2c0ca0d73483b12cb72aa9609278e8a"},
-    {file = "wrapt-1.14.1-cp37-cp37m-win32.whl", hash = "sha256:60db23fa423575eeb65ea430cee741acb7c26a1365d103f7b0f6ec412b893853"},
-    {file = "wrapt-1.14.1-cp37-cp37m-win_amd64.whl", hash = "sha256:709fe01086a55cf79d20f741f39325018f4df051ef39fe921b1ebe780a66184c"},
-    {file = "wrapt-1.14.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:8c0ce1e99116d5ab21355d8ebe53d9460366704ea38ae4d9f6933188f327b456"},
-    {file = "wrapt-1.14.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:e3fb1677c720409d5f671e39bac6c9e0e422584e5f518bfd50aa4cbbea02433f"},
-    {file = "wrapt-1.14.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:642c2e7a804fcf18c222e1060df25fc210b9c58db7c91416fb055897fc27e8cc"},
-    {file = "wrapt-1.14.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7b7c050ae976e286906dd3f26009e117eb000fb2cf3533398c5ad9ccc86867b1"},
-    {file = "wrapt-1.14.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ef3f72c9666bba2bab70d2a8b79f2c6d2c1a42a7f7e2b0ec83bb2f9e383950af"},
-    {file = "wrapt-1.14.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:01c205616a89d09827986bc4e859bcabd64f5a0662a7fe95e0d359424e0e071b"},
-    {file = "wrapt-1.14.1-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:5a0f54ce2c092aaf439813735584b9537cad479575a09892b8352fea5e988dc0"},
-    {file = "wrapt-1.14.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:2cf71233a0ed05ccdabe209c606fe0bac7379fdcf687f39b944420d2a09fdb57"},
-    {file = "wrapt-1.14.1-cp38-cp38-win32.whl", hash = "sha256:aa31fdcc33fef9eb2552cbcbfee7773d5a6792c137b359e82879c101e98584c5"},
-    {file = "wrapt-1.14.1-cp38-cp38-win_amd64.whl", hash = "sha256:d1967f46ea8f2db647c786e78d8cc7e4313dbd1b0aca360592d8027b8508e24d"},
-    {file = "wrapt-1.14.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:3232822c7d98d23895ccc443bbdf57c7412c5a65996c30442ebe6ed3df335383"},
-    {file = "wrapt-1.14.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:988635d122aaf2bdcef9e795435662bcd65b02f4f4c1ae37fbee7401c440b3a7"},
-    {file = "wrapt-1.14.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9cca3c2cdadb362116235fdbd411735de4328c61425b0aa9f872fd76d02c4e86"},
-    {file = "wrapt-1.14.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d52a25136894c63de15a35bc0bdc5adb4b0e173b9c0d07a2be9d3ca64a332735"},
-    {file = "wrapt-1.14.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:40e7bc81c9e2b2734ea4bc1aceb8a8f0ceaac7c5299bc5d69e37c44d9081d43b"},
-    {file = "wrapt-1.14.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:b9b7a708dd92306328117d8c4b62e2194d00c365f18eff11a9b53c6f923b01e3"},
-    {file = "wrapt-1.14.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:6a9a25751acb379b466ff6be78a315e2b439d4c94c1e99cb7266d40a537995d3"},
-    {file = "wrapt-1.14.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:34aa51c45f28ba7f12accd624225e2b1e5a3a45206aa191f6f9aac931d9d56fe"},
-    {file = "wrapt-1.14.1-cp39-cp39-win32.whl", hash = "sha256:dee0ce50c6a2dd9056c20db781e9c1cfd33e77d2d569f5d1d9321c641bb903d5"},
-    {file = "wrapt-1.14.1-cp39-cp39-win_amd64.whl", hash = "sha256:dee60e1de1898bde3b238f18340eec6148986da0455d8ba7848d50470a7a32fb"},
-    {file = "wrapt-1.14.1.tar.gz", hash = "sha256:380a85cf89e0e69b7cfbe2ea9f765f004ff419f34194018a6827ac0e3edfed4d"},
+    {file = "wrapt-1.15.0-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:ca1cccf838cd28d5a0883b342474c630ac48cac5df0ee6eacc9c7290f76b11c1"},
+    {file = "wrapt-1.15.0-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:e826aadda3cae59295b95343db8f3d965fb31059da7de01ee8d1c40a60398b29"},
+    {file = "wrapt-1.15.0-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:5fc8e02f5984a55d2c653f5fea93531e9836abbd84342c1d1e17abc4a15084c2"},
+    {file = "wrapt-1.15.0-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:96e25c8603a155559231c19c0349245eeb4ac0096fe3c1d0be5c47e075bd4f46"},
+    {file = "wrapt-1.15.0-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:40737a081d7497efea35ab9304b829b857f21558acfc7b3272f908d33b0d9d4c"},
+    {file = "wrapt-1.15.0-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:f87ec75864c37c4c6cb908d282e1969e79763e0d9becdfe9fe5473b7bb1e5f09"},
+    {file = "wrapt-1.15.0-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:1286eb30261894e4c70d124d44b7fd07825340869945c79d05bda53a40caa079"},
+    {file = "wrapt-1.15.0-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:493d389a2b63c88ad56cdc35d0fa5752daac56ca755805b1b0c530f785767d5e"},
+    {file = "wrapt-1.15.0-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:58d7a75d731e8c63614222bcb21dd992b4ab01a399f1f09dd82af17bbfc2368a"},
+    {file = "wrapt-1.15.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:21f6d9a0d5b3a207cdf7acf8e58d7d13d463e639f0c7e01d82cdb671e6cb7923"},
+    {file = "wrapt-1.15.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ce42618f67741d4697684e501ef02f29e758a123aa2d669e2d964ff734ee00ee"},
+    {file = "wrapt-1.15.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:41d07d029dd4157ae27beab04d22b8e261eddfc6ecd64ff7000b10dc8b3a5727"},
+    {file = "wrapt-1.15.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:54accd4b8bc202966bafafd16e69da9d5640ff92389d33d28555c5fd4f25ccb7"},
+    {file = "wrapt-1.15.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2fbfbca668dd15b744418265a9607baa970c347eefd0db6a518aaf0cfbd153c0"},
+    {file = "wrapt-1.15.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:76e9c727a874b4856d11a32fb0b389afc61ce8aaf281ada613713ddeadd1cfec"},
+    {file = "wrapt-1.15.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:e20076a211cd6f9b44a6be58f7eeafa7ab5720eb796975d0c03f05b47d89eb90"},
+    {file = "wrapt-1.15.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:a74d56552ddbde46c246b5b89199cb3fd182f9c346c784e1a93e4dc3f5ec9975"},
+    {file = "wrapt-1.15.0-cp310-cp310-win32.whl", hash = "sha256:26458da5653aa5b3d8dc8b24192f574a58984c749401f98fff994d41d3f08da1"},
+    {file = "wrapt-1.15.0-cp310-cp310-win_amd64.whl", hash = "sha256:75760a47c06b5974aa5e01949bf7e66d2af4d08cb8c1d6516af5e39595397f5e"},
+    {file = "wrapt-1.15.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ba1711cda2d30634a7e452fc79eabcadaffedf241ff206db2ee93dd2c89a60e7"},
+    {file = "wrapt-1.15.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:56374914b132c702aa9aa9959c550004b8847148f95e1b824772d453ac204a72"},
+    {file = "wrapt-1.15.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a89ce3fd220ff144bd9d54da333ec0de0399b52c9ac3d2ce34b569cf1a5748fb"},
+    {file = "wrapt-1.15.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3bbe623731d03b186b3d6b0d6f51865bf598587c38d6f7b0be2e27414f7f214e"},
+    {file = "wrapt-1.15.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3abbe948c3cbde2689370a262a8d04e32ec2dd4f27103669a45c6929bcdbfe7c"},
+    {file = "wrapt-1.15.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:b67b819628e3b748fd3c2192c15fb951f549d0f47c0449af0764d7647302fda3"},
+    {file = "wrapt-1.15.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:7eebcdbe3677e58dd4c0e03b4f2cfa346ed4049687d839adad68cc38bb559c92"},
+    {file = "wrapt-1.15.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:74934ebd71950e3db69960a7da29204f89624dde411afbfb3b4858c1409b1e98"},
+    {file = "wrapt-1.15.0-cp311-cp311-win32.whl", hash = "sha256:bd84395aab8e4d36263cd1b9308cd504f6cf713b7d6d3ce25ea55670baec5416"},
+    {file = "wrapt-1.15.0-cp311-cp311-win_amd64.whl", hash = "sha256:a487f72a25904e2b4bbc0817ce7a8de94363bd7e79890510174da9d901c38705"},
+    {file = "wrapt-1.15.0-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:4ff0d20f2e670800d3ed2b220d40984162089a6e2c9646fdb09b85e6f9a8fc29"},
+    {file = "wrapt-1.15.0-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:9ed6aa0726b9b60911f4aed8ec5b8dd7bf3491476015819f56473ffaef8959bd"},
+    {file = "wrapt-1.15.0-cp35-cp35m-manylinux2010_i686.whl", hash = "sha256:896689fddba4f23ef7c718279e42f8834041a21342d95e56922e1c10c0cc7afb"},
+    {file = "wrapt-1.15.0-cp35-cp35m-manylinux2010_x86_64.whl", hash = "sha256:75669d77bb2c071333417617a235324a1618dba66f82a750362eccbe5b61d248"},
+    {file = "wrapt-1.15.0-cp35-cp35m-win32.whl", hash = "sha256:fbec11614dba0424ca72f4e8ba3c420dba07b4a7c206c8c8e4e73f2e98f4c559"},
+    {file = "wrapt-1.15.0-cp35-cp35m-win_amd64.whl", hash = "sha256:fd69666217b62fa5d7c6aa88e507493a34dec4fa20c5bd925e4bc12fce586639"},
+    {file = "wrapt-1.15.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:b0724f05c396b0a4c36a3226c31648385deb6a65d8992644c12a4963c70326ba"},
+    {file = "wrapt-1.15.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bbeccb1aa40ab88cd29e6c7d8585582c99548f55f9b2581dfc5ba68c59a85752"},
+    {file = "wrapt-1.15.0-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:38adf7198f8f154502883242f9fe7333ab05a5b02de7d83aa2d88ea621f13364"},
+    {file = "wrapt-1.15.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:578383d740457fa790fdf85e6d346fda1416a40549fe8db08e5e9bd281c6a475"},
+    {file = "wrapt-1.15.0-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:a4cbb9ff5795cd66f0066bdf5947f170f5d63a9274f99bdbca02fd973adcf2a8"},
+    {file = "wrapt-1.15.0-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:af5bd9ccb188f6a5fdda9f1f09d9f4c86cc8a539bd48a0bfdc97723970348418"},
+    {file = "wrapt-1.15.0-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:b56d5519e470d3f2fe4aa7585f0632b060d532d0696c5bdfb5e8319e1d0f69a2"},
+    {file = "wrapt-1.15.0-cp36-cp36m-win32.whl", hash = "sha256:77d4c1b881076c3ba173484dfa53d3582c1c8ff1f914c6461ab70c8428b796c1"},
+    {file = "wrapt-1.15.0-cp36-cp36m-win_amd64.whl", hash = "sha256:077ff0d1f9d9e4ce6476c1a924a3332452c1406e59d90a2cf24aeb29eeac9420"},
+    {file = "wrapt-1.15.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:5c5aa28df055697d7c37d2099a7bc09f559d5053c3349b1ad0c39000e611d317"},
+    {file = "wrapt-1.15.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3a8564f283394634a7a7054b7983e47dbf39c07712d7b177b37e03f2467a024e"},
+    {file = "wrapt-1.15.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:780c82a41dc493b62fc5884fb1d3a3b81106642c5c5c78d6a0d4cbe96d62ba7e"},
+    {file = "wrapt-1.15.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e169e957c33576f47e21864cf3fc9ff47c223a4ebca8960079b8bd36cb014fd0"},
+    {file = "wrapt-1.15.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:b02f21c1e2074943312d03d243ac4388319f2456576b2c6023041c4d57cd7019"},
+    {file = "wrapt-1.15.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:f2e69b3ed24544b0d3dbe2c5c0ba5153ce50dcebb576fdc4696d52aa22db6034"},
+    {file = "wrapt-1.15.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:d787272ed958a05b2c86311d3a4135d3c2aeea4fc655705f074130aa57d71653"},
+    {file = "wrapt-1.15.0-cp37-cp37m-win32.whl", hash = "sha256:02fce1852f755f44f95af51f69d22e45080102e9d00258053b79367d07af39c0"},
+    {file = "wrapt-1.15.0-cp37-cp37m-win_amd64.whl", hash = "sha256:abd52a09d03adf9c763d706df707c343293d5d106aea53483e0ec8d9e310ad5e"},
+    {file = "wrapt-1.15.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:cdb4f085756c96a3af04e6eca7f08b1345e94b53af8921b25c72f096e704e145"},
+    {file = "wrapt-1.15.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:230ae493696a371f1dbffaad3dafbb742a4d27a0afd2b1aecebe52b740167e7f"},
+    {file = "wrapt-1.15.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:63424c681923b9f3bfbc5e3205aafe790904053d42ddcc08542181a30a7a51bd"},
+    {file = "wrapt-1.15.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d6bcbfc99f55655c3d93feb7ef3800bd5bbe963a755687cbf1f490a71fb7794b"},
+    {file = "wrapt-1.15.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c99f4309f5145b93eca6e35ac1a988f0dc0a7ccf9ccdcd78d3c0adf57224e62f"},
+    {file = "wrapt-1.15.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:b130fe77361d6771ecf5a219d8e0817d61b236b7d8b37cc045172e574ed219e6"},
+    {file = "wrapt-1.15.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:96177eb5645b1c6985f5c11d03fc2dbda9ad24ec0f3a46dcce91445747e15094"},
+    {file = "wrapt-1.15.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:d5fe3e099cf07d0fb5a1e23d399e5d4d1ca3e6dfcbe5c8570ccff3e9208274f7"},
+    {file = "wrapt-1.15.0-cp38-cp38-win32.whl", hash = "sha256:abd8f36c99512755b8456047b7be10372fca271bf1467a1caa88db991e7c421b"},
+    {file = "wrapt-1.15.0-cp38-cp38-win_amd64.whl", hash = "sha256:b06fa97478a5f478fb05e1980980a7cdf2712015493b44d0c87606c1513ed5b1"},
+    {file = "wrapt-1.15.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:2e51de54d4fb8fb50d6ee8327f9828306a959ae394d3e01a1ba8b2f937747d86"},
+    {file = "wrapt-1.15.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:0970ddb69bba00670e58955f8019bec4a42d1785db3faa043c33d81de2bf843c"},
+    {file = "wrapt-1.15.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:76407ab327158c510f44ded207e2f76b657303e17cb7a572ffe2f5a8a48aa04d"},
+    {file = "wrapt-1.15.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cd525e0e52a5ff16653a3fc9e3dd827981917d34996600bbc34c05d048ca35cc"},
+    {file = "wrapt-1.15.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9d37ac69edc5614b90516807de32d08cb8e7b12260a285ee330955604ed9dd29"},
+    {file = "wrapt-1.15.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:078e2a1a86544e644a68422f881c48b84fef6d18f8c7a957ffd3f2e0a74a0d4a"},
+    {file = "wrapt-1.15.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:2cf56d0e237280baed46f0b5316661da892565ff58309d4d2ed7dba763d984b8"},
+    {file = "wrapt-1.15.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:7dc0713bf81287a00516ef43137273b23ee414fe41a3c14be10dd95ed98a2df9"},
+    {file = "wrapt-1.15.0-cp39-cp39-win32.whl", hash = "sha256:46ed616d5fb42f98630ed70c3529541408166c22cdfd4540b88d5f21006b0eff"},
+    {file = "wrapt-1.15.0-cp39-cp39-win_amd64.whl", hash = "sha256:eef4d64c650f33347c1f9266fa5ae001440b232ad9b98f1f43dfe7a79435c0a6"},
+    {file = "wrapt-1.15.0-py3-none-any.whl", hash = "sha256:64b1df0f83706b4ef4cfb4fb0e4c2669100fd7ecacfb59e091fad300d4e04640"},
+    {file = "wrapt-1.15.0.tar.gz", hash = "sha256:d06730c6aed78cee4126234cf2d071e01b44b915e725a6cb439a879ec9754a3a"},
 ]
 
 [[package]]
 name = "yamllint"
-version = "1.26.3"
+version = "1.32.0"
 description = "A linter for YAML files."
-category = "dev"
 optional = false
-python-versions = ">=3.5"
+python-versions = ">=3.7"
 files = [
-    {file = "yamllint-1.26.3.tar.gz", hash = "sha256:3934dcde484374596d6b52d8db412929a169f6d9e52e20f9ade5bf3523d9b96e"},
+    {file = "yamllint-1.32.0-py3-none-any.whl", hash = "sha256:d97a66e48da820829d96077d76b8dfbe6c6140f106e558dae87e81ac4e6b30b7"},
+    {file = "yamllint-1.32.0.tar.gz", hash = "sha256:d01dde008c65de5b235188ab3110bebc59d18e5c65fc8a58267cd211cd9df34a"},
 ]
 
 [package.dependencies]
 pathspec = ">=0.5.3"
 pyyaml = "*"
-setuptools = "*"
+
+[package.extras]
+dev = ["doc8", "flake8", "flake8-import-order", "rstcheck[sphinx]", "sphinx"]
 
 [metadata]
 lock-version = "2.0"
 python-versions = "^3.8"
-content-hash = "c7793b0fb67826f08be7b0c8b3715ec5dccf7fd185a0f686ae666ab19b53c042"
+content-hash = "6081de16f5b8940c90ac48a41c0003acd139017d7555c3626f3236968fa2ce7c"
diff --git a/pyproject.toml b/pyproject.toml
index 556519e..585b487 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -11,7 +11,8 @@ keywords = ["sros", "ttp", "ttp-templates", "network automation", "nokia", "7750
 python = "^3.8"
 ttp = "0.7.2"
 
-[tool.poetry.dev-dependencies]
+[tool.poetry.group.dev.dependencies]
+mypy = "*"
 flake8 = "*"
 pylint = "*"
 pydocstyle = "*"
@@ -61,3 +62,35 @@ exclude = '''
         | dist
         )/
     '''
+
+
+[tool.mypy]
+namespace_packages = true
+explicit_package_bases = true
+show_error_codes = true
+enable_error_code = [
+  "ignore-without-code",
+  "truthy-bool",
+]
+check_untyped_defs = true
+ignore_errors = false
+ignore_missing_imports = true
+strict_optional = true
+warn_unused_ignores = true
+warn_redundant_casts = true
+warn_unused_configs = true
+disallow_untyped_calls = true
+disallow_untyped_defs = true
+disallow_incomplete_defs = true
+disallow_untyped_decorators = true
+disallow_any_generics = true
+warn_return_any = false
+python_version = 3.8
+disallow_subclassing_any = true
+no_implicit_optional = true
+implicit_reexport = true
+strict_equality = true
+exclude = "tests/"
+
+[tool.bandit]
+exclude_dirs = ["tests"]
diff --git a/ttp_sros_parser/helpers.py b/ttp_sros_parser/helpers.py
index 3fd6864..0b4085e 100644
--- a/ttp_sros_parser/helpers.py
+++ b/ttp_sros_parser/helpers.py
@@ -2,9 +2,10 @@
 import glob
 import sys
 from pathlib import Path
+from typing import List
 
 
-def globfindfile(regex):
+def globfindfile(regex: str) -> List[str]:
     """Locate a file in the DIR by passing the regex value (ie:(*.log)).
 
     The returned value by calling the function is the file. If the path is passed in, the full path is returned back -
@@ -19,7 +20,7 @@ def globfindfile(regex):
     return files
 
 
-def check_file(file: str):
+def check_file(file: str) -> str:
     """Check file exists."""
     file_path = Path(file)
 
diff --git a/ttp_sros_parser/srosparser.py b/ttp_sros_parser/srosparser.py
index 7e63ca5..f4a8fd9 100644
--- a/ttp_sros_parser/srosparser.py
+++ b/ttp_sros_parser/srosparser.py
@@ -4,319 +4,317 @@
 import logging
 import os
 from dataclasses import dataclass
-from typing import Optional
+from typing import Dict, List, Optional, no_type_check
 
 from ttp import ttp
 
-from .helpers import check_file, globfindfile
+from ttp_sros_parser.helpers import check_file, globfindfile
 
 
 @dataclass
 class SrosParser:  # pylint: disable=R0904
     """SrosParser."""
 
-    x = datetime.datetime.now()
-    date = x.strftime("%b-%d-%Y")
-    templates_path = f"{os.path.dirname(os.path.realpath(__file__))}/templates"
     config_file: str
+    now: datetime.datetime = datetime.datetime.now()
+    date: str = now.strftime("%b-%d-%Y")
+    templates_path: str = f"{os.path.dirname(os.path.realpath(__file__))}/templates"
 
-    def __post_init__(self):
+    def __post_init__(self) -> None:
         """Init."""
         check_file(self.config_file)
         logging.info("Loading all templates from 'templates/admin_display_file'")
         self.templates = globfindfile(f"{self.templates_path}/admin_display_file/*.ttp")
 
-    def _parse(self, template: str, json_format=True):
+    def _parse(self, template: str) -> Dict[str, str]:
         """General Parser Private Method."""
         parser = ttp(data=self.config_file, template=template)
         parser.parse()
-        results = parser.result(format="json")[0]
+        return json.loads(parser.result(format="json")[0])[0]
 
-        if json_format:
-            results = json.loads(results)
-        return results
-
-    def _get_all_templates(self):
+    def _get_all_templates(self) -> List[str]:
         """Find all templates and return a complete list."""
         templates = globfindfile(f"{self.templates_path}/admin_display_file/*.ttp")
         return templates
 
-    def get_router_interfaces(self, json_format: bool = True):
+    def get_router_interfaces(self) -> Dict[str, str]:
         """Extract all router interfaces from the base routing context."""
         template = f"{self.templates_path}/admin_display_file/sros_router_interface.ttp"
-        return self._parse(template, json_format=json_format)
+        return self._parse(template)
 
-    def get_system_interface(self, json_format: bool = True):
+    def get_system_interface(self) -> Dict[str, str]:
         """Extract the system interface out of the host."""
         template = f"{self.templates_path}/helpers/sros_system_interface.ttp"
-        return self._parse(template, json_format=json_format)
+        return self._parse(template)
 
-    def get_system_configuration(self, json_format: bool = True):
+    def get_system_configuration(self) -> Dict[str, str]:
         """Extract system configuration."""
         template = f"{self.templates_path}/admin_display_file/sros_system_configuration.ttp"
-        return self._parse(template, json_format=json_format)
+        return self._parse(template)
 
-    def get_system_begin(self, json_format: bool = True):
+    def get_system_begin(self) -> Dict[str, str]:
         """Extract system configuration."""
         template = f"{self.templates_path}/admin_display_file/sros_system_begin.ttp"
-        return self._parse(template, json_format=json_format)
+        return self._parse(template)
 
-    def get_system_hostname(self, json_format: bool = True):
+    @no_type_check
+    def get_system_hostname(self) -> str:
         """Extract system hostname."""
         template = f"{self.templates_path}/helpers/sros_system_hostname.ttp"
-        hostname = self._parse(template, json_format=json_format)
-        return hostname[0]["system"]["hostname"]
+        hostname = self._parse(template)
+        return hostname["system"]["hostname"]
 
-    def get_system_cards(self, json_format: bool = True):
+    def get_system_cards(self) -> Dict[str, str]:
         """Extract system card information, including MDAs."""
         template = f"{self.templates_path}/admin_display_file/sros_system_cards.ttp"
-        return self._parse(template, json_format=json_format)
+        return self._parse(template)
 
-    def get_system_ethcfm(self, json_format: bool = True):
+    def get_system_ethcfm(self) -> Dict[str, str]:
         """Extract system eth cfm information."""
         template = f"{self.templates_path}/admin_display_file/sros_system_ethcfm.ttp"
-        return self._parse(template, json_format=json_format)
+        return self._parse(template)
 
-    def get_system_profiles(self, json_format: bool = True):
+    def get_system_profiles(self) -> Dict[str, str]:
         """Extract system profiles."""
         template = f"{self.templates_path}/admin_display_file/sros_system_profiles.ttp"
-        return self._parse(template, json_format=json_format)
+        return self._parse(template)
 
-    def get_connectors(self, json_format: bool = True):
+    def get_connectors(self) -> Dict[str, str]:
         """Extract connector configurations."""
         template = f"{self.templates_path}/admin_display_file/sros_connector_configuration.ttp"
-        return self._parse(template, json_format=json_format)
+        return self._parse(template)
 
-    def get_lags(self, json_format: bool = True):
+    def get_lags(self) -> Dict[str, str]:
         """Extract lag configuration."""
         template = f"{self.templates_path}/admin_display_file/sros_7750_lag.ttp"
-        return self._parse(template, json_format=json_format)
+        return self._parse(template)
 
-    def get_system_maf(self, json_format: bool = True):
+    def get_system_maf(self) -> Dict[str, str]:
         """Extract system MAF IP Filters, IPv4/6."""
         template = f"{self.templates_path}/admin_display_file/sros_system_maf.ttp"
-        return self._parse(template, json_format=json_format)
+        return self._parse(template)
 
-    def get_system_asn(self):
+    @no_type_check
+    def get_system_asn(self) -> str:
         """Extract system ASN."""
         template = f"{self.templates_path}/helpers/sros_system_asn.ttp"
-        asn = self._parse(template, json_format=True)
-        return asn[0]["system"]["router"]["autonomous-system"]
+        asn = self._parse(template)
+        return asn["system"]["router"]["autonomous-system"]
 
-    def get_custom_template(self, template_path, json_format: bool = True):
+    def get_custom_template(self, template_path: str) -> Dict[str, str]:
         """Use custom template by passing in the template file location path.
 
         Custom templates should be stored in 'templates/custom_templates'
         """
         logging.info("Loading custom template %s", template_path)
-        return self._parse(template_path, json_format=json_format)
+        return self._parse(template_path)
 
-    def show_bof(self):
+    def show_bof(self) -> Dict[str, str]:
         """Parse the 'show bof' cli output."""
         template = f"{self.templates_path}/show_commands/sros_show_bof_cli.ttp"
         return self._parse(template)
 
-    def get_system_service_sdp(self, json_format: bool = True):
+    def get_system_service_sdp(self) -> Dict[str, str]:
         """Extract System > Service SDP's from SROS."""
         template = f"{self.templates_path}/admin_display_file/sros_system_service_sdp.ttp"
-        return self._parse(template, json_format=json_format)
+        return self._parse(template)
 
-    def show_router_interface(self, json_format: bool = True):
+    def show_router_interface(self) -> Dict[str, str]:
         """Parse show router interface command."""
         template = f"{self.templates_path}/show_commands/sros_show_router_interface.ttp"
-        return self._parse(template, json_format=json_format)
+        return self._parse(template)
 
-    def show_router_route_table(self, json_format: bool = True):
+    def show_router_route_table(self) -> Dict[str, str]:
         """Parse show router route table."""
         template = f"{self.templates_path}/show_commands/show_router_router_table_general.ttp"
-        return self._parse(template, json_format=json_format)
+        return self._parse(template)
 
-    def get_router_static_routes(self, json_format: bool = True):
+    def get_router_static_routes(self) -> Dict[str, str]:
         """Extract Static Route Configuration (v4/v6)."""
         template = f"{self.templates_path}/admin_display_file/sros_router_static_routes.ttp"
-        return self._parse(template, json_format=json_format)
+        return self._parse(template)
 
-    def get_mgmt_router_config(self, json_format: bool = True):
+    def get_mgmt_router_config(self) -> Dict[str, str]:
         """Extract Static Route Configuration (v4/v6)."""
         template = f"{self.templates_path}/admin_display_file/sros_mgmt_router_config.ttp"
-        return self._parse(template, json_format=json_format)
+        return self._parse(template)
 
-    def get_lsps(self, json_format: bool = True):
+    def get_lsps(self) -> Dict[str, str]:
         """Extract MPLS LSP Configuration."""
         template = f"{self.templates_path}/admin_display_file/sros_7750_mpls_lsp.ttp"
-        return self._parse(template, json_format=json_format)
+        return self._parse(template)
 
-    def get_ports(self, json_format: bool = True):
+    def get_ports(self) -> Dict[str, str]:
         """Extract Port Configuration."""
         template = f"{self.templates_path}/admin_display_file/sros_port_config.ttp"
-        return self._parse(template, json_format=json_format)
+        return self._parse(template)
 
-    def get_cflowd(self, json_format: bool = True):
+    def get_cflowd(self) -> Dict[str, str]:
         """Extract Cflowd Configuration."""
         template = f"{self.templates_path}/admin_display_file/sros_cflowd_config.ttp"
-        return self._parse(template, json_format=json_format)
+        return self._parse(template)
 
-    def get_python_declaration_configuration(self, json_format: bool = True):
+    def get_python_declaration_configuration(self) -> Dict[str, str]:
         """Parse Python declaration Configuration."""
         template = f"{self.templates_path}/admin_display_file/sros_7750_python_declaration_configuration.ttp"
-        return self._parse(template, json_format=json_format)
+        return self._parse(template)
 
-    def get_filter_log_configuration(self, json_format: bool = True):
+    def get_filter_log_configuration(self) -> Dict[str, str]:
         """Parse filter logConfiguration."""
         template = f"{self.templates_path}/admin_display_file/sros_filter_log_configuration.ttp"
-        return self._parse(template, json_format=json_format)
+        return self._parse(template)
 
-    def get_filter_match_list_configuration(self, json_format: bool = True):
+    def get_filter_match_list_configuration(self) -> Dict[str, str]:
         """Parse filter logConfiguration."""
         template = f"{self.templates_path}/admin_display_file/sros_filter_match_list_configuration.ttp"
-        return self._parse(template, json_format=json_format)
+        return self._parse(template)
 
-    def get_system_security_configuration(self, json_format: bool = True):
+    def get_system_security_configuration(self) -> Dict[str, str]:
         """System Security logConfiguration."""
         template = f"{self.templates_path}/admin_display_file/sros_system_security_config.ttp"
-        return self._parse(template, json_format=json_format)
+        return self._parse(template)
 
-    def get_qos_policy_configuration(self, json_format: bool = True):
+    def get_qos_policy_configuration(self) -> Dict[str, str]:
         """QOS Policy Configuration ."""
         template = f"{self.templates_path}/admin_display_file/sros_qos_policy_config.ttp"
-        return self._parse(template, json_format=json_format)
+        return self._parse(template)
 
-    def get_qos_policy_configuration1(self, json_format: bool = True):
+    def get_qos_policy_configuration1(self) -> Dict[str, str]:
         """QOS Policy Configuration 1."""
         template = f"{self.templates_path}/admin_display_file/sros_qos_policy_config1.ttp"
-        return self._parse(template, json_format=json_format)
+        return self._parse(template)
 
-    def get_qos_policy_configuration2(self, json_format: bool = True):
+    def get_qos_policy_configuration2(self) -> Dict[str, str]:
         """QOS Policy Configuration 2."""
         template = f"{self.templates_path}/admin_display_file/sros_qos_policy_config2.ttp"
-        return self._parse(template, json_format=json_format)
+        return self._parse(template)
 
-    def get_python_configuration(self, json_format: bool = True):
+    def get_python_configuration(self) -> Dict[str, str]:
         """Python Configuration."""
         template = f"{self.templates_path}/admin_display_file/sros_7750_python_configuration.ttp"
-        return self._parse(template, json_format=json_format)
+        return self._parse(template)
 
-    def get_isis_configuration(self, json_format: bool = True):
+    def get_isis_configuration(self) -> Dict[str, str]:
         """ISIS Configuration."""
         template = f"{self.templates_path}/admin_display_file/sros_isis_configuration.ttp"
-        return self._parse(template, json_format=json_format)
+        return self._parse(template)
 
-    def get_subscriber_mgmt_configuration(self, json_format: bool = True):
+    def get_subscriber_mgmt_configuration(self) -> Dict[str, str]:
         """Subscriber Management Configuration."""
         template = f"{self.templates_path}/admin_display_file/sros_subscriber_mgmt_configuration.ttp"
-        return self._parse(template, json_format=json_format)
+        return self._parse(template)
 
-    def get_aaa_declarations_configuration(self, json_format: bool = True):
+    def get_aaa_declarations_configuration(self) -> Dict[str, str]:
         """AAA Declarations Configuration."""
         template = f"{self.templates_path}/admin_display_file/sros_aaa_declaration_config.ttp"
-        return self._parse(template, json_format=json_format)
+        return self._parse(template)
 
-    def get_multicast_path_management_policy_configuration(self, json_format: bool = True):
+    def get_multicast_path_management_policy_configuration(self) -> Dict[str, str]:
         """Multicast Path Management Policy Configuration."""
         template = f"{self.templates_path}/admin_display_file/sros_multicast_path_management_policy_config.ttp"
-        return self._parse(template, json_format=json_format)
+        return self._parse(template)
 
-    def get_port_xc_configuration(self, json_format: bool = True):
+    def get_port_xc_configuration(self) -> Dict[str, str]:
         """Port XC Configuration."""
         template = f"{self.templates_path}/admin_display_file/sros_port_cross-connect_config.ttp"
-        return self._parse(template, json_format=json_format)
+        return self._parse(template)
 
-    def get_redundancy_configuration(self, json_format: bool = True):
+    def get_redundancy_configuration(self) -> Dict[str, str]:
         """Redundancy Configuration."""
         template = f"{self.templates_path}/admin_display_file/sros_redundancy_config.ttp"
-        return self._parse(template, json_format=json_format)
+        return self._parse(template)
 
-    def get_filter_configuration(self, json_format: bool = True):
+    def get_filter_configuration(self) -> Dict[str, str]:
         """Filter Configuration."""
         template = f"{self.templates_path}/admin_display_file/sros_filter_configuration.ttp"
-        return self._parse(template, json_format=json_format)
+        return self._parse(template)
 
-    def get_vrrp_configuration(self, json_format: bool = True):
+    def get_vrrp_configuration(self) -> Dict[str, str]:
         """VRRP Configuration."""
         template = f"{self.templates_path}/admin_display_file/sros_vrrp_config.ttp"
-        return self._parse(template, json_format=json_format)
+        return self._parse(template)
 
-    def get_igmp_configuration(self, json_format: bool = True):
+    def get_igmp_configuration(self) -> Dict[str, str]:
         """IGMP Configuration."""
         template = f"{self.templates_path}/admin_display_file/sros_igmp_config.ttp"
-        return self._parse(template, json_format=json_format)
+        return self._parse(template)
 
-    def get_l2tp_configuration(self, json_format: bool = True):
+    def get_l2tp_configuration(self) -> Dict[str, str]:
         """L2TP Configuration."""
         template = f"{self.templates_path}/admin_display_file/sros_l2tp_config.ttp"
-        return self._parse(template, json_format=json_format)
+        return self._parse(template)
 
-    def get_router_policy_configuration(self, json_format: bool = True):
+    def get_router_policy_configuration(self) -> Dict[str, str]:
         """Policy Configuration."""
         template = f"{self.templates_path}/admin_display_file/sros_router_policy_config.ttp"
-        return self._parse(template, json_format=json_format)
+        return self._parse(template)
 
-    def get_router_bgp_configuration(self, json_format: bool = True):
+    def get_router_bgp_configuration(self) -> Dict[str, str]:
         """BGP Configuration."""
         template = f"{self.templates_path}/admin_display_file/sros_router_bgp_config.ttp"
-        return self._parse(template, json_format=json_format)
+        return self._parse(template)
 
-    def get_subscriber_mgmt_ss_configuration(self, json_format: bool = True):
+    def get_subscriber_mgmt_ss_configuration(self) -> Dict[str, str]:
         """Subscriber Management Service Side Configuration."""
         template = f"{self.templates_path}/admin_display_file/sros_subscriber_mgmt_ss_config.ttp"
-        return self._parse(template, json_format=json_format)
+        return self._parse(template)
 
-    def get_mirror_configuration(self, json_format: bool = True):
+    def get_mirror_configuration(self) -> Dict[str, str]:
         """Mirror Configuration."""
         template = f"{self.templates_path}/admin_display_file/sros_mirror_config.ttp"
-        return self._parse(template, json_format=json_format)
+        return self._parse(template)
 
-    def get_radius_configuration(self, json_format: bool = True):
+    def get_radius_configuration(self) -> Dict[str, str]:
         """RADIUS Configuration."""
         template = f"{self.templates_path}/admin_display_file/sros_radius_config.ttp"
-        return self._parse(template, json_format=json_format)
+        return self._parse(template)
 
-    def get_dhcp_configuration(self, json_format: bool = True):
+    def get_dhcp_configuration(self) -> Dict[str, str]:
         """DHCP Configuration."""
         template = f"{self.templates_path}/admin_display_file/sros_dhcp_config.ttp"
-        return self._parse(template, json_format=json_format)
+        return self._parse(template)
 
-    def get_twamp_light_config(self, json_format: bool = True):
+    def get_twamp_light_config(self) -> Dict[str, str]:
         """Mirror Configuration."""
         template = f"{self.templates_path}/admin_display_file/sros_twamp_light_config.ttp"
-        return self._parse(template, json_format=json_format)
+        return self._parse(template)
 
-    def get_aaa_configuration(self, json_format: bool = True):
+    def get_aaa_configuration(self) -> Dict[str, str]:
         """AAA Configuration."""
         template = f"{self.templates_path}/admin_display_file/sros_aaa_config.ttp"
-        return self._parse(template, json_format=json_format)
+        return self._parse(template)
 
-    def get_pim_configuration(self, json_format: bool = True):
+    def get_pim_configuration(self) -> Dict[str, str]:
         """PIM Configuration."""
         template = f"{self.templates_path}/admin_display_file/sros_pim_config.ttp"
-        return self._parse(template, json_format=json_format)
+        return self._parse(template)
 
-    def get_ldp_configuration(self, json_format: bool = True):
+    def get_ldp_configuration(self) -> Dict[str, str]:
         """LDP Configuration."""
         template = f"{self.templates_path}/admin_display_file/sros_ldp_config.ttp"
-        return self._parse(template, json_format=json_format)
+        return self._parse(template)
 
-    def show_file_dir(self, json_format: bool = True):
+    def show_file_dir(self) -> Dict[str, str]:
         """Extract file dir contents."""
         template = f"{self.templates_path}/show_commands/sros_file_dir.ttp"
-        return self._parse(template, json_format=json_format)
+        return self._parse(template)
 
-    def show_service_service_using(self, json_format: bool = True):
+    def show_service_service_using(self) -> Dict[str, str]:
         """Parse Service Service Using."""
         template = f"{self.templates_path}/show_commands/sros_show_service_service_using.ttp"
-        return self._parse(template, json_format=json_format)
+        return self._parse(template)
 
-    def get_log_configuration(self, json_format: bool = True):
+    def get_log_configuration(self) -> Dict[str, str]:
         """Parse Log Configuration."""
         template = f"{self.templates_path}/admin_display_file/sros_log_configuration.ttp"
-        return self._parse(template, json_format=json_format)
+        return self._parse(template)
 
-    def get_system_time_ntp_config(self, json_format: bool = True):
+    def get_system_time_ntp_config(self) -> Dict[str, str]:
         """Parse NTP Configuration."""
         template = f"{self.templates_path}/admin_display_file/sros_system_time_ntp.ttp"
-        return self._parse(template, json_format=json_format)
+        return self._parse(template)
 
-    def show_router_static_route(self, protocol: Optional[str] = "ipv4"):
+    def show_router_static_route(self, protocol: Optional[str] = "ipv4") -> Dict[str, str]:
         """Parse show router static-route.
 
         Must pass in protocol version of either "ipv4" or "ipv6".
@@ -329,7 +327,7 @@ def show_router_static_route(self, protocol: Optional[str] = "ipv4"):
 
         return self._parse(template)
 
-    def get_full_config(self, json_format: bool = True):
+    def get_full_config(self) -> Dict[str, str]:
         """Compile all templates and return a fully parsed config in json.
 
         Loop through and open all templates and create 1 large ttp parsing
@@ -343,4 +341,4 @@ def get_full_config(self, json_format: bool = True):
                 with open(template, "r", encoding="utf-8") as file:
                     full_config.write(file.read())
 
-        return self._parse(template=full_config_template, json_format=json_format)
+        return self._parse(template=full_config_template)
diff --git a/ttp_sros_parser/templates/full_config/sros_full_config.ttp b/ttp_sros_parser/templates/full_config/sros_full_config.ttp
index 39c3fe5..99af9d1 100644
--- a/ttp_sros_parser/templates/full_config/sros_full_config.ttp
+++ b/ttp_sros_parser/templates/full_config/sros_full_config.ttp
@@ -1,3 +1,79 @@
+<group name="configure.filter">
+#-------------------------------------------------- {{ignore}}
+echo "Filter Match lists Configuration" {{_start_}}
+#-------------------------------------------------- {{ignore}}
+    filter {{ignore}}
+        <group name="match-list">
+        match-list {{_start_}}
+            <group name="ip-prefix-list">
+            ip-prefix-list "{{name | _start_}}" create
+                description "{{description | ORPHRASE}}"
+                {{ prefix | _line_ | contains ("prefix") | joinmatches | resub(old = '^prefix ', new = '') | to_list}}
+            exit{{_end_}}
+            </group>
+            <group name="ipv6-prefix-list">
+            ipv6-prefix-list "{{name | _start_}}" create
+                description "{{description | ORPHRASE}}"
+                {{ prefix | _line_ | contains ("prefix") | joinmatches | resub(old = '^prefix ', new = '') | to_list}}
+            exit{{_end_}}
+            </group>
+        exit {{_end_}}
+        </group>
+    exit {{_end_}}
+#---{{_end_}}   
+</group>
+<group name="system.eth-cfm">
+    eth-cfm {{_start_}}
+    <group name="domain">
+        domain {{domain-id}} format {{format}} level {{level}}
+            <group name="associations">
+            association {{association-id}} format {{format}} name {{name | strip('"')}}
+                bridge-identifier {{bridge-id}}
+                exit {{ignore}}
+                remote-mepid {{remote-mepid}}
+            </group>
+    </group>
+#-------------------------------------------------- {{_end_}}
+</group>
+#-------------------------------------------------- {{ ignore }}
+echo "PIM Configuration" {{_start_}}
+#-------------------------------------------------- {{ ignore }}
+        <group name="configure.router.pim">     
+        pim {{_start_}}
+            <group name="interface">
+            interface "{{name | ORPHRASE }}"
+                bfd-enable  {{bfd_enable | set(true)}}
+                no shutdown {{admin_state | set(true)}}
+                priority {{priority | DIGIT}}
+                sticky-dr {{sticky-dr | set(true)}}
+                exit {{_ignore_}}
+            </group>
+
+            <group name="rp">
+            rp {{_start_}}
+                
+                <group name="static">
+                static {{_start_}}
+                exit {{_ignore_}}
+                </group>
+                
+                <group name="bsr-candidate">
+                bsr-candidate {{_start_}}
+                    shutdown {{admin-state | set (false)}} 
+                exit {{_ignore_}}
+                </group>
+                
+                <group name="rp-candidate">
+                rp-candidate {{_start_}}
+                    shutdown {{admin-state | set (false)}} 
+                exit {{_ignore_}}
+                </group>
+            exit {{_ignore_}}
+            </group>
+            no shutdown {{admin_state | set (true)}}
+        exit {{_end_}}
+        </group>
+#--------------------------------------------------
 <group name="configure.qos">
 #-------------------------------------------------- {{ignore}}
 echo "QoS Policy Configuration" {{_start_}}
@@ -130,6 +206,104 @@ echo "QoS Policy Configuration" {{_start_}}
         </group>
     exit {{_end_}}
 </group>
+<group name="configure.router.dhcp">
+#-------------------------------------------------- {{ ignore }}
+echo "Local DHCP Server (Base Router) Configuration" {{_start_}}
+#-------------------------------------------------- {{ ignore }}
+    router {{_ignore_}}
+        dhcp {{_ignore_}}
+            <group name="server">
+            local-dhcp-server "{{name | ORPHRASE | _start_}}" create
+                user-db "{{user-db | ORPHRASE}}"
+                <group name="pool">
+                pool "{{name | ORPHRASE | _start_}}" create
+                    min-lease-time {{min-lease-time | ORPHRASE}}
+                    max-lease-time {{max-lease-time | ORPHRASE}}
+                    <group name="options">
+                    options {{_start_}}
+                        dns-server {{dns-server | ORPHRASE | split(" ")}}
+                        <group name="custom-option">
+                        custom-option {{id | DIGIT}} address {{address | IP}}
+                        </group>
+                    exit {{_end_}}
+                    </group>
+                    <group name="subnet">
+                    subnet {{prefix | PREFIX}} create
+                        address-range {{address-range | ORPHRASE}}
+                    exit {{_end_}}
+                    </group>
+                exit {{_end_}}
+                </group>
+                no shutdown {{admin_state | set (true)}}
+            exit {{_end_}}
+            </group>
+        exit{{_ignore_}}
+    exit{{_ignore_}}
+</group>
+#-------------------------------------------------- {{_end_}}
+<group name="configure.port-xc">
+#-------------------------------------------------- {{ignore}}
+echo "Port Cross-Connect Configuration" {{_start_}}
+#-------------------------------------------------- {{ignore}}
+    port-xc {{ignore}}
+        <group name="pxc">
+        pxc {{number | DIGIT | _start_}} create
+            description "{{description | ORPHRASE}}"
+            port {{port}}
+            no shutdown {{admin_state | set(true)}}
+            shutdown {{admin_state | set(false)}}
+        exit {{_end_}}
+        </group>
+    exit {{ignore}}
+#-------------------------------------------------- {{ignore}}
+echo "Port Configuration" {{_end_}}
+</group><group name="system.management-access-filter">
+            management-access-filter {{_start_}}
+                <group name="ip-filter-params">
+                ip-filter {{ipv4-filter | set(true)}}
+                    shutdown {{ admin-state | set(false)}}
+                    default-action {{default-action}}
+                    no shutdown {{ admin-state | set(true)}}
+                </group>
+                <group name="ipv6-filter-params">
+                ipv6-filter {{ipv6-filter | set(true)}}
+                    shutdown {{ admin-state | set(false)}}
+                    default-action {{default-action}}
+                    no shutdown {{ admin-state | set(true)}}
+                </group>
+</group>
+<group name="system.management-access-filter">
+            management-access-filter {{_start_}}
+                ip-filter {{_exact_}}
+                <group name="ip-filter">
+                <group name="entry">
+                    entry {{entry-id | DIGIT }}
+                        description {{description | re(r"\W.*") | strip('"')}}
+                        src-ip {{src-ip}}
+                        protocol {{protocol}}
+                        dst-port {{dst-port | re(r"\d.*")}}
+                        router {{router-instance | strip('"')}}
+                        action {{action | strip('"')}}
+                    exit {{ignore}}
+                ipv6-filter {{_end_}}
+                </group>
+                </group>
+</group>
+<group name="system.management-access-filter">
+                ipv6-filter {{_start_}}
+                <group name="ipv6-filter">
+                <group name="entry">
+                    entry {{entry-id}}
+                        description {{description | re(r"\W.*") | strip('"')}}
+                        src-ip {{src-ip }}
+                        protocol {{protocol}}
+                        dst-port {{dst-port | re(r"\d.*")}}
+                        router {{router-instance | strip('"')}}
+                        action {{action-instance | strip('"')}}
+                    exit {{ignore}}
+                </group>
+                </group>
+</group>
 <group name="configure.router.radius-server">
 #-------------------------------------------------- {{ ignore }}
 echo "RADIUS Server Configuration" {{_start_}}
@@ -146,59 +320,162 @@ echo "RADIUS Server Configuration" {{_start_}}
             </group>
         exit {{_end_}}
 </group>
-<group name="configure.python">
-#-------------------------------------------------- {{ ignore }}
-echo "PYTHON (declaration) Configuration" {{_start_}}
-#-------------------------------------------------- {{ ignore }}
-    python {{ ignore }}
-        <group name="python-policy">
-        python-policy "{{name | ORPHRASE | _start_}}" create
+<group name="configure.system.security.cpm-filter">
+#--------------------------------------------------{{ignore}}
+echo "System Security Cpm Hw Filters, PKI, TLS and LDAP Configuration" {{_start_}}
+#--------------------------------------------------{{ignore}}
+    system {{_start_}}
+        security {{_start_}}
+            cpm-filter {{_start_}}
+                default-action drop {{default-action | set(drop)}}
+                <group name="ip-filter">
+                ip-filter {{_start_}}
+                    no shutdown{{admin_state | _exact_ | set(true)}}
+                    shutdown{{admin_state | _exact_ | set(false)}}
+                    <group name="entry">
+                    entry {{entry-id | _start_ }} create
+                        action {{action | ORPHRASE}}
+                        description "{{description | ORPHRASE}}"
+                        log {{log-id}}
+                        <group name="match-protocol">
+                        match protocol {{protocol | _start_}}
+                            src-ip {{src-ip-address | PREFIX}}
+                            src-ip ip-prefix-list "{{src-ip-prefix-list}}"
+                            dst-ip {{dst-ip-address | PREFIX}}
+                            dst-ip ip-prefix-list "{{dst-ip-prefix-list}}"
+                            src-port {{ src-port | ORPHRASE | split(' ')}}
+                            dst-port {{ dst-port | ORPHRASE | split(' ')}}
+                            icmp-type {{icmp-type}}
+                        exit {{_end_}}
+                        </group>
+                        <group name="match">
+                        match {{_start_}}
+                            src-ip {{src-ip-address | PREFIX}}
+                            src-ip ip-prefix-list "{{src-ip-prefix-list}}"
+                            dst-ip {{dst-ip-address | PREFIX}}
+                            dst-ip ip-prefix-list "{{dst-ip-prefix-list}}"
+                        exit {{_end_}}
+                        </group>                        
+                    exit {{_end_}}
+                    </group>
+                exit {{_end_}}
+                </group>
+                <group name="ipv6-filter">
+                ipv6-filter {{_start_}}
+                    no shutdown{{admin_state | _exact_ | set(true)}}
+                    shutdown{{admin_state | _exact_ | set(false)}}
+                    <group name="entry">
+                    entry {{entry-id | _start_ }} create
+                        action {{action | ORPHRASE}}
+                        description "{{description | ORPHRASE}}"
+                        log {{log-id}}
+                        <group name="match-next-header">
+                        match next-header {{protocol | _start_}}
+                            src-ip {{src-ipv6-address | PREFIXV6 }}
+                            src-ip ipv6-prefix-list "{{src-ipv6-prefix-list}}"
+                            dst-ip {{dst-ipv6-address | PREFIXV6}}
+                            dst-ip ipv6-prefix-list "{{dst-ipv6-prefix-list}}"
+                            src-port {{ src-port | ORPHRASE | split(' ')}}
+                            dst-port {{ dst-port | ORPHRASE | split(' ')}}
+                        exit {{_end_}}
+                        </group>  
+                    exit {{_end_}}
+                    </group>
+                exit {{_end_}}
+                </group>
+            exit {{_end_}}
         exit {{_end_}}
-        </group>
     exit {{_end_}}
-#-------------------------------------------------- {{ ignore }}
-</group><macro>
-def set_true(data):
-    if 'bfd-enable' in data:
-        return data, {"bfd-enable": True}
-    elif 'black-hole' in data:
-        return data, {"black-hole": True}
-</macro>
+#-------------------------------------------------- {{ignore}}
+echo "System Login Control Configuration" {{_end_}}
+</group><vars>
+PROTOCOL_TYPE = r"ppp|ipoe"
+</vars>
 
-<group name="configure.router">
-#-------------------------------------------------- {{ ignore }}
-echo "Management Router Configuration" {{ _start_ }}
-#-------------------------------------------------- {{ ignore }}
-    <group name="router-name.{{ router }}">
-    router {{ router }}
-        <group name="entry">
-        static-route {{ address | is_ip }}/{{ prefix }} next-hop {{ next-hop | is_ip }}
-        </group>
-    </group>
-    exit {{ _end_ }}
-</group>
 
-<group name="configure.router.static-route.ipv4">
+<group name="configure.subscriber-mgmt">
 #-------------------------------------------------- {{ ignore }}
-echo "Static Route Configuration" {{ _start_ }}
+echo "Subscriber-mgmt (Service Side) Configuration" {{_start_}}
 #-------------------------------------------------- {{ ignore }}
-        <group name="entry">
-        static-route {{ address | IPV4}}/{{ prefix }} next-hop {{ next-hop | is_ip }} {{ bfd | macro('set_true') | _start_ }}
-        static-route {{ address | IPV4 }}/{{ prefix }} next-hop {{ next-hop | is_ip }} preference {{ preference | DIGIT | _start_ }}
-        static-route {{ address | IPV4 }}/{{ prefix }} {{ black-hole | macro('set_true') | _start_ }}
+    
+    subscriber-mgmt {{_ignore_}}
+
+        <group name="authentication-policy">
+        authentication-policy {{name | _start_ | ORPHRASE}}
+            <group name="radius-authentication-server">
+            radius-authentication-server {{_start_}}
+                router {{router | ORPHRASE }}
+                server {{server-id | DIGIT }} address {{address | IP }} secret {{ secret | re(r'".*"') }} {{hashing-scheme | WORD }} port {{ port | DIGIT }} 
+
+            exit {{_ignore_}}
+            </group>
+        exit {{_ignore_}}
         </group>
-</group>
-#-------------------------------------------------- {{ _end_ }}
-echo "Static IPv6 Route Configuration" {{ _start_ }}
-<group name="configure.router.static-route.ipv6">
-#-------------------------------------------------- {{ ignore }}
-        <group name="entry">
-        static-route {{ address | IPV6 }}/{{ prefix }} next-hop {{ next-hop | is_ip }} {{ bfd | macro('set_true') | _start_ }}
-        static-route {{ address | IPV6 }}/{{ prefix }} next-hop {{ next-hop | is_ip }} preference {{ preference | DIGIT | _start_ }}
-        static-route {{ address | IPV6 }}/{{ prefix }} {{ black-hole | macro('set_true') | _start_ }}
+
+        <group name="radius-accounting-policy">
+        radius-accounting-policy {{name| _start_ | ORPHRASE}}
+            <group name="radius-accounting-server">
+            radius-accounting-server {{_start_}}
+                router {{router | ORPHRASE }}
+                server {{server-id | DIGIT }} address {{address | IP }} secret {{ secret | re(r'".*"') }} {{hashing-scheme | WORD }} port {{ port | DIGIT }} 
+            exit {{_ignore_}}
+            </group>
+        exit {{_ignore_}}       
         </group>
-#-------------------------------------------------- {{ _end_ }}
+
+
+        <group name="local-user-db"> 
+        local-user-db {{ name | _start_ | ORPHRASE}} create
+            <group name="protocol"> 
+            {{ type | _start_ | re(r"PROTOCOL_TYPE")}}
+                match-list {{ match-list | ORPHRASE}}
+                <group name="host"> 
+                host {{host-name |  _start_ | ORPHRASE}} create
+                    auth-policy {{auth-policy | ORPHRASE }}
+                    pre-auth-policy {{pre-auth-policy | ORPHRASE }}
+                    server {{server | IP }}
+                    no shutdown {{admin-state | set(true)}}
+                    <group name="host-identification"> 
+                    host-identification {{_start_}}
+                        username {{ username | WORD}} {{ domain-only | let(true)}}
+                        username {{ username | WORD}}
+                        option60 string {{option60-string | ORPHRASE}}
+                    </group>
+
+                    exit {{_ignore_}}
+                    address pool {{address-pool | ORPHRASE }}
+                    auth-policy {{auth-policy | ORPHRASE }}
+                    password {{password | ORPHRASE }}
+                    <group name="identification-strings"> 
+                    identification-strings {{string-id | _start_ | DIGIT }} create
+                        subscriber-id {{subscriber-id | ORPHRASE }}
+                        sla-profile-string {{sla-profile-string | ORPHRASE }}
+                        sub-profile-string {{sub-profile-string | ORPHRASE }}
+                    </group>
+                    exit {{_ignore_}} 
+                    pre-auth-policy {{pre-auth-policy | ORPHRASE }}
+                    server {{server | IP }}
+                    <group name="l2tp"> 
+                    l2tp {{_start_}}
+                        group {{group | ORPHRASE }}
+                    </group>
+                    exit {{_ignore_}}
+                    no shutdown {{admin-state | set(true)}}
+                </group>
+                exit {{_ignore_}}
+            </group>
+            exit {{_ignore_}}
+        </group>
+        exit {{_ignore_}}
+    exit {{_ignore_}} 
+
+
+</group><group name="configure.system">
+# TiMOS-C-{{version | _start_}} cpm/hops64 Nokia {{platform}} SR Copyright (c) {{year}} Nokia.
+# All rights reserved. All use subject to applicable license agreements. {{ ignore }}
+# Built on Wed Nov 13 11:34:50 PST 2019 by builder in /builds/c/160B/R10/panos/main {{ ignore }}
 </group>
+
 <group name="configure.qos">
 #-------------------------------------------------- {{ignore}}
 echo "QoS Policy Configuration" {{_start_}}
@@ -223,7 +500,6 @@ echo "QoS Policy Configuration" {{_start_}}
                 port-parent {{port-parent-level | set(1)}} {{port-parent-cir-level | set(1)}}
                 mbs {{mbs | DIGIT}}
                 port-parent level {{port-parent-level}} cir-level {{port-parent-cir-level}}
-                rate {{rate | DIGIT}} cir {{rate-cir | DIGIT}}
                 <group name="drop-tail">
                 drop-tail {{_start_}}
                     <group name="low">
@@ -251,15 +527,12 @@ echo "QoS Policy Configuration" {{_start_}}
         <group name="port-scheduler-policy">
         port-scheduler-policy "{{name | ORPHRASE | _start_}}" create
             max-rate {{max-rate | DIGIT}}
-            max-rate percent {{max-rate-percent | ORPHRASE}}
-            <group name="level">
             level {{level-id | DIGIT}} rate max cir {{cir-max | DIGIT}}
-            </group>
         exit {{_end_}}
         </group>
         <group name="queue-group-templates.egress.queue-group">
-        queue-group-templates {{ignore}}
-            egress {{ignore}}
+        queue-group-templates {{_start_}}
+            egress {{_start_}}
                 queue-group "{{name | _start_ }}" create
                     description "{{description | ORPHRASE }}"
                     <group name="queue">
@@ -279,8 +552,8 @@ echo "QoS Policy Configuration" {{_start_}}
                         </group>
                     exit {{_end_}}
                     </group>
-                exit {{ignore}}
-            exit {{ignore}}
+                exit {{_end_}}
+            exit {{_end_}}
         exit {{_end_}}
         </group>
         <group name="scheduler-policy">
@@ -301,1054 +574,632 @@ echo "QoS Policy Configuration" {{_start_}}
             description "{{description | ORPHRASE }}"
         exit {{_end_}}
         </group>
-    exit {{_end_}}
-</group>
-#-------------------------------------------------- {{ignore}}
-echo "Port Configuration" {{_start_}}
-#-------------------------------------------------- {{ignore}}
-<group name="configure.port">
-    port {{port-id}}
-        shutdown {{admin_state | set(false)}}
-        description "{{description}}"
-        <group name="ethernet">
-        ethernet {{_start_}}
-            mode {{mode}}
-            encap-type {{encap-type}}
-            mtu {{mtu | DIGIT}}
-            loopback internal persistent {{loopback | set(true)}}
-            <group name="network">
-            network {{ignore}}
-                queue-policy "{{queue-policy | DIGIT}}"
+        <group name="sap-ingress">
+        sap-ingress {{policy-id |DIGIT | _start_}} name "{{name | ORPHRASE}}" create
+            description "{{description | ORPHRASE}}"
+            <group name="queue">
+            queue {{id | DIGIT | _start_}} {{ type | WORD }} create
+            queue {{id | DIGIT | _start_}} create
+                rate {{rate | DIGIT}}
+                port-parent level {{port-parent-level | DIGIT }} cir-level {{port-parent-cir-level | DIGIT }}
+                port-parent cir-level {{port-parent-cir-level | DIGIT }}
             exit {{_end_}}
             </group>
-            <group name="hold-time">
-            hold-time down {{down}}
+            <group name="policer">
+            policer {{id | DIGIT | _start_}} create
+                description "{{description | ORPHRASE}}"
+                parent "{{parent | ORPHRASE}}"
+                rate {{rate | DIGIT}}
+            exit {{_end_}}
             </group>
-            <group name="hold-time">
-            hold-time up {{up| DIGIT}} down {{down | DIGIT}}
+            <group name="fc">
+            fc {{fc | WORD | _start_ }} create
+                multicast-queue {{multicast-queue-id | DIGIT}}
+                queue {{queue-id | DIGIT}}
+                policer {{policer-id}}
+                unknown-policer {{unknown-policer-id}}
+                dot1p {{dot1p}}
+            exit {{_end_}}
+            </group>
+            default-fc "{{default-fc}}"
+            <group name="dot1p">
+            dot1p {{dot1p-priority | DIGIT}} fc "{{fc}}"
+            </group>
+            <group name="dscp">
+            dscp {{ dscp | ORPHRASE | split(' ') | join(',')}} fc "{{fc}}"
+            </group>
+            <group name="lsp-exp">
+            lsp-exp {{lsp-exp| DIGIT}} fc "{{fc}}"
             </group>
-            no autonegotiate {{autonegotiate | set(false)}}
-            autonegotiate {{autonegotiate}}
-            egress-rate {{egress-rate | DIGIT}} 
-        exit {{_end_}}
-        </group>
-        no shutdown {{admin_state | set(true)}}
-    exit {{_end_}}
-    </group>
-#-------------------------------------------------- {{_end_}}
-<group name="configure.subscriber-mgmt">
-#--------------------------------------------------{{ignore}}
-echo "Subscriber-mgmt Configuration" {{_start_}}
-#--------------------------------------------------{{ignore}}
-        subscriber-mgmt {{ignore}}
-        <group name="auto-sub-id-key">
-        auto-sub-id-key {{_start_}}
-            ipoe-sub-id-key {{ipoe-sub-id-key}}
         exit {{_end_}}
         </group>
-        <group name="authentication-policy">
-        authentication-policy "{{name | ORPHRASE | _start_ }}" create
+        <group name="sap-egress">
+        sap-egress {{policy-id |DIGIT | _start_}} name "{{name | ORPHRASE}}" create
             description "{{description | ORPHRASE}}"
-            password "{{paswword}}" {{hash}}
-            user-name-format {{user-name-format | WORD }}
-            fallback-action {{fallback-action}}
-            pppoe-access-method {{pppoe-access-method}}
-            <group name="include-radius-attribute">
-            include-radius-attribute {{_start_}}
-                circuit-id {{circuit-id | set(true)}}
-                remote-id {{remote-id | set(true)}}
-                nas-port-id {{nas-port-id | set(true)}}
-                nas-identifier {{nas-identifier | set(true)}}
-                dhcp-options {{dhcp-options | set(true)}}
-                dhcp6-options {{dhcp6-options | set(true)}}
-                access-loop-options {{access-loop-options | set(true)}}
-                mac-address {{mac-address | set(true)}}
-                called-station-id {{called-station-id  | set(true)}}
-                calling-station-id {{calling-station-id}}
-                user-name {{user-name | set(true)}}
-                acct-authentic {{acct-authentic | set(true)}}
-                delegated-ipv6-prefix {{delegated-ipv6-prefix | set(true)}}
-                framed-ip-addr {{framed-ip-addr | set(true)}}
-                framed-ipv6-prefix {{framed-ipv6-prefix | set(true)}}
-                sla-profile {{sla-profile | set(true)}}
-                sub-profile {{sub-profile | set(true)}}
-                subscriber-id {{subscriber-id | set(true)}}
-                no detailed-acct-attributes {{detailed-acct-attributes | set(false)}}
-                std-acct-attributes {{std-acct-attributes | set(true)}}
+            <group name="queue">
+            queue {{id | DIGIT | _start_}} {{ type | WORD }} create
+            queue {{id | DIGIT | _start_}} create
+                rate {{rate | DIGIT}}
+                port-parent level {{port-parent-level | DIGIT }} cir-level {{port-parent-cir-level | DIGIT }}
+                port-parent cir-level {{port-parent-cir-level | DIGIT }}
             exit {{_end_}}
             </group>
-            <group name="radius-authentication-server">
-            radius-authentication-server {{_start_}}
-                retry {{retry | DIGIT}}
-                source-address {{source-address | IP}}
-                timeout {{timeout | DIGIT }}
+            <group name="policer">
+            policer {{id | DIGIT | _start_}} create
+                description "{{description | ORPHRASE}}"
+                parent "{{parent | ORPHRASE}}"
+                rate {{rate | DIGIT}}
             exit {{_end_}}
             </group>
-        exit {{_end_}}
-        </group>
-        <group name="radius-accounting-policy">
-        radius-accounting-policy "{{name | ORPHRASE |_start_}}" create
-            description "{{description | ORPHRASE}}"
-            no queue-instance-accounting {{queue-instance-accounting | set(false)}}
-            session-accounting {{session-accounting}}
-            <group name="include-radius-attribute">
-            include-radius-attribute {{_start_}}
-                circuit-id {{circuit-id | set(true)}}
-                remote-id {{remote-id | set(true)}}
-                nas-port-id {{nas-port-id | set(true)}}
-                nas-identifier {{nas-identifier | set(true)}}
-                dhcp-options {{dhcp-options | set(true)}}
-                dhcp6-options {{dhcp6-options | set(true)}}
-                access-loop-options {{access-loop-options | set(true)}}
-                mac-address {{mac-address | set(true)}}
-                called-station-id {{called-station-id  | set(true)}}
-                calling-station-id {{calling-station-id}}
-                user-name {{user-name | set(true)}}
-                acct-authentic {{acct-authentic | set(true)}}
-                delegated-ipv6-prefix {{delegated-ipv6-prefix | set(true)}}
-                framed-ip-addr {{framed-ip-addr | set(true)}}
-                framed-ipv6-prefix {{framed-ipv6-prefix | set(true)}}
-                sla-profile {{sla-profile | set(true)}}
-                sub-profile {{sub-profile | set(true)}}
-                subscriber-id {{subscriber-id | set(true)}}
-                no detailed-acct-attributes {{detailed-acct-attributes | set(false)}}
-                std-acct-attributes {{std-acct-attributes | set(true)}}
+            <group name="fc">
+            fc {{fc | WORD | _start_ }} create
+                multicast-queue {{multicast-queue-id | DIGIT}}
+                queue {{queue-id | DIGIT}}
+                policer {{policer-id}}
+                unknown-policer {{unknown-policer-id}}
+                dot1p {{dot1p}}
             exit {{_end_}}
             </group>
-            session-id-format {{session-id-format}}
-            radius-server-policy "{{radius-server-policy | ORPHRASE}}"
-            <group name="radius-accounting-server">
-            radius-accounting-server {{_start_}}
-                source-address {{source-address | IP}}
+            default-fc "{{default-fc}}"
+            <group name="dot1p">
+            dot1p {{dot1p-priority | DIGIT}} fc "{{fc}}"
+            </group>
+            <group name="dscp">
+            dscp {{ dscp | ORPHRASE | split(' ') | join(',')}} fc "{{fc}}"
+            </group>
+            <group name="lsp-exp">
+            lsp-exp {{lsp-exp| DIGIT}} fc "{{fc}}"
+            </group>
+            <group name="ip-criteria">
+            ip-criteria {{_start_}}
+                <group name="entry">
+                entry {{id}} create
+                    description "{{description | ORPHRASE}}"
+                    <group name="match-protocol">
+                    match protocol {{protocol | _start_ }}
+                        src-ip {{src-ip-address | PREFIX}}
+                        src-ip ip-prefix-list "{{src-ip-prefix-list}}"
+                        dst-ip {{dst-ip-address | PREFIX}}
+                        dst-ip ip-prefix-list "{{dst-ip-prefix-list}}"
+                        src-port {{ src-port | ORPHRASE | split(' ') | join(',')}}                            dst-port {{ dst-port | ORPHRASE | split(' ') | join(',')}}
+                        icmp-type {{icmp-type}}
+                    exit {{_end_}}
+                    </group>
+                    action fc "{{action-fc}}"
+                exit {{_end_}}
+                </group>
             exit {{_end_}}
             </group>
         exit {{_end_}}
         </group>
-        <group name="ipoe-session-policy">
-        ipoe-session-policy "{{name | ORPHRASE |_start_}}" create
-            description "{{description | ORPHRASE}}"
-            session-key {{session-key | ORPHRASE | split(' ') | join(',') }}
-        exit {{_end_}}
-        </group>
-        <group name="sla-profile">
-        sla-profile "{{name | ORPHRASE |_start_}}" create
+        <group name="network">
+        network {{id | DIGIT }} name "{{name}}" create
             description "{{description | ORPHRASE}}"
             <group name="ingress">
             ingress {{_start_}}
-                qos {{qos | DIGIT }}
-                exit {{ingore}}
-                ip-filter {{ip-filter | DIGIT }}
-                ipv6-filter {{ipv6-filter | DIGIT }}
-                no qos-marking-from-sap {{qos-marking-from-sap | set(false)}}
+                ler-use-dscp {{ler-use-dscp | set(true)}}
+                <group name="dscp">
+                dscp {{ dscp | WORD}} fc {{fc}} profile {{profile}}
+                </group>
+                <group name="lsp-exp">
+                lsp-exp {{lsp-exp| DIGIT}} fc {{fc}} profile {{profile}}
+                </group>
             exit {{_end_}}
             </group>
             <group name="egress">
             egress {{_start_}}
-                qos {{qos | DIGIT }}
-                exit {{ingore}}
-                ip-filter {{ip-filter | DIGIT }}
-                ipv6-filter {{ipv6-filter | DIGIT }}
-                no qos-marking-from-sap {{qos-marking-from-sap | set(false)}}
-            exit {{_end_}}
+                <group name="fc">
+                fc {{fc | WORD | _start_ }}
+                    dscp-in-profile {{dscp-in-profile | WORD}}
+                    dscp-out-profile {{dscp-out-profile | WORD}}
+                    lsp-exp-in-profile {{lsp-exp-in-profile | DIGIT}}
+                    lsp-exp-out-profile {{lsp-exp-out-profile | DIGIT}}
+                exit {{_end_}}
+                </group>
             </group>
         exit {{_end_}}
         </group>
-        <group name="sub-profile">
-        sub-profile "{{name | ORPHRASE |_start_}}" create
-            description "{{description | ORPHRASE}}"
-            <group name="radius-accounting">
-            radius-accounting {{_start_}}
-                policy "{{policy | ORPHRASE}}"
-            exit {{_end_}}
-            </group>
-            <group name="ingress">
-            ingress {{_start_}}
-                policer-control-policy "{{policer-control-policy | ORPHRASE}}"
-            exit {{_end_}}
-            </group>
-            <group name="egress">
-            egress {{_start_}}
-                policer-control-policy "{{policer-control-policy | ORPHRASE}}"
-                scheduler-policy "{{scheduler-policy | ORPHRASE}}"
+    exit {{_end_}}
+</group>
+#-------------------------------------------------- {{ ignore }}
+echo "LDP Configuration" {{_start_}}
+#-------------------------------------------------- {{ ignore }}
+        <group name="configure.router.ldp">     
+        ldp {{_start_}}
+            export-tunnel-table "{{export-tunnel-table}}"
+            fast-reroute {{fast-reroute | set(true)}}
+            fec-originate {{fec-originate | PREFIX}} {{pop | let(true)}}
+            <group name="interface_parameters">
+            interface-parameters {{_start_}}
+                <group name="interface">
+                interface "{{name | ORPHRASE}}" {{dual-stack | let(true)}}
+                    <group name="ipv4">
+                    ipv4 {{_start_}}
+                        no shutdown {{admin_state | set (true)}}
+                    exit {{_end_}}
+                    </group>
+                    no shutdown {{admin_state | set (true)}}
+                exit {{_end_}}
+                </group>
             exit {{_end_}}
             </group>
-            <group name="sla-profile-map">
-            sla-profile-map {{_start_}}
-                use-direct-map-as-default {{use-direct-map-as-default | set(true)}}
-                <group name="entry">
-                entry key "{{key}}" sla-profile "{{sla-profile}}"
-                </group>
+            <group name="targeted-session">
+            targeted-session {{_start_}}
+                no shutdown {{admin_state | set (true)}}
             exit {{_end_}}
             </group>
+            no shutdown {{admin_state | set (true)}}
         exit {{_end_}}
         </group>
-        <group name="sub-ident-policy">
-        sub-ident-policy "{{name | ORPHRASE |_start_}}" create
-            description "{{description | ORPHRASE}}"
-            <group name="sub-profile-map">
-            sub-profile-map {{_start_}}
-                use-direct-map-as-default {{use-direct-map-as-default | set(true)}}
+
+#-------------------------------------------------- {{ignore}}
+echo "Port Configuration" {{_start_}}
+#-------------------------------------------------- {{ignore}}
+<group name="configure.port">
+    port {{port-id}}
+        shutdown {{admin_state | set(false)}}
+        description "{{description}}"
+        <group name="ethernet">
+        ethernet {{_start_}}
+            mode {{mode}}
+            encap-type {{encap-type}}
+            mtu {{mtu | DIGIT}}
+            loopback internal persistent {{loopback | set(true)}}
+            <group name="network">
+            network {{ignore}}
+                queue-policy "{{queue-policy | DIGIT}}"
             exit {{_end_}}
             </group>
-            <group name="sla-profile-map">
-            sla-profile-map {{_start_}}
-                use-direct-map-as-default {{use-direct-map-as-default | set(true)}}
-            exit {{_end_}}
+            <group name="hold-time">
+            hold-time down {{down}}
             </group>
-            <group name="app-profile-map">
-            app-profile-map {{_start_}}
-                use-direct-map-as-default {{use-direct-map-as-default | set(true)}}
-            exit {{_end_}}
+            <group name="hold-time">
+            hold-time up {{up| DIGIT}} down {{down | DIGIT}}
             </group>
+            no autonegotiate {{autonegotiate | set(false)}}
+            autonegotiate {{autonegotiate}}
+            egress-rate {{egress-rate | DIGIT}} 
         exit {{_end_}}
         </group>
-        <group name="ppp-policy">
-        ppp-policy "{{name | ORPHRASE |_start_}}" create
-            description "{{description | ORPHRASE}}"
-            ppp-mtu {{ppp-mtu | DIGIT}}
-            max-sessions-per-mac {{max-sessions-per-mac | DIGIT}}
-            ppp-authentication {{ppp-authentication}}
-        exit {{_end_}}
-        </group>
-        <group name="local-user-db">
-        local-user-db "{{name | ORPHRASE |_start_}}" create
-        exit {{_end_}}
+        no shutdown {{admin_state | set(true)}}
+    exit {{_end_}}
+    </group>
+#-------------------------------------------------- {{_end_}}
+<macro>
+def set_true(data):
+    if 'bfd-enable' in data:
+        return data, {"bfd-enable": True}
+    elif 'black-hole' in data:
+        return data, {"black-hole": True}
+</macro>
+
+<group name="configure.router" contains_val="'router', 'management'"> 
+#-------------------------------------------------- {{ ignore }}
+echo "Management Router Configuration" {{ _start_ }}
+#-------------------------------------------------- {{ ignore }}
+    <group name="router-name.{{ router }}">
+    router {{ router | _start_ }}
+        <group name="entry">
+        static-route-entry {{ address | is_ip }}/{{ prefix }}
+            next-hop {{ next-hop | is_ip }}
+            exit {{_ignore_}}
         </group>
+        exit {{ _ignore_ }}
+    exit {{ _end_ }}
+    </group>
+</group>
+#-------------------------------------------------- {{ _end_ }}
+<group name="configure.router.twamp_light">
 #--------------------------------------------------{{ignore}}
-echo "Service Configuration" {{_end_}}
-</group><group name="configure.mcast-management">
-#-------------------------------------------------- {{ignore}}
-echo "Multicast Path Management Policy Configuration" {{_start_}}
-#-------------------------------------------------- {{ignore}}
-    mcast-management {{ignore}}
-        <group name="bandwidth-policy">
-        bandwidth-policy "{{name | ORPHRASE | _start_}}" create
-            <group name="t2-paths">
-            t2-paths {{_start_}}
-                <group name="secondary-path">
-                secondary-path {{_start_}}
-                    number-paths {{number-paths | DIGIT}} redundant-sfm {{redundant-sfm | DIGIT}}
+echo "TWAMP Light Configuration" {{_start_}}
+#--------------------------------------------------{{ignore}}
+        twamp-light {{_ignore_}}
+            <group name="reflector">
+            reflector udp-port {{udp_port | DIGIT | _start_}} create
+                description "{{description | ORPHRASE}}"
+                <group name="prefix">
+                prefix {{prefix | PREFIX | _start_}} create
+                    description "{{description | ORPHRASE}}"
                 exit {{_end_}}
                 </group>
+                no shutdown {{admin_state | set(true)}}
             exit {{_end_}}
             </group>
         exit {{_end_}}
+</group><group name="configure.python">
+#-------------------------------------------------- {{ ignore }}
+echo "PYTHON Configuration" {{_start_}}
+#-------------------------------------------------- {{ ignore }}
+    python {{ ignore }}
+        <group name="python-script">
+        python-script "{{name | ORPHRASE | _start_}}" create
+            description "{{description | ORPHRASE}}"
+            primary-url "{{primary-url | ORPHRASE}}"
+            no shutdown {{admin_state | set(true)}}
+        exit {{_end_}}
         </group>
-    exit {{ignore}}
-#-------------------------------------------------- {{ignore}}
-echo "Switch Fabric Configuration" {{_end_}}
-</group><group name="system.eth-cfm">
-    eth-cfm {{_start_}}
-    <group name="domain">
-        domain {{domain-id}} format {{format}} level {{level}}
-            <group name="associations">
-            association {{association-id}} format {{format}} name {{name | strip('"')}}
-                bridge-identifier {{bridge-id}}
-                exit {{ignore}}
-                remote-mepid {{remote-mepid}}
+        <group name="python-policy">
+        python-policy "{{name | ORPHRASE | _start_}}" create
+            description "{{description | ORPHRASE}}"
+            <group name="dhcp">
+            dhcp {{message | WORD}} direction {{direction}} script "{{script | ORPHRASE}}"
             </group>
-    </group>
-#-------------------------------------------------- {{_end_}}
-</group>
-<group name="configure.router.bgp">
+            <group name="dhcp6">
+            dhcp6 {{message | WORD}} direction {{direction}} script "{{script | ORPHRASE}}"
+            </group>
+        exit {{_end_}}
+        </group>
+    exit {{_end_}}
+#--------------------------------------------------
+</group><group name="configure.router.policy">
 #-------------------------------------------------- {{ignore}}
-echo "BGP Configuration" {{_start_}}
+echo "Policy Configuration" {{_start_}}
 #-------------------------------------------------- {{ignore}}
-        bgp {{ignore}}
-            ibgp-multipath {{ibgp-multipath | set(true)}}   
-            enable-peer-tracking {{enable-peer-tracking | set(true)}}   
-            advertise-external {{advertise-external | ORPHRASE | split(" ") | to_list}}
-            backup-path {{backup-path | ORPHRASE | split(" ") | to_list}}
-            <group name="next-hop-resolution">
-            next-hop-resolution {{_start_}}
-                policy {{ policy | ORPHRASE }}
-                <group name="shortcut-tunnel">
-                shortcut-tunnel {{_start_}}
-                    <group name="family">
-                    family {{type}}
-                        <group name="resolution-filter">
-                        resolution-filter {{_start_}}
-                            {{type | ORPHRASE}}
-                        exit{{_end_}}
-                        </group>
-                        resolution filter {{_start_}}
-                    exit{{_end_}}
-                    </group>
-                exit{{_end_}}
-                </group>
-            exit{{_end_}}
+        policy-options {{ignore}}
+            begin {{ignore}}
+            <group name="prefix-list">
+            prefix-list {{ name | re(r'.*') }}     
+                {{ prefix-list_cfg | _line_ | contains("prefix") | joinmatches }}
+            exit {{_end_}}
             </group>
-            peer-tracking-policy {{peer-tracking-policy | ORPHRASE}}
-
-            <group name="rib-management">
-            rib-management {{_start_}}
-                <group name="ipv6">
-                ipv6{{_start_}}{{_exact_}}
-                    route-table-import {{route-table-import | ORPHRASE}}
-                exit{{_end_}} 
-                </group>
-
-                <group name="label-ipv6">
-                label-ipv6{{_start_}}{{_exact_}}
-                    route-table-import {{route-table-import | ORPHRASE}}
-                exit{{_end_}} 
-                </group>
 
-            exit{{_end_}}
+            <group name="community">
+            community {{ name | re(r'.*') }}   
+                members "{{ members | WORD }}"
+                expression {{ expression | PHRASE }}
+            exit {{_end_}}
             </group>
-            <group name="group">
-            group {{name | _start_ | ORPHRASE}}
-                shutdown {{admin-state | set(false)}}
-                description {{description | ORPHRASE}}
-                family {{family | ORPHRASE}}
-                loop-detect {{loop-detect | ORPHRASE }}
-                next-hop-self {{next-hop-self | set(true)}}
-                vpn-apply-import {{vpn-apply-import | set (true)}}
-                vpn-apply-export {{vpn-apply-export | set (true)}}
-                type {{type | ORPHRASE}}
-                multihop {{type | DIGIT}}
-                local-address {{ local-address | IP}}
-                min-route-advertisement {{min-route-advertisement | DIGIT}}
-                preference {{preference | DIGIT}}
-                path-mtu-discovery {{path-mtu-discovery | set(true)}}
-                import {{import | ORPHRASE | split (" ") }}
-                export {{export | ORPHRASE | split (" ") }}
-                peer-as {{peer-as | DIGIT}}
-                local-as {{local-as | DIGIT}}
-                ttl-security {{ttl-security | DIGIT}}
-                <group name="add-paths">
-                add-paths {{_start_}}
-                    {{config | ORPHRASE }}
-                exit{{_end_}}
-                </group>
-
-                prefix-limit ipv4 {{prefix-limit-ipv4 | _exact_ | DIGIT }} {{ post-importv4 | let (true) }}
-                prefix-limit ipv6 {{prefix-limit-ipv6 | _exact_ | DIGIT }} {{ post-importv6 | let (true) }} 
 
-                <group name="neighbor">
-                neighbor {{neighbor-id | IP}}
-                    description "{{description | ORPHRASE}}"
-                    peer-as {{peer-as | DIGIT}}
+            <group name="policy-statement">
+            policy-statement {{ name | re(r'.*') }}
+                <group name="entry-list">
+                entry {{entry-id | DIGIT}}
+                    description "{{description | re(r'.*')}}"
+                    <group name="from">
+                    from {{_start_}}
+                        {{ from | ORPHRASE | joinmatches }}
+                    exit {{_end_}}
+                    </group>
+                    <group name="to">
+                    to {{_start_}}
+                        {{ to | ORPHRASE | joinmatches }}
+                    exit {{_end_}}
+                    </group>
                     
-                exit{{_end_}}
+                    <group name="action">
+                    action {{type | re (r'.*')}} {{_start_}}
+                        {{ addons | ORPHRASE | joinmatches }}
+                    exit {{_end_}}
+                    </group>                
+                    
+                    exit {{_end_}}
                 </group>
-            
-            exit{{_end_}}
-            </group>
-            shutdown {{admin-state | set(true)}}
-        exit{{_end_}}
-        </group><group name="configure.filter">
+                default-action {{default-action | re (r'.*')}}
+            exit {{_end_}}    
+            </group>        
+                
+            exit {{_end_}}
+
+</group><group name="configure.vrrp">
 #-------------------------------------------------- {{ignore}}
-echo "Filter Configuration" {{_start_}}
+echo "Vrrp Configuration" {{_start_}}
 #-------------------------------------------------- {{ignore}}
-    filter {{ignore}}
-        <group name="ip-filter">
-        ip-filter {{id | DIGIT | _start_}} name "{{name | ORPHRASE}}" create
-            default-action {{default-action}}
-            description "{{description | ORPHRASE}}"
-            scope {{scope}}
-            <group name="embed-filter">
-            embed-filter flowspec router "{{router-instance | _start_}}"
-            embed-filter flowspec router "{{router-instance | _start_}}" offset {{offset | DIGIT}}
-            embed-filter {{id | DIGIT | _start_}}
-            </group>
-            <group name="entry">
-            entry {{entry | DIGIT | _start_}} create
-                description "{{description | ORPHRASE}}"
-                log {{log | DIGIT}}
-                <group name="match-protocol">
-                match protocol {{protocol}}
-                    src-ip {{src-ip-address | PREFIX}}
-                    src-ip ip-prefix-list "{{src-ip-prefix-list}}"
-                    dst-ip {{dst-ip-address | PREFIX}}
-                    dst-ip ip-prefix-list "{{dst-ip-prefix-list}}"
-                    src-port eq {{ src-port | ORPHRASE | split(' ') | join(',')}}
-                    dst-port eq {{ dst-port | ORPHRASE | split(' ') | join(',')}}
-                    icmp-type {{icmp-type}}
-                exit {{_end_}}
-                </group>
-                <group name="match">
-                match {{_start_}}
-                    src-ip {{src-ip-address | PREFIX}}
-                    src-ip ip-prefix-list "{{src-ip-prefix-list}}"
-                    dst-ip {{dst-ip-address | PREFIX}}
-                    dst-ip ip-prefix-list "{{dst-ip-prefix-list}}"
-                exit {{_end_}}
-                </group>  
-                <group name="action">
-                action {{_start_}}
-                    forward {{forward |set(true)}}
-                    drop {{drop |set(true)}}
-                exit {{_end_}} 
-                </group>
-            </group>
-        exit {{_end_}}
-        </group>
-        <group name="ipv6-filter">
-        ipv6-filter {{id | DIGIT | _start_}} name "{{name | ORPHRASE}}" create
-            scope {{scope}}
-            description "{{description | ORPHRASE}}"
-            <group name="embed-filter">
-            embed-filter flowspec router "{{router-instance | _start_}}"
-            embed-filter flowspec router "{{router-instance | _start_}}" offset {{offset | DIGIT}}
-            embed-filter {{id | DIGIT | _start_}}
-            </group>
-            <group name="entry">
-            entry {{entry-id | _start_ }} create
-                description "{{description | ORPHRASE}}"
-                log {{log-id}}
-                <group name="match">
-                match {{_start_}}
-                    src-ip {{src-ip-address | PREFIXV6}}
-                    src-ip ip-prefix-list "{{src-ip-prefix-list}}"
-                    dst-ip {{dst-ip-address | ORPHRASE}}
-                    dst-ip ip-prefix-list "{{dst-ip-prefix-list}}"
-                exit {{_end_}}
-                </group>  
-                <group name="match-next-header">
-                match next-header {{protocol | _start_}}
-                    src-ip {{src-ipv6-address | PREFIXV6 }}
-                    src-ip ipv6-prefix-list "{{src-ipv6-prefix-list}}"
-                    dst-ip {{dst-ipv6-address | ORPHRASE}}
-                    dst-ip ipv6-prefix-list "{{dst-ipv6-prefix-list}}"
-                    src-port eq {{ src-port | ORPHRASE | split(' ') | join(',')}}
-                    dst-port eq {{ dst-port | ORPHRASE | split(' ') | join(',')}}
-                    icmp-type {{icmp-type}}
+    vrrp {{_start_}}
+        <group name="policy">
+        policy {{id | DIGIT}}
+            delta-in-use-limit {{delta-in-use-limit | DIGIT}}
+            <group name="priority-event">
+            priority-event {{_start_}}
+                <group name="lag-port-down">
+                lag-port-down {{id | DIGIT }}
+                    hold-clear {{hold-clear | DIGIT}}
+                    <group name="number-down">
+                    number-down {{id | DIGIT}}
+                        priority {{priority | DIGIT}} delta
+                    exit {{_end_}}
+                    </group>
                 exit {{_end_}}
                 </group>
-                <group name="action">
-                action {{_start_}}
-                    forward {{forward | set(true)}}
-                    drop {{drop | set(true)}}
-                    drop hop-limit {{ltgteq | WORD}} {{hop-limit-value | DIGIT}}
-                exit {{_end_}} 
-                </group>  
             exit {{_end_}}
             </group>
         exit {{_end_}}
         </group>
     exit {{_end_}}
-</group>
-<macro>
-def macro_gen(data):
-	if 'generate' in data:
-		return data, {"generate": True}
-
-def macro_source(data):
-    if 'main' in data:
-        return data, {"main": True}
-    elif 'change' in data:
-        return data, {"change": True}
-    elif 'security' in data:
-        return data, {"security": True}   
-</macro>
-
+    </group>
+#-------------------------------------------------- {{_end_}}<group name="configure.filter">
 #-------------------------------------------------- {{ignore}}
-echo "Log Configuration" <group name="configure.log"> {{_start_}}
+echo "Filter Log Configuration" {{_start_}}
 #-------------------------------------------------- {{ignore}}
-    log {{ignore}}
-    <group name="file">
-        file-id {{file-id}} 
+    filter {{ignore}}
+        <group name="log">
+        log {{log-id}} create
             description "{{description}}"
-            <group name="compact-flash-location">
-            location {{primary}}: 
-            </group>
-            rollover {{rollover}} retention {{retention}} 
-        exit {{ignore}}
-    </group>
-        <group name="log-events.chassis">
-        event-control "{{event}}" {{event-id}} {{generate | re(r'generate') | macro('macro_gen')}}
-        </group>
-        <group name="syslog">
-        syslog {{syslog-id | DIGIT}}
-            description "{{description | PHRASE}}"
-            address {{address}}
-        </group>
-        exit {{_end_}}
-        <group name="snmp-trap-group">
-        snmp-trap-group {{log-id | DIGIT | _start_ }}
-            description "{{description}}"
-            <group name="trap-target">
-            trap-target "{{name | _start_ }}" address {{address}} {{snmp-version}} notify-community "{{notify-community}}" security-level {{security-level}}
-            trap-target "{{name | _start_ }}" address {{address}} {{snmp-version}} notify-community "{{notify-community}}"
-            </group>
+        exit {{_end_}}  
         </group>
-        exit {{_end_}}
-        <group>
-        log-id {{log-id}} 
-            description "{{description}}"
-            <group name="source">
-            from {{source | _start_ | macro('macro_source')}}
-            from {{source | _start_ | macro('macro_source')}} {{security | macro('macro_source')}}
-            from {{source | _start_ | macro('macro_source')}} {{security | macro('macro_source')}} {{change | macro('macro_source')}}
-            </group>
-            to {{destination}}
+    exit {{_end_}}       
+</group>
+<group name="configure.subscriber-mgmt">
+#--------------------------------------------------{{ignore}}
+echo "Subscriber-mgmt Configuration" {{_start_}}
+#--------------------------------------------------{{ignore}}
+        subscriber-mgmt {{ignore}}
+        <group name="auto-sub-id-key">
+        auto-sub-id-key {{_start_}}
+            ipoe-sub-id-key {{ipoe-sub-id-key}}
         exit {{_end_}}
         </group>
-    exit {{_end_}}
-</group>
-<group name="configure.router.l2tp">
-#-------------------------------------------------- {{ignore}}
-echo "L2TP Configuration" {{_start_}}
-#-------------------------------------------------- {{ignore}}
-        l2tp {{_start_}}
-            <group name="group">
-            group "{{group}}" protocol {{protocol}} create
-                <group name="tunnel">
-                tunnel "{{tunnel}}" create
-                    local-name "{{local-name}}"
-                    peer {{peer | IP}}
-                    no shutdown {{admin_state | set(true)}}
-                exit {{_end_}}
-                </group>
-                no shutdown {{admin_state | set(true)}}
+        <group name="authentication-policy">
+        authentication-policy "{{name | ORPHRASE | _start_ }}" create
+            description "{{description | ORPHRASE}}"
+            password "{{paswword}}" {{hash}}
+            user-name-format {{user-name-format | WORD }}
+            fallback-action {{fallback-action}}
+            pppoe-access-method {{pppoe-access-method}}
+            <group name="include-radius-attribute">
+            include-radius-attribute {{_start_}}
+                circuit-id {{circuit-id | set(true)}}
+                remote-id {{remote-id | set(true)}}
+                nas-port-id {{nas-port-id | set(true)}}
+                nas-identifier {{nas-identifier | set(true)}}
+                dhcp-options {{dhcp-options | set(true)}}
+                dhcp6-options {{dhcp6-options | set(true)}}
+                access-loop-options {{access-loop-options | set(true)}}
+                mac-address {{mac-address | set(true)}}
+                called-station-id {{called-station-id  | set(true)}}
+                calling-station-id {{calling-station-id}}
+                user-name {{user-name | set(true)}}
+                acct-authentic {{acct-authentic | set(true)}}
+                delegated-ipv6-prefix {{delegated-ipv6-prefix | set(true)}}
+                framed-ip-addr {{framed-ip-addr | set(true)}}
+                framed-ipv6-prefix {{framed-ipv6-prefix | set(true)}}
+                sla-profile {{sla-profile | set(true)}}
+                sub-profile {{sub-profile | set(true)}}
+                subscriber-id {{subscriber-id | set(true)}}
+                no detailed-acct-attributes {{detailed-acct-attributes | set(false)}}
+                std-acct-attributes {{std-acct-attributes | set(true)}}
             exit {{_end_}}
             </group>
-            no shutdown {{admin_state | set(true)}}
-        exit {{ignore}}
-#-------------------------------------------------- {{_end_}}
-</group><group name="configure.router.dhcp">
-#-------------------------------------------------- {{ ignore }}
-echo "Local DHCP Server (Base Router) Configuration" {{_start_}}
-#-------------------------------------------------- {{ ignore }}
-    router {{_ignore_}}
-        dhcp {{_ignore_}}
-            <group name="server">
-            local-dhcp-server "{{name | ORPHRASE | _start_}}" create
-                user-db "{{user-db | ORPHRASE}}"
-                <group name="pool">
-                pool "{{name | ORPHRASE | _start_}}" create
-                    min-lease-time {{min-lease-time | ORPHRASE}}
-                    max-lease-time {{max-lease-time | ORPHRASE}}
-                    <group name="options">
-                    options {{_start_}}
-                        dns-server {{dns-server | ORPHRASE | split(" ")}}
-                        <group name="custom-option">
-                        custom-option {{id | DIGIT}} address {{address | IP}}
-                        </group>
-                    exit {{_end_}}
-                    </group>
-                    <group name="subnet">
-                    subnet {{prefix | PREFIX}} create
-                        address-range {{address-range | ORPHRASE}}
-                    exit {{_end_}}
-                    </group>
-                exit {{_end_}}
-                </group>
-                no shutdown {{admin_state | set (true)}}
+            <group name="radius-authentication-server">
+            radius-authentication-server {{_start_}}
+                retry {{retry | DIGIT}}
+                source-address {{source-address | IP}}
+                timeout {{timeout | DIGIT }}
             exit {{_end_}}
             </group>
-        exit{{_ignore_}}
-    exit{{_ignore_}}
-</group>
-#-------------------------------------------------- {{_end_}}
-<macro>
-def set_true(data):
-    if 'bfd-enable' in data:
-        return data, {"bfd-enable": True}
-    elif 'black-hole' in data:
-        return data, {"black-hole": True}
-</macro>
-
-<group name="configure.router" contains_val="'router', 'management'"> 
-#-------------------------------------------------- {{ ignore }}
-echo "Management Router Configuration" {{ _start_ }}
-#-------------------------------------------------- {{ ignore }}
-    <group name="router-name.{{ router }}">
-    router {{ router | _start_ }}
-        <group name="entry">
-        static-route-entry {{ address | is_ip }}/{{ prefix }}
-            next-hop {{ next-hop | is_ip }}
-            exit {{_ignore_}}
+        exit {{_end_}}
         </group>
-        exit {{ _ignore_ }}
-    exit {{ _end_ }}
-    </group>
-</group>
-#-------------------------------------------------- {{ _end_ }}
-<macro>
-def macro_true(data):
-	if 'prefer' in data:
-		return  data, {"prefer": True}
-</macro>
-    system {{_start_}}
-        <group name="configure.system">
-        name {{ name | strip('"') }}
-        contact {{ contact | re(r"\W.*") | strip('"')}}
-        location {{location | re(r"\W.*") | strip('"')}}
-        <group name="rollback">
-        rollback {{rollback | set(true)}}
-            rollback-location {{cf_slot | strip('"') | to_str}}:\{{ directory | to_str | strip('"')}}
-            rescue-location {{rescue_cf_slot | strip('"') | to_str}}:\{{ rescue_directory | to_str | strip('"')}}
+        <group name="radius-accounting-policy">
+        radius-accounting-policy "{{name | ORPHRASE |_start_}}" create
+            description "{{description | ORPHRASE}}"
+            no queue-instance-accounting {{queue-instance-accounting | set(false)}}
+            session-accounting {{session-accounting}}
+            <group name="include-radius-attribute">
+            include-radius-attribute {{_start_}}
+                circuit-id {{circuit-id | set(true)}}
+                remote-id {{remote-id | set(true)}}
+                nas-port-id {{nas-port-id | set(true)}}
+                nas-identifier {{nas-identifier | set(true)}}
+                dhcp-options {{dhcp-options | set(true)}}
+                dhcp6-options {{dhcp6-options | set(true)}}
+                access-loop-options {{access-loop-options | set(true)}}
+                mac-address {{mac-address | set(true)}}
+                called-station-id {{called-station-id  | set(true)}}
+                calling-station-id {{calling-station-id}}
+                user-name {{user-name | set(true)}}
+                acct-authentic {{acct-authentic | set(true)}}
+                delegated-ipv6-prefix {{delegated-ipv6-prefix | set(true)}}
+                framed-ip-addr {{framed-ip-addr | set(true)}}
+                framed-ipv6-prefix {{framed-ipv6-prefix | set(true)}}
+                sla-profile {{sla-profile | set(true)}}
+                sub-profile {{sub-profile | set(true)}}
+                subscriber-id {{subscriber-id | set(true)}}
+                no detailed-acct-attributes {{detailed-acct-attributes | set(false)}}
+                std-acct-attributes {{std-acct-attributes | set(true)}}
             exit {{_end_}}
-        </group>
-        <group name="power-management">
-        power-management {{_start_}}
-            <group name="peq">
-            peq {{peq-id | _start_}}
-                peq-type {{peq-type}}
-                no shutdown {{ admin-state | set(true) }}
-                shutdown {{ admin-state | set(false) }}
+            </group>
+            session-id-format {{session-id-format}}
+            radius-server-policy "{{radius-server-policy | ORPHRASE}}"
+            <group name="radius-accounting-server">
+            radius-accounting-server {{_start_}}
+                source-address {{source-address | IP}}
             exit {{_end_}}
             </group>
         exit {{_end_}}
         </group>
-        <group name="dns">
-        dns {{_start_}}
-            address-pref {{address-pref | ORPHRASE }}
-        exit {{_end_}}
-        </group>
-        <group name="load-balancing">
-        load-balancing {{_start_}}
-            l4-load-balancing {{ l4-load-balancing | set(true) }}
-            lsr-load-balancing {{lsr-hashing}}
+        <group name="ipoe-session-policy">
+        ipoe-session-policy "{{name | ORPHRASE |_start_}}" create
+            description "{{description | ORPHRASE}}"
+            session-key {{session-key | ORPHRASE | split(' ') | join(',') }}
         exit {{_end_}}
         </group>
-        <group name="time" contains="time_zone">
-        time {{_start_}}
-            <group name="ntp" containsall="admin_state">
-            ntp {{_start_}}{{ _exact_ }}
-                no shutdown {{ admin_state | set(true) }}
-                shutdown {{ admin_state | set(false) }}
-                server {{server | IP}}
+        <group name="sla-profile">
+        sla-profile "{{name | ORPHRASE |_start_}}" create
+            description "{{description | ORPHRASE}}"
+            <group name="ingress">
+            ingress {{_start_}}
+                qos {{qos | DIGIT }}
+                exit {{ingore}}
+                ip-filter {{ip-filter | DIGIT }}
+                ipv6-filter {{ipv6-filter | DIGIT }}
+                no qos-marking-from-sap {{qos-marking-from-sap | set(false)}}
             exit {{_end_}}
             </group>
-            <group name="sntp">
-            sntp {{_start_}}{{ _exact_ }}
-                no shutdown {{ admin_state | set(true) }}
-                shutdown {{ admin_state | set(false) }}
+            <group name="egress">
+            egress {{_start_}}
+                qos {{qos | DIGIT }}
+                exit {{ingore}}
+                ip-filter {{ip-filter | DIGIT }}
+                ipv6-filter {{ipv6-filter | DIGIT }}
+                no qos-marking-from-sap {{qos-marking-from-sap | set(false)}}
             exit {{_end_}}
             </group>
-            <group name="dst-zone">
-            dst-zone {{ dst-zone | _start_}}
-                start last {{dst-zone-start | ORPHRASE }}
-                end last {{dst-zone-end | ORPHRASE }}
-            exit {{_end_}}
-            </group> 
-            zone {{time_zone}}
         exit {{_end_}}
         </group>
-        <group name="snmp">
-            packet-size {{packet_size}}
-        </group>
-        <group name="time">
-        time {{ignore}}
-                <group name="ntp">
-                <group>
-                no authentication-check {{authentication-check | set(false)}}
-                shutdown {{admin-state | set(false)}}
-                <group>
-                no authentication-check {{authentication-check | set(false)}}
-                no shutdown {{admin-state | set(true)}}
-                </group> 
-                </group>
-                    <group name="server">
-                <group>
-                server {{ip-address | _start_}}
-                server {{ip-address | _start_}} {{prefer | macro('macro_true')}}
-                </group>
-                </group>
-        <group name="dst-zone">
-            dst-zone {{summer-time-zone | _start_}}
-                <group name="start">
-                start {{week | _start_}} {{day}} {{month}} {{hours-minute}}
-                </group> 
-                <group name="end">
-                end {{week | _start_ }} {{day}} {{month}} {{hours-minute}}
-                </group>
-        </group> 
-        <group name="zone.standard">
-            zone {{name}}
-        </group>
-        <group name="script-control">
-        script-control {{_start_}}
-            <group name="script">
-            script "{{name | _start_}}"
-                description "{{description | ORPHRASE}}"
-                location "{{location}}"
-                shutdown {{ admin-state | set(false) }}
-                no shutdown {{ admin-state | set(true) }}
+        <group name="sub-profile">
+        sub-profile "{{name | ORPHRASE |_start_}}" create
+            description "{{description | ORPHRASE}}"
+            <group name="radius-accounting">
+            radius-accounting {{_start_}}
+                policy "{{policy | ORPHRASE}}"
             exit {{_end_}}
             </group>
-            <group name="script-policy">
-            script-policy "{{name | _start_}}"
-                results "{{results}}"
-                script "{{script-file}}"
-                shutdown {{ admin-state | set(false) }}
-                no shutdown {{ admin-state | set(true) }}
-            exit {{_end_}}       
-            </group>
-        exit {{_end_}}
-        </group>
-                </group>       
-                </group>
-#-------------------------------------------------- {{_end_}}
-                </group>
-<group name="configure.router.igmp" >
-#-------------------------------------------------- {{ignore}}
-echo "IGMP Configuration" {{_start_}}
-#-------------------------------------------------- {{ignore}}
-        igmp {{ignore}}
-            <group name="ssm-translate">
-            ssm-translate {{_start_}}
-                <group name="grp-range">
-                grp-range {{grp-range | ORPHRASE}}
-                    source {{source | IP}}
-                exit {{_end_}}
-                </group>
-            exit {{_ignore_}}
+            <group name="ingress">
+            ingress {{_start_}}
+                policer-control-policy "{{policer-control-policy | ORPHRASE}}"
+            exit {{_end_}}
             </group>
-            <group name="interface">
-            interface "{{name | _start_}}"
-                no shutdown {{admin_state | set(true)}}
-            exit {{_end_}}    
+            <group name="egress">
+            egress {{_start_}}
+                policer-control-policy "{{policer-control-policy | ORPHRASE}}"
+                scheduler-policy "{{scheduler-policy | ORPHRASE}}"
+            exit {{_end_}}
             </group>
-            query-interval {{query_interval | DIGIT}}
-            query-last-member-interval {{query-last-member-interval | DIGIT}}
-            no shutdown {{admin_state | set(true)}}
-        exit {{_end_}}
-        </group>
-#-------------------------------------------------- {{_end_}}
-<group name="configure.system">
-# TiMOS-C-{{version | _start_}} cpm/hops64 Nokia {{platform}} SR Copyright (c) {{year}} Nokia.
-# All rights reserved. All use subject to applicable license agreements. {{ ignore }}
-# Built on Wed Nov 13 11:34:50 PST 2019 by builder in /builds/c/160B/R10/panos/main {{ ignore }}
-</group>
-
-<group name="system.management-access-filter">
-            management-access-filter {{_start_}}
-                <group name="ip-filter-params">
-                ip-filter {{ipv4-filter | set(true)}}
-                    shutdown {{ admin-state | set(false)}}
-                    default-action {{default-action}}
-                    no shutdown {{ admin-state | set(true)}}
-                </group>
-                <group name="ipv6-filter-params">
-                ipv6-filter {{ipv6-filter | set(true)}}
-                    shutdown {{ admin-state | set(false)}}
-                    default-action {{default-action}}
-                    no shutdown {{ admin-state | set(true)}}
-                </group>
-</group>
-<group name="system.management-access-filter">
-            management-access-filter {{_start_}}
-                ip-filter {{_exact_}}
-                <group name="ip-filter">
-                <group name="entry">
-                    entry {{entry-id | DIGIT }}
-                        description {{description | re(r"\W.*") | strip('"')}}
-                        src-ip {{src-ip}}
-                        protocol {{protocol}}
-                        dst-port {{dst-port | re(r"\d.*")}}
-                        router {{router-instance | strip('"')}}
-                        action {{action | strip('"')}}
-                    exit {{ignore}}
-                ipv6-filter {{_end_}}
-                </group>
-                </group>
-</group>
-<group name="system.management-access-filter">
-                ipv6-filter {{_start_}}
-                <group name="ipv6-filter">
+            <group name="sla-profile-map">
+            sla-profile-map {{_start_}}
+                use-direct-map-as-default {{use-direct-map-as-default | set(true)}}
                 <group name="entry">
-                    entry {{entry-id}}
-                        description {{description | re(r"\W.*") | strip('"')}}
-                        src-ip {{src-ip }}
-                        protocol {{protocol}}
-                        dst-port {{dst-port | re(r"\d.*")}}
-                        router {{router-instance | strip('"')}}
-                        action {{action-instance | strip('"')}}
-                    exit {{ignore}}
-                </group>
+                entry key "{{key}}" sla-profile "{{sla-profile}}"
                 </group>
-</group>
-<group name="configure.python">
-#-------------------------------------------------- {{ ignore }}
-echo "PYTHON Configuration" {{_start_}}
-#-------------------------------------------------- {{ ignore }}
-    python {{ ignore }}
-        <group name="python-script">
-        python-script "{{name | ORPHRASE | _start_}}" create
-            description "{{description | ORPHRASE}}"
-            primary-url "{{primary-url | ORPHRASE}}"
-            no shutdown {{admin_state | set(true)}}
+            exit {{_end_}}
+            </group>
         exit {{_end_}}
         </group>
-        <group name="python-policy">
-        python-policy "{{name | ORPHRASE | _start_}}" create
+        <group name="sub-ident-policy">
+        sub-ident-policy "{{name | ORPHRASE |_start_}}" create
             description "{{description | ORPHRASE}}"
-            <group name="dhcp">
-            dhcp {{message | WORD}} direction {{direction}} script "{{script | ORPHRASE}}"
+            <group name="sub-profile-map">
+            sub-profile-map {{_start_}}
+                use-direct-map-as-default {{use-direct-map-as-default | set(true)}}
+            exit {{_end_}}
             </group>
-            <group name="dhcp6">
-            dhcp6 {{message | WORD}} direction {{direction}} script "{{script | ORPHRASE}}"
+            <group name="sla-profile-map">
+            sla-profile-map {{_start_}}
+                use-direct-map-as-default {{use-direct-map-as-default | set(true)}}
+            exit {{_end_}}
+            </group>
+            <group name="app-profile-map">
+            app-profile-map {{_start_}}
+                use-direct-map-as-default {{use-direct-map-as-default | set(true)}}
+            exit {{_end_}}
             </group>
         exit {{_end_}}
         </group>
-    exit {{_end_}}
-#--------------------------------------------------
-</group><group name="configure.aaa_declarations">
-#-------------------------------------------------- {{ignore}}
-echo "AAA (Declarations) Configuration" {{_start_}}
-#-------------------------------------------------- {{ignore}}
-    aaa {{ignore}}
-        <group name="radius-server-policy">
-        radius-server-policy "{{name | ORPHRASE | _start_}}" create
+        <group name="ppp-policy">
+        ppp-policy "{{name | ORPHRASE |_start_}}" create
+            description "{{description | ORPHRASE}}"
+            ppp-mtu {{ppp-mtu | DIGIT}}
+            max-sessions-per-mac {{max-sessions-per-mac | DIGIT}}
+            ppp-authentication {{ppp-authentication}}
         exit {{_end_}}
         </group>
-        <group name="radius-script-policy">
-        radius-script-policy "{{name | ORPHRASE | _start_ }}" create
+        <group name="local-user-db">
+        local-user-db "{{name | ORPHRASE |_start_}}" create
         exit {{_end_}}
         </group>
-    exit {{ignore}}
-#-------------------------------------------------- {{ignore}}
-echo "Multicast Path Management Policy Configuration" {{_end_}}
-</group><group name="configure.qos">
-#-------------------------------------------------- {{ignore}}
-echo "QoS Policy Configuration" {{_start_}}
-#-------------------------------------------------- {{ignore}}
-    qos {{ignore}}
-        <group name="match-list">
-        match-list {{_start_}}
-            <group name="ip-prefix-list">
-            ip-prefix-list "{{name}}" create
-                description "{{description | ORPHRASE}}"
-                <group name="prefix">
-                prefix {{prefix | PREFIX}}
-                </group>
+#--------------------------------------------------{{ignore}}
+echo "Service Configuration" {{_end_}}
+</group>#-------------------------------------------------- {{ ignore}}
+echo "Router (Network Side) Configuration" {{ _start_ }}
+#-------------------------------------------------- {{ ignore}}
+<group name="router">
+    router {{ignore}}
+    <group name="interfaces">
+        interface {{interface_name | strip('"')}}
+            shutdown {{admin_state | set(false) }}
+            description {{description | strip('"')}}
+            enable-ingress-stats {{ingress_stats | set(true)}}
+            <group name="ipv4.primary">
+            address {{address | IP}}/{{prefix_length}}
             </group>
-        exit {{_end_}}
-        </group>
-        <group name="network-queue">
-        network-queue "{{name | _start_ }}" create 
-            <group name="queue">
-            queue {{id | DIGIT | _start_ }} {{ multipoint | WORD }} create
-            queue {{id | DIGIT | _start_ }} create
-                port-parent {{port-parent-level | set(1)}} {{port-parent-cir-level | set(1)}}
-                mbs {{mbs | DIGIT}}
-                port-parent level {{port-parent-level}} cir-level {{port-parent-cir-level}}
-                <group name="drop-tail">
-                drop-tail {{_start_}}
-                    <group name="low">
-                    low {{_start_}}
-                        percent-reduction-from-mbs {{percent-reduction-from-mbs | DIGIT}}
-                    exit {{_end_}}
-                    </group>
-                exit {{_end_}}
+            loopback {{loopback | set(true)}}
+            <group name="ipv4.bfd">
+            bfd {{ipv4_bfd | re(r"\d.*")}}
+            </group>
+            ldp_sync_timer {{ldp_sync_timer}}
+            cpu_protection {{cpu_protection}}
+            port {{port}}
+            <group name="ipv6">
+            ipv6 {{_start_}}
+                <group name="address">
+                address {{ipv6_address | IPV6 }}/{{prefix_length}}
                 </group>
-            exit {{_end_}}
+                <group name="address">
+                bfd {{ipv6_bfd | re(r"\d.*")}}
+                </group>
+            exit {{ignore}}
             </group>
-            <group name="fc">
-            fc {{tag | WORD | _start_ }} create
-                multicast-queue {{multicast-queue}}
-                queue {{queue-id | DIGIT}}
-                <group name="egress-hsmda">
-                egress-hsmda {{_start_}}
-                    queue {{queue-id}}
-                exit {{_end_}}
-                </group>
-            exit {{_end_}}
-            </group>
-        exit {{_end_}}
-        </group>
-        <group name="port-scheduler-policy">
-        port-scheduler-policy "{{name | ORPHRASE | _start_}}" create
-            max-rate {{max-rate | DIGIT}}
-            level {{level-id | DIGIT}} rate max cir {{cir-max | DIGIT}}
-        exit {{_end_}}
-        </group>
-        <group name="queue-group-templates.egress.queue-group">
-        queue-group-templates {{_start_}}
-            egress {{_start_}}
-                queue-group "{{name | _start_ }}" create
-                    description "{{description | ORPHRASE }}"
-                    <group name="queue">
-                    queue {{id | _start_}} {{ type | WORD }} create
-                        port-parent level {{port-parent-level | DIGIT }} cir-level {{port-parent-cir-level | DIGIT }}
-                        port-parent cir-level {{port-parent-cir-level | DIGIT }}
-                    exit {{_end_}}
-                    </group>
-                    <group name="fc">
-                    fc {{tag | WORD | _start_ }} create
-                        multicast-queue {{multicast-queue}}
-                        queue {{queue-id | DIGIT}}
-                        <group name="egress-hsmda">
-                        egress-hsmda {{_start_}}
-                            queue {{queue-id}}
-                        exit {{_end_}}
-                        </group>
-                    exit {{_end_}}
-                    </group>
-                exit {{_end_}}
-            exit {{_end_}}
-        exit {{_end_}}
-        </group>
-        <group name="scheduler-policy">
-        scheduler-policy "{{name}}" create
-            <group name="tier">
-            tier {{id |_start_}}
-                <group name="scheduler">
-                scheduler "{{name}}" create
-                    rate {{rate | DIGIT }}
-                exit {{_end_}}
-                </group>
-            exit {{_end_}}
-            </group>
-        exit {{_end_}}
-        </group>
-        <group name="policer-control-policy">
-        policer-control-policy "{{name | ORPHRASE | _start_ }}" create
-            description "{{description | ORPHRASE }}"
-        exit {{_end_}}
-        </group>
-        <group name="sap-ingress">
-        sap-ingress {{policy-id |DIGIT | _start_}} name "{{name | ORPHRASE}}" create
-            description "{{description | ORPHRASE}}"
-            <group name="queue">
-            queue {{id | DIGIT | _start_}} {{ type | WORD }} create
-            queue {{id | DIGIT | _start_}} create
-                rate {{rate | DIGIT}}
-                port-parent level {{port-parent-level | DIGIT }} cir-level {{port-parent-cir-level | DIGIT }}
-                port-parent cir-level {{port-parent-cir-level | DIGIT }}
-            exit {{_end_}}
-            </group>
-            <group name="policer">
-            policer {{id | DIGIT | _start_}} create
-                description "{{description | ORPHRASE}}"
-                parent "{{parent | ORPHRASE}}"
-                rate {{rate | DIGIT}}
-            exit {{_end_}}
-            </group>
-            <group name="fc">
-            fc {{fc | WORD | _start_ }} create
-                multicast-queue {{multicast-queue-id | DIGIT}}
-                queue {{queue-id | DIGIT}}
-                policer {{policer-id}}
-                unknown-policer {{unknown-policer-id}}
-                dot1p {{dot1p}}
-            exit {{_end_}}
-            </group>
-            default-fc "{{default-fc}}"
-            <group name="dot1p">
-            dot1p {{dot1p-priority | DIGIT}} fc "{{fc}}"
-            </group>
-            <group name="dscp">
-            dscp {{ dscp | ORPHRASE | split(' ') | join(',')}} fc "{{fc}}"
-            </group>
-            <group name="lsp-exp">
-            lsp-exp {{lsp-exp| DIGIT}} fc "{{fc}}"
-            </group>
-        exit {{_end_}}
-        </group>
-        <group name="sap-egress">
-        sap-egress {{policy-id |DIGIT | _start_}} name "{{name | ORPHRASE}}" create
-            description "{{description | ORPHRASE}}"
-            <group name="queue">
-            queue {{id | DIGIT | _start_}} {{ type | WORD }} create
-            queue {{id | DIGIT | _start_}} create
-                rate {{rate | DIGIT}}
-                port-parent level {{port-parent-level | DIGIT }} cir-level {{port-parent-cir-level | DIGIT }}
-                port-parent cir-level {{port-parent-cir-level | DIGIT }}
-            exit {{_end_}}
-            </group>
-            <group name="policer">
-            policer {{id | DIGIT | _start_}} create
-                description "{{description | ORPHRASE}}"
-                parent "{{parent | ORPHRASE}}"
-                rate {{rate | DIGIT}}
-            exit {{_end_}}
-            </group>
-            <group name="fc">
-            fc {{fc | WORD | _start_ }} create
-                multicast-queue {{multicast-queue-id | DIGIT}}
-                queue {{queue-id | DIGIT}}
-                policer {{policer-id}}
-                unknown-policer {{unknown-policer-id}}
-                dot1p {{dot1p}}
-            exit {{_end_}}
-            </group>
-            default-fc "{{default-fc}}"
-            <group name="dot1p">
-            dot1p {{dot1p-priority | DIGIT}} fc "{{fc}}"
-            </group>
-            <group name="dscp">
-            dscp {{ dscp | ORPHRASE | split(' ') | join(',')}} fc "{{fc}}"
-            </group>
-            <group name="lsp-exp">
-            lsp-exp {{lsp-exp| DIGIT}} fc "{{fc}}"
-            </group>
-            <group name="ip-criteria">
-            ip-criteria {{_start_}}
-                <group name="entry">
-                entry {{id}} create
-                    description "{{description | ORPHRASE}}"
-                    <group name="match-protocol">
-                    match protocol {{protocol | _start_ }}
-                        src-ip {{src-ip-address | PREFIX}}
-                        src-ip ip-prefix-list "{{src-ip-prefix-list}}"
-                        dst-ip {{dst-ip-address | PREFIX}}
-                        dst-ip ip-prefix-list "{{dst-ip-prefix-list}}"
-                        src-port {{ src-port | ORPHRASE | split(' ') | join(',')}}                            dst-port {{ dst-port | ORPHRASE | split(' ') | join(',')}}
-                        icmp-type {{icmp-type}}
-                    exit {{_end_}}
-                    </group>
-                    action fc "{{action-fc}}"
-                exit {{_end_}}
-                </group>
-            exit {{_end_}}
+            exit {{ignore}}
+            <group name="qos">
+            qos {{network-policy}}
             </group>
-        exit {{_end_}}
-        </group>
-        <group name="network">
-        network {{id | DIGIT }} name "{{name}}" create
-            description "{{description | ORPHRASE}}"
             <group name="ingress">
             ingress {{_start_}}
-                ler-use-dscp {{ler-use-dscp | set(true)}}
-                <group name="dscp">
-                dscp {{ dscp | WORD}} fc {{fc}} profile {{profile}}
-                </group>
-                <group name="lsp-exp">
-                lsp-exp {{lsp-exp| DIGIT}} fc {{fc}} profile {{profile}}
-                </group>
+                filter ip {{filter-acl-id}}
+                filter ipv6 {{filter-acl-id-v6}}
             exit {{_end_}}
             </group>
             <group name="egress">
             egress {{_start_}}
-                <group name="fc">
-                fc {{fc | WORD | _start_ }}
-                    dscp-in-profile {{dscp-in-profile | WORD}}
-                    dscp-out-profile {{dscp-out-profile | WORD}}
-                    lsp-exp-in-profile {{lsp-exp-in-profile | DIGIT}}
-                    lsp-exp-out-profile {{lsp-exp-out-profile | DIGIT}}
-                exit {{_end_}}
-                </group>
+                filter ip {{filter-acl-id}}
+                filter ipv6 {{filter-acl-id-v6}}
+            exit {{_end_}}
+            </group>
+            <group name="cflowd-parameters">
+            cflowd-parameters {{_start_}}
+                sampling {{cast}} type {{sampling-type}}
+            exit {{_end_}}
             </group>
+            local-dhcp-server  "{{local-dhcp-server-name}}"
+            bfd {{ipv4_bfd | re(r"\d.*")}}
+            no shutdown {{admin_state | set(true)}}
+        autonomous-system {{autonomous-system-id}}
+        ecmp {{ecmp-value}}
         exit {{_end_}}
+    </group>
+</group>
+#-------------------------------------------------- {{_end_}}
+<macro>
+def set_true(data):
+    if 'bfd-enable' in data:
+        return data, {"bfd-enable": True}
+    elif 'black-hole' in data:
+        return data, {"black-hole": True}
+</macro>
+
+<group name="configure.router">
+#-------------------------------------------------- {{ ignore }}
+echo "Management Router Configuration" {{ _start_ }}
+#-------------------------------------------------- {{ ignore }}
+    <group name="router-name.{{ router }}">
+    router {{ router }}
+        <group name="entry">
+        static-route {{ address | is_ip }}/{{ prefix }} next-hop {{ next-hop | is_ip }}
         </group>
-    exit {{_end_}}
+    </group>
+    exit {{ _end_ }}
 </group>
-#-------------------------------------------------- {{ignore}}
-echo "Service Configuration" {{ignore}}
-#-------------------------------------------------- {{ignore}}
-    service {{_start_}}
-        <group name="system.service.customer">
-        customer {{customer-id}} name {{customer-name | strip('"')}} create
-            description {{description | strip('"')}}
-        exit {{_end_}}
+
+<group name="configure.router.static-route.ipv4">
+#-------------------------------------------------- {{ ignore }}
+echo "Static Route Configuration" {{ _start_ }}
+#-------------------------------------------------- {{ ignore }}
+        <group name="entry">
+        static-route {{ address | IPV4}}/{{ prefix }} next-hop {{ next-hop | is_ip }} {{ bfd | macro('set_true') | _start_ }}
+        static-route {{ address | IPV4 }}/{{ prefix }} next-hop {{ next-hop | is_ip }} preference {{ preference | DIGIT | _start_ }}
+        static-route {{ address | IPV4 }}/{{ prefix }} {{ black-hole | macro('set_true') | _start_ }}
         </group>
-#-------------------------------------------------- {{_end_}}
-           <group name="system.profile">
-            profile {{user-profile-name | re(r".+") | strip('"')}}
-                default-action {{default-action}}
-                <group name="entry">
-                entry {{entry-id}} {{_start_}}
-                    match {{match | re(r"\W.*") | strip('"')}}
-                    action {{action}}
-                exit {{ignore}}
-                </group>
-            exit {{_end_}}
-            </group>
+</group>
+#-------------------------------------------------- {{ _end_ }}
+echo "Static IPv6 Route Configuration" {{ _start_ }}
+<group name="configure.router.static-route.ipv6">
+#-------------------------------------------------- {{ ignore }}
+        <group name="entry">
+        static-route {{ address | IPV6 }}/{{ prefix }} next-hop {{ next-hop | is_ip }} {{ bfd | macro('set_true') | _start_ }}
+        static-route {{ address | IPV6 }}/{{ prefix }} next-hop {{ next-hop | is_ip }} preference {{ preference | DIGIT | _start_ }}
+        static-route {{ address | IPV6 }}/{{ prefix }} {{ black-hole | macro('set_true') | _start_ }}
+        </group>
+#-------------------------------------------------- {{ _end_ }}
+</group>
 <group name="configure.redundancy">
 #-------------------------------------------------- {{ignore}}
 echo "Redundancy Configuration" {{_start_}}
@@ -1385,169 +1236,433 @@ echo "Redundancy Configuration" {{_start_}}
     exit {{ignore}}
 #-------------------------------------------------- {{ignore}}
 echo "QoS Policy Configuration" {{_end_}}
-</group><group name="configure.filter">
+</group><group name="configure.router.bgp">
 #-------------------------------------------------- {{ignore}}
-echo "Filter Log Configuration" {{_start_}}
+echo "BGP Configuration" {{_start_}}
 #-------------------------------------------------- {{ignore}}
-    filter {{ignore}}
-        <group name="log">
-        log {{log-id}} create
-            description "{{description}}"
-        exit {{_end_}}  
-        </group>
-    exit {{_end_}}       
-</group>
-#-------------------------------------------------- {{ ignore }}
-echo "PIM Configuration" {{_start_}}
-#-------------------------------------------------- {{ ignore }}
-        <group name="configure.router.pim">     
-        pim {{_start_}}
-            <group name="interface">
-            interface "{{name | ORPHRASE }}"
-                bfd-enable  {{bfd_enable | set(true)}}
-                no shutdown {{admin_state | set(true)}}
-                priority {{priority | DIGIT}}
-                sticky-dr {{sticky-dr | set(true)}}
-                exit {{_ignore_}}
+        bgp {{ignore}}
+            ibgp-multipath {{ibgp-multipath | set(true)}}   
+            enable-peer-tracking {{enable-peer-tracking | set(true)}}   
+            advertise-external {{advertise-external | ORPHRASE | split(" ") | to_list}}
+            backup-path {{backup-path | ORPHRASE | split(" ") | to_list}}
+            <group name="next-hop-resolution">
+            next-hop-resolution {{_start_}}
+                policy {{ policy | ORPHRASE }}
+                <group name="shortcut-tunnel">
+                shortcut-tunnel {{_start_}}
+                    <group name="family">
+                    family {{type}}
+                        <group name="resolution-filter">
+                        resolution-filter {{_start_}}
+                            {{type | ORPHRASE}}
+                        exit{{_end_}}
+                        </group>
+                        resolution filter {{_start_}}
+                    exit{{_end_}}
+                    </group>
+                exit{{_end_}}
+                </group>
+            exit{{_end_}}
             </group>
+            peer-tracking-policy {{peer-tracking-policy | ORPHRASE}}
 
-            <group name="rp">
-            rp {{_start_}}
-                
-                <group name="static">
-                static {{_start_}}
-                exit {{_ignore_}}
+            <group name="rib-management">
+            rib-management {{_start_}}
+                <group name="ipv6">
+                ipv6{{_start_}}{{_exact_}}
+                    route-table-import {{route-table-import | ORPHRASE}}
+                exit{{_end_}} 
                 </group>
-                
-                <group name="bsr-candidate">
-                bsr-candidate {{_start_}}
-                    shutdown {{admin-state | set (false)}} 
-                exit {{_ignore_}}
+
+                <group name="label-ipv6">
+                label-ipv6{{_start_}}{{_exact_}}
+                    route-table-import {{route-table-import | ORPHRASE}}
+                exit{{_end_}} 
                 </group>
-                
-                <group name="rp-candidate">
-                rp-candidate {{_start_}}
-                    shutdown {{admin-state | set (false)}} 
-                exit {{_ignore_}}
+
+            exit{{_end_}}
+            </group>
+            <group name="group">
+            group {{name | _start_ | ORPHRASE}}
+                shutdown {{admin-state | set(false)}}
+                description {{description | ORPHRASE}}
+                family {{family | ORPHRASE}}
+                loop-detect {{loop-detect | ORPHRASE }}
+                next-hop-self {{next-hop-self | set(true)}}
+                vpn-apply-import {{vpn-apply-import | set (true)}}
+                vpn-apply-export {{vpn-apply-export | set (true)}}
+                type {{type | ORPHRASE}}
+                multihop {{type | DIGIT}}
+                local-address {{ local-address | IP}}
+                min-route-advertisement {{min-route-advertisement | DIGIT}}
+                preference {{preference | DIGIT}}
+                path-mtu-discovery {{path-mtu-discovery | set(true)}}
+                import {{import | ORPHRASE | split (" ") }}
+                export {{export | ORPHRASE | split (" ") }}
+                peer-as {{peer-as | DIGIT}}
+                local-as {{local-as | DIGIT}}
+                ttl-security {{ttl-security | DIGIT}}
+                <group name="add-paths">
+                add-paths {{_start_}}
+                    {{config | ORPHRASE }}
+                exit{{_end_}}
                 </group>
-            exit {{_ignore_}}
+
+                prefix-limit ipv4 {{prefix-limit-ipv4 | _exact_ | DIGIT }} {{ post-importv4 | let (true) }}
+                prefix-limit ipv6 {{prefix-limit-ipv6 | _exact_ | DIGIT }} {{ post-importv6 | let (true) }} 
+
+                <group name="neighbor">
+                neighbor {{neighbor-id | IP}}
+                    description "{{description | ORPHRASE}}"
+                    peer-as {{peer-as | DIGIT}}
+                    
+                exit{{_end_}}
+                </group>
+            
+            exit{{_end_}}
             </group>
-            no shutdown {{admin_state | set (true)}}
+            shutdown {{admin-state | set(true)}}
+        exit{{_end_}}
+        </group><macro>
+def lag_info(data):
+    try:
+        int(data)
+        return data, {"lag-index": data}
+    except ValueError:
+        lag = data.split()
+        return data, {"lag-index": lag[0], "name": lag[2].strip('"')}
+</macro>
+
+#-------------------------------------------------- {{ ignore }}
+echo "LAG Configuration" {{ _start_ }}
+#-------------------------------------------------- {{ ignore }}
+<group name="configure">
+    <group name="lag">
+    lag {{ lag-index | ORPHRASE | macro(lag_info) }}
+        no shutdown {{ admin-state | set(false) }}
+        description {{ description | ORPHRASE | strip('"')}}
+        mode {{ mode }}
+        encap-type {{ encap-type }}
+        <group name="access">
+        access {{ _start_ }}
+            adapt-qos {{adapt-qos}}
+            bandwidth {{bandwidth}}
+            booking-factor {{booking-factor}}
+            per-fp{{per-fp-queuing}}
         exit {{_end_}}
         </group>
-#--------------------------------------------------
-<group name="configure.port-xc">
-#-------------------------------------------------- {{ignore}}
-echo "Port Cross-Connect Configuration" {{_start_}}
+        <group name="port" itemize="id">
+        port {{id}}
+        </group>
+        <group name="lacp">
+        lacp {{ mode }} administrative-key {{ administrative-key | DIGIT}}
+        hold-time {{ hold-time | ORPHRASE }}
+        </group>
+        <group name="bfd.ipv4">
+            family {{ family | contains("ipv4") }}
+                shutdown {{ admin-state | set(false) }}
+                local-ip-address {{ local-ip }}
+                multiplier {{ multiplier }}
+                remote-ip-address {{ remote-ip-address }}
+                no shutdown {{ admin-state | set(true) }}
+        exit {{ _end_ }}
+        </group>            
+        no shutdown {{ admin-state | set(true) }}
+    </group>
+    exit {{ _end_ }}
+</group>
+#-------------------------------------------------- {{ _end_ }}#-------------------------------------------------- {{ ignore }}
+echo "Connector Configuration" {{ _start_ }}
+#-------------------------------------------------- {{ ignore }}
+<group name="configure.connector">
+    <group name="port.{{ port }}">
+    port {{ port }}
+        connector {{ ignore }}
+            breakout {{ breakout }}
+        exit {{ ignore }}
+        no shutdown {{ admin-state | set(true) }}
+    </group>
+    exit {{ _end_ }}
+</group>
+#-------------------------------------------------- {{ _end_ }}#-------------------------------------------------- {{ignore}}
+echo "Service Configuration" {{ignore}}
 #-------------------------------------------------- {{ignore}}
-    port-xc {{ignore}}
-        <group name="pxc">
-        pxc {{number | DIGIT | _start_}} create
-            description "{{description | ORPHRASE}}"
-            port {{port}}
-            no shutdown {{admin_state | set(true)}}
-            shutdown {{admin_state | set(false)}}
+    service {{_start_}}
+        <group name="system.service.customer">
+        customer {{customer-id}} name {{customer-name | strip('"')}} create
+            description {{description | strip('"')}}
         exit {{_end_}}
         </group>
-    exit {{ignore}}
+#-------------------------------------------------- {{_end_}}
+<group name="configure.mcast-management">
 #-------------------------------------------------- {{ignore}}
-echo "Port Configuration" {{_end_}}
-</group><macro>
-def subscription_level(data):
-    data = data.replace('"','').split()
-    if len(data) >= 3:
-        return {"card-type": data[0], "subscription-level": data[2]}
-    return data[0]
-</macro>
-#-------------------------------------------------- {{ ignore }}
-echo "Card Configuration" {{ _start_ }}
-#-------------------------------------------------- {{ ignore }}
-    <group name="configure.card">
-    card {{slot-number | DIGIT }}
-        card-type {{ card-type | ORPHRASE  | macro('subscription_level') }}
-        fail-on-error {{fail-on-error | set(true)}}
-        <group name="virtual-scheduler-adjustment">
-        virtual-scheduler-adjustment {{ _start_ }}
-            sched-run-min-int {{sched-run-min-int}}
-            task-scheduling-int {{task-scheduling-int}}
-        exit {{ _end_ }}
-        </group>
-        <group name="mda">
-        mda {{mda-slot}}
-            shutdown {{admin-state | set(false)}}
-            mda-type {{mda-type | replace('"', '') }}
-            <group name="ingress-xpl">
-            ingress-xpl {{_start_}}
-                window {{window}}
-            exit {{_end_}}
-            </group>
-            <group name="egress-xpl">
-            egress-xpl {{_start_}}
-                window {{window}}
-            exit {{_end_}}
-            </group>
-            fail-on-error {{fail-on-error | set(true)}}
-            no shutdown {{admin-state | set(true)}}
-        </group>
-        <group name="fp">
-        fp {{fp-slot | DIGIT | _start_}} 
-            hi-bw-mcast-src group {{hi-bw-mcast-src-group-id | DIGIT }}
-            <group name="ingress">
-            ingress {{ _start_ }}
-                <group name="mcast-path-management">
-                mcast-path-management {{ _start_ }}
-                    bandwidth-policy {{bandwidth-policy-name | ORPHRASE | replace('"', '') }}
-                    no shutdown {{ admin-state | set(true) }}
+echo "Multicast Path Management Policy Configuration" {{_start_}}
+#-------------------------------------------------- {{ignore}}
+    mcast-management {{ignore}}
+        <group name="bandwidth-policy">
+        bandwidth-policy "{{name | ORPHRASE | _start_}}" create
+            <group name="t2-paths">
+            t2-paths {{_start_}}
+                <group name="secondary-path">
+                secondary-path {{_start_}}
+                    number-paths {{number-paths | DIGIT}} redundant-sfm {{redundant-sfm | DIGIT}}
                 exit {{_end_}}
                 </group>
             exit {{_end_}}
             </group>
         exit {{_end_}}
         </group>
-        exit {{ignore}}
-    </group>
-#-------------------------------------------------- {{ _end_ }}
-<group name="configure.router.twamp_light">
-#--------------------------------------------------{{ignore}}
-echo "TWAMP Light Configuration" {{_start_}}
-#--------------------------------------------------{{ignore}}
-        twamp-light {{_ignore_}}
-            <group name="reflector">
-            reflector udp-port {{udp_port | DIGIT | _start_}} create
+    exit {{ignore}}
+#-------------------------------------------------- {{ignore}}
+echo "Switch Fabric Configuration" {{_end_}}
+</group><group name="configure.qos">
+#-------------------------------------------------- {{ignore}}
+echo "QoS Policy Configuration" {{_start_}}
+#-------------------------------------------------- {{ignore}}
+    qos {{ignore}}
+        <group name="match-list">
+        match-list {{_start_}}
+            <group name="ip-prefix-list">
+            ip-prefix-list "{{name}}" create
                 description "{{description | ORPHRASE}}"
                 <group name="prefix">
-                prefix {{prefix | PREFIX | _start_}} create
-                    description "{{description | ORPHRASE}}"
+                prefix {{prefix | PREFIX}}
+                </group>
+            </group>
+        exit {{_end_}}
+        </group>
+        <group name="network-queue">
+        network-queue "{{name | _start_ }}" create 
+            <group name="queue">
+            queue {{id | DIGIT | _start_ }} {{ multipoint | WORD }} create
+            queue {{id | DIGIT | _start_ }} create
+                port-parent {{port-parent-level | set(1)}} {{port-parent-cir-level | set(1)}}
+                mbs {{mbs | DIGIT}}
+                port-parent level {{port-parent-level}} cir-level {{port-parent-cir-level}}
+                rate {{rate | DIGIT}} cir {{rate-cir | DIGIT}}
+                <group name="drop-tail">
+                drop-tail {{_start_}}
+                    <group name="low">
+                    low {{_start_}}
+                        percent-reduction-from-mbs {{percent-reduction-from-mbs | DIGIT}}
+                    exit {{_end_}}
+                    </group>
+                exit {{_end_}}
+                </group>
+            exit {{_end_}}
+            </group>
+            <group name="fc">
+            fc {{tag | WORD | _start_ }} create
+                multicast-queue {{multicast-queue}}
+                queue {{queue-id | DIGIT}}
+                <group name="egress-hsmda">
+                egress-hsmda {{_start_}}
+                    queue {{queue-id}}
+                exit {{_end_}}
+                </group>
+            exit {{_end_}}
+            </group>
+        exit {{_end_}}
+        </group>
+        <group name="port-scheduler-policy">
+        port-scheduler-policy "{{name | ORPHRASE | _start_}}" create
+            max-rate {{max-rate | DIGIT}}
+            max-rate percent {{max-rate-percent | ORPHRASE}}
+            <group name="level">
+            level {{level-id | DIGIT}} rate max cir {{cir-max | DIGIT}}
+            </group>
+        exit {{_end_}}
+        </group>
+        <group name="queue-group-templates.egress.queue-group">
+        queue-group-templates {{ignore}}
+            egress {{ignore}}
+                queue-group "{{name | _start_ }}" create
+                    description "{{description | ORPHRASE }}"
+                    <group name="queue">
+                    queue {{id | _start_}} {{ type | WORD }} create
+                        port-parent level {{port-parent-level | DIGIT }} cir-level {{port-parent-cir-level | DIGIT }}
+                        port-parent cir-level {{port-parent-cir-level | DIGIT }}
+                    exit {{_end_}}
+                    </group>
+                    <group name="fc">
+                    fc {{tag | WORD | _start_ }} create
+                        multicast-queue {{multicast-queue}}
+                        queue {{queue-id | DIGIT}}
+                        <group name="egress-hsmda">
+                        egress-hsmda {{_start_}}
+                            queue {{queue-id}}
+                        exit {{_end_}}
+                        </group>
+                    exit {{_end_}}
+                    </group>
+                exit {{ignore}}
+            exit {{ignore}}
+        exit {{_end_}}
+        </group>
+        <group name="scheduler-policy">
+        scheduler-policy "{{name}}" create
+            <group name="tier">
+            tier {{id |_start_}}
+                <group name="scheduler">
+                scheduler "{{name}}" create
+                    rate {{rate | DIGIT }}
                 exit {{_end_}}
                 </group>
-                no shutdown {{admin_state | set(true)}}
             exit {{_end_}}
             </group>
         exit {{_end_}}
+        </group>
+        <group name="policer-control-policy">
+        policer-control-policy "{{name | ORPHRASE | _start_ }}" create
+            description "{{description | ORPHRASE }}"
+        exit {{_end_}}
+        </group>
+    exit {{_end_}}
+</group>
+<group name="configure.python">
+#-------------------------------------------------- {{ ignore }}
+echo "PYTHON (declaration) Configuration" {{_start_}}
+#-------------------------------------------------- {{ ignore }}
+    python {{ ignore }}
+        <group name="python-policy">
+        python-policy "{{name | ORPHRASE | _start_}}" create
+        exit {{_end_}}
+        </group>
+    exit {{_end_}}
+#-------------------------------------------------- {{ ignore }}
 </group><group name="configure.filter">
 #-------------------------------------------------- {{ignore}}
-echo "Filter Match lists Configuration" {{_start_}}
+echo "Filter Configuration" {{_start_}}
 #-------------------------------------------------- {{ignore}}
     filter {{ignore}}
-        <group name="match-list">
-        match-list {{_start_}}
-            <group name="ip-prefix-list">
-            ip-prefix-list "{{name | _start_}}" create
+        <group name="ip-filter">
+        ip-filter {{id | DIGIT | _start_}} name "{{name | ORPHRASE}}" create
+            default-action {{default-action}}
+            description "{{description | ORPHRASE}}"
+            scope {{scope}}
+            <group name="embed-filter">
+            embed-filter flowspec router "{{router-instance | _start_}}"
+            embed-filter flowspec router "{{router-instance | _start_}}" offset {{offset | DIGIT}}
+            embed-filter {{id | DIGIT | _start_}}
+            </group>
+            <group name="entry">
+            entry {{entry | DIGIT | _start_}} create
                 description "{{description | ORPHRASE}}"
-                {{ prefix | _line_ | contains ("prefix") | joinmatches | resub(old = '^prefix ', new = '') | to_list}}
-            exit{{_end_}}
+                log {{log | DIGIT}}
+                <group name="match-protocol">
+                match protocol {{protocol}}
+                    src-ip {{src-ip-address | PREFIX}}
+                    src-ip ip-prefix-list "{{src-ip-prefix-list}}"
+                    dst-ip {{dst-ip-address | PREFIX}}
+                    dst-ip ip-prefix-list "{{dst-ip-prefix-list}}"
+                    src-port eq {{ src-port | ORPHRASE | split(' ') | join(',')}}
+                    dst-port eq {{ dst-port | ORPHRASE | split(' ') | join(',')}}
+                    icmp-type {{icmp-type}}
+                exit {{_end_}}
+                </group>
+                <group name="match">
+                match {{_start_}}
+                    src-ip {{src-ip-address | PREFIX}}
+                    src-ip ip-prefix-list "{{src-ip-prefix-list}}"
+                    dst-ip {{dst-ip-address | PREFIX}}
+                    dst-ip ip-prefix-list "{{dst-ip-prefix-list}}"
+                exit {{_end_}}
+                </group>  
+                <group name="action">
+                action {{_start_}}
+                    forward {{forward |set(true)}}
+                    drop {{drop |set(true)}}
+                exit {{_end_}} 
+                </group>
             </group>
-            <group name="ipv6-prefix-list">
-            ipv6-prefix-list "{{name | _start_}}" create
+        exit {{_end_}}
+        </group>
+        <group name="ipv6-filter">
+        ipv6-filter {{id | DIGIT | _start_}} name "{{name | ORPHRASE}}" create
+            scope {{scope}}
+            description "{{description | ORPHRASE}}"
+            <group name="embed-filter">
+            embed-filter flowspec router "{{router-instance | _start_}}"
+            embed-filter flowspec router "{{router-instance | _start_}}" offset {{offset | DIGIT}}
+            embed-filter {{id | DIGIT | _start_}}
+            </group>
+            <group name="entry">
+            entry {{entry-id | _start_ }} create
                 description "{{description | ORPHRASE}}"
-                {{ prefix | _line_ | contains ("prefix") | joinmatches | resub(old = '^prefix ', new = '') | to_list}}
-            exit{{_end_}}
+                log {{log-id}}
+                <group name="match">
+                match {{_start_}}
+                    src-ip {{src-ip-address | PREFIXV6}}
+                    src-ip ip-prefix-list "{{src-ip-prefix-list}}"
+                    dst-ip {{dst-ip-address | ORPHRASE}}
+                    dst-ip ip-prefix-list "{{dst-ip-prefix-list}}"
+                exit {{_end_}}
+                </group>  
+                <group name="match-next-header">
+                match next-header {{protocol | _start_}}
+                    src-ip {{src-ipv6-address | PREFIXV6 }}
+                    src-ip ipv6-prefix-list "{{src-ipv6-prefix-list}}"
+                    dst-ip {{dst-ipv6-address | ORPHRASE}}
+                    dst-ip ipv6-prefix-list "{{dst-ipv6-prefix-list}}"
+                    src-port eq {{ src-port | ORPHRASE | split(' ') | join(',')}}
+                    dst-port eq {{ dst-port | ORPHRASE | split(' ') | join(',')}}
+                    icmp-type {{icmp-type}}
+                exit {{_end_}}
+                </group>
+                <group name="action">
+                action {{_start_}}
+                    forward {{forward | set(true)}}
+                    drop {{drop | set(true)}}
+                    drop hop-limit {{ltgteq | WORD}} {{hop-limit-value | DIGIT}}
+                exit {{_end_}} 
+                </group>  
+            exit {{_end_}}
             </group>
         exit {{_end_}}
         </group>
     exit {{_end_}}
-#---{{_end_}}   
 </group>
+<group name="configure.mirror">
+#-------------------------------------------------- {{ ignore }}
+echo "Mirror Configuration" {{_start_}}
+#-------------------------------------------------- {{ ignore }}
+    
+    mirror {{_ignore_}}
+        <group name="mirror-conf">
+        mirror-dest {{ mirror-dest | _start_ | DIGIT }} name {{name | ORPHRASE}} type {{type | ORPHRASE}} create
+            description {{description | ORPHRASE}}
+            <group name="encap">
+            encap {{_start_}}
+                <group name="l3-encap">
+                {{encap-type | _start_ | ORPHRASE}} create
+                    <group name="gateway">
+                    gateway create {{_start_}}
+                        ip src {{src-ip | IP }} dest {{dest-ip | IP }}
+                        udp src {{src-udp | DIGIT }} dest {{dest-udp | DIGIT }}
+                    exit {{_ignore_}}
+                    </group>
+                exit {{_ignore_}}
+                </group>
+            exit {{_ignore_}}
+            </group>
+            no shutdown {{admin-state | set(true)}}
+        exit {{_end_}}
+        </group>
+        
+</group><group name="configure.system.ntp">
+#-------------------------------------------------- {{ignore}}
+echo "System Time NTP Configuration" {{_start_}}
+#-------------------------------------------------- {{ignore}}
+    system {{_ignore_}}
+        time {{_ignore_}}
+            <group name="server">            
+            ntp {{_start_}}
+                server {{ address | _line_ | IP | to_list}}
+            exit {{_ignore_}}
+            </group>
+        exit {{_ignore_}}
+    exit {{_end_}}
+    </group>
 <group name="configure.aaa">
 #-------------------------------------------------- {{ ignore }}
 echo "AAA Configuration" {{_start_}}
@@ -1583,190 +1698,7 @@ echo "AAA Configuration" {{_start_}}
         exit {{_ignore_}}
         </group>
     
-</group>#-------------------------------------------------- {{ ignore }}
-echo "LDP Configuration" {{_start_}}
-#-------------------------------------------------- {{ ignore }}
-        <group name="configure.router.ldp">     
-        ldp {{_start_}}
-            export-tunnel-table "{{export-tunnel-table}}"
-            fast-reroute {{fast-reroute | set(true)}}
-            fec-originate {{fec-originate | PREFIX}} {{pop | let(true)}}
-            <group name="interface_parameters">
-            interface-parameters {{_start_}}
-                <group name="interface">
-                interface "{{name | ORPHRASE}}" {{dual-stack | let(true)}}
-                    <group name="ipv4">
-                    ipv4 {{_start_}}
-                        no shutdown {{admin_state | set (true)}}
-                    exit {{_end_}}
-                    </group>
-                    no shutdown {{admin_state | set (true)}}
-                exit {{_end_}}
-                </group>
-            exit {{_end_}}
-            </group>
-            <group name="targeted-session">
-            targeted-session {{_start_}}
-                no shutdown {{admin_state | set (true)}}
-            exit {{_end_}}
-            </group>
-            no shutdown {{admin_state | set (true)}}
-        exit {{_end_}}
-        </group>
-
-#-------------------------------------------------- {{ ignore }}
-<group name="configure">
-echo "MPLS LSP Configuration"{{ _start_ }}
-#-------------------------------------------------- {{ ignore }}
-        <group name="mpls">
-        mpls
-            <group name="path">
-            path "{{ name }}"
-                no shutdown {{ admin-state | set('true') }}
-                shutdown {{ admin-state | set('false') }}
-            exit
-            </group>
-            <group name="templates">
-            <group name="entry">
-            lsp-template "{{ name }}" {{ type }}
-                default-path "{{ default-path }}"
-                path-computation-method {{ path-computation-method }}
-                fast-reroute {{ fast-reroute }}
-                exit {{ ignore }}
-                no shutdown {{ admin-state | set('true') }}
-                shutdown {{ admin-state | set('false') }}
-            </group>
-            exit {{ _end_ }}
-            </group>
-            <group name="lsp">
-            lsp "name"
-                to {{ to }}
-                path-computation-method {{ path-computation-method }}
-                fast-reroute {{ fast-reroute }}
-                exit {{ ignore }}
-                primary "{{ primary }}"
-                exit {{ ignore }}
-                secondary "{{ secondary }}"
-                    {{ standby }}
-                exit {{ ignore }}
-                no shutdown {{ admin-state | set('true') }}
-                shutdown {{ admin-state | set('false') }}
-            exit {{ _end_ }}
-            </group>
-            <group name="auto-lsp">
-            auto-lsp lsp-template "{{ template }}" policy "{{ policy }}"
-            </group>
-            shutdown {{ admin-state | set('false') }}
-            no shutdown {{ admin-state | set('true') }}
-        exit {{ _end_ }}
-        </group>
-</group><group name="configure.router.isis">
-#-------------------------------------------------- {{ ignore }}
-echo "ISIS Configuration" {{_start_}}
-#-------------------------------------------------- {{ ignore }}
-        isis {{process}}
-            area-id {{area-id}}
-            lsp-lifetime {{lsp-lifetime | DIGIT }}
-            lsp-refresh-interval {{lsp-refresh-interval | DIGIT }} half-lifetime {{half-lifetime | WORD}}
-            overload-on-boot timeout {{overload-on-boot-timeout}}
-            export {{ export | ORPHRASE | replace('"', '') |split(' ') | join(',')}}
-            rib-priority {{rib-priority | WORD}} "{{rib-priority-name}}"
-            ipv6-routing {{ipv6-routing}}
-            <group name="multi-topology">
-            multi-topology {{_start_}}
-                ipv6-unicast {{ipv6-unicast | set(true)}}
-            exit {{_end_}}
-            </group>
-            <group name="timers">
-            timers {{_start_}}
-                spf-wait {{spf-wait | DIGIT}} spf-initial-wait {{spf-initial-wait | DIGIT}} spf-second-wait {{spf-second-wait | DIGIT}}
-            exit {{_end_}}
-            </group>
-            <group name="level">
-            level {{number | DIGIT | _start_}}
-                wide-metrics-only {{wide-metrics-only | set(true)}}
-            exit {{_end_}}
-            </group>
-            <group name="interface">
-            interface "{{name | ORPHRASE | _start_}}"
-                level-capability {{level-capability}}
-                hello-authentication-key "{{hello-authentication-key}}" {{hash-type}}
-                hello-authentication-type {{hello-authentication-type}}
-                passive {{passive | set(true)}}
-                tag {{tag | DIGIT }}
-                interface-type {{interface-type}}
-                <group name="level">
-                level {{number | DIGIT | _start_}}
-                    ipv6-unicast-metric {{ipv6-unicast-metric | DIGIT }}
-                    metric {{metric | DIGIT}}
-                exit {{_end_}}
-                </group>
-                no shutdown {{admin-state | set(true)}}
-            no shutdown {{admin-state | set(true)}}
-            exit {{_end_}}
-            </group>
-        exit {{_end_}}
-#-------------------------------------------------- {{ ignore }}
 </group>#-------------------------------------------------- {{ignore}}
-echo "Cflowd Configuration" {{_start_}}
-#-------------------------------------------------- {{ignore}}
-<group name="configure.cflowd">
-    cflowd {{_start_}}
-        active-timeout {{active-timeout}}
-        cache-size {{cache-size}}
-        inactive-timeout {{inactive-timeout}}
-        rate {{rate}}
-        template-retransmit {{template-retransmit}}
-        <group name="collector">
-        collector {{collector_ip_address | _start_}} version {{version_id}}
-            description "{{description | ORPHRASE}}"
-            template-set {{collector_template-set}}
-        exit {{_end_}}
-        </group>
-    exit {{_end_}}
-    </group>
-#-------------------------------------------------- {{_end_}}<group name="configure.mirror">
-#-------------------------------------------------- {{ ignore }}
-echo "Mirror Configuration" {{_start_}}
-#-------------------------------------------------- {{ ignore }}
-    
-    mirror {{_ignore_}}
-        <group name="mirror-conf">
-        mirror-dest {{ mirror-dest | _start_ | DIGIT }} name {{name | ORPHRASE}} type {{type | ORPHRASE}} create
-            description {{description | ORPHRASE}}
-            <group name="encap">
-            encap {{_start_}}
-                <group name="l3-encap">
-                {{encap-type | _start_ | ORPHRASE}} create
-                    <group name="gateway">
-                    gateway create {{_start_}}
-                        ip src {{src-ip | IP }} dest {{dest-ip | IP }}
-                        udp src {{src-udp | DIGIT }} dest {{dest-udp | DIGIT }}
-                    exit {{_ignore_}}
-                    </group>
-                exit {{_ignore_}}
-                </group>
-            exit {{_ignore_}}
-            </group>
-            no shutdown {{admin-state | set(true)}}
-        exit {{_end_}}
-        </group>
-        
-</group><group name="configure.system.ntp">
-#-------------------------------------------------- {{ignore}}
-echo "System Time NTP Configuration" {{_start_}}
-#-------------------------------------------------- {{ignore}}
-    system {{_ignore_}}
-        time {{_ignore_}}
-            <group name="server">            
-            ntp {{_start_}}
-                server {{ address | _line_ | IP | to_list}}
-            exit {{_ignore_}}
-            </group>
-        exit {{_ignore_}}
-    exit {{_end_}}
-    </group>
-#-------------------------------------------------- {{ignore}}
 echo "Service Configuration" {{ignore}}
 #-------------------------------------------------- {{ignore}}
     <group name="configure.system.service">
@@ -2143,350 +2075,417 @@ echo "Service Configuration" {{ignore}}
     exit {{_end_}} 
     </group>
 #-------------------------------------------------- {{_end_}}
-<group name="configure.vrrp">
+<group name="configure.router.igmp" >
 #-------------------------------------------------- {{ignore}}
-echo "Vrrp Configuration" {{_start_}}
+echo "IGMP Configuration" {{_start_}}
 #-------------------------------------------------- {{ignore}}
-    vrrp {{_start_}}
-        <group name="policy">
-        policy {{id | DIGIT}}
-            delta-in-use-limit {{delta-in-use-limit | DIGIT}}
-            <group name="priority-event">
-            priority-event {{_start_}}
-                <group name="lag-port-down">
-                lag-port-down {{id | DIGIT }}
-                    hold-clear {{hold-clear | DIGIT}}
-                    <group name="number-down">
-                    number-down {{id | DIGIT}}
-                        priority {{priority | DIGIT}} delta
-                    exit {{_end_}}
-                    </group>
+        igmp {{ignore}}
+            <group name="ssm-translate">
+            ssm-translate {{_start_}}
+                <group name="grp-range">
+                grp-range {{grp-range | ORPHRASE}}
+                    source {{source | IP}}
                 exit {{_end_}}
                 </group>
-            exit {{_end_}}
+            exit {{_ignore_}}
             </group>
+            <group name="interface">
+            interface "{{name | _start_}}"
+                no shutdown {{admin_state | set(true)}}
+            exit {{_end_}}    
+            </group>
+            query-interval {{query_interval | DIGIT}}
+            query-last-member-interval {{query-last-member-interval | DIGIT}}
+            no shutdown {{admin_state | set(true)}}
         exit {{_end_}}
         </group>
-    exit {{_end_}}
-    </group>
-#-------------------------------------------------- {{_end_}}<group name="configure.router.policy">
+#-------------------------------------------------- {{_end_}}
+<group name="configure.aaa_declarations">
 #-------------------------------------------------- {{ignore}}
-echo "Policy Configuration" {{_start_}}
+echo "AAA (Declarations) Configuration" {{_start_}}
 #-------------------------------------------------- {{ignore}}
-        policy-options {{ignore}}
-            begin {{ignore}}
-            <group name="prefix-list">
-            prefix-list {{ name | re(r'.*') }}     
-                {{ prefix-list_cfg | _line_ | contains("prefix") | joinmatches }}
+    aaa {{ignore}}
+        <group name="radius-server-policy">
+        radius-server-policy "{{name | ORPHRASE | _start_}}" create
+        exit {{_end_}}
+        </group>
+        <group name="radius-script-policy">
+        radius-script-policy "{{name | ORPHRASE | _start_ }}" create
+        exit {{_end_}}
+        </group>
+    exit {{ignore}}
+#-------------------------------------------------- {{ignore}}
+echo "Multicast Path Management Policy Configuration" {{_end_}}
+</group><group name="configure.router.isis">
+#-------------------------------------------------- {{ ignore }}
+echo "ISIS Configuration" {{_start_}}
+#-------------------------------------------------- {{ ignore }}
+        isis {{process}}
+            area-id {{area-id}}
+            lsp-lifetime {{lsp-lifetime | DIGIT }}
+            lsp-refresh-interval {{lsp-refresh-interval | DIGIT }} half-lifetime {{half-lifetime | WORD}}
+            overload-on-boot timeout {{overload-on-boot-timeout}}
+            export {{ export | ORPHRASE | replace('"', '') |split(' ') | join(',')}}
+            rib-priority {{rib-priority | WORD}} "{{rib-priority-name}}"
+            ipv6-routing {{ipv6-routing}}
+            <group name="multi-topology">
+            multi-topology {{_start_}}
+                ipv6-unicast {{ipv6-unicast | set(true)}}
             exit {{_end_}}
             </group>
-
-            <group name="community">
-            community {{ name | re(r'.*') }}   
-                members "{{ members | WORD }}"
-                expression {{ expression | PHRASE }}
+            <group name="timers">
+            timers {{_start_}}
+                spf-wait {{spf-wait | DIGIT}} spf-initial-wait {{spf-initial-wait | DIGIT}} spf-second-wait {{spf-second-wait | DIGIT}}
             exit {{_end_}}
             </group>
-
-            <group name="policy-statement">
-            policy-statement {{ name | re(r'.*') }}
-                <group name="entry-list">
-                entry {{entry-id | DIGIT}}
-                    description "{{description | re(r'.*')}}"
-                    <group name="from">
-                    from {{_start_}}
-                        {{ from | ORPHRASE | joinmatches }}
-                    exit {{_end_}}
-                    </group>
-                    <group name="to">
-                    to {{_start_}}
-                        {{ to | ORPHRASE | joinmatches }}
-                    exit {{_end_}}
-                    </group>
-                    
-                    <group name="action">
-                    action {{type | re (r'.*')}} {{_start_}}
-                        {{ addons | ORPHRASE | joinmatches }}
-                    exit {{_end_}}
-                    </group>                
-                    
-                    exit {{_end_}}
+            <group name="level">
+            level {{number | DIGIT | _start_}}
+                wide-metrics-only {{wide-metrics-only | set(true)}}
+            exit {{_end_}}
+            </group>
+            <group name="interface">
+            interface "{{name | ORPHRASE | _start_}}"
+                level-capability {{level-capability}}
+                hello-authentication-key "{{hello-authentication-key}}" {{hash-type}}
+                hello-authentication-type {{hello-authentication-type}}
+                passive {{passive | set(true)}}
+                tag {{tag | DIGIT }}
+                interface-type {{interface-type}}
+                <group name="level">
+                level {{number | DIGIT | _start_}}
+                    ipv6-unicast-metric {{ipv6-unicast-metric | DIGIT }}
+                    metric {{metric | DIGIT}}
+                exit {{_end_}}
                 </group>
-                default-action {{default-action | re (r'.*')}}
-            exit {{_end_}}    
-            </group>        
-                
+                no shutdown {{admin-state | set(true)}}
+            no shutdown {{admin-state | set(true)}}
             exit {{_end_}}
-
-</group><macro>
-def lag_info(data):
-    try:
-        int(data)
-        return data, {"lag-index": data}
-    except ValueError:
-        lag = data.split()
-        return data, {"lag-index": lag[0], "name": lag[2].strip('"')}
-</macro>
-
-#-------------------------------------------------- {{ ignore }}
-echo "LAG Configuration" {{ _start_ }}
+            </group>
+        exit {{_end_}}
 #-------------------------------------------------- {{ ignore }}
-<group name="configure">
-    <group name="lag">
-    lag {{ lag-index | ORPHRASE | macro(lag_info) }}
-        no shutdown {{ admin-state | set(false) }}
-        description {{ description | ORPHRASE | strip('"')}}
-        mode {{ mode }}
-        encap-type {{ encap-type }}
-        <group name="access">
-        access {{ _start_ }}
-            adapt-qos {{adapt-qos}}
-            bandwidth {{bandwidth}}
-            booking-factor {{booking-factor}}
-            per-fp{{per-fp-queuing}}
+</group>#-------------------------------------------------- {{ignore}}
+echo "Cflowd Configuration" {{_start_}}
+#-------------------------------------------------- {{ignore}}
+<group name="configure.cflowd">
+    cflowd {{_start_}}
+        active-timeout {{active-timeout}}
+        cache-size {{cache-size}}
+        inactive-timeout {{inactive-timeout}}
+        rate {{rate}}
+        template-retransmit {{template-retransmit}}
+        <group name="collector">
+        collector {{collector_ip_address | _start_}} version {{version_id}}
+            description "{{description | ORPHRASE}}"
+            template-set {{collector_template-set}}
         exit {{_end_}}
         </group>
-        <group name="port" itemize="id">
-        port {{id}}
-        </group>
-        <group name="lacp">
-        lacp {{ mode }} administrative-key {{ administrative-key | DIGIT}}
-        hold-time {{ hold-time | ORPHRASE }}
-        </group>
-        <group name="bfd.ipv4">
-            family {{ family | contains("ipv4") }}
-                shutdown {{ admin-state | set(false) }}
-                local-ip-address {{ local-ip }}
-                multiplier {{ multiplier }}
-                remote-ip-address {{ remote-ip-address }}
-                no shutdown {{ admin-state | set(true) }}
-        exit {{ _end_ }}
-        </group>            
-        no shutdown {{ admin-state | set(true) }}
-    </group>
-    exit {{ _end_ }}
-</group>
-#-------------------------------------------------- {{ _end_ }}#-------------------------------------------------- {{ ignore }}
-echo "Connector Configuration" {{ _start_ }}
-#-------------------------------------------------- {{ ignore }}
-<group name="configure.connector">
-    <group name="port.{{ port }}">
-    port {{ port }}
-        connector {{ ignore }}
-            breakout {{ breakout }}
-        exit {{ ignore }}
-        no shutdown {{ admin-state | set(true) }}
+    exit {{_end_}}
     </group>
-    exit {{ _end_ }}
-</group>
-#-------------------------------------------------- {{ _end_ }}<vars>
-PROTOCOL_TYPE = r"ppp|ipoe"
-</vars>
-
-
-<group name="configure.subscriber-mgmt">
+#-------------------------------------------------- {{_end_}}<macro>
+def subscription_level(data):
+    data = data.replace('"','').split()
+    if len(data) >= 3:
+        return {"card-type": data[0], "subscription-level": data[2]}
+    return data[0]
+</macro>
 #-------------------------------------------------- {{ ignore }}
-echo "Subscriber-mgmt (Service Side) Configuration" {{_start_}}
+echo "Card Configuration" {{ _start_ }}
 #-------------------------------------------------- {{ ignore }}
-    
-    subscriber-mgmt {{_ignore_}}
-
-        <group name="authentication-policy">
-        authentication-policy {{name | _start_ | ORPHRASE}}
-            <group name="radius-authentication-server">
-            radius-authentication-server {{_start_}}
-                router {{router | ORPHRASE }}
-                server {{server-id | DIGIT }} address {{address | IP }} secret {{ secret | re(r'".*"') }} {{hashing-scheme | WORD }} port {{ port | DIGIT }} 
-
-            exit {{_ignore_}}
-            </group>
-        exit {{_ignore_}}
+    <group name="configure.card">
+    card {{slot-number | DIGIT }}
+        card-type {{ card-type | ORPHRASE  | macro('subscription_level') }}
+        fail-on-error {{fail-on-error | set(true)}}
+        <group name="virtual-scheduler-adjustment">
+        virtual-scheduler-adjustment {{ _start_ }}
+            sched-run-min-int {{sched-run-min-int}}
+            task-scheduling-int {{task-scheduling-int}}
+        exit {{ _end_ }}
         </group>
-
-        <group name="radius-accounting-policy">
-        radius-accounting-policy {{name| _start_ | ORPHRASE}}
-            <group name="radius-accounting-server">
-            radius-accounting-server {{_start_}}
-                router {{router | ORPHRASE }}
-                server {{server-id | DIGIT }} address {{address | IP }} secret {{ secret | re(r'".*"') }} {{hashing-scheme | WORD }} port {{ port | DIGIT }} 
-            exit {{_ignore_}}
+        <group name="mda">
+        mda {{mda-slot}}
+            shutdown {{admin-state | set(false)}}
+            mda-type {{mda-type | replace('"', '') }}
+            <group name="ingress-xpl">
+            ingress-xpl {{_start_}}
+                window {{window}}
+            exit {{_end_}}
             </group>
-        exit {{_ignore_}}       
+            <group name="egress-xpl">
+            egress-xpl {{_start_}}
+                window {{window}}
+            exit {{_end_}}
+            </group>
+            fail-on-error {{fail-on-error | set(true)}}
+            no shutdown {{admin-state | set(true)}}
         </group>
-
-
-        <group name="local-user-db"> 
-        local-user-db {{ name | _start_ | ORPHRASE}} create
-            <group name="protocol"> 
-            {{ type | _start_ | re(r"PROTOCOL_TYPE")}}
-                match-list {{ match-list | ORPHRASE}}
-                <group name="host"> 
-                host {{host-name |  _start_ | ORPHRASE}} create
-                    auth-policy {{auth-policy | ORPHRASE }}
-                    pre-auth-policy {{pre-auth-policy | ORPHRASE }}
-                    server {{server | IP }}
-                    no shutdown {{admin-state | set(true)}}
-                    <group name="host-identification"> 
-                    host-identification {{_start_}}
-                        username {{ username | WORD}} {{ domain-only | let(true)}}
-                        username {{ username | WORD}}
-                        option60 string {{option60-string | ORPHRASE}}
-                    </group>
-
-                    exit {{_ignore_}}
-                    address pool {{address-pool | ORPHRASE }}
-                    auth-policy {{auth-policy | ORPHRASE }}
-                    password {{password | ORPHRASE }}
-                    <group name="identification-strings"> 
-                    identification-strings {{string-id | _start_ | DIGIT }} create
-                        subscriber-id {{subscriber-id | ORPHRASE }}
-                        sla-profile-string {{sla-profile-string | ORPHRASE }}
-                        sub-profile-string {{sub-profile-string | ORPHRASE }}
-                    </group>
-                    exit {{_ignore_}} 
-                    pre-auth-policy {{pre-auth-policy | ORPHRASE }}
-                    server {{server | IP }}
-                    <group name="l2tp"> 
-                    l2tp {{_start_}}
-                        group {{group | ORPHRASE }}
-                    </group>
-                    exit {{_ignore_}}
-                    no shutdown {{admin-state | set(true)}}
+        <group name="fp">
+        fp {{fp-slot | DIGIT | _start_}} 
+            hi-bw-mcast-src group {{hi-bw-mcast-src-group-id | DIGIT }}
+            <group name="ingress">
+            ingress {{ _start_ }}
+                <group name="mcast-path-management">
+                mcast-path-management {{ _start_ }}
+                    bandwidth-policy {{bandwidth-policy-name | ORPHRASE | replace('"', '') }}
+                    no shutdown {{ admin-state | set(true) }}
+                exit {{_end_}}
                 </group>
-                exit {{_ignore_}}
+            exit {{_end_}}
             </group>
-            exit {{_ignore_}}
+        exit {{_end_}}
         </group>
-        exit {{_ignore_}}
-    exit {{_ignore_}} 
-
-
-</group>#-------------------------------------------------- {{ ignore}}
-echo "Router (Network Side) Configuration" {{ _start_ }}
-#-------------------------------------------------- {{ ignore}}
-<group name="router">
-    router {{ignore}}
-    <group name="interfaces">
-        interface {{interface_name | strip('"')}}
-            shutdown {{admin_state | set(false) }}
-            description {{description | strip('"')}}
-            enable-ingress-stats {{ingress_stats | set(true)}}
-            <group name="ipv4.primary">
-            address {{address | IP}}/{{prefix_length}}
-            </group>
-            loopback {{loopback | set(true)}}
-            <group name="ipv4.bfd">
-            bfd {{ipv4_bfd | re(r"\d.*")}}
-            </group>
-            ldp_sync_timer {{ldp_sync_timer}}
-            cpu_protection {{cpu_protection}}
-            port {{port}}
-            <group name="ipv6">
-            ipv6 {{_start_}}
-                <group name="address">
-                address {{ipv6_address | IPV6 }}/{{prefix_length}}
-                </group>
-                <group name="address">
-                bfd {{ipv6_bfd | re(r"\d.*")}}
-                </group>
-            exit {{ignore}}
-            </group>
-            exit {{ignore}}
-            <group name="qos">
-            qos {{network-policy}}
+        exit {{ignore}}
+    </group>
+#-------------------------------------------------- {{ _end_ }}
+<macro>
+def macro_true(data):
+	if 'prefer' in data:
+		return  data, {"prefer": True}
+</macro>
+    system {{_start_}}
+        <group name="configure.system">
+        name {{ name | strip('"') }}
+        contact {{ contact | re(r"\W.*") | strip('"')}}
+        location {{location | re(r"\W.*") | strip('"')}}
+        <group name="rollback">
+        rollback {{rollback | set(true)}}
+            rollback-location {{cf_slot | strip('"') | to_str}}:\{{ directory | to_str | strip('"')}}
+            rescue-location {{rescue_cf_slot | strip('"') | to_str}}:\{{ rescue_directory | to_str | strip('"')}}
+            exit {{_end_}}
+        </group>
+        <group name="power-management">
+        power-management {{_start_}}
+            <group name="peq">
+            peq {{peq-id | _start_}}
+                peq-type {{peq-type}}
+                no shutdown {{ admin-state | set(true) }}
+                shutdown {{ admin-state | set(false) }}
+            exit {{_end_}}
             </group>
-            <group name="ingress">
-            ingress {{_start_}}
-                filter ip {{filter-acl-id}}
-                filter ipv6 {{filter-acl-id-v6}}
+        exit {{_end_}}
+        </group>
+        <group name="dns">
+        dns {{_start_}}
+            address-pref {{address-pref | ORPHRASE }}
+        exit {{_end_}}
+        </group>
+        <group name="load-balancing">
+        load-balancing {{_start_}}
+            l4-load-balancing {{ l4-load-balancing | set(true) }}
+            lsr-load-balancing {{lsr-hashing}}
+        exit {{_end_}}
+        </group>
+        <group name="time" contains="time_zone">
+        time {{_start_}}
+            <group name="ntp" containsall="admin_state">
+            ntp {{_start_}}{{ _exact_ }}
+                no shutdown {{ admin_state | set(true) }}
+                shutdown {{ admin_state | set(false) }}
+                server {{server | IP}}
             exit {{_end_}}
             </group>
-            <group name="egress">
-            egress {{_start_}}
-                filter ip {{filter-acl-id}}
-                filter ipv6 {{filter-acl-id-v6}}
+            <group name="sntp">
+            sntp {{_start_}}{{ _exact_ }}
+                no shutdown {{ admin_state | set(true) }}
+                shutdown {{ admin_state | set(false) }}
             exit {{_end_}}
             </group>
-            <group name="cflowd-parameters">
-            cflowd-parameters {{_start_}}
-                sampling {{cast}} type {{sampling-type}}
+            <group name="dst-zone">
+            dst-zone {{ dst-zone | _start_}}
+                start last {{dst-zone-start | ORPHRASE }}
+                end last {{dst-zone-end | ORPHRASE }}
+            exit {{_end_}}
+            </group> 
+            zone {{time_zone}}
+        exit {{_end_}}
+        </group>
+        <group name="snmp">
+            packet-size {{packet_size}}
+        </group>
+        <group name="time">
+        time {{ignore}}
+                <group name="ntp">
+                <group>
+                no authentication-check {{authentication-check | set(false)}}
+                shutdown {{admin-state | set(false)}}
+                <group>
+                no authentication-check {{authentication-check | set(false)}}
+                no shutdown {{admin-state | set(true)}}
+                </group> 
+                </group>
+                    <group name="server">
+                <group>
+                server {{ip-address | _start_}}
+                server {{ip-address | _start_}} {{prefer | macro('macro_true')}}
+                </group>
+                </group>
+        <group name="dst-zone">
+            dst-zone {{summer-time-zone | _start_}}
+                <group name="start">
+                start {{week | _start_}} {{day}} {{month}} {{hours-minute}}
+                </group> 
+                <group name="end">
+                end {{week | _start_ }} {{day}} {{month}} {{hours-minute}}
+                </group>
+        </group> 
+        <group name="zone.standard">
+            zone {{name}}
+        </group>
+        <group name="script-control">
+        script-control {{_start_}}
+            <group name="script">
+            script "{{name | _start_}}"
+                description "{{description | ORPHRASE}}"
+                location "{{location}}"
+                shutdown {{ admin-state | set(false) }}
+                no shutdown {{ admin-state | set(true) }}
             exit {{_end_}}
             </group>
-            local-dhcp-server  "{{local-dhcp-server-name}}"
-            bfd {{ipv4_bfd | re(r"\d.*")}}
-            no shutdown {{admin_state | set(true)}}
-        autonomous-system {{autonomous-system-id}}
-        ecmp {{ecmp-value}}
+            <group name="script-policy">
+            script-policy "{{name | _start_}}"
+                results "{{results}}"
+                script "{{script-file}}"
+                shutdown {{ admin-state | set(false) }}
+                no shutdown {{ admin-state | set(true) }}
+            exit {{_end_}}       
+            </group>
         exit {{_end_}}
-    </group>
-</group>
+        </group>
+                </group>       
+                </group>
 #-------------------------------------------------- {{_end_}}
-<group name="configure.system.security.cpm-filter">
-#--------------------------------------------------{{ignore}}
-echo "System Security Cpm Hw Filters, PKI, TLS and LDAP Configuration" {{_start_}}
-#--------------------------------------------------{{ignore}}
-    system {{_start_}}
-        security {{_start_}}
-            cpm-filter {{_start_}}
-                default-action drop {{default-action | set(drop)}}
-                <group name="ip-filter">
-                ip-filter {{_start_}}
-                    no shutdown{{admin_state | _exact_ | set(true)}}
-                    shutdown{{admin_state | _exact_ | set(false)}}
-                    <group name="entry">
-                    entry {{entry-id | _start_ }} create
-                        action {{action | ORPHRASE}}
-                        description "{{description | ORPHRASE}}"
-                        log {{log-id}}
-                        <group name="match-protocol">
-                        match protocol {{protocol | _start_}}
-                            src-ip {{src-ip-address | PREFIX}}
-                            src-ip ip-prefix-list "{{src-ip-prefix-list}}"
-                            dst-ip {{dst-ip-address | PREFIX}}
-                            dst-ip ip-prefix-list "{{dst-ip-prefix-list}}"
-                            src-port {{ src-port | ORPHRASE | split(' ')}}
-                            dst-port {{ dst-port | ORPHRASE | split(' ')}}
-                            icmp-type {{icmp-type}}
-                        exit {{_end_}}
-                        </group>
-                        <group name="match">
-                        match {{_start_}}
-                            src-ip {{src-ip-address | PREFIX}}
-                            src-ip ip-prefix-list "{{src-ip-prefix-list}}"
-                            dst-ip {{dst-ip-address | PREFIX}}
-                            dst-ip ip-prefix-list "{{dst-ip-prefix-list}}"
-                        exit {{_end_}}
-                        </group>                        
-                    exit {{_end_}}
-                    </group>
-                exit {{_end_}}
                 </group>
-                <group name="ipv6-filter">
-                ipv6-filter {{_start_}}
-                    no shutdown{{admin_state | _exact_ | set(true)}}
-                    shutdown{{admin_state | _exact_ | set(false)}}
-                    <group name="entry">
-                    entry {{entry-id | _start_ }} create
-                        action {{action | ORPHRASE}}
-                        description "{{description | ORPHRASE}}"
-                        log {{log-id}}
-                        <group name="match-next-header">
-                        match next-header {{protocol | _start_}}
-                            src-ip {{src-ipv6-address | PREFIXV6 }}
-                            src-ip ipv6-prefix-list "{{src-ipv6-prefix-list}}"
-                            dst-ip {{dst-ipv6-address | PREFIXV6}}
-                            dst-ip ipv6-prefix-list "{{dst-ipv6-prefix-list}}"
-                            src-port {{ src-port | ORPHRASE | split(' ')}}
-                            dst-port {{ dst-port | ORPHRASE | split(' ')}}
-                        exit {{_end_}}
-                        </group>  
-                    exit {{_end_}}
-                    </group>
+<group name="configure.router.l2tp">
+#-------------------------------------------------- {{ignore}}
+echo "L2TP Configuration" {{_start_}}
+#-------------------------------------------------- {{ignore}}
+        l2tp {{_start_}}
+            <group name="group">
+            group "{{group}}" protocol {{protocol}} create
+                <group name="tunnel">
+                tunnel "{{tunnel}}" create
+                    local-name "{{local-name}}"
+                    peer {{peer | IP}}
+                    no shutdown {{admin_state | set(true)}}
                 exit {{_end_}}
                 </group>
+                no shutdown {{admin_state | set(true)}}
             exit {{_end_}}
+            </group>
+            no shutdown {{admin_state | set(true)}}
+        exit {{ignore}}
+#-------------------------------------------------- {{_end_}}
+</group>           <group name="system.profile">
+            profile {{user-profile-name | re(r".+") | strip('"')}}
+                default-action {{default-action}}
+                <group name="entry">
+                entry {{entry-id}} {{_start_}}
+                    match {{match | re(r"\W.*") | strip('"')}}
+                    action {{action}}
+                exit {{ignore}}
+                </group>
+            exit {{_end_}}
+            </group>
+#-------------------------------------------------- {{ ignore }}
+<group name="configure">
+echo "MPLS LSP Configuration"{{ _start_ }}
+#-------------------------------------------------- {{ ignore }}
+        <group name="mpls">
+        mpls
+            <group name="path">
+            path "{{ name }}"
+                no shutdown {{ admin-state | set('true') }}
+                shutdown {{ admin-state | set('false') }}
+            exit
+            </group>
+            <group name="templates">
+            <group name="entry">
+            lsp-template "{{ name }}" {{ type }}
+                default-path "{{ default-path }}"
+                path-computation-method {{ path-computation-method }}
+                fast-reroute {{ fast-reroute }}
+                exit {{ ignore }}
+                no shutdown {{ admin-state | set('true') }}
+                shutdown {{ admin-state | set('false') }}
+            </group>
+            exit {{ _end_ }}
+            </group>
+            <group name="lsp">
+            lsp "name"
+                to {{ to }}
+                path-computation-method {{ path-computation-method }}
+                fast-reroute {{ fast-reroute }}
+                exit {{ ignore }}
+                primary "{{ primary }}"
+                exit {{ ignore }}
+                secondary "{{ secondary }}"
+                    {{ standby }}
+                exit {{ ignore }}
+                no shutdown {{ admin-state | set('true') }}
+                shutdown {{ admin-state | set('false') }}
+            exit {{ _end_ }}
+            </group>
+            <group name="auto-lsp">
+            auto-lsp lsp-template "{{ template }}" policy "{{ policy }}"
+            </group>
+            shutdown {{ admin-state | set('false') }}
+            no shutdown {{ admin-state | set('true') }}
+        exit {{ _end_ }}
+        </group>
+</group><macro>
+def macro_gen(data):
+	if 'generate' in data:
+		return data, {"generate": True}
+
+def macro_source(data):
+    if 'main' in data:
+        return data, {"main": True}
+    elif 'change' in data:
+        return data, {"change": True}
+    elif 'security' in data:
+        return data, {"security": True}   
+</macro>
+
+#-------------------------------------------------- {{ignore}}
+echo "Log Configuration" <group name="configure.log"> {{_start_}}
+#-------------------------------------------------- {{ignore}}
+    log {{ignore}}
+    <group name="file">
+        file-id {{file-id}} 
+            description "{{description}}"
+            <group name="compact-flash-location">
+            location {{primary}}: 
+            </group>
+            rollover {{rollover}} retention {{retention}} 
+        exit {{ignore}}
+    </group>
+        <group name="log-events.chassis">
+        event-control "{{event}}" {{event-id}} {{generate | re(r'generate') | macro('macro_gen')}}
+        </group>
+        <group name="syslog">
+        syslog {{syslog-id | DIGIT}}
+            description "{{description | PHRASE}}"
+            address {{address}}
+        </group>
         exit {{_end_}}
+        <group name="snmp-trap-group">
+        snmp-trap-group {{log-id | DIGIT | _start_ }}
+            description "{{description}}"
+            <group name="trap-target">
+            trap-target "{{name | _start_ }}" address {{address}} {{snmp-version}} notify-community "{{notify-community}}" security-level {{security-level}}
+            trap-target "{{name | _start_ }}" address {{address}} {{snmp-version}} notify-community "{{notify-community}}"
+            </group>
+        </group>
+        exit {{_end_}}
+        <group>
+        log-id {{log-id}} 
+            description "{{description}}"
+            <group name="source">
+            from {{source | _start_ | macro('macro_source')}}
+            from {{source | _start_ | macro('macro_source')}} {{security | macro('macro_source')}}
+            from {{source | _start_ | macro('macro_source')}} {{security | macro('macro_source')}} {{change | macro('macro_source')}}
+            </group>
+            to {{destination}}
+        exit {{_end_}}
+        </group>
     exit {{_end_}}
-#-------------------------------------------------- {{ignore}}
-echo "System Login Control Configuration" {{_end_}}
-</group>
\ No newline at end of file
+</group>


Test patch:
diff --git a/tests/fixtures/parsed_results/admin_display/aaa_configuration.json b/tests/fixtures/parsed_results/admin_display/aaa_configuration.json
index 9070b57..3010519 100644
--- a/tests/fixtures/parsed_results/admin_display/aaa_configuration.json
+++ b/tests/fixtures/parsed_results/admin_display/aaa_configuration.json
@@ -1,1 +1,90 @@
-[{"configure": {"aaa": {"radius-script-policy": [{"name": "\"RADIUS-IN-DEF\"", "primary": {"admin_state": true, "script-url": "\"cf3:/SCRIPT_PYTHON/RADIUS-IN-DEF-v2.0.py\""}}, {"name": "\"RADIUS-OUT-DEF\"", "primary": {"admin_state": true, "script-url": "\"cf3:/SCRIPT_PYTHON/RADIUS-OUT-DEF-v2.0.py\""}}, {"name": "\"RADIUS-OUT-DSL-TES\"", "primary": {"admin_state": true, "script-url": "\"cf3:/SCRIPT_PYTHON/RADIUS-OUT-DSL-TES-v1.0.py\""}}, {"name": "\"RADIUS-IN-DEF\""}, {"name": "\"RADIUS-OUT-DEF\""}, {"name": "\"RADIUS-OUT-DSL-TES\""}, {"name": "\"RADIUS-REQUEST-DROP\""}, {"name": "\"RADIUS-ACCEPT-BITSTREAM-RED\""}, {"name": "\"RADIUS-REQUEST-MIGR-SRR-RED\""}, {"description": "\"vers Route Explorer\"", "name": "\"RADIUS-REQUEST-BITSTREAM-RED\""}], "radius-server-policy": [{"acct-request-script-policy": "\"RADIUS-REQUEST-BITSTREAM-RED\"", "description": "\"Radius Accounting pour Collecte Ethernet\"", "name": "\"RADIUS-ACCT-COLL-ETH-RED\"", "servers": {"retry": "1", "router": "\"Base\"", "server-id": "1", "server-name": "\"RADIUS-ACCT\""}}, {"auth-request-script-policy": "\"RADIUS-REQUEST-DROP\"", "description": "\"But est de dropper les paquets pour utiliser le fallback accept\"", "name": "\"RADIUS-AUTH-TIMEOUT\"", "servers": {"retry": "1", "router": "\"Base\"", "server-id": "1", "server-name": "\"RADIUS-AUTH\"", "timeout": "sec 59"}}, {"name": "\"RADIUS-ACCT-COLL-ETH-RED\""}, {"name": "\"RADIUS-ACCT-DEF\""}, {"name": "\"RADIUS-ACCT-DSL-TES\""}, {"name": "\"RADIUS-ACCT-MIGR-SRR-RED\""}, {"name": "\"RADIUS-AUTH-COLL-ETH-RED\""}, {"name": "\"RADIUS-AUTH-DEF\""}, {"name": "\"RADIUS-AUTH-DSL-TES\""}, {"name": "\"RADIUS-AUTH-MIGR-SRR-RED\""}, {"name": "\"RADIUS-AUTH-TIMEOUT\""}]}}}]
\ No newline at end of file
+{
+  "configure": {
+    "aaa": {
+      "radius-script-policy": [
+        {
+          "name": "\"RADIUS-IN-DEF\"",
+          "primary": {
+            "admin_state": true,
+            "script-url": "\"cf3:/SCRIPT_PYTHON/RADIUS-IN-DEF-v2.0.py\""
+          }
+        },
+        {
+          "name": "\"RADIUS-OUT-DEF\"",
+          "primary": {
+            "admin_state": true,
+            "script-url": "\"cf3:/SCRIPT_PYTHON/RADIUS-OUT-DEF-v2.0.py\""
+          }
+        },
+        {
+          "name": "\"RADIUS-OUT-DSL-TES\"",
+          "primary": {
+            "admin_state": true,
+            "script-url": "\"cf3:/SCRIPT_PYTHON/RADIUS-OUT-DSL-TES-v1.0.py\""
+          }
+        },
+        {
+          "name": "\"RADIUS-IN-DEF\""
+        }, {
+          "name": "\"RADIUS-OUT-DEF\""
+        }, {
+          "name": "\"RADIUS-OUT-DSL-TES\""
+        }, {
+          "name": "\"RADIUS-REQUEST-DROP\""
+        }, {
+          "name": "\"RADIUS-ACCEPT-BITSTREAM-RED\""
+        }, {
+          "name": "\"RADIUS-REQUEST-MIGR-SRR-RED\""
+        }, {
+          "description": "\"vers Route Explorer\"",
+          "name": "\"RADIUS-REQUEST-BITSTREAM-RED\""
+        }
+      ],
+      "radius-server-policy": [
+        {
+          "acct-request-script-policy": "\"RADIUS-REQUEST-BITSTREAM-RED\"",
+          "description": "\"Radius Accounting pour Collecte Ethernet\"",
+          "name": "\"RADIUS-ACCT-COLL-ETH-RED\"",
+          "servers": {
+            "retry": "1",
+            "router": "\"Base\"",
+            "server-id": "1",
+            "server-name": "\"RADIUS-ACCT\""
+          }
+        },
+        {
+          "auth-request-script-policy": "\"RADIUS-REQUEST-DROP\"",
+          "description": "\"But est de dropper les paquets pour utiliser le fallback accept\"",
+          "name": "\"RADIUS-AUTH-TIMEOUT\"",
+          "servers": {
+            "retry": "1",
+            "router": "\"Base\"",
+            "server-id": "1",
+            "server-name": "\"RADIUS-AUTH\"",
+            "timeout": "sec 59"
+          }
+        },
+        {
+          "name": "\"RADIUS-ACCT-COLL-ETH-RED\""
+        },
+        {
+          "name": "\"RADIUS-ACCT-DEF\""
+        }, {
+          "name": "\"RADIUS-ACCT-DSL-TES\""
+        }, {
+          "name": "\"RADIUS-ACCT-MIGR-SRR-RED\""
+        }, {
+          "name": "\"RADIUS-AUTH-COLL-ETH-RED\""
+        }, {
+          "name": "\"RADIUS-AUTH-DEF\""
+        }, {
+          "name": "\"RADIUS-AUTH-DSL-TES\""
+        }, {
+          "name": "\"RADIUS-AUTH-MIGR-SRR-RED\""
+        }, {
+          "name": "\"RADIUS-AUTH-TIMEOUT\""
+        }
+      ]
+    }
+  }
+}
diff --git a/tests/fixtures/parsed_results/admin_display/aaa_declarations_configuration.json b/tests/fixtures/parsed_results/admin_display/aaa_declarations_configuration.json
index 2686c3a..90f189d 100644
--- a/tests/fixtures/parsed_results/admin_display/aaa_declarations_configuration.json
+++ b/tests/fixtures/parsed_results/admin_display/aaa_declarations_configuration.json
@@ -1,1 +1,50 @@
-[{"configure": {"aaa_declarations": {"radius-script-policy": [{"name": "RADIUS-IN-DEF"}, {"name": "RADIUS-OUT-DEF"}, {"name": "RADIUS-OUT-DSL-TES"}, {"name": "RADIUS-REQUEST-DROP"}, {"name": "RADIUS-ACCEPT-BITSTREAM-RED"}, {"name": "RADIUS-REQUEST-MIGR-SRR-RED"}, {"name": "RADIUS-REQUEST-BITSTREAM-RED"}], "radius-server-policy": [{"name": "RADIUS-ACCT-COLL-ETH-RED"}, {"name": "RADIUS-ACCT-DEF"}, {"name": "RADIUS-ACCT-DSL-TES"}, {"name": "RADIUS-ACCT-MIGR-SRR-RED"}, {"name": "RADIUS-AUTH-COLL-ETH-RED"}, {"name": "RADIUS-AUTH-DEF"}, {"name": "RADIUS-AUTH-DSL-TES"}, {"name": "RADIUS-AUTH-MIGR-SRR-RED"}, {"name": "RADIUS-AUTH-TIMEOUT"}]}}}]
\ No newline at end of file
+{
+  "configure": {
+    "aaa_declarations": {
+      "radius-script-policy": [
+        {
+          "name": "RADIUS-IN-DEF"
+        },
+        {
+          "name": "RADIUS-OUT-DEF"
+        },
+        {
+          "name": "RADIUS-OUT-DSL-TES"
+        },
+        {
+          "name": "RADIUS-REQUEST-DROP"
+        }, {
+          "name": "RADIUS-ACCEPT-BITSTREAM-RED"
+        }, {
+          "name": "RADIUS-REQUEST-MIGR-SRR-RED"
+        }, {
+          "name": "RADIUS-REQUEST-BITSTREAM-RED"
+        }
+      ],
+      "radius-server-policy": [
+        {
+          "name": "RADIUS-ACCT-COLL-ETH-RED"
+        },
+        {
+          "name": "RADIUS-ACCT-DEF"
+        },
+        {
+          "name": "RADIUS-ACCT-DSL-TES"
+        },
+        {
+          "name": "RADIUS-ACCT-MIGR-SRR-RED"
+        }, {
+          "name": "RADIUS-AUTH-COLL-ETH-RED"
+        }, {
+          "name": "RADIUS-AUTH-DEF"
+        }, {
+          "name": "RADIUS-AUTH-DSL-TES"
+        }, {
+          "name": "RADIUS-AUTH-MIGR-SRR-RED"
+        }, {
+          "name": "RADIUS-AUTH-TIMEOUT"
+        }
+      ]
+    }
+  }
+}
diff --git a/tests/fixtures/parsed_results/admin_display/cflowd.json b/tests/fixtures/parsed_results/admin_display/cflowd.json
index 0c40b8a..c4b2d39 100644
--- a/tests/fixtures/parsed_results/admin_display/cflowd.json
+++ b/tests/fixtures/parsed_results/admin_display/cflowd.json
@@ -1,1 +1,24 @@
-[{"configure": {"cflowd": {"active-timeout": "1", "cache-size": "128000", "collector": [{"collector_ip_address": "10.61.221.151:3000", "collector_template-set": "mpls-ip", "description": "vers Route Explorer", "version_id": "9"}, {"collector_ip_address": "218.152.120.60", "collector_template-set": "mpls-ip", "description": "Collecteur Peakflow", "version_id": "10"}], "inactive-timeout": "30", "rate": "2000", "template-retransmit": "120"}}}]
\ No newline at end of file
+{
+  "configure": {
+    "cflowd": {
+      "active-timeout": "1",
+      "cache-size": "128000",
+      "collector": [
+        {
+          "collector_ip_address": "10.61.221.151:3000",
+          "collector_template-set": "mpls-ip",
+          "description": "vers Route Explorer",
+          "version_id": "9"
+        }, {
+          "collector_ip_address": "218.152.120.60",
+          "collector_template-set": "mpls-ip",
+          "description": "Collecteur Peakflow",
+          "version_id": "10"
+        }
+      ],
+      "inactive-timeout": "30",
+      "rate": "2000",
+      "template-retransmit": "120"
+    }
+  }
+}
diff --git a/tests/fixtures/parsed_results/admin_display/connectors.json b/tests/fixtures/parsed_results/admin_display/connectors.json
index 3b18041..2a2f9c0 100644
--- a/tests/fixtures/parsed_results/admin_display/connectors.json
+++ b/tests/fixtures/parsed_results/admin_display/connectors.json
@@ -1,31 +1,29 @@
-[
-   {
-      "configure":{
-         "connector":{
-            "port":{
-               "1/1/c1":{
-                  "admin-state":true,
-                  "breakout":"c4-10g"
-               },
-               "1/1/c1/1":{
-                  "admin-state":true
-               },
-               "1/1/c1/3":{
-                  "admin-state":true
-               },
-               "1/1/c1/4":{
-                  "admin-state":true
-               },
-               "1/1/c2":{
-                  "admin-state":true,
-                  "breakout":"c4-10g"
-               },
-               "1/1/c3":{
-                  "admin-state":true,
-                  "breakout":"c4-10g"
-               }
-            }
-         }
+{
+  "configure": {
+    "connector": {
+      "port": {
+        "1/1/c1": {
+          "admin-state": true,
+          "breakout": "c4-10g"
+        },
+        "1/1/c1/1": {
+          "admin-state": true
+        },
+        "1/1/c1/3": {
+          "admin-state": true
+        },
+        "1/1/c1/4": {
+          "admin-state": true
+        },
+        "1/1/c2": {
+          "admin-state": true,
+          "breakout": "c4-10g"
+        },
+        "1/1/c3": {
+          "admin-state": true,
+          "breakout": "c4-10g"
+        }
       }
-   }
-]
\ No newline at end of file
+    }
+  }
+}
diff --git a/tests/fixtures/parsed_results/admin_display/dhcp_configuration.json b/tests/fixtures/parsed_results/admin_display/dhcp_configuration.json
index fe42f90..0c67207 100644
--- a/tests/fixtures/parsed_results/admin_display/dhcp_configuration.json
+++ b/tests/fixtures/parsed_results/admin_display/dhcp_configuration.json
@@ -1,1 +1,35 @@
-[{"configure": {"router": {"dhcp": {"_ignore_": "management", "server": {"admin_state": true, "name": "SERVEUR-DHCP-GENERIQUE", "pool": {"max-lease-time": "hrs 4", "min-lease-time": "hrs 4", "name": "POOL-LOCAL-MIGRATION-3P", "options": {"custom-option": [{"address": "195.85.32.97", "id": "42"}, {"address": "195.85.32.97", "id": "72"}], "dns-server": ["195.85.40.10", "195.85.40.15"]}, "subnet": {"address-range": "10.98.115.2 10.98.123.254", "prefix": "10.98.115.0/20"}}, "user-db": "SRV-DHCP-LOCAL"}}}}}]
\ No newline at end of file
+{
+  "configure": {
+    "router": {
+      "dhcp": {
+        "_ignore_": "management",
+        "server": {
+          "admin_state": true,
+          "name": "SERVEUR-DHCP-GENERIQUE",
+          "pool": {
+            "max-lease-time": "hrs 4",
+            "min-lease-time": "hrs 4",
+            "name": "POOL-LOCAL-MIGRATION-3P",
+            "options": {
+              "custom-option": [
+                {
+                  "address": "195.85.32.97",
+                  "id": "42"
+                }, {
+                  "address": "195.85.32.97",
+                  "id": "72"
+                }
+              ],
+              "dns-server": ["195.85.40.10", "195.85.40.15"]
+            },
+            "subnet": {
+              "address-range": "10.98.115.2 10.98.123.254",
+              "prefix": "10.98.115.0/20"
+            }
+          },
+          "user-db": "SRV-DHCP-LOCAL"
+        }
+      }
+    }
+  }
+}
diff --git a/tests/fixtures/parsed_results/admin_display/ethcfm.json b/tests/fixtures/parsed_results/admin_display/ethcfm.json
index 676e47d..b68ceff 100644
--- a/tests/fixtures/parsed_results/admin_display/ethcfm.json
+++ b/tests/fixtures/parsed_results/admin_display/ethcfm.json
@@ -1,52 +1,47 @@
-[
-   {
-      "system":{
-         "eth-cfm":{
-            "domain":[
-               {
-                  "associations":[
-                     {
-                        "association-id":"1",
-                        "bridge-id":"420691",
-                        "format":"icc-based",
-                        "name":"epipe-7750-01",
-                        "remote-mepid":"420"
-                     },
-                     {
-                        "association-id":"2",
-                        "bridge-id":"420692",
-                        "format":"icc-based",
-                        "name":"epipe-7750-02",
-                        "remote-mepid":"1420"
-                     }
-                  ],
-                  "domain-id":"1",
-                  "format":"none",
-                  "level":"1"
-               },
-               {
-                  "associations":[
-                     {
-                        "association-id":"1",
-                        "bridge-id":"11111",
-                        "format":"icc-based",
-                        "name":"epipe-7750-01",
-                        "remote-mepid":"4201"
-                     },
-                     {
-                        "association-id":"2",
-                        "bridge-id":"2222",
-                        "format":"icc-based",
-                        "name":"epipe-7750-02",
-                        "remote-mepid":"14202"
-                     }
-                  ],
-                  "domain-id":"2",
-                  "format":"none",
-                  "level":"1"
-               }
-            ]
-         }
-      }
-   }
-]
\ No newline at end of file
+{
+  "system": {
+    "eth-cfm": {
+      "domain": [
+        {
+          "associations": [
+            {
+              "association-id": "1",
+              "bridge-id": "420691",
+              "format": "icc-based",
+              "name": "epipe-7750-01",
+              "remote-mepid": "420"
+            }, {
+              "association-id": "2",
+              "bridge-id": "420692",
+              "format": "icc-based",
+              "name": "epipe-7750-02",
+              "remote-mepid": "1420"
+            }
+          ],
+          "domain-id": "1",
+          "format": "none",
+          "level": "1"
+        }, {
+          "associations": [
+            {
+              "association-id": "1",
+              "bridge-id": "11111",
+              "format": "icc-based",
+              "name": "epipe-7750-01",
+              "remote-mepid": "4201"
+            }, {
+              "association-id": "2",
+              "bridge-id": "2222",
+              "format": "icc-based",
+              "name": "epipe-7750-02",
+              "remote-mepid": "14202"
+            }
+          ],
+          "domain-id": "2",
+          "format": "none",
+          "level": "1"
+        }
+      ]
+    }
+  }
+}
diff --git a/tests/fixtures/parsed_results/admin_display/filter_configuration.json b/tests/fixtures/parsed_results/admin_display/filter_configuration.json
index addded0..6d15ba3 100644
--- a/tests/fixtures/parsed_results/admin_display/filter_configuration.json
+++ b/tests/fixtures/parsed_results/admin_display/filter_configuration.json
@@ -1,1 +1,1624 @@
-[{"configure": {"filter": {"ip-filter": [{"default-action": "forward", "entry": [{"action": {"forward": true}, "entry": "1000", "match": {"src-ip-address": "79.91.72.62/32"}}, {"action": {"forward": true}, "entry": "1001", "match": {"dst-ip-address": "79.91.72.62/32"}}, {"action": {"forward": true}, "entry": "1002", "match": {"src-ip-address": "29.89.54.148/32"}}, {"action": {"forward": true}, "entry": "1003", "match": {"dst-ip-address": "29.89.54.148/32"}}, {"action": {"forward": true}, "entry": "1008", "match": {"src-ip-address": "189.112.71.249/32"}}, {"action": {"forward": true}, "entry": "1009", "match": {"dst-ip-address": "189.112.71.249/32"}}, {"action": {"forward": true}, "entry": "1010", "match": {"src-ip-address": "2.17.207.74/32"}}, {"action": {"forward": true}, "entry": "1011", "match": {"dst-ip-address": "2.17.207.74/32"}}, {"action": {"forward": true}, "entry": "1018", "match": {"src-ip-address": "29.89.72.71/32"}}, {"action": {"forward": true}, "entry": "1019", "match": {"dst-ip-address": "29.89.72.71/32"}}, {"action": {"forward": true}, "entry": "1028", "match": {"src-ip-address": "29.93.190.77/32"}}, {"action": {"forward": true}, "entry": "1029", "match": {"dst-ip-address": "29.93.190.77/32"}}, {"action": {"forward": true}, "entry": "1030", "match": {"src-ip-address": "67.216.114.151/32"}}, {"action": {"forward": true}, "entry": "1031", "match": {"dst-ip-address": "67.216.114.151/32"}}, {"action": {"forward": true}, "entry": "1033", "match": {"dst-ip-address": "189.109.118.77/32"}}, {"action": {"forward": true}, "entry": "1036", "match": {"src-ip-address": "79.82.45.195/32"}}, {"action": {"forward": true}, "entry": "1037", "match": {"dst-ip-address": "79.82.45.195/32"}}, {"action": {"forward": true}, "entry": "1040", "match": {"src-ip-address": "79.92.187.220/32"}}, {"action": {"forward": true}, "entry": "1041", "match": {"dst-ip-address": "79.92.187.220/32"}}, {"action": {"forward": true}, "entry": "1046", "match": {"src-ip-address": "67.218.208.95/32"}}, {"action": {"forward": true}, "entry": "1047", "match": {"dst-ip-address": "67.218.208.95/32"}}, {"action": {"forward": true}, "entry": "1048", "match": {"src-ip-address": "189.73.107.53/32"}}, {"action": {"forward": true}, "entry": "1049", "match": {"dst-ip-address": "189.73.107.53/32"}}, {"action": {"forward": true}, "entry": "1062", "match": {"src-ip-address": "29.95.34.215/32"}}, {"action": {"forward": true}, "entry": "1063", "match": {"dst-ip-address": "29.95.34.215/32"}}, {"action": {"forward": true}, "entry": "1069", "match": {"dst-ip-address": "189.75.57.39/32"}}, {"action": {"forward": true}, "entry": "1074", "match": {"src-ip-address": "189.90.220.12/32"}}, {"action": {"forward": true}, "entry": "1075", "match": {"dst-ip-address": "189.90.220.12/32"}}, {"action": {"forward": true}, "entry": "1078", "match": {"src-ip-address": "189.107.80.25/32"}}, {"action": {"forward": true}, "entry": "1079", "match": {"dst-ip-address": "189.107.80.25/32"}}, {"action": {"forward": true}, "entry": "1080", "match": {"src-ip-address": "29.92.39.221/32"}}, {"action": {"forward": true}, "entry": "1081", "match": {"dst-ip-address": "29.92.39.221/32"}}, {"action": {"forward": true}, "entry": "1082", "match": {"src-ip-address": "189.92.237.60/32"}}, {"action": {"forward": true}, "entry": "1083", "match": {"dst-ip-address": "189.92.237.60/32"}}, {"action": {"forward": true}, "entry": "1084", "match": {"src-ip-address": "189.86.221.90/32"}}, {"action": {"forward": true}, "entry": "1085", "match": {"dst-ip-address": "189.86.221.90/32"}}, {"action": {"forward": true}, "entry": "1095", "match": {"dst-ip-address": "79.85.89.17/32"}}, {"action": {"forward": true}, "entry": "1096", "match": {"src-ip-address": "74.203.56.242/32"}}, {"action": {"forward": true}, "entry": "1097", "match": {"dst-ip-address": "74.203.56.242/32"}}, {"action": {"forward": true}, "entry": "1098", "match": {"src-ip-address": "189.71.180.238/32"}}, {"action": {"forward": true}, "entry": "1099", "match": {"dst-ip-address": "189.71.180.238/32"}}, {"action": {"forward": true}, "entry": "1100", "match": {"src-ip-address": "189.101.126.50/32"}}, {"action": {"forward": true}, "entry": "1101", "match": {"dst-ip-address": "189.101.126.50/32"}}, {"action": {"forward": true}, "entry": "1104", "match": {"src-ip-address": "79.85.89.17/32"}}, {"action": {"forward": true}, "entry": "1105", "match": {"dst-ip-address": "79.85.89.17/32"}}, {"action": {"forward": true}, "entry": "1106", "match": {"src-ip-address": "74.203.102.244/32"}}, {"action": {"forward": true}, "entry": "1107", "match": {"dst-ip-address": "74.203.102.244/32"}}, {"action": {"forward": true}, "entry": "1116", "match": {"src-ip-address": "29.89.35.249/32"}}, {"action": {"forward": true}, "entry": "1117", "match": {"dst-ip-address": "29.89.35.249/32"}}, {"action": {"forward": true}, "entry": "1118", "match": {"src-ip-address": "189.86.97.222/32"}}, {"action": {"forward": true}, "entry": "1119", "match": {"dst-ip-address": "189.86.97.222/32"}}, {"action": {"forward": true}, "entry": "1122", "match": {"src-ip-address": "189.111.223.97/32"}}, {"action": {"forward": true}, "entry": "1123", "match": {"dst-ip-address": "189.111.223.97/32"}}, {"action": {"forward": true}, "entry": "1124", "match": {"src-ip-address": "2.17.169.190/32"}}, {"action": {"forward": true}, "entry": "1125", "match": {"dst-ip-address": "2.17.169.190/32"}}, {"action": {"forward": true}, "entry": "1126", "match": {"src-ip-address": "74.203.29.2/32"}}, {"action": {"forward": true}, "entry": "1127", "match": {"dst-ip-address": "74.203.29.2/32"}}, {"action": {"forward": true}, "entry": "1128", "match": {"src-ip-address": "189.117.27.44/32"}}, {"action": {"forward": true}, "entry": "1129", "match": {"dst-ip-address": "189.117.27.44/32"}}, {"action": {"forward": true}, "entry": "1150", "match": {"src-ip-address": "189.109.24.7/32"}}, {"action": {"forward": true}, "entry": "1151", "match": {"dst-ip-address": "189.109.24.7/32"}}, {"action": {"forward": true}, "entry": "1155", "match": {"dst-ip-address": "189.117.27.44/32"}}, {"action": {"forward": true}, "entry": "1146", "match": {"src-ip-address": "189.97.99.10/32"}}, {"action": {"forward": true}, "entry": "1147", "match": {"dst-ip-address": "189.97.99.10/32"}}, {"action": {"forward": true}, "entry": "1152", "match": {"src-ip-address": "79.94.118.174/32"}}, {"action": {"forward": true}, "entry": "1153", "match": {"dst-ip-address": "79.94.118.174/32"}}, {"action": {"forward": true}, "entry": "1158", "match": {"src-ip-address": "189.71.184.44/32"}}, {"action": {"forward": true}, "entry": "1159", "match": {"dst-ip-address": "189.71.184.44/32"}}, {"action": {"forward": true}, "entry": "1172", "match": {"src-ip-address": "189.111.223.97/32"}}, {"action": {"forward": true}, "entry": "1173", "match": {"dst-ip-address": "189.111.223.97/32"}}, {"action": {"forward": true}, "entry": "1184", "match": {"src-ip-address": "189.106.104.57/32"}}, {"action": {"forward": true}, "entry": "1185", "match": {"dst-ip-address": "189.106.104.57/32"}}, {"action": {"forward": true}, "entry": "1186", "match": {"src-ip-address": "37.15.187.223/32"}}, {"action": {"forward": true}, "entry": "1187", "match": {"dst-ip-address": "37.15.187.223/32"}}, {"action": {"forward": true}, "entry": "1192", "match": {"src-ip-address": "189.78.172.247/32"}}, {"action": {"forward": true}, "entry": "1193", "match": {"dst-ip-address": "189.78.172.247/32"}}], "id": "1000", "name": "1000"}, {"default-action": "forward", "entry": [{"action": {"forward": true}, "entry": "1002", "match": {"src-ip-address": "29.89.54.148/32"}}, {"action": {"forward": true}, "entry": "1003", "match": {"dst-ip-address": "29.89.54.148/32"}}, {"action": {"forward": true}, "entry": "1008", "match": {"src-ip-address": "189.112.71.249/32"}}, {"action": {"forward": true}, "entry": "1009", "match": {"dst-ip-address": "189.112.71.249/32"}}, {"action": {"forward": true}, "entry": "1010", "match": {"src-ip-address": "2.17.207.74/32"}}, {"action": {"forward": true}, "entry": "1011", "match": {"dst-ip-address": "2.17.207.74/32"}}, {"action": {"forward": true}, "entry": "1018", "match": {"src-ip-address": "29.89.80.192/32"}}, {"action": {"forward": true}, "entry": "1019", "match": {"dst-ip-address": "29.89.80.192/32"}}, {"action": {"forward": true}, "entry": "1028", "match": {"src-ip-address": "29.91.159.100/32"}}, {"action": {"forward": true}, "entry": "1029", "match": {"dst-ip-address": "29.91.159.100/32"}}, {"action": {"forward": true}, "entry": "1030", "match": {"src-ip-address": "67.216.114.151/32"}}, {"action": {"forward": true}, "entry": "1031", "match": {"dst-ip-address": "67.216.114.151/32"}}, {"action": {"forward": true}, "entry": "1032", "match": {"src-ip-address": "189.109.118.77/32"}}, {"action": {"forward": true}, "entry": "1036", "match": {"src-ip-address": "79.82.45.195/32"}}, {"action": {"forward": true}, "entry": "1037", "match": {"dst-ip-address": "79.82.45.195/32"}}, {"action": {"forward": true}, "entry": "1040", "match": {"src-ip-address": "79.82.46.152/32"}}, {"action": {"forward": true}, "entry": "1041", "match": {"dst-ip-address": "79.82.46.152/32"}}, {"action": {"forward": true}, "entry": "1046", "match": {"src-ip-address": "67.218.208.95/32"}}, {"action": {"forward": true}, "entry": "1047", "match": {"dst-ip-address": "67.218.208.95/32"}}, {"action": {"forward": true}, "entry": "1048", "match": {"src-ip-address": "189.73.107.53/32"}}, {"action": {"forward": true}, "entry": "1049", "match": {"dst-ip-address": "189.73.107.53/32"}}, {"action": {"forward": true}, "entry": "1062", "match": {"src-ip-address": "29.95.34.215/32"}}, {"action": {"forward": true}, "entry": "1063", "match": {"dst-ip-address": "29.95.34.215/32"}}, {"action": {"forward": true}, "entry": "1068", "match": {"src-ip-address": "189.75.57.39/32"}}, {"action": {"forward": true}, "entry": "1080", "match": {"src-ip-address": "2.17.205.32/32"}}, {"action": {"forward": true}, "entry": "1081", "match": {"dst-ip-address": "2.17.205.32/32"}}, {"action": {"forward": true}, "entry": "1082", "match": {"src-ip-address": "189.92.237.60/32"}}, {"action": {"forward": true}, "entry": "1083", "match": {"dst-ip-address": "189.92.237.60/32"}}, {"action": {"forward": true}, "entry": "1084", "match": {"src-ip-address": "189.86.221.90/32"}}, {"action": {"forward": true}, "entry": "1085", "match": {"dst-ip-address": "189.86.221.90/32"}}, {"action": {"forward": true}, "entry": "1094", "match": {"src-ip-address": "79.85.89.17/32"}}, {"action": {"forward": true}, "entry": "1096", "match": {"src-ip-address": "74.203.56.242/32"}}, {"action": {"forward": true}, "entry": "1097", "match": {"dst-ip-address": "74.203.56.242/32"}}, {"action": {"forward": true}, "entry": "1098", "match": {"src-ip-address": "189.71.180.238/32"}}, {"action": {"forward": true}, "entry": "1099", "match": {"dst-ip-address": "189.71.180.238/32"}}, {"action": {"forward": true}, "entry": "1100", "match": {"src-ip-address": "189.101.126.50/32"}}, {"action": {"forward": true}, "entry": "1101", "match": {"dst-ip-address": "189.101.126.50/32"}}, {"action": {"forward": true}, "entry": "1104", "match": {"src-ip-address": "79.85.89.17/32"}}, {"action": {"forward": true}, "entry": "1105", "match": {"dst-ip-address": "79.85.89.17/32"}}, {"action": {"forward": true}, "entry": "1106", "match": {"src-ip-address": "74.203.102.244/32"}}, {"action": {"forward": true}, "entry": "1107", "match": {"dst-ip-address": "74.203.102.244/32"}}, {"action": {"forward": true}, "entry": "1116", "match": {"src-ip-address": "67.219.153.92/32"}}, {"action": {"forward": true}, "entry": "1117", "match": {"dst-ip-address": "67.219.153.92/32"}}, {"action": {"forward": true}, "entry": "1118", "match": {"src-ip-address": "189.86.97.222/32"}}, {"action": {"forward": true}, "entry": "1119", "match": {"dst-ip-address": "189.86.97.222/32"}}, {"action": {"forward": true}, "entry": "1122", "match": {"src-ip-address": "189.111.223.97/32"}}, {"action": {"forward": true}, "entry": "1123", "match": {"dst-ip-address": "189.111.223.97/32"}}, {"action": {"forward": true}, "entry": "1124", "match": {"src-ip-address": "2.17.169.190/32"}}, {"action": {"forward": true}, "entry": "1125", "match": {"dst-ip-address": "2.17.169.190/32"}}, {"action": {"forward": true}, "entry": "1126", "match": {"src-ip-address": "74.203.29.2/32"}}, {"action": {"forward": true}, "entry": "1127", "match": {"dst-ip-address": "74.203.29.2/32"}}, {"action": {"forward": true}, "entry": "1128", "match": {"src-ip-address": "189.117.27.44/32"}}, {"action": {"forward": true}, "entry": "1129", "match": {"dst-ip-address": "189.117.27.44/32"}}, {"action": {"forward": true}, "entry": "1150", "match": {"src-ip-address": "189.109.24.7/32"}}, {"action": {"forward": true}, "entry": "1151", "match": {"dst-ip-address": "189.109.24.7/32"}}, {"action": {"forward": true}, "entry": "1154", "match": {"src-ip-address": "189.117.27.44/32"}}, {"action": {"forward": true}, "entry": "1146", "match": {"src-ip-address": "189.97.99.10/32"}}, {"action": {"forward": true}, "entry": "1147", "match": {"dst-ip-address": "189.97.99.10/32"}}, {"action": {"forward": true}, "entry": "1152", "match": {"src-ip-address": "2.16.245.70/32"}}, {"action": {"forward": true}, "entry": "1153", "match": {"dst-ip-address": "2.16.245.70/32"}}, {"action": {"forward": true}, "entry": "1158", "match": {"src-ip-address": "189.71.184.44/32"}}, {"action": {"forward": true}, "entry": "1159", "match": {"dst-ip-address": "189.71.184.44/32"}}, {"action": {"forward": true}, "entry": "1172", "match": {"src-ip-address": "189.111.223.97/32"}}, {"action": {"forward": true}, "entry": "1173", "match": {"dst-ip-address": "189.111.223.97/32"}}, {"action": {"forward": true}, "entry": "1184", "match": {"src-ip-address": "189.106.104.57/32"}}, {"action": {"forward": true}, "entry": "1185", "match": {"dst-ip-address": "189.106.104.57/32"}}, {"action": {"forward": true}, "entry": "1192", "match": {"src-ip-address": "189.78.172.247/32"}}, {"action": {"forward": true}, "entry": "1193", "match": {"dst-ip-address": "189.78.172.247/32"}}], "id": "1001", "name": "1001"}, {"default-action": "forward", "id": "1002", "name": "1002"}, {"default-action": "forward", "id": "1003", "name": "1003"}, {"default-action": "forward", "description": "Filtre pour securite collectes", "id": "2000", "name": "2000", "scope": "embedded"}, {"description": "Filtre", "entry": [{"action": {"drop": true}, "entry": "12000", "match-protocol": {"dst-port": "179", "protocol": "tcp"}}, {"action": {"forward": true}, "entry": "12001", "match-protocol": {"dst-port": "67", "protocol": "udp"}}], "id": "2001", "name": "2001", "scope": "embedded"}, {"id": "2100", "name": "2100", "scope": "embedded"}, {"description": "Filtre pour suspension ONLY", "entry": [{"action": {"forward": true}, "entry": "21000", "match": {"dst-ip-address": "79.87.191.0/24"}}, {"action": {"forward": true}, "entry": "21001", "match": {"dst-ip-address": "195.185.47.0/24"}}, {"action": {"forward": true}, "entry": "21002", "match": {"dst-ip-address": "10.187.145.0/16"}}, {"action": {"forward": true}, "entry": "21003", "match": {"dst-ip-address": "67.218.54.0/24"}}, {"action": {"forward": true}, "entry": "21004", "match": {"dst-ip-address": "10.158.76.0/23"}}, {"action": {"forward": true}, "entry": "21005", "match": {"dst-ip-address": "10.145.93.0/19"}}, {"action": {"forward": true}, "entry": "21006", "match": {"dst-ip-address": "194.169.49.0/21"}}, {"action": {"forward": true}, "entry": "21007", "match": {"dst-ip-address": "218.93.227.34/32"}}, {"action": {"forward": true}, "entry": "21008", "match": {"dst-ip-address": "37.229.181.0/24"}}, {"action": {"forward": true}, "entry": "21009", "match": {"dst-ip-address": "172.30.151.96/28"}}, {"action": {"forward": true}, "entry": "21010", "match": {"dst-ip-address": "194.195.71.0/24"}}, {"action": {"forward": true}, "entry": "21011", "match": {"dst-ip-address": "195.85.43.0/21"}}, {"action": {"forward": true}, "entry": "21012", "match": {"dst-ip-address": "195.85.32.0/24"}}, {"action": {"forward": true}, "entry": "21015", "match": {"dst-ip-address": "79.95.6.1/24"}}, {"action": {"forward": true}, "entry": "21014", "match": {"dst-ip-address": "79.87.242.32/28"}}, {"action": {"forward": true}, "entry": "21015", "match": {"dst-ip-address": "79.91.33.0/24"}}, {"action": {"forward": true}, "entry": "21016", "match": {"dst-ip-address": "195.185.34.0/24"}}, {"action": {"forward": true}, "entry": "21017", "match": {"dst-ip-address": "194.169.104.0/24"}}, {"action": {"forward": true}, "entry": "21018", "match": {"dst-ip-address": "195.185.39.0/24"}}, {"action": {"forward": true}, "entry": "21019", "match": {"dst-ip-address": "67.218.51.0/24"}}, {"action": {"forward": true}, "entry": "21020", "match": {"dst-ip-address": "192.168.46.0/21"}}, {"action": {"forward": true}, "entry": "21021", "match": {"dst-ip-address": "195.85.39.0/23"}}, {"action": {"forward": true}, "entry": "21022", "match": {"dst-ip-address": "192.168.149.0/24"}}, {"action": {"forward": true}, "entry": "21023", "match": {"dst-ip-address": "10.145.54.0/19"}}, {"action": {"forward": true}, "entry": "21024", "match": {"dst-ip-address": "37.229.178.0/22"}}, {"action": {"forward": true}, "entry": "21025", "match": {"dst-ip-address": "37.229.162.0/24"}}, {"action": {"forward": true}, "entry": "21026", "match": {"dst-ip-address": "79.91.42.0/24"}}, {"action": {"forward": true}, "entry": "21027", "match": {"dst-ip-address": "172.28.176.0/24"}}, {"action": {"forward": true}, "entry": "21028", "match": {"dst-ip-address": "37.229.165.0/24"}}, {"action": {"forward": true}, "entry": "21029", "match": {"dst-ip-address": "194.169.50.89/32"}}, {"action": {"forward": true}, "entry": "21030", "match": {"dst-ip-address": "218.153.121.45/32"}}, {"action": {"forward": true}, "entry": "21031", "match": {"dst-ip-address": "218.153.121.46/32"}}, {"action": {"forward": true}, "entry": "21032", "match": {"dst-ip-address": "194.169.62.129/32"}}, {"action": {"forward": true}, "entry": "21033", "match": {"dst-ip-address": "79.91.39.16/32"}}, {"action": {"forward": true}, "entry": "21034", "match": {"dst-ip-address": "79.91.39.20/32"}}, {"action": {"forward": true}, "entry": "21035", "match": {"dst-ip-address": "37.15.244.128/29"}}], "id": "2101", "name": "2101", "scope": "embedded"}], "ipv6-filter": [{"description": "Filtre", "id": "1005", "name": "1005"}, {"description": "Filtres", "entry": [{"action": {"forward": true}, "description": "Accept ICMPv6 Packet-too-big type 2", "entry-id": "12501", "match-next-header": {"icmp-type": "packet-too-big", "protocol": "ipv6-icmp"}}, {"action": {"forward": true}, "description": "Accept ICMPv6 Echo Request type 128", "entry-id": "12504", "match-next-header": {"icmp-type": "echo-request", "protocol": "ipv6-icmp"}}, {"action": {"forward": true}, "description": "Accept ICMPv6 Echo Reply type 129", "entry-id": "12505", "match-next-header": {"icmp-type": "echo-reply", "protocol": "ipv6-icmp"}}, {"action": {"forward": true}, "description": "Accept ICMPv6 Router Solicitation type 153", "entry-id": "12506", "match-next-header": {"icmp-type": "router-solicitation", "protocol": "ipv6-icmp"}}, {"action": {"forward": true}, "description": "Accept ICMPv6 Router Advertisement type 154", "entry-id": "12507", "match-next-header": {"icmp-type": "router-advt", "protocol": "ipv6-icmp"}}, {"action": {"forward": true}, "description": "Accept ICMPv6 Neighbor Solicitation type 155", "entry-id": "12508", "match-next-header": {"icmp-type": "neighbor-solicitation", "protocol": "ipv6-icmp"}}, {"action": {"forward": true}, "description": "Accept ICMPv6 Neighbor Advertisment type 156", "entry-id": "12509", "match-next-header": {"icmp-type": "neighbor-advertisement", "protocol": "ipv6-icmp"}}, {"action": {"drop": true}, "description": "Drop ICMPv6 non-accepte avant", "entry-id": "12900", "match-next-header": {"protocol": "ipv6-icmp"}}], "id": "2000", "name": "2000", "scope": "embedded"}]}}}]
\ No newline at end of file
+{
+  "configure": {
+    "filter": {
+      "ip-filter": [
+        {
+          "default-action": "forward",
+          "entry": [
+            {
+              "action": {
+                "forward": true
+              },
+              "entry": "1000",
+              "match": {
+                "src-ip-address": "79.91.72.62/32"
+              }
+            },
+            {
+              "action": {
+                "forward": true
+              },
+              "entry": "1001",
+              "match": {
+                "dst-ip-address": "79.91.72.62/32"
+              }
+            },
+            {
+              "action": {
+                "forward": true
+              },
+              "entry": "1002",
+              "match": {
+                "src-ip-address": "29.89.54.148/32"
+              }
+            },
+            {
+              "action": {
+                "forward": true
+              },
+              "entry": "1003",
+              "match": {
+                "dst-ip-address": "29.89.54.148/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1008",
+              "match": {
+                "src-ip-address": "189.112.71.249/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1009",
+              "match": {
+                "dst-ip-address": "189.112.71.249/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1010",
+              "match": {
+                "src-ip-address": "2.17.207.74/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1011",
+              "match": {
+                "dst-ip-address": "2.17.207.74/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1018",
+              "match": {
+                "src-ip-address": "29.89.72.71/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1019",
+              "match": {
+                "dst-ip-address": "29.89.72.71/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1028",
+              "match": {
+                "src-ip-address": "29.93.190.77/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1029",
+              "match": {
+                "dst-ip-address": "29.93.190.77/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1030",
+              "match": {
+                "src-ip-address": "67.216.114.151/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1031",
+              "match": {
+                "dst-ip-address": "67.216.114.151/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1033",
+              "match": {
+                "dst-ip-address": "189.109.118.77/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1036",
+              "match": {
+                "src-ip-address": "79.82.45.195/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1037",
+              "match": {
+                "dst-ip-address": "79.82.45.195/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1040",
+              "match": {
+                "src-ip-address": "79.92.187.220/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1041",
+              "match": {
+                "dst-ip-address": "79.92.187.220/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1046",
+              "match": {
+                "src-ip-address": "67.218.208.95/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1047",
+              "match": {
+                "dst-ip-address": "67.218.208.95/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1048",
+              "match": {
+                "src-ip-address": "189.73.107.53/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1049",
+              "match": {
+                "dst-ip-address": "189.73.107.53/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1062",
+              "match": {
+                "src-ip-address": "29.95.34.215/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1063",
+              "match": {
+                "dst-ip-address": "29.95.34.215/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1069",
+              "match": {
+                "dst-ip-address": "189.75.57.39/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1074",
+              "match": {
+                "src-ip-address": "189.90.220.12/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1075",
+              "match": {
+                "dst-ip-address": "189.90.220.12/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1078",
+              "match": {
+                "src-ip-address": "189.107.80.25/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1079",
+              "match": {
+                "dst-ip-address": "189.107.80.25/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1080",
+              "match": {
+                "src-ip-address": "29.92.39.221/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1081",
+              "match": {
+                "dst-ip-address": "29.92.39.221/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1082",
+              "match": {
+                "src-ip-address": "189.92.237.60/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1083",
+              "match": {
+                "dst-ip-address": "189.92.237.60/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1084",
+              "match": {
+                "src-ip-address": "189.86.221.90/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1085",
+              "match": {
+                "dst-ip-address": "189.86.221.90/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1095",
+              "match": {
+                "dst-ip-address": "79.85.89.17/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1096",
+              "match": {
+                "src-ip-address": "74.203.56.242/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1097",
+              "match": {
+                "dst-ip-address": "74.203.56.242/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1098",
+              "match": {
+                "src-ip-address": "189.71.180.238/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1099",
+              "match": {
+                "dst-ip-address": "189.71.180.238/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1100",
+              "match": {
+                "src-ip-address": "189.101.126.50/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1101",
+              "match": {
+                "dst-ip-address": "189.101.126.50/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1104",
+              "match": {
+                "src-ip-address": "79.85.89.17/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1105",
+              "match": {
+                "dst-ip-address": "79.85.89.17/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1106",
+              "match": {
+                "src-ip-address": "74.203.102.244/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1107",
+              "match": {
+                "dst-ip-address": "74.203.102.244/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1116",
+              "match": {
+                "src-ip-address": "29.89.35.249/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1117",
+              "match": {
+                "dst-ip-address": "29.89.35.249/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1118",
+              "match": {
+                "src-ip-address": "189.86.97.222/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1119",
+              "match": {
+                "dst-ip-address": "189.86.97.222/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1122",
+              "match": {
+                "src-ip-address": "189.111.223.97/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1123",
+              "match": {
+                "dst-ip-address": "189.111.223.97/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1124",
+              "match": {
+                "src-ip-address": "2.17.169.190/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1125",
+              "match": {
+                "dst-ip-address": "2.17.169.190/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1126",
+              "match": {
+                "src-ip-address": "74.203.29.2/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1127",
+              "match": {
+                "dst-ip-address": "74.203.29.2/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1128",
+              "match": {
+                "src-ip-address": "189.117.27.44/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1129",
+              "match": {
+                "dst-ip-address": "189.117.27.44/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1150",
+              "match": {
+                "src-ip-address": "189.109.24.7/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1151",
+              "match": {
+                "dst-ip-address": "189.109.24.7/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1155",
+              "match": {
+                "dst-ip-address": "189.117.27.44/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1146",
+              "match": {
+                "src-ip-address": "189.97.99.10/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1147",
+              "match": {
+                "dst-ip-address": "189.97.99.10/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1152",
+              "match": {
+                "src-ip-address": "79.94.118.174/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1153",
+              "match": {
+                "dst-ip-address": "79.94.118.174/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1158",
+              "match": {
+                "src-ip-address": "189.71.184.44/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1159",
+              "match": {
+                "dst-ip-address": "189.71.184.44/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1172",
+              "match": {
+                "src-ip-address": "189.111.223.97/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1173",
+              "match": {
+                "dst-ip-address": "189.111.223.97/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1184",
+              "match": {
+                "src-ip-address": "189.106.104.57/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1185",
+              "match": {
+                "dst-ip-address": "189.106.104.57/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1186",
+              "match": {
+                "src-ip-address": "37.15.187.223/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1187",
+              "match": {
+                "dst-ip-address": "37.15.187.223/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1192",
+              "match": {
+                "src-ip-address": "189.78.172.247/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1193",
+              "match": {
+                "dst-ip-address": "189.78.172.247/32"
+              }
+            }
+          ],
+          "id": "1000",
+          "name": "1000"
+        },
+        {
+          "default-action": "forward",
+          "entry": [
+            {
+              "action": {
+                "forward": true
+              },
+              "entry": "1002",
+              "match": {
+                "src-ip-address": "29.89.54.148/32"
+              }
+            },
+            {
+              "action": {
+                "forward": true
+              },
+              "entry": "1003",
+              "match": {
+                "dst-ip-address": "29.89.54.148/32"
+              }
+            },
+            {
+              "action": {
+                "forward": true
+              },
+              "entry": "1008",
+              "match": {
+                "src-ip-address": "189.112.71.249/32"
+              }
+            },
+            {
+              "action": {
+                "forward": true
+              },
+              "entry": "1009",
+              "match": {
+                "dst-ip-address": "189.112.71.249/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1010",
+              "match": {
+                "src-ip-address": "2.17.207.74/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1011",
+              "match": {
+                "dst-ip-address": "2.17.207.74/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1018",
+              "match": {
+                "src-ip-address": "29.89.80.192/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1019",
+              "match": {
+                "dst-ip-address": "29.89.80.192/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1028",
+              "match": {
+                "src-ip-address": "29.91.159.100/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1029",
+              "match": {
+                "dst-ip-address": "29.91.159.100/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1030",
+              "match": {
+                "src-ip-address": "67.216.114.151/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1031",
+              "match": {
+                "dst-ip-address": "67.216.114.151/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1032",
+              "match": {
+                "src-ip-address": "189.109.118.77/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1036",
+              "match": {
+                "src-ip-address": "79.82.45.195/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1037",
+              "match": {
+                "dst-ip-address": "79.82.45.195/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1040",
+              "match": {
+                "src-ip-address": "79.82.46.152/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1041",
+              "match": {
+                "dst-ip-address": "79.82.46.152/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1046",
+              "match": {
+                "src-ip-address": "67.218.208.95/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1047",
+              "match": {
+                "dst-ip-address": "67.218.208.95/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1048",
+              "match": {
+                "src-ip-address": "189.73.107.53/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1049",
+              "match": {
+                "dst-ip-address": "189.73.107.53/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1062",
+              "match": {
+                "src-ip-address": "29.95.34.215/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1063",
+              "match": {
+                "dst-ip-address": "29.95.34.215/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1068",
+              "match": {
+                "src-ip-address": "189.75.57.39/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1080",
+              "match": {
+                "src-ip-address": "2.17.205.32/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1081",
+              "match": {
+                "dst-ip-address": "2.17.205.32/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1082",
+              "match": {
+                "src-ip-address": "189.92.237.60/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1083",
+              "match": {
+                "dst-ip-address": "189.92.237.60/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1084",
+              "match": {
+                "src-ip-address": "189.86.221.90/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1085",
+              "match": {
+                "dst-ip-address": "189.86.221.90/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1094",
+              "match": {
+                "src-ip-address": "79.85.89.17/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1096",
+              "match": {
+                "src-ip-address": "74.203.56.242/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1097",
+              "match": {
+                "dst-ip-address": "74.203.56.242/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1098",
+              "match": {
+                "src-ip-address": "189.71.180.238/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1099",
+              "match": {
+                "dst-ip-address": "189.71.180.238/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1100",
+              "match": {
+                "src-ip-address": "189.101.126.50/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1101",
+              "match": {
+                "dst-ip-address": "189.101.126.50/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1104",
+              "match": {
+                "src-ip-address": "79.85.89.17/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1105",
+              "match": {
+                "dst-ip-address": "79.85.89.17/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1106",
+              "match": {
+                "src-ip-address": "74.203.102.244/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1107",
+              "match": {
+                "dst-ip-address": "74.203.102.244/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1116",
+              "match": {
+                "src-ip-address": "67.219.153.92/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1117",
+              "match": {
+                "dst-ip-address": "67.219.153.92/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1118",
+              "match": {
+                "src-ip-address": "189.86.97.222/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1119",
+              "match": {
+                "dst-ip-address": "189.86.97.222/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1122",
+              "match": {
+                "src-ip-address": "189.111.223.97/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1123",
+              "match": {
+                "dst-ip-address": "189.111.223.97/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1124",
+              "match": {
+                "src-ip-address": "2.17.169.190/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1125",
+              "match": {
+                "dst-ip-address": "2.17.169.190/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1126",
+              "match": {
+                "src-ip-address": "74.203.29.2/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1127",
+              "match": {
+                "dst-ip-address": "74.203.29.2/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1128",
+              "match": {
+                "src-ip-address": "189.117.27.44/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1129",
+              "match": {
+                "dst-ip-address": "189.117.27.44/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1150",
+              "match": {
+                "src-ip-address": "189.109.24.7/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1151",
+              "match": {
+                "dst-ip-address": "189.109.24.7/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1154",
+              "match": {
+                "src-ip-address": "189.117.27.44/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1146",
+              "match": {
+                "src-ip-address": "189.97.99.10/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1147",
+              "match": {
+                "dst-ip-address": "189.97.99.10/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1152",
+              "match": {
+                "src-ip-address": "2.16.245.70/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1153",
+              "match": {
+                "dst-ip-address": "2.16.245.70/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1158",
+              "match": {
+                "src-ip-address": "189.71.184.44/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1159",
+              "match": {
+                "dst-ip-address": "189.71.184.44/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1172",
+              "match": {
+                "src-ip-address": "189.111.223.97/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1173",
+              "match": {
+                "dst-ip-address": "189.111.223.97/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1184",
+              "match": {
+                "src-ip-address": "189.106.104.57/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1185",
+              "match": {
+                "dst-ip-address": "189.106.104.57/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1192",
+              "match": {
+                "src-ip-address": "189.78.172.247/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "1193",
+              "match": {
+                "dst-ip-address": "189.78.172.247/32"
+              }
+            }
+          ],
+          "id": "1001",
+          "name": "1001"
+        },
+        {
+          "default-action": "forward",
+          "id": "1002",
+          "name": "1002"
+        },
+        {
+          "default-action": "forward",
+          "id": "1003",
+          "name": "1003"
+        }, {
+          "default-action": "forward",
+          "description": "Filtre pour securite collectes",
+          "id": "2000",
+          "name": "2000",
+          "scope": "embedded"
+        }, {
+          "description": "Filtre",
+          "entry": [
+            {
+              "action": {
+                "drop": true
+              },
+              "entry": "12000",
+              "match-protocol": {
+                "dst-port": "179",
+                "protocol": "tcp"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "12001",
+              "match-protocol": {
+                "dst-port": "67",
+                "protocol": "udp"
+              }
+            }
+          ],
+          "id": "2001",
+          "name": "2001",
+          "scope": "embedded"
+        }, {
+          "id": "2100",
+          "name": "2100",
+          "scope": "embedded"
+        }, {
+          "description": "Filtre pour suspension ONLY",
+          "entry": [
+            {
+              "action": {
+                "forward": true
+              },
+              "entry": "21000",
+              "match": {
+                "dst-ip-address": "79.87.191.0/24"
+              }
+            },
+            {
+              "action": {
+                "forward": true
+              },
+              "entry": "21001",
+              "match": {
+                "dst-ip-address": "195.185.47.0/24"
+              }
+            },
+            {
+              "action": {
+                "forward": true
+              },
+              "entry": "21002",
+              "match": {
+                "dst-ip-address": "10.187.145.0/16"
+              }
+            },
+            {
+              "action": {
+                "forward": true
+              },
+              "entry": "21003",
+              "match": {
+                "dst-ip-address": "67.218.54.0/24"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "21004",
+              "match": {
+                "dst-ip-address": "10.158.76.0/23"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "21005",
+              "match": {
+                "dst-ip-address": "10.145.93.0/19"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "21006",
+              "match": {
+                "dst-ip-address": "194.169.49.0/21"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "21007",
+              "match": {
+                "dst-ip-address": "218.93.227.34/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "21008",
+              "match": {
+                "dst-ip-address": "37.229.181.0/24"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "21009",
+              "match": {
+                "dst-ip-address": "172.30.151.96/28"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "21010",
+              "match": {
+                "dst-ip-address": "194.195.71.0/24"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "21011",
+              "match": {
+                "dst-ip-address": "195.85.43.0/21"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "21012",
+              "match": {
+                "dst-ip-address": "195.85.32.0/24"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "21015",
+              "match": {
+                "dst-ip-address": "79.95.6.1/24"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "21014",
+              "match": {
+                "dst-ip-address": "79.87.242.32/28"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "21015",
+              "match": {
+                "dst-ip-address": "79.91.33.0/24"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "21016",
+              "match": {
+                "dst-ip-address": "195.185.34.0/24"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "21017",
+              "match": {
+                "dst-ip-address": "194.169.104.0/24"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "21018",
+              "match": {
+                "dst-ip-address": "195.185.39.0/24"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "21019",
+              "match": {
+                "dst-ip-address": "67.218.51.0/24"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "21020",
+              "match": {
+                "dst-ip-address": "192.168.46.0/21"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "21021",
+              "match": {
+                "dst-ip-address": "195.85.39.0/23"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "21022",
+              "match": {
+                "dst-ip-address": "192.168.149.0/24"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "21023",
+              "match": {
+                "dst-ip-address": "10.145.54.0/19"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "21024",
+              "match": {
+                "dst-ip-address": "37.229.178.0/22"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "21025",
+              "match": {
+                "dst-ip-address": "37.229.162.0/24"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "21026",
+              "match": {
+                "dst-ip-address": "79.91.42.0/24"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "21027",
+              "match": {
+                "dst-ip-address": "172.28.176.0/24"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "21028",
+              "match": {
+                "dst-ip-address": "37.229.165.0/24"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "21029",
+              "match": {
+                "dst-ip-address": "194.169.50.89/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "21030",
+              "match": {
+                "dst-ip-address": "218.153.121.45/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "21031",
+              "match": {
+                "dst-ip-address": "218.153.121.46/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "21032",
+              "match": {
+                "dst-ip-address": "194.169.62.129/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "21033",
+              "match": {
+                "dst-ip-address": "79.91.39.16/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "21034",
+              "match": {
+                "dst-ip-address": "79.91.39.20/32"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "entry": "21035",
+              "match": {
+                "dst-ip-address": "37.15.244.128/29"
+              }
+            }
+          ],
+          "id": "2101",
+          "name": "2101",
+          "scope": "embedded"
+        }
+      ],
+      "ipv6-filter": [
+        {
+          "description": "Filtre",
+          "id": "1005",
+          "name": "1005"
+        }, {
+          "description": "Filtres",
+          "entry": [
+            {
+              "action": {
+                "forward": true
+              },
+              "description": "Accept ICMPv6 Packet-too-big type 2",
+              "entry-id": "12501",
+              "match-next-header": {
+                "icmp-type": "packet-too-big",
+                "protocol": "ipv6-icmp"
+              }
+            },
+            {
+              "action": {
+                "forward": true
+              },
+              "description": "Accept ICMPv6 Echo Request type 128",
+              "entry-id": "12504",
+              "match-next-header": {
+                "icmp-type": "echo-request",
+                "protocol": "ipv6-icmp"
+              }
+            },
+            {
+              "action": {
+                "forward": true
+              },
+              "description": "Accept ICMPv6 Echo Reply type 129",
+              "entry-id": "12505",
+              "match-next-header": {
+                "icmp-type": "echo-reply",
+                "protocol": "ipv6-icmp"
+              }
+            },
+            {
+              "action": {
+                "forward": true
+              },
+              "description": "Accept ICMPv6 Router Solicitation type 153",
+              "entry-id": "12506",
+              "match-next-header": {
+                "icmp-type": "router-solicitation",
+                "protocol": "ipv6-icmp"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "description": "Accept ICMPv6 Router Advertisement type 154",
+              "entry-id": "12507",
+              "match-next-header": {
+                "icmp-type": "router-advt",
+                "protocol": "ipv6-icmp"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "description": "Accept ICMPv6 Neighbor Solicitation type 155",
+              "entry-id": "12508",
+              "match-next-header": {
+                "icmp-type": "neighbor-solicitation",
+                "protocol": "ipv6-icmp"
+              }
+            }, {
+              "action": {
+                "forward": true
+              },
+              "description": "Accept ICMPv6 Neighbor Advertisment type 156",
+              "entry-id": "12509",
+              "match-next-header": {
+                "icmp-type": "neighbor-advertisement",
+                "protocol": "ipv6-icmp"
+              }
+            }, {
+              "action": {
+                "drop": true
+              },
+              "description": "Drop ICMPv6 non-accepte avant",
+              "entry-id": "12900",
+              "match-next-header": {
+                "protocol": "ipv6-icmp"
+              }
+            }
+          ],
+          "id": "2000",
+          "name": "2000",
+          "scope": "embedded"
+        }
+      ]
+    }
+  }
+}
diff --git a/tests/fixtures/parsed_results/admin_display/filter_log_configuration.json b/tests/fixtures/parsed_results/admin_display/filter_log_configuration.json
index ba13f98..808a834 100644
--- a/tests/fixtures/parsed_results/admin_display/filter_log_configuration.json
+++ b/tests/fixtures/parsed_results/admin_display/filter_log_configuration.json
@@ -1,1 +1,15 @@
-[{"configure": {"filter": {"log": [{"description": "IPV4-FILTER-LOG", "log-id": "104"}, {"description": "IPV6-FILTER-LOG", "log-id": "106"}]}}}]
\ No newline at end of file
+{
+  "configure": {
+    "filter": {
+      "log": [
+        {
+          "description": "IPV4-FILTER-LOG",
+          "log-id": "104"
+        }, {
+          "description": "IPV6-FILTER-LOG",
+          "log-id": "106"
+        }
+      ]
+    }
+  }
+}
diff --git a/tests/fixtures/parsed_results/admin_display/filter_match_list_configuration.json b/tests/fixtures/parsed_results/admin_display/filter_match_list_configuration.json
index e14f856..ff33e72 100644
--- a/tests/fixtures/parsed_results/admin_display/filter_match_list_configuration.json
+++ b/tests/fixtures/parsed_results/admin_display/filter_match_list_configuration.json
@@ -1,1 +1,45 @@
-[{"configure": {"filter": {"match-list": {"ip-prefix-list": [{"description": "DEEPFIELD", "name": "DEEPFIELD", "prefix": ["10.61.29.241/32", "10.61.29.242/32"]}, {"description": "EQUIPMENTS", "name": "EQUIPEMENTS", "prefix": ["172.26.101.3/32", "172.26.42.48/32", "172.26.15.65/32", "172.25.100.108/32", "172.24.49.17/32", "172.24.48.5/32"]}, {"description": "TOTO1", "name": "TOTO1", "prefix": ["218.152.120.58/32", "218.152.120.60/32", "218.152.144.6/32", "218.141.22.128/25"]}, {"description": "FLOW", "name": "FLOW", "prefix": ["10.48.122.153/32", "10.48.122.169/32", "218.152.120.58/32", "218.152.120.59/32", "218.152.120.60/32", "218.152.144.6/32"]}], "ipv6-prefix-list": {"name": "PAR", "prefix": ["d910:f180:2a7f:358f:6f50:4084:75d5:101/128", "d910:f180:2a7f:358e:985c:15ea:6a75:4401/128", "d910:f180:2a7f:3589:75b5:7f9e:9b85:7001/128", "d910:f180:2a7f:3588:885c:1fdb:fce8:4f01/128"]}}}}}]
\ No newline at end of file
+{
+  "configure": {
+    "filter": {
+      "match-list": {
+        "ip-prefix-list": [
+          {
+            "description": "DEEPFIELD",
+            "name": "DEEPFIELD",
+            "prefix": ["10.61.29.241/32", "10.61.29.242/32"]
+          }, {
+            "description": "EQUIPMENTS",
+            "name": "EQUIPEMENTS",
+            "prefix": [
+              "172.26.101.3/32",
+              "172.26.42.48/32",
+              "172.26.15.65/32",
+              "172.25.100.108/32",
+              "172.24.49.17/32",
+              "172.24.48.5/32"
+            ]
+          }, {
+            "description": "TOTO1",
+            "name": "TOTO1",
+            "prefix": ["218.152.120.58/32", "218.152.120.60/32", "218.152.144.6/32", "218.141.22.128/25"]
+          }, {
+            "description": "FLOW",
+            "name": "FLOW",
+            "prefix": [
+              "10.48.122.153/32",
+              "10.48.122.169/32",
+              "218.152.120.58/32",
+              "218.152.120.59/32",
+              "218.152.120.60/32",
+              "218.152.144.6/32"
+            ]
+          }
+        ],
+        "ipv6-prefix-list": {
+          "name": "PAR",
+          "prefix": ["d910:f180:2a7f:358f:6f50:4084:75d5:101/128", "d910:f180:2a7f:358e:985c:15ea:6a75:4401/128", "d910:f180:2a7f:3589:75b5:7f9e:9b85:7001/128", "d910:f180:2a7f:3588:885c:1fdb:fce8:4f01/128"]
+        }
+      }
+    }
+  }
+}
diff --git a/tests/fixtures/parsed_results/admin_display/igmp_configuration.json b/tests/fixtures/parsed_results/admin_display/igmp_configuration.json
index 32bf1a9..5f3d228 100644
--- a/tests/fixtures/parsed_results/admin_display/igmp_configuration.json
+++ b/tests/fixtures/parsed_results/admin_display/igmp_configuration.json
@@ -1,1 +1,15 @@
-[{"configure": {"router": {"igmp": {"interface": [{"name": "to-7750-01"}, {"name": "to-BTS0475-7750-H2"}]}}}}]
\ No newline at end of file
+{
+  "configure": {
+    "router": {
+      "igmp": {
+        "interface": [
+          {
+            "name": "to-7750-01"
+          }, {
+            "name": "to-BTS0475-7750-H2"
+          }
+        ]
+      }
+    }
+  }
+}
diff --git a/tests/fixtures/parsed_results/admin_display/interfaces.json b/tests/fixtures/parsed_results/admin_display/interfaces.json
index fe5b448..26c44c4 100644
--- a/tests/fixtures/parsed_results/admin_display/interfaces.json
+++ b/tests/fixtures/parsed_results/admin_display/interfaces.json
@@ -1,54 +1,50 @@
-[
-   {
-      "router":{
-         "interfaces":[
+{
+  "router": {
+    "interfaces": [
+      {
+        "admin_state": true,
+        "ingress_stats": true,
+        "interface_name": "system",
+        "ipv4": {
+          "primary": {
+            "address": "199.199.9.1",
+            "prefix_length": "32"
+          }
+        },
+        "ipv6": {
+          "address": {
+            "ipv6_address": "2001:1111:3333:0:420:2a0::",
+            "prefix_length": "128"
+          }
+        }
+      }, {
+        "admin_state": true,
+        "description": "LINK-TO-EXAMPLEPHX-P-AL-0420-01",
+        "interface_name": "TO-42069-7705",
+        "ipv4": {
+          "bfd": {
+            "ipv4_bfd": "500 receive 500 multiplier 3"
+          },
+          "primary": {
+            "address": "172.25.199.132",
+            "prefix_length": "31"
+          }
+        },
+        "ipv6": {
+          "address": [
             {
-               "admin_state":true,
-               "ingress_stats":true,
-               "interface_name":"system",
-               "ipv4":{
-                  "primary":{
-                     "address":"199.199.9.1",
-                     "prefix_length":"32"
-                  }
-               },
-               "ipv6":{
-                  "address":{
-                     "ipv6_address":"2001:1111:3333:0:420:2a0::",
-                     "prefix_length":"128"
-                  }
-               }
-            },
-            {
-               "admin_state":true,
-               "description":"LINK-TO-EXAMPLEPHX-P-AL-0420-01",
-               "interface_name":"TO-42069-7705",
-               "ipv4":{
-                  "bfd":{
-                     "ipv4_bfd":"500 receive 500 multiplier 3"
-                  },
-                  "primary":{
-                     "address":"172.25.199.132",
-                     "prefix_length":"31"
-                  }
-               },
-               "ipv6":{
-                  "address":[
-                     {
-                        "ipv6_address":"2001:2222:3333:33e3:645:4a0::",
-                        "prefix_length":"64"
-                     },
-                     {
-                        "ipv6_bfd":"500 receive 500 multiplier 3 type cpm-np"
-                     }
-                  ]
-               },
-               "port":"lag-92:3482",
-               "qos":{
-                  "network-policy":"10120"
-               }
+              "ipv6_address": "2001:2222:3333:33e3:645:4a0::",
+              "prefix_length": "64"
+            }, {
+              "ipv6_bfd": "500 receive 500 multiplier 3 type cpm-np"
             }
-         ]
+          ]
+        },
+        "port": "lag-92:3482",
+        "qos": {
+          "network-policy": "10120"
+        }
       }
-   }
-]
\ No newline at end of file
+    ]
+  }
+}
diff --git a/tests/fixtures/parsed_results/admin_display/isis_configuration.json b/tests/fixtures/parsed_results/admin_display/isis_configuration.json
index b5cf092..745d9ba 100644
--- a/tests/fixtures/parsed_results/admin_display/isis_configuration.json
+++ b/tests/fixtures/parsed_results/admin_display/isis_configuration.json
@@ -1,1 +1,26 @@
-[{"configure": {"router": {"isis": {"interface": [{"name": "to-7750-01"}, {"name": "to-BTS0475-7750-H2"}], "timers": [{"spf-initial-wait": "10", "spf-second-wait": "100", "spf-wait": "1500"}, {"spf-initial-wait": "10", "spf-second-wait": "100", "spf-wait": "1500"}]}}}}]
\ No newline at end of file
+{
+  "configure": {
+    "router": {
+      "isis": {
+        "interface": [
+          {
+            "name": "to-7750-01"
+          }, {
+            "name": "to-BTS0475-7750-H2"
+          }
+        ],
+        "timers": [
+          {
+            "spf-initial-wait": "10",
+            "spf-second-wait": "100",
+            "spf-wait": "1500"
+          }, {
+            "spf-initial-wait": "10",
+            "spf-second-wait": "100",
+            "spf-wait": "1500"
+          }
+        ]
+      }
+    }
+  }
+}
diff --git a/tests/fixtures/parsed_results/admin_display/l2tp_configuration.json b/tests/fixtures/parsed_results/admin_display/l2tp_configuration.json
index c3a79c9..8205c58 100644
--- a/tests/fixtures/parsed_results/admin_display/l2tp_configuration.json
+++ b/tests/fixtures/parsed_results/admin_display/l2tp_configuration.json
@@ -1,1 +1,20 @@
-[{"configure": {"router": {"l2tp": {"admin_state": true, "group": {"admin_state": true, "group": "LNS", "protocol": "v2", "tunnel": {"admin_state": true, "local-name": "BNG-ATHENA", "peer": "195.185.47.234", "tunnel": "LNS"}}}}}}]
\ No newline at end of file
+{
+  "configure": {
+    "router": {
+      "l2tp": {
+        "admin_state": true,
+        "group": {
+          "admin_state": true,
+          "group": "LNS",
+          "protocol": "v2",
+          "tunnel": {
+            "admin_state": true,
+            "local-name": "BNG-ATHENA",
+            "peer": "195.185.47.234",
+            "tunnel": "LNS"
+          }
+        }
+      }
+    }
+  }
+}
diff --git a/tests/fixtures/parsed_results/admin_display/lag.json b/tests/fixtures/parsed_results/admin_display/lag.json
index 92e895e..b2d572c 100644
--- a/tests/fixtures/parsed_results/admin_display/lag.json
+++ b/tests/fixtures/parsed_results/admin_display/lag.json
@@ -1,34 +1,31 @@
-[
-   {
-      "configure":{
-         "lag":[
-            {
-               "admin-state":true,
-               "description":"LINK-TO-TNTNMADO91A-P-AL-7750-01",
-               "encap-type":"dot1q",
-               "lacp":{
-                  "administrative-key":"11125",
-                  "hold-time":"down 250",
-                  "mode":"active"
-               },
-               "lag-index":"125",
-               "mode":"hybrid",
-               "port":["1/1/c1/1"]
-            },
-            {
-               "admin-state":true,
-               "description":"LAG-11-to-TNTNMADOT1A-P-AL-7750-060475-H2",
-               "encap-type":"dot1q",
-               "lacp":{
-                  "administrative-key":"10011",
-                  "hold-time":"down 250",
-                  "mode":"active"
-               },
-               "lag-index":"11",
-               "mode":"hybrid",
-               "port":["1/1/c1/3", "1/1/c1/4"]
-            }
-         ]
+{
+  "configure": {
+    "lag": [
+      {
+        "admin-state": true,
+        "description": "LINK-TO-TNTNMADO91A-P-AL-7750-01",
+        "encap-type": "dot1q",
+        "lacp": {
+          "administrative-key": "11125",
+          "hold-time": "down 250",
+          "mode": "active"
+        },
+        "lag-index": "125",
+        "mode": "hybrid",
+        "port": ["1/1/c1/1"]
+      }, {
+        "admin-state": true,
+        "description": "LAG-11-to-TNTNMADOT1A-P-AL-7750-060475-H2",
+        "encap-type": "dot1q",
+        "lacp": {
+          "administrative-key": "10011",
+          "hold-time": "down 250",
+          "mode": "active"
+        },
+        "lag-index": "11",
+        "mode": "hybrid",
+        "port": ["1/1/c1/3", "1/1/c1/4"]
       }
-   }
-]
\ No newline at end of file
+    ]
+  }
+}
diff --git a/tests/fixtures/parsed_results/admin_display/lag_1.json b/tests/fixtures/parsed_results/admin_display/lag_1.json
index 2bcea5c..b7aca84 100644
--- a/tests/fixtures/parsed_results/admin_display/lag_1.json
+++ b/tests/fixtures/parsed_results/admin_display/lag_1.json
@@ -1,91 +1,129 @@
-[
-   {
-      "configure":{
-         "lag":[
-            {
-               "admin-state":true,
-               "bfd":{
-                  "ipv4":{
-                     "admin-state":true,
-                     "family":"ipv4",
-                     "local-ip":"1.1.1.1",
-                     "multiplier":"4",
-                     "remote-ip-address":"1.1.1.2"
-                  }
-               },
-               "description":"####LAG####",
-               "lacp":{
-                  "administrative-key":"32100",
-                  "mode":"active"
-               },
-               "lag-index":"100",
-               "port":["9/1/c1/1", "9/1/c2/1", "9/1/c3/1", "9/1/c4/1", "9/1/c5/1", "9/1/c6/1", "9/1/c17/1", "9/1/c18/1", "9/1/c19/1", "9/1/c20/1", "9/1/c21/1", "9/1/c22/1", "9/1/c23/1", "8/1/c21/1", "8/1/c25/1", "8/1/c26/1", "8/1/c27/1"]
-            },
-            {
-               "admin-state":true,
-               "bfd":{
-                  "ipv4":{
-                     "admin-state":true,
-                     "family":"ipv4",
-                     "local-ip":"2.2.2.2",
-                     "multiplier":"4",
-                     "remote-ip-address":"2.2.2.3"
-                  }
-               },
-               "description":"####LAG####",
-               "lacp":{
-                  "administrative-key":"32101",
-                  "mode":"active"
-               },
-               "lag-index":"101",
-               "port":["8/1/c1/1", "8/1/c2/1", "8/1/c3/1", "8/1/c4/1", "8/1/c5/1", "8/1/c6/1", "8/1/c7/1", "8/1/c8/1", "8/1/c9/1", "8/1/c10/1"]
-            },
-            {
-               "admin-state":true,
-               "description":"####LAG####",
-               "encap-type":"dot1q",
-               "lacp":{
-                  "administrative-key":"32102",
-                  "mode":"active"
-               },
-               "lag-index":"102",
-               "mode":"hybrid",
-               "port":["9/1/c26/1", "9/1/c27/1", "9/1/c30/1", "9/1/c31/1", "9/1/c32/1", "9/1/c33/1", "9/1/c34/1", "9/1/c35/1", "9/1/c36/1", "8/1/c28/1", "8/1/c35/1", "8/1/c36/1"]
-            },
-            {
-               "description":"####LAG####",
-               "lag-index":"103",
-               "mode":"access",
-               "name":"myLag103",
-               "port": ["9/1/c24/1"]
-            },
-            {
-               "admin-state":true,
-               "description":"####LAG####",
-               "encap-type":"dot1q",
-               "lacp":{
-                  "administrative-key":"32104",
-                  "mode":"passive"
-               },
-               "lag-index":"104",
-               "mode":"access",
-               "name":"myLag104",
-               "port":["8/1/c11/1", "8/1/c12/1"]
-            },
-            {
-               "admin-state":true,
-               "description":"####LAG####",
-               "encap-type":"dot1q",
-               "lacp":{
-                  "administrative-key":"32105",
-                  "mode":"passive"
-               },
-               "lag-index":"105",
-               "mode":"access",
-               "name":"myLag105",
-               "port":["8/1/c13/1", "8/1/c14/1"]
-            }
-         ]
+{
+  "configure": {
+    "lag": [
+      {
+        "admin-state": true,
+        "bfd": {
+          "ipv4": {
+            "admin-state": true,
+            "family": "ipv4",
+            "local-ip": "1.1.1.1",
+            "multiplier": "4",
+            "remote-ip-address": "1.1.1.2"
+          }
+        },
+        "description": "####LAG####",
+        "lacp": {
+          "administrative-key": "32100",
+          "mode": "active"
+        },
+        "lag-index": "100",
+        "port": [
+          "9/1/c1/1",
+          "9/1/c2/1",
+          "9/1/c3/1",
+          "9/1/c4/1",
+          "9/1/c5/1",
+          "9/1/c6/1",
+          "9/1/c17/1",
+          "9/1/c18/1",
+          "9/1/c19/1",
+          "9/1/c20/1",
+          "9/1/c21/1",
+          "9/1/c22/1",
+          "9/1/c23/1",
+          "8/1/c21/1",
+          "8/1/c25/1",
+          "8/1/c26/1",
+          "8/1/c27/1"
+        ]
+      },
+      {
+        "admin-state": true,
+        "bfd": {
+          "ipv4": {
+            "admin-state": true,
+            "family": "ipv4",
+            "local-ip": "2.2.2.2",
+            "multiplier": "4",
+            "remote-ip-address": "2.2.2.3"
+          }
+        },
+        "description": "####LAG####",
+        "lacp": {
+          "administrative-key": "32101",
+          "mode": "active"
+        },
+        "lag-index": "101",
+        "port": [
+          "8/1/c1/1",
+          "8/1/c2/1",
+          "8/1/c3/1",
+          "8/1/c4/1",
+          "8/1/c5/1",
+          "8/1/c6/1",
+          "8/1/c7/1",
+          "8/1/c8/1",
+          "8/1/c9/1",
+          "8/1/c10/1"
+        ]
+      },
+      {
+        "admin-state": true,
+        "description": "####LAG####",
+        "encap-type": "dot1q",
+        "lacp": {
+          "administrative-key": "32102",
+          "mode": "active"
+        },
+        "lag-index": "102",
+        "mode": "hybrid",
+        "port": [
+          "9/1/c26/1",
+          "9/1/c27/1",
+          "9/1/c30/1",
+          "9/1/c31/1",
+          "9/1/c32/1",
+          "9/1/c33/1",
+          "9/1/c34/1",
+          "9/1/c35/1",
+          "9/1/c36/1",
+          "8/1/c28/1",
+          "8/1/c35/1",
+          "8/1/c36/1"
+        ]
+      },
+      {
+        "description": "####LAG####",
+        "lag-index": "103",
+        "mode": "access",
+        "name": "myLag103",
+        "port": ["9/1/c24/1"]
+      }, {
+        "admin-state": true,
+        "description": "####LAG####",
+        "encap-type": "dot1q",
+        "lacp": {
+          "administrative-key": "32104",
+          "mode": "passive"
+        },
+        "lag-index": "104",
+        "mode": "access",
+        "name": "myLag104",
+        "port": ["8/1/c11/1", "8/1/c12/1"]
+      }, {
+        "admin-state": true,
+        "description": "####LAG####",
+        "encap-type": "dot1q",
+        "lacp": {
+          "administrative-key": "32105",
+          "mode": "passive"
+        },
+        "lag-index": "105",
+        "mode": "access",
+        "name": "myLag105",
+        "port": ["8/1/c13/1", "8/1/c14/1"]
       }
-   }
-]
\ No newline at end of file
+    ]
+  }
+}
diff --git a/tests/fixtures/parsed_results/admin_display/ldp_configuration.json b/tests/fixtures/parsed_results/admin_display/ldp_configuration.json
index 634ff28..3dad5d4 100644
--- a/tests/fixtures/parsed_results/admin_display/ldp_configuration.json
+++ b/tests/fixtures/parsed_results/admin_display/ldp_configuration.json
@@ -1,1 +1,26 @@
-[{"configure": {"router": {"ldp": {"export-tunnel-table": "EXPORT", "fast-reroute": true, "fec-originate": "218.152.120.207/32", "interface_parameters": {"interface": [{"dual-stack": true, "ipv4": {}, "name": "to-7750-01"}, {"dual-stack": true, "ipv4": {}, "name": "to-BTS0475-7750-H2"}]}, "pop": true, "targeted-session": {}}}}}]
\ No newline at end of file
+{
+  "configure": {
+    "router": {
+      "ldp": {
+        "export-tunnel-table": "EXPORT",
+        "fast-reroute": true,
+        "fec-originate": "218.152.120.207/32",
+        "interface_parameters": {
+          "interface": [
+            {
+              "dual-stack": true,
+              "ipv4": {},
+              "name": "to-7750-01"
+            }, {
+              "dual-stack": true,
+              "ipv4": {},
+              "name": "to-BTS0475-7750-H2"
+            }
+          ]
+        },
+        "pop": true,
+        "targeted-session": {}
+      }
+    }
+  }
+}
diff --git a/tests/fixtures/parsed_results/admin_display/log.json b/tests/fixtures/parsed_results/admin_display/log.json
index 9bd0c7f..1c9ca46 100644
--- a/tests/fixtures/parsed_results/admin_display/log.json
+++ b/tests/fixtures/parsed_results/admin_display/log.json
@@ -1,147 +1,134 @@
-[
-   {
-      "configure":{
-         "log":[
-            {
-               "file":[
-                  {
-                     "file-id":"10"
-                  },
-                  {
-                     "compact-flash-location":{
-                        "primary":"cf3"
-                     },
-                     "description":"Syslog-storage",
-                     "file-id":"20",
-                     "retention":"350",
-                     "rollover":"1440"
-                  },
-                  {
-                     "compact-flash-location":{
-                        "primary":"cf3"
-                     },
-                     "description":"Change-storage",
-                     "file-id":"30",
-                     "retention":"350",
-                     "rollover":"1440"
-                  }
-               ],
-               "log-events":{
-                  "chassis":[
-                     {
-                        "event":"system",
-                        "event-id":"2103",
-                        "generate":true
-                     },
-                     {
-                        "event":"system",
-                        "event-id":"2104",
-                        "generate":true
-                     },
-                     {
-                        "event":"vrtr",
-                        "event-id":"2034",
-                        "generate":true
-                     }
-                  ]
-               },
-               "snmp-trap-group":[
-                  {
-                     "log-id":"10"
-                  },
-                  {
-                     "log-id":"7",
-                     "trap-target":{
-                        "address":"10.141.128.78",
-                        "name":"SW_INC",
-                        "notify-community":"2Y2LHTZP31",
-                        "snmp-version":"snmpv2c"
-                     }
-                  },
-                  {
-                     "description":"5620sam",
-                     "log-id":"98",
-                     "trap-target":[
-                        {
-                           "address":"99.194.69.164",
-                           "name":"0017A4770C06:main1",
-                           "notify-community":"snmpuser3",
-                           "security-level":"privacy",
-                           "snmp-version":"snmpv3"
-                        },
-                        {
-                           "address":"99.215.238.164",
-                           "name":"0017A4770C06:main2",
-                           "notify-community":"snmpuser3",
-                           "security-level":"privacy",
-                           "snmp-version":"snmpv3"
-                        },
-                        {
-                           "address":"99.194.69.164",
-                           "name":"99.194.69.164:162",
-                           "notify-community":"snmpuser3",
-                           "security-level":"privacy",
-                           "snmp-version":"snmpv3"
-                        },
-                        {
-                           "address":"99.215.238.164",
-                           "name":"99.215.238.164:162",
-                           "notify-community":"snmpuser3",
-                           "security-level":"privacy",
-                           "snmp-version":"snmpv3"
-                        }
-                     ]
-                  }
-               ],
-               "syslog":{
-                  "address":"10.215.141.147",
-                  "description":"Syslog Server",
-                  "syslog-id":"5"
-               }
+{
+  "configure": {
+    "log": [
+      {
+        "file": [
+          {
+            "file-id": "10"
+          }, {
+            "compact-flash-location": {
+              "primary": "cf3"
             },
-            {
-               "log-id":"5",
-               "source":{
-                  "change":true,
-                  "main":true,
-                  "security":true,
-                  "source":"main"
-               }
+            "description": "Syslog-storage",
+            "file-id": "20",
+            "retention": "350",
+            "rollover": "1440"
+          }, {
+            "compact-flash-location": {
+              "primary": "cf3"
             },
+            "description": "Change-storage",
+            "file-id": "30",
+            "retention": "350",
+            "rollover": "1440"
+          }
+        ],
+        "log-events": {
+          "chassis": [
             {
-               "description":"SW_INC",
-               "destination":"snmp",
-               "log-id":"7",
-               "source":{
-                  "main":true,
-                  "security":true,
-                  "source":"main"
-               }
-            },
-            {
-               "log-id":"20",
-               "source":{
-                  "main":true,
-                  "security":true,
-                  "source":"main"
-               }
-            },
-            {
-               "log-id":"30",
-               "source":{
-                  "change":true,
-                  "source":"change"
-               }
-            },
-            {
-               "log-id":"98",
-               "source":{
-                  "main":true,
-                  "security":true,
-                  "source":"main"
-               }
+              "event": "system",
+              "event-id": "2103",
+              "generate": true
+            }, {
+              "event": "system",
+              "event-id": "2104",
+              "generate": true
+            }, {
+              "event": "vrtr",
+              "event-id": "2034",
+              "generate": true
+            }
+          ]
+        },
+        "snmp-trap-group": [
+          {
+            "log-id": "10"
+          }, {
+            "log-id": "7",
+            "trap-target": {
+              "address": "10.141.128.78",
+              "name": "SW_INC",
+              "notify-community": "2Y2LHTZP31",
+              "snmp-version": "snmpv2c"
             }
-         ]
+          }, {
+            "description": "5620sam",
+            "log-id": "98",
+            "trap-target": [
+              {
+                "address": "99.194.69.164",
+                "name": "0017A4770C06:main1",
+                "notify-community": "snmpuser3",
+                "security-level": "privacy",
+                "snmp-version": "snmpv3"
+              }, {
+                "address": "99.215.238.164",
+                "name": "0017A4770C06:main2",
+                "notify-community": "snmpuser3",
+                "security-level": "privacy",
+                "snmp-version": "snmpv3"
+              }, {
+                "address": "99.194.69.164",
+                "name": "99.194.69.164:162",
+                "notify-community": "snmpuser3",
+                "security-level": "privacy",
+                "snmp-version": "snmpv3"
+              }, {
+                "address": "99.215.238.164",
+                "name": "99.215.238.164:162",
+                "notify-community": "snmpuser3",
+                "security-level": "privacy",
+                "snmp-version": "snmpv3"
+              }
+            ]
+          }
+        ],
+        "syslog": {
+          "address": "10.215.141.147",
+          "description": "Syslog Server",
+          "syslog-id": "5"
+        }
+      },
+      {
+        "log-id": "5",
+        "source": {
+          "change": true,
+          "main": true,
+          "security": true,
+          "source": "main"
+        }
+      },
+      {
+        "description": "SW_INC",
+        "destination": "snmp",
+        "log-id": "7",
+        "source": {
+          "main": true,
+          "security": true,
+          "source": "main"
+        }
+      },
+      {
+        "log-id": "20",
+        "source": {
+          "main": true,
+          "security": true,
+          "source": "main"
+        }
+      }, {
+        "log-id": "30",
+        "source": {
+          "change": true,
+          "source": "change"
+        }
+      }, {
+        "log-id": "98",
+        "source": {
+          "main": true,
+          "security": true,
+          "source": "main"
+        }
       }
-   }
-]
\ No newline at end of file
+    ]
+  }
+}
diff --git a/tests/fixtures/parsed_results/admin_display/mgmt_router_config.json b/tests/fixtures/parsed_results/admin_display/mgmt_router_config.json
index c4b6169..92f8a2a 100644
--- a/tests/fixtures/parsed_results/admin_display/mgmt_router_config.json
+++ b/tests/fixtures/parsed_results/admin_display/mgmt_router_config.json
@@ -1,1 +1,52 @@
-[{"configure": {"router": {"router-name": {"management": {"entry": [{"address": "10.205.205.66", "next-hop": "10.60.228.254", "prefix": "32"}, {"address": "10.205.204.0", "next-hop": "10.60.228.254", "prefix": "24"}, {"address": "10.53.105.241", "next-hop": "10.60.228.254", "prefix": "32"}, {"address": "10.61.221.151", "next-hop": "10.60.228.254", "prefix": "32"}, {"address": "172.26.15.65", "next-hop": "10.60.228.254", "prefix": "32"}, {"address": "172.29.80.0", "next-hop": "10.60.228.254", "prefix": "24"}, {"address": "172.17.110.238", "next-hop": "10.60.228.254", "prefix": "32"}, {"address": "172.17.110.249", "next-hop": "10.60.228.254", "prefix": "32"}, {"address": "172.17.110.252", "next-hop": "10.60.228.254", "prefix": "32"}]}}}}}]
\ No newline at end of file
+{
+  "configure": {
+    "router": {
+      "router-name": {
+        "management": {
+          "entry": [
+            {
+              "address": "10.205.205.66",
+              "next-hop": "10.60.228.254",
+              "prefix": "32"
+            },
+            {
+              "address": "10.205.204.0",
+              "next-hop": "10.60.228.254",
+              "prefix": "24"
+            },
+            {
+              "address": "10.53.105.241",
+              "next-hop": "10.60.228.254",
+              "prefix": "32"
+            },
+            {
+              "address": "10.61.221.151",
+              "next-hop": "10.60.228.254",
+              "prefix": "32"
+            }, {
+              "address": "172.26.15.65",
+              "next-hop": "10.60.228.254",
+              "prefix": "32"
+            }, {
+              "address": "172.29.80.0",
+              "next-hop": "10.60.228.254",
+              "prefix": "24"
+            }, {
+              "address": "172.17.110.238",
+              "next-hop": "10.60.228.254",
+              "prefix": "32"
+            }, {
+              "address": "172.17.110.249",
+              "next-hop": "10.60.228.254",
+              "prefix": "32"
+            }, {
+              "address": "172.17.110.252",
+              "next-hop": "10.60.228.254",
+              "prefix": "32"
+            }
+          ]
+        }
+      }
+    }
+  }
+}
diff --git a/tests/fixtures/parsed_results/admin_display/mirror_configuration.json b/tests/fixtures/parsed_results/admin_display/mirror_configuration.json
index 89cc058..b290a63 100644
--- a/tests/fixtures/parsed_results/admin_display/mirror_configuration.json
+++ b/tests/fixtures/parsed_results/admin_display/mirror_configuration.json
@@ -1,1 +1,24 @@
-[{"configure": {"mirror": {"mirror-conf": {"admin-state": true, "description": "\"TPLALIS-d01-1\"", "encap": {"l3-encap": {"encap-type": "layer-3-encap ip-udp-shim", "gateway": {"dest-ip": "218.141.22.146", "dest-udp": "23000", "src-ip": "218.152.120.74", "src-udp": "23457"}}}, "mirror-dest": "19001", "name": "\"19001\"", "type": "ip-only"}}}}]
\ No newline at end of file
+{
+  "configure": {
+    "mirror": {
+      "mirror-conf": {
+        "admin-state": true,
+        "description": "\"TPLALIS-d01-1\"",
+        "encap": {
+          "l3-encap": {
+            "encap-type": "layer-3-encap ip-udp-shim",
+            "gateway": {
+              "dest-ip": "218.141.22.146",
+              "dest-udp": "23000",
+              "src-ip": "218.152.120.74",
+              "src-udp": "23457"
+            }
+          }
+        },
+        "mirror-dest": "19001",
+        "name": "\"19001\"",
+        "type": "ip-only"
+      }
+    }
+  }
+}
diff --git a/tests/fixtures/parsed_results/admin_display/mpls_lsps.json b/tests/fixtures/parsed_results/admin_display/mpls_lsps.json
index 84d9bd4..ef85464 100644
--- a/tests/fixtures/parsed_results/admin_display/mpls_lsps.json
+++ b/tests/fixtures/parsed_results/admin_display/mpls_lsps.json
@@ -1,70 +1,64 @@
-[
-   {
-      "configure":{
-         "mpls":{
-            "auto-lsp":{
-               "policy":"Remote-PEz",
-               "template":"Full-Mesh"
-            },
-            "lsp":[
-               {
-                  "admin-state":"true",
-                  "fast-reroute":"facility",
-                  "path-computation-method":"local-cspf",
-                  "primary":"loose",
-                  "secondary":"loose-2",
-                  "standby":"standby",
-                  "to":"10.10.10.8"
-               },
-               {
-                  "admin-state":"true",
-                  "fast-reroute":"facility",
-                  "path-computation-method":"local-cspf",
-                  "primary":"loose",
-                  "secondary":"loose-2",
-                  "standby":"standby",
-                  "to":"10.10.10.1"
-               },
-               {
-                  "admin-state":"true",
-                  "fast-reroute":"facility",
-                  "path-computation-method":"local-cspf",
-                  "primary":"loose",
-                  "secondary":"loose-2",
-                  "standby":"standby",
-                  "to":"10.10.10.2"
-               },
-               {
-                  "admin-state":"true",
-                  "fast-reroute":"facility",
-                  "path-computation-method":"local-cspf",
-                  "primary":"loose",
-                  "secondary":"loose-2",
-                  "standby":"standby",
-                  "to":"10.10.10.4"
-               }
-            ],
-            "path":[
-               {
-                  "admin-state":"true",
-                  "name":"loose"
-               },
-               {
-                  "admin-state":"true",
-                  "name":"loose-2"
-               }
-            ],
-            "templates":{
-               "entry":{
-                  "admin-state":"true",
-                  "default-path":"loose",
-                  "fast-reroute":"facility",
-                  "name":"Full-Mesh",
-                  "path-computation-method":"local-cspf",
-                  "type":"mesh-p2p"
-               }
-            }
-         }
+{
+  "configure": {
+    "mpls": {
+      "auto-lsp": {
+        "policy": "Remote-PEz",
+        "template": "Full-Mesh"
+      },
+      "lsp": [
+        {
+          "admin-state": "true",
+          "fast-reroute": "facility",
+          "path-computation-method": "local-cspf",
+          "primary": "loose",
+          "secondary": "loose-2",
+          "standby": "standby",
+          "to": "10.10.10.8"
+        }, {
+          "admin-state": "true",
+          "fast-reroute": "facility",
+          "path-computation-method": "local-cspf",
+          "primary": "loose",
+          "secondary": "loose-2",
+          "standby": "standby",
+          "to": "10.10.10.1"
+        }, {
+          "admin-state": "true",
+          "fast-reroute": "facility",
+          "path-computation-method": "local-cspf",
+          "primary": "loose",
+          "secondary": "loose-2",
+          "standby": "standby",
+          "to": "10.10.10.2"
+        }, {
+          "admin-state": "true",
+          "fast-reroute": "facility",
+          "path-computation-method": "local-cspf",
+          "primary": "loose",
+          "secondary": "loose-2",
+          "standby": "standby",
+          "to": "10.10.10.4"
+        }
+      ],
+      "path": [
+        {
+          "admin-state": "true",
+          "name": "loose"
+        }, {
+          "admin-state": "true",
+          "name": "loose-2"
+        }
+      ],
+      "templates": {
+        "entry": {
+          "admin-state": "true",
+          "default-path": "loose",
+          "fast-reroute": "facility",
+          "name": "Full-Mesh",
+          "path-computation-method": "local-cspf",
+          "type": "mesh-p2p"
+        }
       }
-   }
-]
\ No newline at end of file
+    }
+  }
+}
diff --git a/tests/fixtures/parsed_results/admin_display/multicast_path_management_policy_configuration.json b/tests/fixtures/parsed_results/admin_display/multicast_path_management_policy_configuration.json
index 2d7878d..8e76aa8 100644
--- a/tests/fixtures/parsed_results/admin_display/multicast_path_management_policy_configuration.json
+++ b/tests/fixtures/parsed_results/admin_display/multicast_path_management_policy_configuration.json
@@ -1,1 +1,15 @@
-[{"configure": {"mcast-management": {"bandwidth-policy": {"name": "14-SEC-PATHS", "t2-paths": {"secondary-path": {"number-paths": "14", "redundant-sfm": "14"}}}}}}]
\ No newline at end of file
+{
+  "configure": {
+    "mcast-management": {
+      "bandwidth-policy": {
+        "name": "14-SEC-PATHS",
+        "t2-paths": {
+          "secondary-path": {
+            "number-paths": "14",
+            "redundant-sfm": "14"
+          }
+        }
+      }
+    }
+  }
+}
diff --git a/tests/fixtures/parsed_results/admin_display/pim_configuration.json b/tests/fixtures/parsed_results/admin_display/pim_configuration.json
index 9a6d673..c3e66f6 100644
--- a/tests/fixtures/parsed_results/admin_display/pim_configuration.json
+++ b/tests/fixtures/parsed_results/admin_display/pim_configuration.json
@@ -1,1 +1,15 @@
-[{"configure": {"router": {"pim": {"interface": [{"name": "to-7750-01"}, {"name": "to-BTS0475-7750-H2"}]}}}}]
\ No newline at end of file
+{
+  "configure": {
+    "router": {
+      "pim": {
+        "interface": [
+          {
+            "name": "to-7750-01"
+          }, {
+            "name": "to-BTS0475-7750-H2"
+          }
+        ]
+      }
+    }
+  }
+}
diff --git a/tests/fixtures/parsed_results/admin_display/port_xc_configuration.json b/tests/fixtures/parsed_results/admin_display/port_xc_configuration.json
index ee1aac4..0967ef4 100644
--- a/tests/fixtures/parsed_results/admin_display/port_xc_configuration.json
+++ b/tests/fixtures/parsed_results/admin_display/port_xc_configuration.json
@@ -1,1 +1,1 @@
-[{}]
\ No newline at end of file
+{}
diff --git a/tests/fixtures/parsed_results/admin_display/ports.json b/tests/fixtures/parsed_results/admin_display/ports.json
index da385c6..e72cef0 100644
--- a/tests/fixtures/parsed_results/admin_display/ports.json
+++ b/tests/fixtures/parsed_results/admin_display/ports.json
@@ -1,159 +1,137 @@
-[
-   {
-      "configure":{
-         "port":[
-            {
-               "admin_state":true,
-               "description":"7705-MGMT-CSMA",
-               "ethernet":{
-                  "autonegotiate":false
-               },
-               "port-id":"1/5/1"
-            },
-            {
-               "admin_state":true,
-               "description":"BTS0215-1X-URC01",
-               "ethernet":{
-                  "autonegotiate":false,
-                  "encap-type":"dot1q"
-               },
-               "port-id":"1/5/2"
-            },
-            {
-               "admin_state":false,
-               "ethernet":{
-                  
-               },
-               "port-id":"1/5/3"
-            },
-            {
-               "admin_state":false,
-               "ethernet":{
-                  
-               },
-               "port-id":"1/5/4"
-            },
-            {
-               "admin_state":true,
-               "description":"LINK-TO-LOOPBACK-7705PORT",
-               "ethernet":{
-                  "encap-type":"dot1q",
-                  "loopback":true,
-                  "mtu":"2106"
-               },
-               "port-id":"1/5/5"
-            },
-            {
-               "admin_state":false,
-               "ethernet":{
-                  "autonegotiate":false,
-                  "encap-type":"dot1q"
-               },
-               "port-id":"1/5/6"
-            },
-            {
-               "admin_state":true,
-               "description":"eNodeB0215-LTE-eCCM01-1",
-               "ethernet":{
-                  "autonegotiate":"limited",
-                  "encap-type":"dot1q",
-                  "hold-time":{
-                     "down":"50"
-                  },
-                  "mtu":"2106"
-               },
-               "port-id":"1/5/7"
-            },
-            {
-               "admin_state":true,
-               "description":"Link-to-TEMPE-AZ-EXAMPLE-P-AL-0415-H1-1/2/8",
-               "ethernet":{
-                  "autonegotiate":false,
-                  "egress-rate":"96260",
-                  "encap-type":"dot1q",
-                  "hold-time":{
-                     "down":"25",
-                     "up":"50"
-                  },
-                  "mode":"network",
-                  "mtu":"2106"
-               },
-               "port-id":"1/5/8"
-            },
-            {
-               "admin_state":true,
-               "description":"7705-MGMT-CSMB",
-               "ethernet":{
-                  "autonegotiate":false
-               },
-               "port-id":"1/6/1"
-            },
-            {
-               "admin_state":true,
-               "description":"BTS0215-1X-URC02",
-               "ethernet":{
-                  "autonegotiate":false,
-                  "encap-type":"dot1q"
-               },
-               "port-id":"1/6/2"
-            },
-            {
-               "admin_state":false,
-               "ethernet":{
-                  "autonegotiate":false,
-                  "encap-type":"dot1q"
-               },
-               "port-id":"1/6/3"
-            },
-            {
-               "admin_state":false,
-               "ethernet":{
-                  
-               },
-               "port-id":"1/6/4"
-            },
-            {
-               "admin_state":false,
-               "ethernet":{
-                  
-               },
-               "port-id":"1/6/5"
-            },
-            {
-               "admin_state":true,
-               "description":"BTS0215-DO-URC03",
-               "ethernet":{
-                  "autonegotiate":false,
-                  "encap-type":"dot1q"
-               },
-               "port-id":"1/6/6"
-            },
-            {
-               "admin_state":true,
-               "description":"eNodeB324215-LTE-eCCM01-1",
-               "ethernet":{
-                  "autonegotiate":"limited",
-                  "encap-type":"dot1q",
-                  "hold-time":{
-                     "down":"50"
-                  },
-                  "mtu":"2106"
-               },
-               "port-id":"1/6/7"
-            },
-            {
-               "admin_state":true,
-               "description":"Link-to-TEMPE-AZ-EXAMPLE-P-AL-0415-H2-1/2/8",
-               "ethernet":{
-                  "autonegotiate":false,
-                  "egress-rate":"96260",
-                  "encap-type":"dot1q",
-                  "mode":"network",
-                  "mtu":"2106"
-               },
-               "port-id":"1/6/8"
-            }
-         ]
+{
+  "configure": {
+    "port": [
+      {
+        "admin_state": true,
+        "description": "7705-MGMT-CSMA",
+        "ethernet": {
+          "autonegotiate": false
+        },
+        "port-id": "1/5/1"
+      },
+      {
+        "admin_state": true,
+        "description": "BTS0215-1X-URC01",
+        "ethernet": {
+          "autonegotiate": false,
+          "encap-type": "dot1q"
+        },
+        "port-id": "1/5/2"
+      },
+      {
+        "admin_state": false,
+        "ethernet": {},
+        "port-id": "1/5/3"
+      },
+      {
+        "admin_state": false,
+        "ethernet": {},
+        "port-id": "1/5/4"
+      }, {
+        "admin_state": true,
+        "description": "LINK-TO-LOOPBACK-7705PORT",
+        "ethernet": {
+          "encap-type": "dot1q",
+          "loopback": true,
+          "mtu": "2106"
+        },
+        "port-id": "1/5/5"
+      }, {
+        "admin_state": false,
+        "ethernet": {
+          "autonegotiate": false,
+          "encap-type": "dot1q"
+        },
+        "port-id": "1/5/6"
+      }, {
+        "admin_state": true,
+        "description": "eNodeB0215-LTE-eCCM01-1",
+        "ethernet": {
+          "autonegotiate": "limited",
+          "encap-type": "dot1q",
+          "hold-time": {
+            "down": "50"
+          },
+          "mtu": "2106"
+        },
+        "port-id": "1/5/7"
+      }, {
+        "admin_state": true,
+        "description": "Link-to-TEMPE-AZ-EXAMPLE-P-AL-0415-H1-1/2/8",
+        "ethernet": {
+          "autonegotiate": false,
+          "egress-rate": "96260",
+          "encap-type": "dot1q",
+          "hold-time": {
+            "down": "25",
+            "up": "50"
+          },
+          "mode": "network",
+          "mtu": "2106"
+        },
+        "port-id": "1/5/8"
+      }, {
+        "admin_state": true,
+        "description": "7705-MGMT-CSMB",
+        "ethernet": {
+          "autonegotiate": false
+        },
+        "port-id": "1/6/1"
+      }, {
+        "admin_state": true,
+        "description": "BTS0215-1X-URC02",
+        "ethernet": {
+          "autonegotiate": false,
+          "encap-type": "dot1q"
+        },
+        "port-id": "1/6/2"
+      }, {
+        "admin_state": false,
+        "ethernet": {
+          "autonegotiate": false,
+          "encap-type": "dot1q"
+        },
+        "port-id": "1/6/3"
+      }, {
+        "admin_state": false,
+        "ethernet": {},
+        "port-id": "1/6/4"
+      }, {
+        "admin_state": false,
+        "ethernet": {},
+        "port-id": "1/6/5"
+      }, {
+        "admin_state": true,
+        "description": "BTS0215-DO-URC03",
+        "ethernet": {
+          "autonegotiate": false,
+          "encap-type": "dot1q"
+        },
+        "port-id": "1/6/6"
+      }, {
+        "admin_state": true,
+        "description": "eNodeB324215-LTE-eCCM01-1",
+        "ethernet": {
+          "autonegotiate": "limited",
+          "encap-type": "dot1q",
+          "hold-time": {
+            "down": "50"
+          },
+          "mtu": "2106"
+        },
+        "port-id": "1/6/7"
+      }, {
+        "admin_state": true,
+        "description": "Link-to-TEMPE-AZ-EXAMPLE-P-AL-0415-H2-1/2/8",
+        "ethernet": {
+          "autonegotiate": false,
+          "egress-rate": "96260",
+          "encap-type": "dot1q",
+          "mode": "network",
+          "mtu": "2106"
+        },
+        "port-id": "1/6/8"
       }
-   }
-]
\ No newline at end of file
+    ]
+  }
+}
diff --git a/tests/fixtures/parsed_results/admin_display/python_configuration.json b/tests/fixtures/parsed_results/admin_display/python_configuration.json
index ee1aac4..0967ef4 100644
--- a/tests/fixtures/parsed_results/admin_display/python_configuration.json
+++ b/tests/fixtures/parsed_results/admin_display/python_configuration.json
@@ -1,1 +1,1 @@
-[{}]
\ No newline at end of file
+{}
diff --git a/tests/fixtures/parsed_results/admin_display/python_declaration.json b/tests/fixtures/parsed_results/admin_display/python_declaration.json
index ee1aac4..0967ef4 100644
--- a/tests/fixtures/parsed_results/admin_display/python_declaration.json
+++ b/tests/fixtures/parsed_results/admin_display/python_declaration.json
@@ -1,1 +1,1 @@
-[{}]
\ No newline at end of file
+{}
diff --git a/tests/fixtures/parsed_results/admin_display/qos_policy_configuration.json b/tests/fixtures/parsed_results/admin_display/qos_policy_configuration.json
index a2266fc..66bcbee 100644
--- a/tests/fixtures/parsed_results/admin_display/qos_policy_configuration.json
+++ b/tests/fixtures/parsed_results/admin_display/qos_policy_configuration.json
@@ -1,1 +1,2847 @@
-[{"configure": {"qos": [{"network": {"egress": {"fc": [{"fc": "af", "lsp-exp-in-profile": "2"}, {"fc": "be"}, {"fc": "ef"}, {"fc": "h2"}, {"fc": "l1", "lsp-exp-out-profile": "3"}, {"fc": "l2"}, {"fc": "nc"}]}, "ingress": {"dscp": [{"dscp": "be", "fc": "be", "profile": "out"}, {"dscp": "ef", "fc": "ef", "profile": "in"}, {"dscp": "cs1", "fc": "l2", "profile": "out"}, {"dscp": "cs2", "fc": "l1", "profile": "in"}, {"dscp": "cs3", "fc": "af", "profile": "in"}, {"dscp": "cs4", "fc": "h2", "profile": "in"}, {"dscp": "nc1", "fc": "h1", "profile": "in"}, {"dscp": "nc2", "fc": "nc", "profile": "in"}, {"dscp": "af11", "fc": "af", "profile": "in"}, {"dscp": "af12", "fc": "af", "profile": "out"}, {"dscp": "af13", "fc": "af", "profile": "out"}, {"dscp": "af21", "fc": "l1", "profile": "in"}, {"dscp": "af22", "fc": "l1", "profile": "out"}, {"dscp": "af23", "fc": "l1", "profile": "out"}, {"dscp": "af31", "fc": "l1", "profile": "in"}, {"dscp": "af32", "fc": "l1", "profile": "out"}, {"dscp": "af33", "fc": "l1", "profile": "out"}, {"dscp": "af41", "fc": "h2", "profile": "in"}, {"dscp": "af42", "fc": "h2", "profile": "out"}, {"dscp": "af43", "fc": "h2", "profile": "out"}], "lsp-exp": [{"fc": "be", "lsp-exp": "0", "profile": "out"}, {"fc": "l2", "lsp-exp": "1", "profile": "out"}, {"fc": "af", "lsp-exp": "2", "profile": "out"}, {"fc": "l1", "lsp-exp": "3", "profile": "in"}, {"fc": "h2", "lsp-exp": "4", "profile": "in"}, {"fc": "ef", "lsp-exp": "5", "profile": "in"}, {"fc": "h1", "lsp-exp": "6", "profile": "in"}, {"fc": "nc", "lsp-exp": "7", "profile": "in"}]}}, "network-queue": {"name": "10110", "queue": [{"id": "1"}, {"id": "2"}, {"id": "3"}, {"id": "4"}, {"id": "5"}, {"id": "6"}, {"id": "7"}, {"id": "8"}, {"id": "9", "multipoint": "multipoint"}]}, "queue-group-templates": {"egress": {"queue-group": [{"name": "QG-NE-0010M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {}, {}, {"name": "QG-NE-0020M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {}, {}, {"name": "QG-NE-0025M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {}, {}, {"name": "QG-NE-0050M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {}, {}, {"name": "QG-NE-0075M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {}, {}, {"name": "QG-NE-0100M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {}, {}, {"name": "QG-NE-0125M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {}, {}, {"name": "QG-NE-0150M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {}, {}, {"name": "QG-NE-0200M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {}, {}, {"name": "QG-NE-0250M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {}, {}, {"name": "QG-NE-0300M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {}, {}, {"name": "QG-NE-0320M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {}, {}, {"name": "QG-NE-0350M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {}, {}, {"name": "QG-NE-0400M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {}, {}, {"name": "QG-NE-0450M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {}, {}, {"name": "QG-NE-0500M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {}, {}, {"name": "QG-NE-0600M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {}, {}, {"name": "QG-NE-0700M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {}, {}, {"name": "QG-NE-0750M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {}, {}, {"name": "QG-NE-0800M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {}, {}, {"name": "QG-NE-0900M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {}, {}, {"name": "QG-NE-1000M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {}, {}, {"name": "QG-NE-2000M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {}, {}, {"name": "QG-NE-2500M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {}, {}, {"name": "QG-NE-3000M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {}, {}, {"name": "QG-NE-4000M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {}, {}, {"name": "QG-NE-5000M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {}, {}, {"name": "QG-NE-6000M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {}, {}, {"name": "QG-NE-7000M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {}, {}, {"name": "QG-NE-8000M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {}, {}, {"name": "QG-NE-9000M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {}, {}, {"name": "QG-NE-10000M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {}, {}, {"name": "QG-ST-0009M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {}, {}, {"name": "QG-ST-0018M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {}, {}, {"name": "QG-ST-0023M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {}, {}, {"name": "QG-ST-0045M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {}, {}, {"name": "QG-ST-0068M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {}, {}, {"name": "QG-ST-0090M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {}, {}, {"name": "QG-ST-0113M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {}, {}, {"name": "QG-ST-0135M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {}, {}, {"name": "QG-ST-0180M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {}, {}, {"name": "QG-ST-0225M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {}, {}, {"name": "QG-ST-0270M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {}, {}, {"name": "QG-ST-0288M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {}, {}, {"name": "QG-ST-0315M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {}, {}, {"name": "QG-ST-0360M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {}, {}, {"name": "QG-ST-0405M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {}, {}, {"name": "QG-ST-0450M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {}, {}, {"name": "QG-ST-0540M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {}, {}, {"name": "QG-ST-0630M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {}, {}, {"name": "QG-ST-0675M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {}, {}, {"name": "QG-ST-0720M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {}, {}, {"name": "QG-ST-0810M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {}, {}, {"name": "QG-ST-0900M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {}, {}, {"name": "QG-ST-1800M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {}, {}, {"name": "QG-ST-2250M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {}, {}, {"name": "QG-ST-2700M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {}, {}, {"name": "QG-ST-3600M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {}, {}, {"name": "QG-ST-4500M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {}, {}, {"name": "QG-ST-5400M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {}, {}, {"name": "QG-ST-6300M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {}, {}, {"name": "QG-ST-7200M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {}, {}, {"name": "QG-ST-8100M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {}, {}, {"name": "QG-ST-9000M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}]}}, "sap-egress": {"fc": [{"fc": "af", "multicast-queue-id": "9", "queue-id": "3"}, {"fc": "be", "multicast-queue-id": "9", "queue-id": "2"}, {"fc": "ef", "multicast-queue-id": "9", "queue-id": "6"}, {"fc": "h1", "multicast-queue-id": "9", "queue-id": "7"}, {"fc": "h2", "multicast-queue-id": "9", "queue-id": "5"}, {"fc": "l1", "multicast-queue-id": "9", "queue-id": "4"}, {"fc": "l2", "multicast-queue-id": "9", "queue-id": "1"}, {"fc": "nc", "multicast-queue-id": "9", "queue-id": "8"}]}, "scheduler-policy": [{"name": "SP10M", "tier": {"id": "1", "scheduler": {"name": "Scheduler10M"}}}, {"name": "SP20M", "tier": {"id": "1", "scheduler": {"name": "Scheduler20M"}}}, {"name": "SP25M", "tier": {"id": "1", "scheduler": {"name": "Scheduler25M"}}}, {"name": "SP50M", "tier": {"id": "1", "scheduler": {"name": "Scheduler50M"}}}, {"name": "SP75M", "tier": {"id": "1", "scheduler": {"name": "Scheduler75M"}}}, {"name": "SP100M", "tier": {"id": "1", "scheduler": {"name": "Scheduler100M"}}}, {"name": "SP125M", "tier": {"id": "1", "scheduler": {"name": "Scheduler125M"}}}, {"name": "SP150M", "tier": {"id": "1", "scheduler": {"name": "Scheduler150M"}}}, {"name": "SP200M", "tier": {"id": "1", "scheduler": {"name": "Scheduler200M"}}}, {"name": "SP250M", "tier": {"id": "1", "scheduler": {"name": "Scheduler250M"}}}, {"name": "SP300M", "tier": {"id": "1", "scheduler": {"name": "Scheduler300M"}}}, {"name": "SP320M", "tier": {"id": "1", "scheduler": {"name": "Scheduler320M"}}}, {"name": "SP350M", "tier": {"id": "1", "scheduler": {"name": "Scheduler350M"}}}, {"name": "SP400M", "tier": {"id": "1", "scheduler": {"name": "Scheduler400M"}}}, {"name": "SP450M", "tier": {"id": "1", "scheduler": {"name": "Scheduler450M"}}}, {"name": "SP500M", "tier": {"id": "1", "scheduler": {"name": "Scheduler500M"}}}, {"name": "SP600M", "tier": {"id": "1", "scheduler": {"name": "Scheduler600M"}}}, {"name": "SP700M", "tier": {"id": "1", "scheduler": {"name": "Scheduler700M"}}}, {"name": "SP750M", "tier": {"id": "1", "scheduler": {"name": "Scheduler750M"}}}, {"name": "SP800M", "tier": {"id": "1", "scheduler": {"name": "Scheduler800M"}}}, {"name": "SP900M", "tier": {"id": "1", "scheduler": {"name": "Scheduler900M"}}}, {"name": "SP1000M", "tier": {"id": "1", "scheduler": {"name": "Scheduler1000M"}}}, {"name": "SP2000M", "tier": {"id": "1", "scheduler": {"name": "Scheduler2000M"}}}, {"name": "SP2500M", "tier": {"id": "1", "scheduler": {"name": "Scheduler2500M"}}}, {"name": "SP3000M", "tier": {"id": "1", "scheduler": {"name": "Scheduler3000M"}}}, {"name": "SP4000M", "tier": {"id": "1", "scheduler": {"name": "Scheduler4000M"}}}, {"name": "SP5000M", "tier": {"id": "1", "scheduler": {"name": "Scheduler5000M"}}}, {"name": "SP6000M", "tier": {"id": "1", "scheduler": {"name": "Scheduler6000M"}}}, {"name": "SP7000M", "tier": {"id": "1", "scheduler": {"name": "Scheduler7000M"}}}, {"name": "SP8000M", "tier": {"id": "1", "scheduler": {"name": "Scheduler8000M"}}}, {"name": "SP9000M", "tier": {"id": "1", "scheduler": {"name": "Scheduler9000M"}}}, {"name": "SP10000M", "tier": {"id": "1", "scheduler": {"name": "Scheduler10000M"}}}, {"name": "SP9M", "tier": {"id": "1", "scheduler": {"name": "Scheduler9M"}}}, {"name": "SP18M", "tier": {"id": "1", "scheduler": {"name": "Scheduler18M"}}}, {"name": "SP23M", "tier": {"id": "1", "scheduler": {"name": "Scheduler23M"}}}, {"name": "SP45M", "tier": {"id": "1", "scheduler": {"name": "Scheduler45M"}}}, {"name": "SP68M", "tier": {"id": "1", "scheduler": {"name": "Scheduler68"}}}, {"name": "SP90M", "tier": {"id": "1", "scheduler": {"name": "Scheduler90M"}}}, {"name": "SP113M", "tier": {"id": "1", "scheduler": {"name": "Scheduler113M"}}}, {"name": "SP135M", "tier": {"id": "1", "scheduler": {"name": "Scheduler135M"}}}, {"name": "SP180M", "tier": {"id": "1", "scheduler": {"name": "Scheduler180M"}}}, {"name": "SP225M", "tier": {"id": "1", "scheduler": {"name": "Scheduler225M"}}}, {"name": "SP270M", "tier": {"id": "1", "scheduler": {"name": "Scheduler270M"}}}, {"name": "SP288M", "tier": {"id": "1", "scheduler": {"name": "Scheduler288M"}}}, {"name": "SP315M", "tier": {"id": "1", "scheduler": {"name": "Scheduler315M"}}}, {"name": "SP360M", "tier": {"id": "1", "scheduler": {"name": "Scheduler360M"}}}, {"name": "SP405M", "tier": {"id": "1", "scheduler": {"name": "Scheduler405M"}}}, {"name": "SP540M", "tier": {"id": "1", "scheduler": {"name": "Scheduler540M"}}}, {"name": "SP630M", "tier": {"id": "1", "scheduler": {"name": "Scheduler630M"}}}, {"name": "SP675M", "tier": {"id": "1", "scheduler": {"name": "Scheduler675M"}}}, {"name": "SP720M", "tier": {"id": "1", "scheduler": {"name": "Scheduler720M"}}}, {"name": "SP810M", "tier": {"id": "1", "scheduler": {"name": "Scheduler810M"}}}, {"name": "SP1800M", "tier": {"id": "1", "scheduler": {"name": "Scheduler1800M"}}}, {"name": "SP2250M", "tier": {"id": "1", "scheduler": {"name": "Scheduler2250M"}}}, {"name": "SP2700M", "tier": {"id": "1", "scheduler": {"name": "Scheduler2700M"}}}, {"name": "SP3600M", "tier": {"id": "1", "scheduler": {"name": "Scheduler3600M"}}}, {"name": "SP4500M", "tier": {"id": "1", "scheduler": {"name": "Scheduler4500M"}}}, {"name": "SP5400M", "tier": {"id": "1", "scheduler": {"name": "Scheduler5400M"}}}, {"name": "SP6300M", "tier": {"id": "1", "scheduler": {"name": "Scheduler6300M"}}}, {"name": "SP7200M", "tier": {"id": "1", "scheduler": {"name": "Scheduler7200M"}}}, {"name": "SP8100M", "tier": {"id": "1", "scheduler": {"name": "Scheduler8100M"}}}, {"name": "SP9000M", "tier": {"id": "1", "scheduler": {"name": "Scheduler9000M"}}}]}, {"network": {"egress": [{"fc": [{"fc": "af", "lsp-exp-in-profile": "2"}, {"fc": "be"}, {"fc": "ef"}, {"fc": "h2"}, {"fc": "l1", "lsp-exp-out-profile": "3"}, {"fc": "nc"}]}, {"fc": [{"fc": "af", "lsp-exp-in-profile": "2"}, {"fc": "l1", "lsp-exp-out-profile": "3"}]}], "ingress": [{"dscp": [{"dscp": "be", "fc": "be", "profile": "out"}, {"dscp": "ef", "fc": "ef", "profile": "in"}, {"dscp": "cs1", "fc": "l2", "profile": "in"}, {"dscp": "cs2", "fc": "af", "profile": "in"}, {"dscp": "cs3", "fc": "l1", "profile": "in"}, {"dscp": "cs4", "fc": "h2", "profile": "in"}, {"dscp": "nc1", "fc": "h1", "profile": "in"}, {"dscp": "nc2", "fc": "nc", "profile": "in"}, {"dscp": "af11", "fc": "af", "profile": "in"}, {"dscp": "af12", "fc": "af", "profile": "out"}, {"dscp": "af13", "fc": "af", "profile": "out"}, {"dscp": "af21", "fc": "l1", "profile": "in"}, {"dscp": "af22", "fc": "l1", "profile": "out"}, {"dscp": "af23", "fc": "l1", "profile": "out"}, {"dscp": "af31", "fc": "l1", "profile": "in"}, {"dscp": "af32", "fc": "l1", "profile": "out"}, {"dscp": "af33", "fc": "l1", "profile": "out"}, {"dscp": "af41", "fc": "h2", "profile": "in"}, {"dscp": "af42", "fc": "h2", "profile": "out"}, {"dscp": "af43", "fc": "h2", "profile": "out"}], "lsp-exp": [{"fc": "be", "lsp-exp": "0", "profile": "out"}, {"fc": "l2", "lsp-exp": "1", "profile": "in"}, {"fc": "af", "lsp-exp": "2", "profile": "out"}, {"fc": "l1", "lsp-exp": "3", "profile": "in"}, {"fc": "h2", "lsp-exp": "4", "profile": "in"}, {"fc": "ef", "lsp-exp": "5", "profile": "in"}, {"fc": "h1", "lsp-exp": "6", "profile": "in"}, {"fc": "nc", "lsp-exp": "7", "profile": "in"}]}, {"dscp": [{"dscp": "be", "fc": "be", "profile": "out"}, {"dscp": "ef", "fc": "ef", "profile": "in"}, {"dscp": "cs1", "fc": "l2", "profile": "out"}, {"dscp": "cs2", "fc": "l1", "profile": "in"}, {"dscp": "cs3", "fc": "af", "profile": "in"}, {"dscp": "cs4", "fc": "h2", "profile": "in"}, {"dscp": "nc1", "fc": "h1", "profile": "in"}, {"dscp": "nc2", "fc": "nc", "profile": "in"}, {"dscp": "af11", "fc": "af", "profile": "in"}, {"dscp": "af12", "fc": "af", "profile": "out"}, {"dscp": "af13", "fc": "af", "profile": "out"}, {"dscp": "af21", "fc": "l1", "profile": "in"}, {"dscp": "af22", "fc": "l1", "profile": "out"}, {"dscp": "af23", "fc": "l1", "profile": "out"}, {"dscp": "af31", "fc": "l1", "profile": "in"}, {"dscp": "af32", "fc": "l1", "profile": "out"}, {"dscp": "af33", "fc": "l1", "profile": "out"}, {"dscp": "af41", "fc": "h2", "profile": "in"}, {"dscp": "af42", "fc": "h2", "profile": "out"}, {"dscp": "af43", "fc": "h2", "profile": "out"}], "lsp-exp": [{"fc": "be", "lsp-exp": "0", "profile": "out"}, {"fc": "l2", "lsp-exp": "1", "profile": "out"}, {"fc": "af", "lsp-exp": "2", "profile": "in"}, {"fc": "l1", "lsp-exp": "3", "profile": "in"}, {"fc": "h2", "lsp-exp": "4", "profile": "in"}, {"fc": "ef", "lsp-exp": "5", "profile": "in"}, {"fc": "h1", "lsp-exp": "6", "profile": "in"}, {"fc": "nc", "lsp-exp": "7", "profile": "in"}]}]}, "network-queue": {"queue": [{"id": "1"}, {"id": "5"}, {"id": "6"}, {"id": "7"}, {"id": "11", "multipoint": "multipoint"}]}, "sap-egress": {"dot1p": [{"dot1p-priority": "0", "fc": "be"}, {"dot1p-priority": "1", "fc": "l2"}, {"dot1p-priority": "2", "fc": "af"}, {"dot1p-priority": "3", "fc": "l1"}, {"dot1p-priority": "4", "fc": "h2"}, {"dot1p-priority": "5", "fc": "ef"}, {"dot1p-priority": "7", "fc": "nc"}], "dscp": [{"dscp": "be", "fc": "be"}, {"dscp": "ef", "fc": "ef"}, {"dscp": "af11", "fc": "h2"}, {"dscp": "cs2", "fc": "af"}, {"dscp": "be", "fc": "be"}, {"dscp": "ef", "fc": "ef"}, {"dscp": "cs4", "fc": "h2"}, {"dscp": "cs3", "fc": "l1"}, {"dscp": "cs1", "fc": "l2"}, {"dscp": "nc1,nc2", "fc": "nc"}, {"dscp": "be", "fc": "be"}, {"dscp": "ef", "fc": "ef"}, {"dscp": "af11", "fc": "h2"}, {"dscp": "nc1,nc2", "fc": "nc"}, {"dscp": "af12,af21,af42", "fc": "af"}, {"dscp": "be", "fc": "be"}, {"dscp": "af41", "fc": "h2"}, {"dscp": "af22,af31", "fc": "l1"}, {"dscp": "nc1,nc2", "fc": "nc"}], "fc": [{"fc": "\"be\"", "queue-id": "1"}, {"fc": "\"ef\"", "queue-id": "6"}, {"fc": "\"h1\"", "queue-id": "7"}, {"fc": "\"h2\"", "queue-id": "5"}, {"fc": "\"af\"", "queue-id": "3"}, {"fc": "\"be\"", "queue-id": "2"}, {"fc": "\"ef\"", "queue-id": "6"}, {"fc": "\"h2\"", "queue-id": "5"}, {"fc": "\"l1\"", "queue-id": "4"}, {"fc": "\"l2\"", "queue-id": "1"}, {"fc": "\"nc\"", "queue-id": "8"}, {"fc": "\"af\"", "queue-id": "3"}, {"fc": "\"be\"", "queue-id": "2"}, {"fc": "\"ef\"", "queue-id": "6"}, {"fc": "\"h2\"", "queue-id": "5"}, {"fc": "\"l1\"", "queue-id": "4"}, {"fc": "\"l2\"", "queue-id": "1"}, {"fc": "\"nc\"", "queue-id": "8"}, {"fc": "\"be\"", "queue-id": "1"}, {"fc": "\"ef\"", "queue-id": "6"}, {"fc": "\"h2\"", "queue-id": "5"}, {"fc": "\"nc\"", "queue-id": "8"}, {"fc": "\"af\"", "queue-id": "3"}, {"fc": "\"be\"", "queue-id": "1"}, {"fc": "\"h2\"", "queue-id": "5"}, {"fc": "\"l1\"", "queue-id": "4"}, {"fc": "\"nc\"", "queue-id": "8"}, {"dot1p": "2", "fc": "af", "queue-id": "3"}, {"dot1p": "0", "fc": "be", "queue-id": "2"}, {"dot1p": "5", "fc": "ef", "queue-id": "6"}, {"dot1p": "6", "fc": "h1", "queue-id": "7"}, {"dot1p": "4", "fc": "h2", "queue-id": "5"}, {"dot1p": "3", "fc": "l1", "queue-id": "4"}, {"dot1p": "1", "fc": "l2", "queue-id": "1"}, {"dot1p": "7", "fc": "nc", "queue-id": "8"}, {"fc": "af", "queue-id": "3"}, {"fc": "be", "queue-id": "2"}, {"fc": "ef", "queue-id": "6"}, {"fc": "h2", "queue-id": "5"}, {"fc": "l1", "queue-id": "4"}, {"fc": "l2", "queue-id": "1"}, {"fc": "nc", "queue-id": "8"}], "queue": [{"id": "1"}, {"id": "2"}, {"id": "3"}, {"id": "4"}, {"id": "5"}, {"id": "6"}, {"id": "8"}, {"id": "11", "type": "multipoint"}, {"id": "1"}, {"id": "2"}, {"id": "3"}, {"id": "4"}, {"id": "5"}, {"id": "6"}, {"id": "8"}, {"id": "11", "type": "multipoint"}, {"id": "1"}, {"id": "5"}, {"id": "6"}, {"id": "8"}, {"id": "11", "type": "multipoint"}, {"id": "1"}, {"id": "3"}, {"id": "4"}, {"id": "5"}, {"id": "8"}, {"id": "11", "type": "multipoint"}, {"id": "1"}, {"id": "2"}, {"id": "3"}, {"id": "4"}, {"id": "5"}, {"id": "6"}, {"id": "7"}, {"id": "8"}, {"id": "1"}, {"id": "2"}, {"id": "3"}, {"id": "4"}, {"id": "5"}, {"id": "6"}, {"id": "8"}]}}]}}]
\ No newline at end of file
+{
+  "configure": {
+    "qos": [
+      {
+        "network": {
+          "egress": {
+            "fc": [
+              {
+                "fc": "af",
+                "lsp-exp-in-profile": "2"
+              },
+              {
+                "fc": "be"
+              },
+              {
+                "fc": "ef"
+              },
+              {
+                "fc": "h2"
+              }, {
+                "fc": "l1",
+                "lsp-exp-out-profile": "3"
+              }, {
+                "fc": "l2"
+              }, {
+                "fc": "nc"
+              }
+            ]
+          },
+          "ingress": {
+            "dscp": [
+              {
+                "dscp": "be",
+                "fc": "be",
+                "profile": "out"
+              },
+              {
+                "dscp": "ef",
+                "fc": "ef",
+                "profile": "in"
+              },
+              {
+                "dscp": "cs1",
+                "fc": "l2",
+                "profile": "out"
+              },
+              {
+                "dscp": "cs2",
+                "fc": "l1",
+                "profile": "in"
+              }, {
+                "dscp": "cs3",
+                "fc": "af",
+                "profile": "in"
+              }, {
+                "dscp": "cs4",
+                "fc": "h2",
+                "profile": "in"
+              }, {
+                "dscp": "nc1",
+                "fc": "h1",
+                "profile": "in"
+              }, {
+                "dscp": "nc2",
+                "fc": "nc",
+                "profile": "in"
+              }, {
+                "dscp": "af11",
+                "fc": "af",
+                "profile": "in"
+              }, {
+                "dscp": "af12",
+                "fc": "af",
+                "profile": "out"
+              }, {
+                "dscp": "af13",
+                "fc": "af",
+                "profile": "out"
+              }, {
+                "dscp": "af21",
+                "fc": "l1",
+                "profile": "in"
+              }, {
+                "dscp": "af22",
+                "fc": "l1",
+                "profile": "out"
+              }, {
+                "dscp": "af23",
+                "fc": "l1",
+                "profile": "out"
+              }, {
+                "dscp": "af31",
+                "fc": "l1",
+                "profile": "in"
+              }, {
+                "dscp": "af32",
+                "fc": "l1",
+                "profile": "out"
+              }, {
+                "dscp": "af33",
+                "fc": "l1",
+                "profile": "out"
+              }, {
+                "dscp": "af41",
+                "fc": "h2",
+                "profile": "in"
+              }, {
+                "dscp": "af42",
+                "fc": "h2",
+                "profile": "out"
+              }, {
+                "dscp": "af43",
+                "fc": "h2",
+                "profile": "out"
+              }
+            ],
+            "lsp-exp": [
+              {
+                "fc": "be",
+                "lsp-exp": "0",
+                "profile": "out"
+              },
+              {
+                "fc": "l2",
+                "lsp-exp": "1",
+                "profile": "out"
+              },
+              {
+                "fc": "af",
+                "lsp-exp": "2",
+                "profile": "out"
+              },
+              {
+                "fc": "l1",
+                "lsp-exp": "3",
+                "profile": "in"
+              }, {
+                "fc": "h2",
+                "lsp-exp": "4",
+                "profile": "in"
+              }, {
+                "fc": "ef",
+                "lsp-exp": "5",
+                "profile": "in"
+              }, {
+                "fc": "h1",
+                "lsp-exp": "6",
+                "profile": "in"
+              }, {
+                "fc": "nc",
+                "lsp-exp": "7",
+                "profile": "in"
+              }
+            ]
+          }
+        },
+        "network-queue": {
+          "name": "10110",
+          "queue": [
+            {
+              "id": "1"
+            },
+            {
+              "id": "2"
+            },
+            {
+              "id": "3"
+            },
+            {
+              "id": "4"
+            }, {
+              "id": "5"
+            }, {
+              "id": "6"
+            }, {
+              "id": "7"
+            }, {
+              "id": "8"
+            }, {
+              "id": "9",
+              "multipoint": "multipoint"
+            }
+          ]
+        },
+        "queue-group-templates": {
+          "egress": {
+            "queue-group": [
+              {
+                "name": "QG-NE-0010M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              },
+              {},
+              {},
+              {
+                "name": "QG-NE-0020M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {}, {}, {
+                "name": "QG-NE-0025M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {}, {}, {
+                "name": "QG-NE-0050M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {}, {}, {
+                "name": "QG-NE-0075M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {}, {}, {
+                "name": "QG-NE-0100M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {}, {}, {
+                "name": "QG-NE-0125M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {}, {}, {
+                "name": "QG-NE-0150M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {}, {}, {
+                "name": "QG-NE-0200M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {}, {}, {
+                "name": "QG-NE-0250M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {}, {}, {
+                "name": "QG-NE-0300M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {}, {}, {
+                "name": "QG-NE-0320M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {}, {}, {
+                "name": "QG-NE-0350M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {}, {}, {
+                "name": "QG-NE-0400M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {}, {}, {
+                "name": "QG-NE-0450M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {}, {}, {
+                "name": "QG-NE-0500M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {}, {}, {
+                "name": "QG-NE-0600M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {}, {}, {
+                "name": "QG-NE-0700M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {}, {}, {
+                "name": "QG-NE-0750M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {}, {}, {
+                "name": "QG-NE-0800M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {}, {}, {
+                "name": "QG-NE-0900M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {}, {}, {
+                "name": "QG-NE-1000M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {}, {}, {
+                "name": "QG-NE-2000M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {}, {}, {
+                "name": "QG-NE-2500M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {}, {}, {
+                "name": "QG-NE-3000M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {}, {}, {
+                "name": "QG-NE-4000M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {}, {}, {
+                "name": "QG-NE-5000M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {}, {}, {
+                "name": "QG-NE-6000M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {}, {}, {
+                "name": "QG-NE-7000M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {}, {}, {
+                "name": "QG-NE-8000M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {}, {}, {
+                "name": "QG-NE-9000M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {}, {}, {
+                "name": "QG-NE-10000M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {}, {}, {
+                "name": "QG-ST-0009M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {}, {}, {
+                "name": "QG-ST-0018M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {}, {}, {
+                "name": "QG-ST-0023M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {}, {}, {
+                "name": "QG-ST-0045M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {}, {}, {
+                "name": "QG-ST-0068M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {}, {}, {
+                "name": "QG-ST-0090M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {}, {}, {
+                "name": "QG-ST-0113M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {}, {}, {
+                "name": "QG-ST-0135M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {}, {}, {
+                "name": "QG-ST-0180M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {}, {}, {
+                "name": "QG-ST-0225M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {}, {}, {
+                "name": "QG-ST-0270M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {}, {}, {
+                "name": "QG-ST-0288M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {}, {}, {
+                "name": "QG-ST-0315M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {}, {}, {
+                "name": "QG-ST-0360M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {}, {}, {
+                "name": "QG-ST-0405M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {}, {}, {
+                "name": "QG-ST-0450M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {}, {}, {
+                "name": "QG-ST-0540M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {}, {}, {
+                "name": "QG-ST-0630M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {}, {}, {
+                "name": "QG-ST-0675M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {}, {}, {
+                "name": "QG-ST-0720M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {}, {}, {
+                "name": "QG-ST-0810M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {}, {}, {
+                "name": "QG-ST-0900M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {}, {}, {
+                "name": "QG-ST-1800M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {}, {}, {
+                "name": "QG-ST-2250M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {}, {}, {
+                "name": "QG-ST-2700M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {}, {}, {
+                "name": "QG-ST-3600M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {}, {}, {
+                "name": "QG-ST-4500M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {}, {}, {
+                "name": "QG-ST-5400M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {}, {}, {
+                "name": "QG-ST-6300M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {}, {}, {
+                "name": "QG-ST-7200M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {}, {}, {
+                "name": "QG-ST-8100M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {}, {}, {
+                "name": "QG-ST-9000M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }
+            ]
+          }
+        },
+        "sap-egress": {
+          "fc": [
+            {
+              "fc": "af",
+              "multicast-queue-id": "9",
+              "queue-id": "3"
+            },
+            {
+              "fc": "be",
+              "multicast-queue-id": "9",
+              "queue-id": "2"
+            },
+            {
+              "fc": "ef",
+              "multicast-queue-id": "9",
+              "queue-id": "6"
+            },
+            {
+              "fc": "h1",
+              "multicast-queue-id": "9",
+              "queue-id": "7"
+            }, {
+              "fc": "h2",
+              "multicast-queue-id": "9",
+              "queue-id": "5"
+            }, {
+              "fc": "l1",
+              "multicast-queue-id": "9",
+              "queue-id": "4"
+            }, {
+              "fc": "l2",
+              "multicast-queue-id": "9",
+              "queue-id": "1"
+            }, {
+              "fc": "nc",
+              "multicast-queue-id": "9",
+              "queue-id": "8"
+            }
+          ]
+        },
+        "scheduler-policy": [
+          {
+            "name": "SP10M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler10M"
+              }
+            }
+          },
+          {
+            "name": "SP20M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler20M"
+              }
+            }
+          },
+          {
+            "name": "SP25M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler25M"
+              }
+            }
+          },
+          {
+            "name": "SP50M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler50M"
+              }
+            }
+          }, {
+            "name": "SP75M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler75M"
+              }
+            }
+          }, {
+            "name": "SP100M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler100M"
+              }
+            }
+          }, {
+            "name": "SP125M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler125M"
+              }
+            }
+          }, {
+            "name": "SP150M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler150M"
+              }
+            }
+          }, {
+            "name": "SP200M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler200M"
+              }
+            }
+          }, {
+            "name": "SP250M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler250M"
+              }
+            }
+          }, {
+            "name": "SP300M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler300M"
+              }
+            }
+          }, {
+            "name": "SP320M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler320M"
+              }
+            }
+          }, {
+            "name": "SP350M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler350M"
+              }
+            }
+          }, {
+            "name": "SP400M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler400M"
+              }
+            }
+          }, {
+            "name": "SP450M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler450M"
+              }
+            }
+          }, {
+            "name": "SP500M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler500M"
+              }
+            }
+          }, {
+            "name": "SP600M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler600M"
+              }
+            }
+          }, {
+            "name": "SP700M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler700M"
+              }
+            }
+          }, {
+            "name": "SP750M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler750M"
+              }
+            }
+          }, {
+            "name": "SP800M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler800M"
+              }
+            }
+          }, {
+            "name": "SP900M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler900M"
+              }
+            }
+          }, {
+            "name": "SP1000M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler1000M"
+              }
+            }
+          }, {
+            "name": "SP2000M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler2000M"
+              }
+            }
+          }, {
+            "name": "SP2500M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler2500M"
+              }
+            }
+          }, {
+            "name": "SP3000M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler3000M"
+              }
+            }
+          }, {
+            "name": "SP4000M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler4000M"
+              }
+            }
+          }, {
+            "name": "SP5000M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler5000M"
+              }
+            }
+          }, {
+            "name": "SP6000M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler6000M"
+              }
+            }
+          }, {
+            "name": "SP7000M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler7000M"
+              }
+            }
+          }, {
+            "name": "SP8000M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler8000M"
+              }
+            }
+          }, {
+            "name": "SP9000M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler9000M"
+              }
+            }
+          }, {
+            "name": "SP10000M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler10000M"
+              }
+            }
+          }, {
+            "name": "SP9M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler9M"
+              }
+            }
+          }, {
+            "name": "SP18M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler18M"
+              }
+            }
+          }, {
+            "name": "SP23M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler23M"
+              }
+            }
+          }, {
+            "name": "SP45M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler45M"
+              }
+            }
+          }, {
+            "name": "SP68M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler68"
+              }
+            }
+          }, {
+            "name": "SP90M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler90M"
+              }
+            }
+          }, {
+            "name": "SP113M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler113M"
+              }
+            }
+          }, {
+            "name": "SP135M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler135M"
+              }
+            }
+          }, {
+            "name": "SP180M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler180M"
+              }
+            }
+          }, {
+            "name": "SP225M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler225M"
+              }
+            }
+          }, {
+            "name": "SP270M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler270M"
+              }
+            }
+          }, {
+            "name": "SP288M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler288M"
+              }
+            }
+          }, {
+            "name": "SP315M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler315M"
+              }
+            }
+          }, {
+            "name": "SP360M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler360M"
+              }
+            }
+          }, {
+            "name": "SP405M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler405M"
+              }
+            }
+          }, {
+            "name": "SP540M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler540M"
+              }
+            }
+          }, {
+            "name": "SP630M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler630M"
+              }
+            }
+          }, {
+            "name": "SP675M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler675M"
+              }
+            }
+          }, {
+            "name": "SP720M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler720M"
+              }
+            }
+          }, {
+            "name": "SP810M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler810M"
+              }
+            }
+          }, {
+            "name": "SP1800M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler1800M"
+              }
+            }
+          }, {
+            "name": "SP2250M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler2250M"
+              }
+            }
+          }, {
+            "name": "SP2700M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler2700M"
+              }
+            }
+          }, {
+            "name": "SP3600M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler3600M"
+              }
+            }
+          }, {
+            "name": "SP4500M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler4500M"
+              }
+            }
+          }, {
+            "name": "SP5400M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler5400M"
+              }
+            }
+          }, {
+            "name": "SP6300M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler6300M"
+              }
+            }
+          }, {
+            "name": "SP7200M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler7200M"
+              }
+            }
+          }, {
+            "name": "SP8100M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler8100M"
+              }
+            }
+          }, {
+            "name": "SP9000M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler9000M"
+              }
+            }
+          }
+        ]
+      }, {
+        "network": {
+          "egress": [
+            {
+              "fc": [
+                {
+                  "fc": "af",
+                  "lsp-exp-in-profile": "2"
+                },
+                {
+                  "fc": "be"
+                },
+                {
+                  "fc": "ef"
+                },
+                {
+                  "fc": "h2"
+                }, {
+                  "fc": "l1",
+                  "lsp-exp-out-profile": "3"
+                }, {
+                  "fc": "nc"
+                }
+              ]
+            }, {
+              "fc": [
+                {
+                  "fc": "af",
+                  "lsp-exp-in-profile": "2"
+                }, {
+                  "fc": "l1",
+                  "lsp-exp-out-profile": "3"
+                }
+              ]
+            }
+          ],
+          "ingress": [
+            {
+              "dscp": [
+                {
+                  "dscp": "be",
+                  "fc": "be",
+                  "profile": "out"
+                },
+                {
+                  "dscp": "ef",
+                  "fc": "ef",
+                  "profile": "in"
+                },
+                {
+                  "dscp": "cs1",
+                  "fc": "l2",
+                  "profile": "in"
+                },
+                {
+                  "dscp": "cs2",
+                  "fc": "af",
+                  "profile": "in"
+                }, {
+                  "dscp": "cs3",
+                  "fc": "l1",
+                  "profile": "in"
+                }, {
+                  "dscp": "cs4",
+                  "fc": "h2",
+                  "profile": "in"
+                }, {
+                  "dscp": "nc1",
+                  "fc": "h1",
+                  "profile": "in"
+                }, {
+                  "dscp": "nc2",
+                  "fc": "nc",
+                  "profile": "in"
+                }, {
+                  "dscp": "af11",
+                  "fc": "af",
+                  "profile": "in"
+                }, {
+                  "dscp": "af12",
+                  "fc": "af",
+                  "profile": "out"
+                }, {
+                  "dscp": "af13",
+                  "fc": "af",
+                  "profile": "out"
+                }, {
+                  "dscp": "af21",
+                  "fc": "l1",
+                  "profile": "in"
+                }, {
+                  "dscp": "af22",
+                  "fc": "l1",
+                  "profile": "out"
+                }, {
+                  "dscp": "af23",
+                  "fc": "l1",
+                  "profile": "out"
+                }, {
+                  "dscp": "af31",
+                  "fc": "l1",
+                  "profile": "in"
+                }, {
+                  "dscp": "af32",
+                  "fc": "l1",
+                  "profile": "out"
+                }, {
+                  "dscp": "af33",
+                  "fc": "l1",
+                  "profile": "out"
+                }, {
+                  "dscp": "af41",
+                  "fc": "h2",
+                  "profile": "in"
+                }, {
+                  "dscp": "af42",
+                  "fc": "h2",
+                  "profile": "out"
+                }, {
+                  "dscp": "af43",
+                  "fc": "h2",
+                  "profile": "out"
+                }
+              ],
+              "lsp-exp": [
+                {
+                  "fc": "be",
+                  "lsp-exp": "0",
+                  "profile": "out"
+                },
+                {
+                  "fc": "l2",
+                  "lsp-exp": "1",
+                  "profile": "in"
+                },
+                {
+                  "fc": "af",
+                  "lsp-exp": "2",
+                  "profile": "out"
+                },
+                {
+                  "fc": "l1",
+                  "lsp-exp": "3",
+                  "profile": "in"
+                }, {
+                  "fc": "h2",
+                  "lsp-exp": "4",
+                  "profile": "in"
+                }, {
+                  "fc": "ef",
+                  "lsp-exp": "5",
+                  "profile": "in"
+                }, {
+                  "fc": "h1",
+                  "lsp-exp": "6",
+                  "profile": "in"
+                }, {
+                  "fc": "nc",
+                  "lsp-exp": "7",
+                  "profile": "in"
+                }
+              ]
+            }, {
+              "dscp": [
+                {
+                  "dscp": "be",
+                  "fc": "be",
+                  "profile": "out"
+                },
+                {
+                  "dscp": "ef",
+                  "fc": "ef",
+                  "profile": "in"
+                },
+                {
+                  "dscp": "cs1",
+                  "fc": "l2",
+                  "profile": "out"
+                },
+                {
+                  "dscp": "cs2",
+                  "fc": "l1",
+                  "profile": "in"
+                }, {
+                  "dscp": "cs3",
+                  "fc": "af",
+                  "profile": "in"
+                }, {
+                  "dscp": "cs4",
+                  "fc": "h2",
+                  "profile": "in"
+                }, {
+                  "dscp": "nc1",
+                  "fc": "h1",
+                  "profile": "in"
+                }, {
+                  "dscp": "nc2",
+                  "fc": "nc",
+                  "profile": "in"
+                }, {
+                  "dscp": "af11",
+                  "fc": "af",
+                  "profile": "in"
+                }, {
+                  "dscp": "af12",
+                  "fc": "af",
+                  "profile": "out"
+                }, {
+                  "dscp": "af13",
+                  "fc": "af",
+                  "profile": "out"
+                }, {
+                  "dscp": "af21",
+                  "fc": "l1",
+                  "profile": "in"
+                }, {
+                  "dscp": "af22",
+                  "fc": "l1",
+                  "profile": "out"
+                }, {
+                  "dscp": "af23",
+                  "fc": "l1",
+                  "profile": "out"
+                }, {
+                  "dscp": "af31",
+                  "fc": "l1",
+                  "profile": "in"
+                }, {
+                  "dscp": "af32",
+                  "fc": "l1",
+                  "profile": "out"
+                }, {
+                  "dscp": "af33",
+                  "fc": "l1",
+                  "profile": "out"
+                }, {
+                  "dscp": "af41",
+                  "fc": "h2",
+                  "profile": "in"
+                }, {
+                  "dscp": "af42",
+                  "fc": "h2",
+                  "profile": "out"
+                }, {
+                  "dscp": "af43",
+                  "fc": "h2",
+                  "profile": "out"
+                }
+              ],
+              "lsp-exp": [
+                {
+                  "fc": "be",
+                  "lsp-exp": "0",
+                  "profile": "out"
+                },
+                {
+                  "fc": "l2",
+                  "lsp-exp": "1",
+                  "profile": "out"
+                },
+                {
+                  "fc": "af",
+                  "lsp-exp": "2",
+                  "profile": "in"
+                },
+                {
+                  "fc": "l1",
+                  "lsp-exp": "3",
+                  "profile": "in"
+                }, {
+                  "fc": "h2",
+                  "lsp-exp": "4",
+                  "profile": "in"
+                }, {
+                  "fc": "ef",
+                  "lsp-exp": "5",
+                  "profile": "in"
+                }, {
+                  "fc": "h1",
+                  "lsp-exp": "6",
+                  "profile": "in"
+                }, {
+                  "fc": "nc",
+                  "lsp-exp": "7",
+                  "profile": "in"
+                }
+              ]
+            }
+          ]
+        },
+        "network-queue": {
+          "queue": [
+            {
+              "id": "1"
+            },
+            {
+              "id": "5"
+            },
+            {
+              "id": "6"
+            },
+            {
+              "id": "7"
+            }, {
+              "id": "11",
+              "multipoint": "multipoint"
+            }
+          ]
+        },
+        "sap-egress": {
+          "dot1p": [
+            {
+              "dot1p-priority": "0",
+              "fc": "be"
+            },
+            {
+              "dot1p-priority": "1",
+              "fc": "l2"
+            },
+            {
+              "dot1p-priority": "2",
+              "fc": "af"
+            },
+            {
+              "dot1p-priority": "3",
+              "fc": "l1"
+            }, {
+              "dot1p-priority": "4",
+              "fc": "h2"
+            }, {
+              "dot1p-priority": "5",
+              "fc": "ef"
+            }, {
+              "dot1p-priority": "7",
+              "fc": "nc"
+            }
+          ],
+          "dscp": [
+            {
+              "dscp": "be",
+              "fc": "be"
+            },
+            {
+              "dscp": "ef",
+              "fc": "ef"
+            },
+            {
+              "dscp": "af11",
+              "fc": "h2"
+            },
+            {
+              "dscp": "cs2",
+              "fc": "af"
+            }, {
+              "dscp": "be",
+              "fc": "be"
+            }, {
+              "dscp": "ef",
+              "fc": "ef"
+            }, {
+              "dscp": "cs4",
+              "fc": "h2"
+            }, {
+              "dscp": "cs3",
+              "fc": "l1"
+            }, {
+              "dscp": "cs1",
+              "fc": "l2"
+            }, {
+              "dscp": "nc1,nc2",
+              "fc": "nc"
+            }, {
+              "dscp": "be",
+              "fc": "be"
+            }, {
+              "dscp": "ef",
+              "fc": "ef"
+            }, {
+              "dscp": "af11",
+              "fc": "h2"
+            }, {
+              "dscp": "nc1,nc2",
+              "fc": "nc"
+            }, {
+              "dscp": "af12,af21,af42",
+              "fc": "af"
+            }, {
+              "dscp": "be",
+              "fc": "be"
+            }, {
+              "dscp": "af41",
+              "fc": "h2"
+            }, {
+              "dscp": "af22,af31",
+              "fc": "l1"
+            }, {
+              "dscp": "nc1,nc2",
+              "fc": "nc"
+            }
+          ],
+          "fc": [
+            {
+              "fc": "\"be\"",
+              "queue-id": "1"
+            },
+            {
+              "fc": "\"ef\"",
+              "queue-id": "6"
+            },
+            {
+              "fc": "\"h1\"",
+              "queue-id": "7"
+            },
+            {
+              "fc": "\"h2\"",
+              "queue-id": "5"
+            }, {
+              "fc": "\"af\"",
+              "queue-id": "3"
+            }, {
+              "fc": "\"be\"",
+              "queue-id": "2"
+            }, {
+              "fc": "\"ef\"",
+              "queue-id": "6"
+            }, {
+              "fc": "\"h2\"",
+              "queue-id": "5"
+            }, {
+              "fc": "\"l1\"",
+              "queue-id": "4"
+            }, {
+              "fc": "\"l2\"",
+              "queue-id": "1"
+            }, {
+              "fc": "\"nc\"",
+              "queue-id": "8"
+            }, {
+              "fc": "\"af\"",
+              "queue-id": "3"
+            }, {
+              "fc": "\"be\"",
+              "queue-id": "2"
+            }, {
+              "fc": "\"ef\"",
+              "queue-id": "6"
+            }, {
+              "fc": "\"h2\"",
+              "queue-id": "5"
+            }, {
+              "fc": "\"l1\"",
+              "queue-id": "4"
+            }, {
+              "fc": "\"l2\"",
+              "queue-id": "1"
+            }, {
+              "fc": "\"nc\"",
+              "queue-id": "8"
+            }, {
+              "fc": "\"be\"",
+              "queue-id": "1"
+            }, {
+              "fc": "\"ef\"",
+              "queue-id": "6"
+            }, {
+              "fc": "\"h2\"",
+              "queue-id": "5"
+            }, {
+              "fc": "\"nc\"",
+              "queue-id": "8"
+            }, {
+              "fc": "\"af\"",
+              "queue-id": "3"
+            }, {
+              "fc": "\"be\"",
+              "queue-id": "1"
+            }, {
+              "fc": "\"h2\"",
+              "queue-id": "5"
+            }, {
+              "fc": "\"l1\"",
+              "queue-id": "4"
+            }, {
+              "fc": "\"nc\"",
+              "queue-id": "8"
+            }, {
+              "dot1p": "2",
+              "fc": "af",
+              "queue-id": "3"
+            }, {
+              "dot1p": "0",
+              "fc": "be",
+              "queue-id": "2"
+            }, {
+              "dot1p": "5",
+              "fc": "ef",
+              "queue-id": "6"
+            }, {
+              "dot1p": "6",
+              "fc": "h1",
+              "queue-id": "7"
+            }, {
+              "dot1p": "4",
+              "fc": "h2",
+              "queue-id": "5"
+            }, {
+              "dot1p": "3",
+              "fc": "l1",
+              "queue-id": "4"
+            }, {
+              "dot1p": "1",
+              "fc": "l2",
+              "queue-id": "1"
+            }, {
+              "dot1p": "7",
+              "fc": "nc",
+              "queue-id": "8"
+            }, {
+              "fc": "af",
+              "queue-id": "3"
+            }, {
+              "fc": "be",
+              "queue-id": "2"
+            }, {
+              "fc": "ef",
+              "queue-id": "6"
+            }, {
+              "fc": "h2",
+              "queue-id": "5"
+            }, {
+              "fc": "l1",
+              "queue-id": "4"
+            }, {
+              "fc": "l2",
+              "queue-id": "1"
+            }, {
+              "fc": "nc",
+              "queue-id": "8"
+            }
+          ],
+          "queue": [
+            {
+              "id": "1"
+            },
+            {
+              "id": "2"
+            },
+            {
+              "id": "3"
+            },
+            {
+              "id": "4"
+            }, {
+              "id": "5"
+            }, {
+              "id": "6"
+            }, {
+              "id": "8"
+            }, {
+              "id": "11",
+              "type": "multipoint"
+            }, {
+              "id": "1"
+            }, {
+              "id": "2"
+            }, {
+              "id": "3"
+            }, {
+              "id": "4"
+            }, {
+              "id": "5"
+            }, {
+              "id": "6"
+            }, {
+              "id": "8"
+            }, {
+              "id": "11",
+              "type": "multipoint"
+            }, {
+              "id": "1"
+            }, {
+              "id": "5"
+            }, {
+              "id": "6"
+            }, {
+              "id": "8"
+            }, {
+              "id": "11",
+              "type": "multipoint"
+            }, {
+              "id": "1"
+            }, {
+              "id": "3"
+            }, {
+              "id": "4"
+            }, {
+              "id": "5"
+            }, {
+              "id": "8"
+            }, {
+              "id": "11",
+              "type": "multipoint"
+            }, {
+              "id": "1"
+            }, {
+              "id": "2"
+            }, {
+              "id": "3"
+            }, {
+              "id": "4"
+            }, {
+              "id": "5"
+            }, {
+              "id": "6"
+            }, {
+              "id": "7"
+            }, {
+              "id": "8"
+            }, {
+              "id": "1"
+            }, {
+              "id": "2"
+            }, {
+              "id": "3"
+            }, {
+              "id": "4"
+            }, {
+              "id": "5"
+            }, {
+              "id": "6"
+            }, {
+              "id": "8"
+            }
+          ]
+        }
+      }
+    ]
+  }
+}
diff --git a/tests/fixtures/parsed_results/admin_display/qos_policy_configuration1.json b/tests/fixtures/parsed_results/admin_display/qos_policy_configuration1.json
index e5fd82a..2c1c460 100644
--- a/tests/fixtures/parsed_results/admin_display/qos_policy_configuration1.json
+++ b/tests/fixtures/parsed_results/admin_display/qos_policy_configuration1.json
@@ -1,1 +1,2312 @@
-[{"configure": {"qos": [{"network-queue": {"fc": [{"multicast-queue": "9", "queue-id": "3", "tag": "af"}, {"multicast-queue": "9", "queue-id": "2", "tag": "be"}, {"multicast-queue": "9", "queue-id": "6", "tag": "ef"}, {"multicast-queue": "9", "queue-id": "7", "tag": "h1"}, {"multicast-queue": "9", "queue-id": "5", "tag": "h2"}, {"multicast-queue": "9", "queue-id": "4", "tag": "l1"}, {"multicast-queue": "9", "queue-id": "1", "tag": "l2"}, {"multicast-queue": "9", "queue-id": "8", "tag": "nc"}], "name": "10110", "queue": [{"id": "1", "rate": "100", "rate-cir": "3"}, {"id": "2", "rate": "100", "rate-cir": "24"}, {"id": "3", "rate": "100", "rate-cir": "1"}, {"id": "4", "rate": "100", "rate-cir": "3"}, {"id": "5", "rate": "100", "rate-cir": "8"}, {"id": "6", "rate": "100", "rate-cir": "60"}, {"id": "7"}, {"id": "8", "rate": "100", "rate-cir": "1"}, {"id": "9", "multipoint": "multipoint"}]}, "queue-group-templates": {"egress": {"queue-group": [{"name": "QG-NE-0010M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {"name": "QG-NE-0020M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {"name": "QG-NE-0025M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {"name": "QG-NE-0050M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {"name": "QG-NE-0075M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {"name": "QG-NE-0100M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {"name": "QG-NE-0125M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {"name": "QG-NE-0150M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {"name": "QG-NE-0200M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {"name": "QG-NE-0250M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {"name": "QG-NE-0300M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {"name": "QG-NE-0320M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {"name": "QG-NE-0350M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {"name": "QG-NE-0400M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {"name": "QG-NE-0450M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {"name": "QG-NE-0500M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {"name": "QG-NE-0600M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {"name": "QG-NE-0700M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {"name": "QG-NE-0750M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {"name": "QG-NE-0800M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {"name": "QG-NE-0900M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {"name": "QG-NE-1000M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {"name": "QG-NE-2000M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {"name": "QG-NE-2500M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {"name": "QG-NE-3000M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {"name": "QG-NE-4000M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {"name": "QG-NE-5000M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {"name": "QG-NE-6000M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {"name": "QG-NE-7000M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {"name": "QG-NE-8000M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {"name": "QG-NE-9000M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {"name": "QG-NE-10000M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {"name": "QG-ST-0009M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {"name": "QG-ST-0018M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {"name": "QG-ST-0023M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {"name": "QG-ST-0045M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {"name": "QG-ST-0068M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {"name": "QG-ST-0090M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {"name": "QG-ST-0113M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {"name": "QG-ST-0135M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {"name": "QG-ST-0180M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {"name": "QG-ST-0225M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {"name": "QG-ST-0270M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {"name": "QG-ST-0288M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {"name": "QG-ST-0315M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {"name": "QG-ST-0360M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {"name": "QG-ST-0405M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {"name": "QG-ST-0450M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {"name": "QG-ST-0540M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {"name": "QG-ST-0630M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {"name": "QG-ST-0675M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {"name": "QG-ST-0720M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {"name": "QG-ST-0810M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {"name": "QG-ST-0900M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {"name": "QG-ST-1800M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {"name": "QG-ST-2250M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {"name": "QG-ST-2700M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {"name": "QG-ST-3600M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {"name": "QG-ST-4500M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {"name": "QG-ST-5400M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {"name": "QG-ST-6300M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {"name": "QG-ST-7200M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {"name": "QG-ST-8100M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}, {"name": "QG-ST-9000M", "queue": [{"id": "3", "type": "best-effort"}, {"id": "4", "type": "best-effort"}, {"id": "5", "type": "expedite"}, {"id": "6", "type": "expedite"}, {"id": "8", "type": "expedite"}]}]}}, "scheduler-policy": [{"name": "SP10M", "tier": {"id": "1", "scheduler": {"name": "Scheduler10M"}}}, {"name": "SP20M", "tier": {"id": "1", "scheduler": {"name": "Scheduler20M"}}}, {"name": "SP25M", "tier": {"id": "1", "scheduler": {"name": "Scheduler25M"}}}, {"name": "SP50M", "tier": {"id": "1", "scheduler": {"name": "Scheduler50M"}}}, {"name": "SP75M", "tier": {"id": "1", "scheduler": {"name": "Scheduler75M"}}}, {"name": "SP100M", "tier": {"id": "1", "scheduler": {"name": "Scheduler100M"}}}, {"name": "SP125M", "tier": {"id": "1", "scheduler": {"name": "Scheduler125M"}}}, {"name": "SP150M", "tier": {"id": "1", "scheduler": {"name": "Scheduler150M"}}}, {"name": "SP200M", "tier": {"id": "1", "scheduler": {"name": "Scheduler200M"}}}, {"name": "SP250M", "tier": {"id": "1", "scheduler": {"name": "Scheduler250M"}}}, {"name": "SP300M", "tier": {"id": "1", "scheduler": {"name": "Scheduler300M"}}}, {"name": "SP320M", "tier": {"id": "1", "scheduler": {"name": "Scheduler320M"}}}, {"name": "SP350M", "tier": {"id": "1", "scheduler": {"name": "Scheduler350M"}}}, {"name": "SP400M", "tier": {"id": "1", "scheduler": {"name": "Scheduler400M"}}}, {"name": "SP450M", "tier": {"id": "1", "scheduler": {"name": "Scheduler450M"}}}, {"name": "SP500M", "tier": {"id": "1", "scheduler": {"name": "Scheduler500M"}}}, {"name": "SP600M", "tier": {"id": "1", "scheduler": {"name": "Scheduler600M"}}}, {"name": "SP700M", "tier": {"id": "1", "scheduler": {"name": "Scheduler700M"}}}, {"name": "SP750M", "tier": {"id": "1", "scheduler": {"name": "Scheduler750M"}}}, {"name": "SP800M", "tier": {"id": "1", "scheduler": {"name": "Scheduler800M"}}}, {"name": "SP900M", "tier": {"id": "1", "scheduler": {"name": "Scheduler900M"}}}, {"name": "SP1000M", "tier": {"id": "1", "scheduler": {"name": "Scheduler1000M"}}}, {"name": "SP2000M", "tier": {"id": "1", "scheduler": {"name": "Scheduler2000M"}}}, {"name": "SP2500M", "tier": {"id": "1", "scheduler": {"name": "Scheduler2500M"}}}, {"name": "SP3000M", "tier": {"id": "1", "scheduler": {"name": "Scheduler3000M"}}}, {"name": "SP4000M", "tier": {"id": "1", "scheduler": {"name": "Scheduler4000M"}}}, {"name": "SP5000M", "tier": {"id": "1", "scheduler": {"name": "Scheduler5000M"}}}, {"name": "SP6000M", "tier": {"id": "1", "scheduler": {"name": "Scheduler6000M"}}}, {"name": "SP7000M", "tier": {"id": "1", "scheduler": {"name": "Scheduler7000M"}}}, {"name": "SP8000M", "tier": {"id": "1", "scheduler": {"name": "Scheduler8000M"}}}, {"name": "SP9000M", "tier": {"id": "1", "scheduler": {"name": "Scheduler9000M"}}}, {"name": "SP10000M", "tier": {"id": "1", "scheduler": {"name": "Scheduler10000M"}}}, {"name": "SP9M", "tier": {"id": "1", "scheduler": {"name": "Scheduler9M"}}}, {"name": "SP18M", "tier": {"id": "1", "scheduler": {"name": "Scheduler18M"}}}, {"name": "SP23M", "tier": {"id": "1", "scheduler": {"name": "Scheduler23M"}}}, {"name": "SP45M", "tier": {"id": "1", "scheduler": {"name": "Scheduler45M"}}}, {"name": "SP68M", "tier": {"id": "1", "scheduler": {"name": "Scheduler68"}}}, {"name": "SP90M", "tier": {"id": "1", "scheduler": {"name": "Scheduler90M"}}}, {"name": "SP113M", "tier": {"id": "1", "scheduler": {"name": "Scheduler113M"}}}, {"name": "SP135M", "tier": {"id": "1", "scheduler": {"name": "Scheduler135M"}}}, {"name": "SP180M", "tier": {"id": "1", "scheduler": {"name": "Scheduler180M"}}}, {"name": "SP225M", "tier": {"id": "1", "scheduler": {"name": "Scheduler225M"}}}, {"name": "SP270M", "tier": {"id": "1", "scheduler": {"name": "Scheduler270M"}}}, {"name": "SP288M", "tier": {"id": "1", "scheduler": {"name": "Scheduler288M"}}}, {"name": "SP315M", "tier": {"id": "1", "scheduler": {"name": "Scheduler315M"}}}, {"name": "SP360M", "tier": {"id": "1", "scheduler": {"name": "Scheduler360M"}}}, {"name": "SP405M", "tier": {"id": "1", "scheduler": {"name": "Scheduler405M"}}}, {"name": "SP540M", "tier": {"id": "1", "scheduler": {"name": "Scheduler540M"}}}, {"name": "SP630M", "tier": {"id": "1", "scheduler": {"name": "Scheduler630M"}}}, {"name": "SP675M", "tier": {"id": "1", "scheduler": {"name": "Scheduler675M"}}}, {"name": "SP720M", "tier": {"id": "1", "scheduler": {"name": "Scheduler720M"}}}, {"name": "SP810M", "tier": {"id": "1", "scheduler": {"name": "Scheduler810M"}}}, {"name": "SP1800M", "tier": {"id": "1", "scheduler": {"name": "Scheduler1800M"}}}, {"name": "SP2250M", "tier": {"id": "1", "scheduler": {"name": "Scheduler2250M"}}}, {"name": "SP2700M", "tier": {"id": "1", "scheduler": {"name": "Scheduler2700M"}}}, {"name": "SP3600M", "tier": {"id": "1", "scheduler": {"name": "Scheduler3600M"}}}, {"name": "SP4500M", "tier": {"id": "1", "scheduler": {"name": "Scheduler4500M"}}}, {"name": "SP5400M", "tier": {"id": "1", "scheduler": {"name": "Scheduler5400M"}}}, {"name": "SP6300M", "tier": {"id": "1", "scheduler": {"name": "Scheduler6300M"}}}, {"name": "SP7200M", "tier": {"id": "1", "scheduler": {"name": "Scheduler7200M"}}}, {"name": "SP8100M", "tier": {"id": "1", "scheduler": {"name": "Scheduler8100M"}}}, {"name": "SP9000M", "tier": {"id": "1", "scheduler": {"name": "Scheduler9000M"}}}]}, {"network-queue": {"fc": [{"queue-id": "1", "tag": "\"be\""}, {"queue-id": "6", "tag": "\"ef\""}, {"queue-id": "7", "tag": "\"h1\""}, {"queue-id": "5", "tag": "\"h2\""}, {"queue-id": "3", "tag": "\"af\""}, {"queue-id": "2", "tag": "\"be\""}, {"queue-id": "6", "tag": "\"ef\""}, {"queue-id": "5", "tag": "\"h2\""}, {"queue-id": "4", "tag": "\"l1\""}, {"queue-id": "1", "tag": "\"l2\""}, {"queue-id": "8", "tag": "\"nc\""}, {"queue-id": "3", "tag": "\"af\""}, {"queue-id": "2", "tag": "\"be\""}, {"queue-id": "6", "tag": "\"ef\""}, {"queue-id": "5", "tag": "\"h2\""}, {"queue-id": "4", "tag": "\"l1\""}, {"queue-id": "1", "tag": "\"l2\""}, {"queue-id": "8", "tag": "\"nc\""}, {"queue-id": "1", "tag": "\"be\""}, {"queue-id": "6", "tag": "\"ef\""}, {"queue-id": "5", "tag": "\"h2\""}, {"queue-id": "8", "tag": "\"nc\""}, {"queue-id": "3", "tag": "\"af\""}, {"queue-id": "1", "tag": "\"be\""}, {"queue-id": "5", "tag": "\"h2\""}, {"queue-id": "4", "tag": "\"l1\""}, {"queue-id": "8", "tag": "\"nc\""}, {"queue-id": "3", "tag": "af"}, {"queue-id": "2", "tag": "be"}, {"queue-id": "6", "tag": "ef"}, {"queue-id": "7", "tag": "h1"}, {"queue-id": "5", "tag": "h2"}, {"queue-id": "4", "tag": "l1"}, {"queue-id": "1", "tag": "l2"}, {"queue-id": "8", "tag": "nc"}, {"queue-id": "3", "tag": "af"}, {"queue-id": "2", "tag": "be"}, {"queue-id": "6", "tag": "ef"}, {"queue-id": "5", "tag": "h2"}, {"queue-id": "4", "tag": "l1"}, {"queue-id": "1", "tag": "l2"}, {"queue-id": "8", "tag": "nc"}], "queue": [{"id": "1"}, {"id": "5"}, {"id": "6"}, {"id": "7"}, {"id": "11", "multipoint": "multipoint"}, {"id": "1"}, {"id": "2"}, {"id": "3"}, {"id": "4"}, {"id": "5"}, {"id": "6"}, {"id": "8"}, {"id": "11", "multipoint": "multipoint"}, {"id": "1"}, {"id": "2"}, {"id": "3"}, {"id": "4"}, {"id": "5"}, {"id": "6"}, {"id": "8"}, {"id": "11", "multipoint": "multipoint"}, {"id": "1"}, {"id": "5"}, {"id": "6"}, {"id": "8"}, {"id": "11", "multipoint": "multipoint"}, {"id": "1"}, {"id": "3"}, {"id": "4"}, {"id": "5"}, {"id": "8"}, {"id": "11", "multipoint": "multipoint"}, {"id": "1"}, {"id": "2"}, {"id": "3"}, {"id": "4"}, {"id": "5"}, {"id": "6"}, {"id": "7"}, {"id": "8"}, {"id": "1"}, {"id": "2"}, {"id": "3"}, {"id": "4"}, {"id": "5"}, {"id": "6"}, {"id": "8"}]}}]}}]
\ No newline at end of file
+{
+  "configure": {
+    "qos": [
+      {
+        "network-queue": {
+          "fc": [
+            {
+              "multicast-queue": "9",
+              "queue-id": "3",
+              "tag": "af"
+            },
+            {
+              "multicast-queue": "9",
+              "queue-id": "2",
+              "tag": "be"
+            },
+            {
+              "multicast-queue": "9",
+              "queue-id": "6",
+              "tag": "ef"
+            },
+            {
+              "multicast-queue": "9",
+              "queue-id": "7",
+              "tag": "h1"
+            }, {
+              "multicast-queue": "9",
+              "queue-id": "5",
+              "tag": "h2"
+            }, {
+              "multicast-queue": "9",
+              "queue-id": "4",
+              "tag": "l1"
+            }, {
+              "multicast-queue": "9",
+              "queue-id": "1",
+              "tag": "l2"
+            }, {
+              "multicast-queue": "9",
+              "queue-id": "8",
+              "tag": "nc"
+            }
+          ],
+          "name": "10110",
+          "queue": [
+            {
+              "id": "1",
+              "rate": "100",
+              "rate-cir": "3"
+            },
+            {
+              "id": "2",
+              "rate": "100",
+              "rate-cir": "24"
+            },
+            {
+              "id": "3",
+              "rate": "100",
+              "rate-cir": "1"
+            },
+            {
+              "id": "4",
+              "rate": "100",
+              "rate-cir": "3"
+            }, {
+              "id": "5",
+              "rate": "100",
+              "rate-cir": "8"
+            }, {
+              "id": "6",
+              "rate": "100",
+              "rate-cir": "60"
+            }, {
+              "id": "7"
+            }, {
+              "id": "8",
+              "rate": "100",
+              "rate-cir": "1"
+            }, {
+              "id": "9",
+              "multipoint": "multipoint"
+            }
+          ]
+        },
+        "queue-group-templates": {
+          "egress": {
+            "queue-group": [
+              {
+                "name": "QG-NE-0010M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              },
+              {
+                "name": "QG-NE-0020M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              },
+              {
+                "name": "QG-NE-0025M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              },
+              {
+                "name": "QG-NE-0050M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {
+                "name": "QG-NE-0075M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {
+                "name": "QG-NE-0100M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {
+                "name": "QG-NE-0125M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {
+                "name": "QG-NE-0150M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {
+                "name": "QG-NE-0200M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {
+                "name": "QG-NE-0250M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {
+                "name": "QG-NE-0300M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {
+                "name": "QG-NE-0320M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {
+                "name": "QG-NE-0350M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {
+                "name": "QG-NE-0400M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {
+                "name": "QG-NE-0450M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {
+                "name": "QG-NE-0500M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {
+                "name": "QG-NE-0600M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {
+                "name": "QG-NE-0700M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {
+                "name": "QG-NE-0750M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {
+                "name": "QG-NE-0800M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {
+                "name": "QG-NE-0900M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {
+                "name": "QG-NE-1000M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {
+                "name": "QG-NE-2000M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {
+                "name": "QG-NE-2500M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {
+                "name": "QG-NE-3000M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {
+                "name": "QG-NE-4000M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {
+                "name": "QG-NE-5000M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {
+                "name": "QG-NE-6000M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {
+                "name": "QG-NE-7000M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {
+                "name": "QG-NE-8000M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {
+                "name": "QG-NE-9000M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {
+                "name": "QG-NE-10000M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {
+                "name": "QG-ST-0009M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {
+                "name": "QG-ST-0018M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {
+                "name": "QG-ST-0023M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {
+                "name": "QG-ST-0045M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {
+                "name": "QG-ST-0068M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {
+                "name": "QG-ST-0090M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {
+                "name": "QG-ST-0113M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {
+                "name": "QG-ST-0135M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {
+                "name": "QG-ST-0180M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {
+                "name": "QG-ST-0225M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {
+                "name": "QG-ST-0270M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {
+                "name": "QG-ST-0288M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {
+                "name": "QG-ST-0315M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {
+                "name": "QG-ST-0360M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {
+                "name": "QG-ST-0405M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {
+                "name": "QG-ST-0450M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {
+                "name": "QG-ST-0540M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {
+                "name": "QG-ST-0630M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {
+                "name": "QG-ST-0675M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {
+                "name": "QG-ST-0720M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {
+                "name": "QG-ST-0810M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {
+                "name": "QG-ST-0900M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {
+                "name": "QG-ST-1800M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {
+                "name": "QG-ST-2250M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {
+                "name": "QG-ST-2700M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {
+                "name": "QG-ST-3600M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {
+                "name": "QG-ST-4500M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {
+                "name": "QG-ST-5400M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {
+                "name": "QG-ST-6300M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {
+                "name": "QG-ST-7200M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {
+                "name": "QG-ST-8100M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }, {
+                "name": "QG-ST-9000M",
+                "queue": [
+                  {
+                    "id": "3",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "4",
+                    "type": "best-effort"
+                  },
+                  {
+                    "id": "5",
+                    "type": "expedite"
+                  },
+                  {
+                    "id": "6",
+                    "type": "expedite"
+                  }, {
+                    "id": "8",
+                    "type": "expedite"
+                  }
+                ]
+              }
+            ]
+          }
+        },
+        "scheduler-policy": [
+          {
+            "name": "SP10M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler10M"
+              }
+            }
+          },
+          {
+            "name": "SP20M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler20M"
+              }
+            }
+          },
+          {
+            "name": "SP25M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler25M"
+              }
+            }
+          },
+          {
+            "name": "SP50M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler50M"
+              }
+            }
+          }, {
+            "name": "SP75M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler75M"
+              }
+            }
+          }, {
+            "name": "SP100M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler100M"
+              }
+            }
+          }, {
+            "name": "SP125M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler125M"
+              }
+            }
+          }, {
+            "name": "SP150M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler150M"
+              }
+            }
+          }, {
+            "name": "SP200M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler200M"
+              }
+            }
+          }, {
+            "name": "SP250M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler250M"
+              }
+            }
+          }, {
+            "name": "SP300M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler300M"
+              }
+            }
+          }, {
+            "name": "SP320M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler320M"
+              }
+            }
+          }, {
+            "name": "SP350M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler350M"
+              }
+            }
+          }, {
+            "name": "SP400M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler400M"
+              }
+            }
+          }, {
+            "name": "SP450M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler450M"
+              }
+            }
+          }, {
+            "name": "SP500M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler500M"
+              }
+            }
+          }, {
+            "name": "SP600M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler600M"
+              }
+            }
+          }, {
+            "name": "SP700M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler700M"
+              }
+            }
+          }, {
+            "name": "SP750M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler750M"
+              }
+            }
+          }, {
+            "name": "SP800M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler800M"
+              }
+            }
+          }, {
+            "name": "SP900M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler900M"
+              }
+            }
+          }, {
+            "name": "SP1000M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler1000M"
+              }
+            }
+          }, {
+            "name": "SP2000M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler2000M"
+              }
+            }
+          }, {
+            "name": "SP2500M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler2500M"
+              }
+            }
+          }, {
+            "name": "SP3000M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler3000M"
+              }
+            }
+          }, {
+            "name": "SP4000M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler4000M"
+              }
+            }
+          }, {
+            "name": "SP5000M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler5000M"
+              }
+            }
+          }, {
+            "name": "SP6000M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler6000M"
+              }
+            }
+          }, {
+            "name": "SP7000M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler7000M"
+              }
+            }
+          }, {
+            "name": "SP8000M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler8000M"
+              }
+            }
+          }, {
+            "name": "SP9000M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler9000M"
+              }
+            }
+          }, {
+            "name": "SP10000M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler10000M"
+              }
+            }
+          }, {
+            "name": "SP9M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler9M"
+              }
+            }
+          }, {
+            "name": "SP18M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler18M"
+              }
+            }
+          }, {
+            "name": "SP23M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler23M"
+              }
+            }
+          }, {
+            "name": "SP45M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler45M"
+              }
+            }
+          }, {
+            "name": "SP68M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler68"
+              }
+            }
+          }, {
+            "name": "SP90M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler90M"
+              }
+            }
+          }, {
+            "name": "SP113M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler113M"
+              }
+            }
+          }, {
+            "name": "SP135M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler135M"
+              }
+            }
+          }, {
+            "name": "SP180M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler180M"
+              }
+            }
+          }, {
+            "name": "SP225M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler225M"
+              }
+            }
+          }, {
+            "name": "SP270M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler270M"
+              }
+            }
+          }, {
+            "name": "SP288M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler288M"
+              }
+            }
+          }, {
+            "name": "SP315M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler315M"
+              }
+            }
+          }, {
+            "name": "SP360M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler360M"
+              }
+            }
+          }, {
+            "name": "SP405M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler405M"
+              }
+            }
+          }, {
+            "name": "SP540M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler540M"
+              }
+            }
+          }, {
+            "name": "SP630M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler630M"
+              }
+            }
+          }, {
+            "name": "SP675M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler675M"
+              }
+            }
+          }, {
+            "name": "SP720M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler720M"
+              }
+            }
+          }, {
+            "name": "SP810M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler810M"
+              }
+            }
+          }, {
+            "name": "SP1800M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler1800M"
+              }
+            }
+          }, {
+            "name": "SP2250M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler2250M"
+              }
+            }
+          }, {
+            "name": "SP2700M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler2700M"
+              }
+            }
+          }, {
+            "name": "SP3600M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler3600M"
+              }
+            }
+          }, {
+            "name": "SP4500M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler4500M"
+              }
+            }
+          }, {
+            "name": "SP5400M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler5400M"
+              }
+            }
+          }, {
+            "name": "SP6300M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler6300M"
+              }
+            }
+          }, {
+            "name": "SP7200M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler7200M"
+              }
+            }
+          }, {
+            "name": "SP8100M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler8100M"
+              }
+            }
+          }, {
+            "name": "SP9000M",
+            "tier": {
+              "id": "1",
+              "scheduler": {
+                "name": "Scheduler9000M"
+              }
+            }
+          }
+        ]
+      }, {
+        "network-queue": {
+          "fc": [
+            {
+              "queue-id": "1",
+              "tag": "\"be\""
+            },
+            {
+              "queue-id": "6",
+              "tag": "\"ef\""
+            },
+            {
+              "queue-id": "7",
+              "tag": "\"h1\""
+            },
+            {
+              "queue-id": "5",
+              "tag": "\"h2\""
+            }, {
+              "queue-id": "3",
+              "tag": "\"af\""
+            }, {
+              "queue-id": "2",
+              "tag": "\"be\""
+            }, {
+              "queue-id": "6",
+              "tag": "\"ef\""
+            }, {
+              "queue-id": "5",
+              "tag": "\"h2\""
+            }, {
+              "queue-id": "4",
+              "tag": "\"l1\""
+            }, {
+              "queue-id": "1",
+              "tag": "\"l2\""
+            }, {
+              "queue-id": "8",
+              "tag": "\"nc\""
+            }, {
+              "queue-id": "3",
+              "tag": "\"af\""
+            }, {
+              "queue-id": "2",
+              "tag": "\"be\""
+            }, {
+              "queue-id": "6",
+              "tag": "\"ef\""
+            }, {
+              "queue-id": "5",
+              "tag": "\"h2\""
+            }, {
+              "queue-id": "4",
+              "tag": "\"l1\""
+            }, {
+              "queue-id": "1",
+              "tag": "\"l2\""
+            }, {
+              "queue-id": "8",
+              "tag": "\"nc\""
+            }, {
+              "queue-id": "1",
+              "tag": "\"be\""
+            }, {
+              "queue-id": "6",
+              "tag": "\"ef\""
+            }, {
+              "queue-id": "5",
+              "tag": "\"h2\""
+            }, {
+              "queue-id": "8",
+              "tag": "\"nc\""
+            }, {
+              "queue-id": "3",
+              "tag": "\"af\""
+            }, {
+              "queue-id": "1",
+              "tag": "\"be\""
+            }, {
+              "queue-id": "5",
+              "tag": "\"h2\""
+            }, {
+              "queue-id": "4",
+              "tag": "\"l1\""
+            }, {
+              "queue-id": "8",
+              "tag": "\"nc\""
+            }, {
+              "queue-id": "3",
+              "tag": "af"
+            }, {
+              "queue-id": "2",
+              "tag": "be"
+            }, {
+              "queue-id": "6",
+              "tag": "ef"
+            }, {
+              "queue-id": "7",
+              "tag": "h1"
+            }, {
+              "queue-id": "5",
+              "tag": "h2"
+            }, {
+              "queue-id": "4",
+              "tag": "l1"
+            }, {
+              "queue-id": "1",
+              "tag": "l2"
+            }, {
+              "queue-id": "8",
+              "tag": "nc"
+            }, {
+              "queue-id": "3",
+              "tag": "af"
+            }, {
+              "queue-id": "2",
+              "tag": "be"
+            }, {
+              "queue-id": "6",
+              "tag": "ef"
+            }, {
+              "queue-id": "5",
+              "tag": "h2"
+            }, {
+              "queue-id": "4",
+              "tag": "l1"
+            }, {
+              "queue-id": "1",
+              "tag": "l2"
+            }, {
+              "queue-id": "8",
+              "tag": "nc"
+            }
+          ],
+          "queue": [
+            {
+              "id": "1"
+            },
+            {
+              "id": "5"
+            },
+            {
+              "id": "6"
+            },
+            {
+              "id": "7"
+            }, {
+              "id": "11",
+              "multipoint": "multipoint"
+            }, {
+              "id": "1"
+            }, {
+              "id": "2"
+            }, {
+              "id": "3"
+            }, {
+              "id": "4"
+            }, {
+              "id": "5"
+            }, {
+              "id": "6"
+            }, {
+              "id": "8"
+            }, {
+              "id": "11",
+              "multipoint": "multipoint"
+            }, {
+              "id": "1"
+            }, {
+              "id": "2"
+            }, {
+              "id": "3"
+            }, {
+              "id": "4"
+            }, {
+              "id": "5"
+            }, {
+              "id": "6"
+            }, {
+              "id": "8"
+            }, {
+              "id": "11",
+              "multipoint": "multipoint"
+            }, {
+              "id": "1"
+            }, {
+              "id": "5"
+            }, {
+              "id": "6"
+            }, {
+              "id": "8"
+            }, {
+              "id": "11",
+              "multipoint": "multipoint"
+            }, {
+              "id": "1"
+            }, {
+              "id": "3"
+            }, {
+              "id": "4"
+            }, {
+              "id": "5"
+            }, {
+              "id": "8"
+            }, {
+              "id": "11",
+              "multipoint": "multipoint"
+            }, {
+              "id": "1"
+            }, {
+              "id": "2"
+            }, {
+              "id": "3"
+            }, {
+              "id": "4"
+            }, {
+              "id": "5"
+            }, {
+              "id": "6"
+            }, {
+              "id": "7"
+            }, {
+              "id": "8"
+            }, {
+              "id": "1"
+            }, {
+              "id": "2"
+            }, {
+              "id": "3"
+            }, {
+              "id": "4"
+            }, {
+              "id": "5"
+            }, {
+              "id": "6"
+            }, {
+              "id": "8"
+            }
+          ]
+        }
+      }
+    ]
+  }
+}
diff --git a/tests/fixtures/parsed_results/admin_display/qos_policy_configuration2.json b/tests/fixtures/parsed_results/admin_display/qos_policy_configuration2.json
index 6eeb1a1..7611926 100644
--- a/tests/fixtures/parsed_results/admin_display/qos_policy_configuration2.json
+++ b/tests/fixtures/parsed_results/admin_display/qos_policy_configuration2.json
@@ -1,1 +1,862 @@
-[{"configure": {"qos": [{"network": {"egress": {"fc": [{"fc": "af", "lsp-exp-in-profile": "2"}, {"fc": "be"}, {"fc": "ef"}, {"fc": "h2"}, {"fc": "l1", "lsp-exp-out-profile": "3"}, {"fc": "l2"}, {"fc": "nc"}]}, "ingress": {"dscp": [{"dscp": "be", "fc": "be", "profile": "out"}, {"dscp": "ef", "fc": "ef", "profile": "in"}, {"dscp": "cs1", "fc": "l2", "profile": "out"}, {"dscp": "cs2", "fc": "l1", "profile": "in"}, {"dscp": "cs3", "fc": "af", "profile": "in"}, {"dscp": "cs4", "fc": "h2", "profile": "in"}, {"dscp": "nc1", "fc": "h1", "profile": "in"}, {"dscp": "nc2", "fc": "nc", "profile": "in"}, {"dscp": "af11", "fc": "af", "profile": "in"}, {"dscp": "af12", "fc": "af", "profile": "out"}, {"dscp": "af13", "fc": "af", "profile": "out"}, {"dscp": "af21", "fc": "l1", "profile": "in"}, {"dscp": "af22", "fc": "l1", "profile": "out"}, {"dscp": "af23", "fc": "l1", "profile": "out"}, {"dscp": "af31", "fc": "l1", "profile": "in"}, {"dscp": "af32", "fc": "l1", "profile": "out"}, {"dscp": "af33", "fc": "l1", "profile": "out"}, {"dscp": "af41", "fc": "h2", "profile": "in"}, {"dscp": "af42", "fc": "h2", "profile": "out"}, {"dscp": "af43", "fc": "h2", "profile": "out"}], "lsp-exp": [{"fc": "be", "lsp-exp": "0", "profile": "out"}, {"fc": "l2", "lsp-exp": "1", "profile": "out"}, {"fc": "af", "lsp-exp": "2", "profile": "out"}, {"fc": "l1", "lsp-exp": "3", "profile": "in"}, {"fc": "h2", "lsp-exp": "4", "profile": "in"}, {"fc": "ef", "lsp-exp": "5", "profile": "in"}, {"fc": "h1", "lsp-exp": "6", "profile": "in"}, {"fc": "nc", "lsp-exp": "7", "profile": "in"}]}}, "sap-egress": {"fc": [{"fc": "af", "multicast-queue-id": "9", "queue-id": "3"}, {"fc": "be", "multicast-queue-id": "9", "queue-id": "2"}, {"fc": "ef", "multicast-queue-id": "9", "queue-id": "6"}, {"fc": "h1", "multicast-queue-id": "9", "queue-id": "7"}, {"fc": "h2", "multicast-queue-id": "9", "queue-id": "5"}, {"fc": "l1", "multicast-queue-id": "9", "queue-id": "4"}, {"fc": "l2", "multicast-queue-id": "9", "queue-id": "1"}, {"fc": "nc", "multicast-queue-id": "9", "queue-id": "8"}]}, "sap-ingress": {"queue": [{"id": "1"}, {"id": "2"}, {"id": "3"}, {"id": "4"}, {"id": "5"}, {"id": "6"}, {"id": "7"}, {"id": "8"}, {"id": "9", "type": "multipoint"}]}}, {"network": {"egress": [{"fc": [{"fc": "af", "lsp-exp-in-profile": "2"}, {"fc": "be"}, {"fc": "ef"}, {"fc": "h2"}, {"fc": "l1", "lsp-exp-out-profile": "3"}, {"fc": "nc"}]}, {"fc": [{"fc": "af", "lsp-exp-in-profile": "2"}, {"fc": "l1", "lsp-exp-out-profile": "3"}]}], "ingress": [{"dscp": [{"dscp": "be", "fc": "be", "profile": "out"}, {"dscp": "ef", "fc": "ef", "profile": "in"}, {"dscp": "cs1", "fc": "l2", "profile": "in"}, {"dscp": "cs2", "fc": "af", "profile": "in"}, {"dscp": "cs3", "fc": "l1", "profile": "in"}, {"dscp": "cs4", "fc": "h2", "profile": "in"}, {"dscp": "nc1", "fc": "h1", "profile": "in"}, {"dscp": "nc2", "fc": "nc", "profile": "in"}, {"dscp": "af11", "fc": "af", "profile": "in"}, {"dscp": "af12", "fc": "af", "profile": "out"}, {"dscp": "af13", "fc": "af", "profile": "out"}, {"dscp": "af21", "fc": "l1", "profile": "in"}, {"dscp": "af22", "fc": "l1", "profile": "out"}, {"dscp": "af23", "fc": "l1", "profile": "out"}, {"dscp": "af31", "fc": "l1", "profile": "in"}, {"dscp": "af32", "fc": "l1", "profile": "out"}, {"dscp": "af33", "fc": "l1", "profile": "out"}, {"dscp": "af41", "fc": "h2", "profile": "in"}, {"dscp": "af42", "fc": "h2", "profile": "out"}, {"dscp": "af43", "fc": "h2", "profile": "out"}], "lsp-exp": [{"fc": "be", "lsp-exp": "0", "profile": "out"}, {"fc": "l2", "lsp-exp": "1", "profile": "in"}, {"fc": "af", "lsp-exp": "2", "profile": "out"}, {"fc": "l1", "lsp-exp": "3", "profile": "in"}, {"fc": "h2", "lsp-exp": "4", "profile": "in"}, {"fc": "ef", "lsp-exp": "5", "profile": "in"}, {"fc": "h1", "lsp-exp": "6", "profile": "in"}, {"fc": "nc", "lsp-exp": "7", "profile": "in"}]}, {"dscp": [{"dscp": "be", "fc": "be", "profile": "out"}, {"dscp": "ef", "fc": "ef", "profile": "in"}, {"dscp": "cs1", "fc": "l2", "profile": "out"}, {"dscp": "cs2", "fc": "l1", "profile": "in"}, {"dscp": "cs3", "fc": "af", "profile": "in"}, {"dscp": "cs4", "fc": "h2", "profile": "in"}, {"dscp": "nc1", "fc": "h1", "profile": "in"}, {"dscp": "nc2", "fc": "nc", "profile": "in"}, {"dscp": "af11", "fc": "af", "profile": "in"}, {"dscp": "af12", "fc": "af", "profile": "out"}, {"dscp": "af13", "fc": "af", "profile": "out"}, {"dscp": "af21", "fc": "l1", "profile": "in"}, {"dscp": "af22", "fc": "l1", "profile": "out"}, {"dscp": "af23", "fc": "l1", "profile": "out"}, {"dscp": "af31", "fc": "l1", "profile": "in"}, {"dscp": "af32", "fc": "l1", "profile": "out"}, {"dscp": "af33", "fc": "l1", "profile": "out"}, {"dscp": "af41", "fc": "h2", "profile": "in"}, {"dscp": "af42", "fc": "h2", "profile": "out"}, {"dscp": "af43", "fc": "h2", "profile": "out"}], "lsp-exp": [{"fc": "be", "lsp-exp": "0", "profile": "out"}, {"fc": "l2", "lsp-exp": "1", "profile": "out"}, {"fc": "af", "lsp-exp": "2", "profile": "in"}, {"fc": "l1", "lsp-exp": "3", "profile": "in"}, {"fc": "h2", "lsp-exp": "4", "profile": "in"}, {"fc": "ef", "lsp-exp": "5", "profile": "in"}, {"fc": "h1", "lsp-exp": "6", "profile": "in"}, {"fc": "nc", "lsp-exp": "7", "profile": "in"}]}]}, "sap-egress": {"dot1p": [{"dot1p-priority": "0", "fc": "be"}, {"dot1p-priority": "1", "fc": "l2"}, {"dot1p-priority": "2", "fc": "af"}, {"dot1p-priority": "3", "fc": "l1"}, {"dot1p-priority": "4", "fc": "h2"}, {"dot1p-priority": "5", "fc": "ef"}, {"dot1p-priority": "7", "fc": "nc"}], "dscp": [{"dscp": "be", "fc": "be"}, {"dscp": "ef", "fc": "ef"}, {"dscp": "af11", "fc": "h2"}, {"dscp": "cs2", "fc": "af"}, {"dscp": "be", "fc": "be"}, {"dscp": "ef", "fc": "ef"}, {"dscp": "cs4", "fc": "h2"}, {"dscp": "cs3", "fc": "l1"}, {"dscp": "cs1", "fc": "l2"}, {"dscp": "nc1,nc2", "fc": "nc"}, {"dscp": "be", "fc": "be"}, {"dscp": "ef", "fc": "ef"}, {"dscp": "af11", "fc": "h2"}, {"dscp": "nc1,nc2", "fc": "nc"}, {"dscp": "af12,af21,af42", "fc": "af"}, {"dscp": "be", "fc": "be"}, {"dscp": "af41", "fc": "h2"}, {"dscp": "af22,af31", "fc": "l1"}, {"dscp": "nc1,nc2", "fc": "nc"}], "fc": [{"fc": "\"be\"", "queue-id": "1"}, {"fc": "\"ef\"", "queue-id": "6"}, {"fc": "\"h1\"", "queue-id": "7"}, {"fc": "\"h2\"", "queue-id": "5"}, {"fc": "\"af\"", "queue-id": "3"}, {"fc": "\"be\"", "queue-id": "2"}, {"fc": "\"ef\"", "queue-id": "6"}, {"fc": "\"h2\"", "queue-id": "5"}, {"fc": "\"l1\"", "queue-id": "4"}, {"fc": "\"l2\"", "queue-id": "1"}, {"fc": "\"nc\"", "queue-id": "8"}, {"fc": "\"af\"", "queue-id": "3"}, {"fc": "\"be\"", "queue-id": "2"}, {"fc": "\"ef\"", "queue-id": "6"}, {"fc": "\"h2\"", "queue-id": "5"}, {"fc": "\"l1\"", "queue-id": "4"}, {"fc": "\"l2\"", "queue-id": "1"}, {"fc": "\"nc\"", "queue-id": "8"}, {"fc": "\"be\"", "queue-id": "1"}, {"fc": "\"ef\"", "queue-id": "6"}, {"fc": "\"h2\"", "queue-id": "5"}, {"fc": "\"nc\"", "queue-id": "8"}, {"fc": "\"af\"", "queue-id": "3"}, {"fc": "\"be\"", "queue-id": "1"}, {"fc": "\"h2\"", "queue-id": "5"}, {"fc": "\"l1\"", "queue-id": "4"}, {"fc": "\"nc\"", "queue-id": "8"}, {"dot1p": "2", "fc": "af", "queue-id": "3"}, {"dot1p": "0", "fc": "be", "queue-id": "2"}, {"dot1p": "5", "fc": "ef", "queue-id": "6"}, {"dot1p": "6", "fc": "h1", "queue-id": "7"}, {"dot1p": "4", "fc": "h2", "queue-id": "5"}, {"dot1p": "3", "fc": "l1", "queue-id": "4"}, {"dot1p": "1", "fc": "l2", "queue-id": "1"}, {"dot1p": "7", "fc": "nc", "queue-id": "8"}, {"fc": "af", "queue-id": "3"}, {"fc": "be", "queue-id": "2"}, {"fc": "ef", "queue-id": "6"}, {"fc": "h2", "queue-id": "5"}, {"fc": "l1", "queue-id": "4"}, {"fc": "l2", "queue-id": "1"}, {"fc": "nc", "queue-id": "8"}], "queue": [{"id": "1"}, {"id": "2"}, {"id": "3"}, {"id": "4"}, {"id": "5"}, {"id": "6"}, {"id": "8"}, {"id": "11", "type": "multipoint"}, {"id": "1"}, {"id": "2"}, {"id": "3"}, {"id": "4"}, {"id": "5"}, {"id": "6"}, {"id": "8"}, {"id": "11", "type": "multipoint"}, {"id": "1"}, {"id": "5"}, {"id": "6"}, {"id": "8"}, {"id": "11", "type": "multipoint"}, {"id": "1"}, {"id": "3"}, {"id": "4"}, {"id": "5"}, {"id": "8"}, {"id": "11", "type": "multipoint"}, {"id": "1"}, {"id": "2"}, {"id": "3"}, {"id": "4"}, {"id": "5"}, {"id": "6"}, {"id": "7"}, {"id": "8"}, {"id": "1"}, {"id": "2"}, {"id": "3"}, {"id": "4"}, {"id": "5"}, {"id": "6"}, {"id": "8"}]}, "sap-ingress": {"queue": [{"id": "1"}, {"id": "5"}, {"id": "6"}, {"id": "7"}, {"id": "11", "type": "multipoint"}]}}]}}]
\ No newline at end of file
+{
+  "configure": {
+    "qos": [
+      {
+        "network": {
+          "egress": {
+            "fc": [
+              {
+                "fc": "af",
+                "lsp-exp-in-profile": "2"
+              },
+              {
+                "fc": "be"
+              },
+              {
+                "fc": "ef"
+              },
+              {
+                "fc": "h2"
+              }, {
+                "fc": "l1",
+                "lsp-exp-out-profile": "3"
+              }, {
+                "fc": "l2"
+              }, {
+                "fc": "nc"
+              }
+            ]
+          },
+          "ingress": {
+            "dscp": [
+              {
+                "dscp": "be",
+                "fc": "be",
+                "profile": "out"
+              },
+              {
+                "dscp": "ef",
+                "fc": "ef",
+                "profile": "in"
+              },
+              {
+                "dscp": "cs1",
+                "fc": "l2",
+                "profile": "out"
+              },
+              {
+                "dscp": "cs2",
+                "fc": "l1",
+                "profile": "in"
+              }, {
+                "dscp": "cs3",
+                "fc": "af",
+                "profile": "in"
+              }, {
+                "dscp": "cs4",
+                "fc": "h2",
+                "profile": "in"
+              }, {
+                "dscp": "nc1",
+                "fc": "h1",
+                "profile": "in"
+              }, {
+                "dscp": "nc2",
+                "fc": "nc",
+                "profile": "in"
+              }, {
+                "dscp": "af11",
+                "fc": "af",
+                "profile": "in"
+              }, {
+                "dscp": "af12",
+                "fc": "af",
+                "profile": "out"
+              }, {
+                "dscp": "af13",
+                "fc": "af",
+                "profile": "out"
+              }, {
+                "dscp": "af21",
+                "fc": "l1",
+                "profile": "in"
+              }, {
+                "dscp": "af22",
+                "fc": "l1",
+                "profile": "out"
+              }, {
+                "dscp": "af23",
+                "fc": "l1",
+                "profile": "out"
+              }, {
+                "dscp": "af31",
+                "fc": "l1",
+                "profile": "in"
+              }, {
+                "dscp": "af32",
+                "fc": "l1",
+                "profile": "out"
+              }, {
+                "dscp": "af33",
+                "fc": "l1",
+                "profile": "out"
+              }, {
+                "dscp": "af41",
+                "fc": "h2",
+                "profile": "in"
+              }, {
+                "dscp": "af42",
+                "fc": "h2",
+                "profile": "out"
+              }, {
+                "dscp": "af43",
+                "fc": "h2",
+                "profile": "out"
+              }
+            ],
+            "lsp-exp": [
+              {
+                "fc": "be",
+                "lsp-exp": "0",
+                "profile": "out"
+              },
+              {
+                "fc": "l2",
+                "lsp-exp": "1",
+                "profile": "out"
+              },
+              {
+                "fc": "af",
+                "lsp-exp": "2",
+                "profile": "out"
+              },
+              {
+                "fc": "l1",
+                "lsp-exp": "3",
+                "profile": "in"
+              }, {
+                "fc": "h2",
+                "lsp-exp": "4",
+                "profile": "in"
+              }, {
+                "fc": "ef",
+                "lsp-exp": "5",
+                "profile": "in"
+              }, {
+                "fc": "h1",
+                "lsp-exp": "6",
+                "profile": "in"
+              }, {
+                "fc": "nc",
+                "lsp-exp": "7",
+                "profile": "in"
+              }
+            ]
+          }
+        },
+        "sap-egress": {
+          "fc": [
+            {
+              "fc": "af",
+              "multicast-queue-id": "9",
+              "queue-id": "3"
+            },
+            {
+              "fc": "be",
+              "multicast-queue-id": "9",
+              "queue-id": "2"
+            },
+            {
+              "fc": "ef",
+              "multicast-queue-id": "9",
+              "queue-id": "6"
+            },
+            {
+              "fc": "h1",
+              "multicast-queue-id": "9",
+              "queue-id": "7"
+            }, {
+              "fc": "h2",
+              "multicast-queue-id": "9",
+              "queue-id": "5"
+            }, {
+              "fc": "l1",
+              "multicast-queue-id": "9",
+              "queue-id": "4"
+            }, {
+              "fc": "l2",
+              "multicast-queue-id": "9",
+              "queue-id": "1"
+            }, {
+              "fc": "nc",
+              "multicast-queue-id": "9",
+              "queue-id": "8"
+            }
+          ]
+        },
+        "sap-ingress": {
+          "queue": [
+            {
+              "id": "1"
+            },
+            {
+              "id": "2"
+            },
+            {
+              "id": "3"
+            },
+            {
+              "id": "4"
+            }, {
+              "id": "5"
+            }, {
+              "id": "6"
+            }, {
+              "id": "7"
+            }, {
+              "id": "8"
+            }, {
+              "id": "9",
+              "type": "multipoint"
+            }
+          ]
+        }
+      }, {
+        "network": {
+          "egress": [
+            {
+              "fc": [
+                {
+                  "fc": "af",
+                  "lsp-exp-in-profile": "2"
+                },
+                {
+                  "fc": "be"
+                },
+                {
+                  "fc": "ef"
+                },
+                {
+                  "fc": "h2"
+                }, {
+                  "fc": "l1",
+                  "lsp-exp-out-profile": "3"
+                }, {
+                  "fc": "nc"
+                }
+              ]
+            }, {
+              "fc": [
+                {
+                  "fc": "af",
+                  "lsp-exp-in-profile": "2"
+                }, {
+                  "fc": "l1",
+                  "lsp-exp-out-profile": "3"
+                }
+              ]
+            }
+          ],
+          "ingress": [
+            {
+              "dscp": [
+                {
+                  "dscp": "be",
+                  "fc": "be",
+                  "profile": "out"
+                },
+                {
+                  "dscp": "ef",
+                  "fc": "ef",
+                  "profile": "in"
+                },
+                {
+                  "dscp": "cs1",
+                  "fc": "l2",
+                  "profile": "in"
+                },
+                {
+                  "dscp": "cs2",
+                  "fc": "af",
+                  "profile": "in"
+                }, {
+                  "dscp": "cs3",
+                  "fc": "l1",
+                  "profile": "in"
+                }, {
+                  "dscp": "cs4",
+                  "fc": "h2",
+                  "profile": "in"
+                }, {
+                  "dscp": "nc1",
+                  "fc": "h1",
+                  "profile": "in"
+                }, {
+                  "dscp": "nc2",
+                  "fc": "nc",
+                  "profile": "in"
+                }, {
+                  "dscp": "af11",
+                  "fc": "af",
+                  "profile": "in"
+                }, {
+                  "dscp": "af12",
+                  "fc": "af",
+                  "profile": "out"
+                }, {
+                  "dscp": "af13",
+                  "fc": "af",
+                  "profile": "out"
+                }, {
+                  "dscp": "af21",
+                  "fc": "l1",
+                  "profile": "in"
+                }, {
+                  "dscp": "af22",
+                  "fc": "l1",
+                  "profile": "out"
+                }, {
+                  "dscp": "af23",
+                  "fc": "l1",
+                  "profile": "out"
+                }, {
+                  "dscp": "af31",
+                  "fc": "l1",
+                  "profile": "in"
+                }, {
+                  "dscp": "af32",
+                  "fc": "l1",
+                  "profile": "out"
+                }, {
+                  "dscp": "af33",
+                  "fc": "l1",
+                  "profile": "out"
+                }, {
+                  "dscp": "af41",
+                  "fc": "h2",
+                  "profile": "in"
+                }, {
+                  "dscp": "af42",
+                  "fc": "h2",
+                  "profile": "out"
+                }, {
+                  "dscp": "af43",
+                  "fc": "h2",
+                  "profile": "out"
+                }
+              ],
+              "lsp-exp": [
+                {
+                  "fc": "be",
+                  "lsp-exp": "0",
+                  "profile": "out"
+                },
+                {
+                  "fc": "l2",
+                  "lsp-exp": "1",
+                  "profile": "in"
+                },
+                {
+                  "fc": "af",
+                  "lsp-exp": "2",
+                  "profile": "out"
+                },
+                {
+                  "fc": "l1",
+                  "lsp-exp": "3",
+                  "profile": "in"
+                }, {
+                  "fc": "h2",
+                  "lsp-exp": "4",
+                  "profile": "in"
+                }, {
+                  "fc": "ef",
+                  "lsp-exp": "5",
+                  "profile": "in"
+                }, {
+                  "fc": "h1",
+                  "lsp-exp": "6",
+                  "profile": "in"
+                }, {
+                  "fc": "nc",
+                  "lsp-exp": "7",
+                  "profile": "in"
+                }
+              ]
+            }, {
+              "dscp": [
+                {
+                  "dscp": "be",
+                  "fc": "be",
+                  "profile": "out"
+                },
+                {
+                  "dscp": "ef",
+                  "fc": "ef",
+                  "profile": "in"
+                },
+                {
+                  "dscp": "cs1",
+                  "fc": "l2",
+                  "profile": "out"
+                },
+                {
+                  "dscp": "cs2",
+                  "fc": "l1",
+                  "profile": "in"
+                }, {
+                  "dscp": "cs3",
+                  "fc": "af",
+                  "profile": "in"
+                }, {
+                  "dscp": "cs4",
+                  "fc": "h2",
+                  "profile": "in"
+                }, {
+                  "dscp": "nc1",
+                  "fc": "h1",
+                  "profile": "in"
+                }, {
+                  "dscp": "nc2",
+                  "fc": "nc",
+                  "profile": "in"
+                }, {
+                  "dscp": "af11",
+                  "fc": "af",
+                  "profile": "in"
+                }, {
+                  "dscp": "af12",
+                  "fc": "af",
+                  "profile": "out"
+                }, {
+                  "dscp": "af13",
+                  "fc": "af",
+                  "profile": "out"
+                }, {
+                  "dscp": "af21",
+                  "fc": "l1",
+                  "profile": "in"
+                }, {
+                  "dscp": "af22",
+                  "fc": "l1",
+                  "profile": "out"
+                }, {
+                  "dscp": "af23",
+                  "fc": "l1",
+                  "profile": "out"
+                }, {
+                  "dscp": "af31",
+                  "fc": "l1",
+                  "profile": "in"
+                }, {
+                  "dscp": "af32",
+                  "fc": "l1",
+                  "profile": "out"
+                }, {
+                  "dscp": "af33",
+                  "fc": "l1",
+                  "profile": "out"
+                }, {
+                  "dscp": "af41",
+                  "fc": "h2",
+                  "profile": "in"
+                }, {
+                  "dscp": "af42",
+                  "fc": "h2",
+                  "profile": "out"
+                }, {
+                  "dscp": "af43",
+                  "fc": "h2",
+                  "profile": "out"
+                }
+              ],
+              "lsp-exp": [
+                {
+                  "fc": "be",
+                  "lsp-exp": "0",
+                  "profile": "out"
+                },
+                {
+                  "fc": "l2",
+                  "lsp-exp": "1",
+                  "profile": "out"
+                },
+                {
+                  "fc": "af",
+                  "lsp-exp": "2",
+                  "profile": "in"
+                },
+                {
+                  "fc": "l1",
+                  "lsp-exp": "3",
+                  "profile": "in"
+                }, {
+                  "fc": "h2",
+                  "lsp-exp": "4",
+                  "profile": "in"
+                }, {
+                  "fc": "ef",
+                  "lsp-exp": "5",
+                  "profile": "in"
+                }, {
+                  "fc": "h1",
+                  "lsp-exp": "6",
+                  "profile": "in"
+                }, {
+                  "fc": "nc",
+                  "lsp-exp": "7",
+                  "profile": "in"
+                }
+              ]
+            }
+          ]
+        },
+        "sap-egress": {
+          "dot1p": [
+            {
+              "dot1p-priority": "0",
+              "fc": "be"
+            },
+            {
+              "dot1p-priority": "1",
+              "fc": "l2"
+            },
+            {
+              "dot1p-priority": "2",
+              "fc": "af"
+            },
+            {
+              "dot1p-priority": "3",
+              "fc": "l1"
+            }, {
+              "dot1p-priority": "4",
+              "fc": "h2"
+            }, {
+              "dot1p-priority": "5",
+              "fc": "ef"
+            }, {
+              "dot1p-priority": "7",
+              "fc": "nc"
+            }
+          ],
+          "dscp": [
+            {
+              "dscp": "be",
+              "fc": "be"
+            },
+            {
+              "dscp": "ef",
+              "fc": "ef"
+            },
+            {
+              "dscp": "af11",
+              "fc": "h2"
+            },
+            {
+              "dscp": "cs2",
+              "fc": "af"
+            }, {
+              "dscp": "be",
+              "fc": "be"
+            }, {
+              "dscp": "ef",
+              "fc": "ef"
+            }, {
+              "dscp": "cs4",
+              "fc": "h2"
+            }, {
+              "dscp": "cs3",
+              "fc": "l1"
+            }, {
+              "dscp": "cs1",
+              "fc": "l2"
+            }, {
+              "dscp": "nc1,nc2",
+              "fc": "nc"
+            }, {
+              "dscp": "be",
+              "fc": "be"
+            }, {
+              "dscp": "ef",
+              "fc": "ef"
+            }, {
+              "dscp": "af11",
+              "fc": "h2"
+            }, {
+              "dscp": "nc1,nc2",
+              "fc": "nc"
+            }, {
+              "dscp": "af12,af21,af42",
+              "fc": "af"
+            }, {
+              "dscp": "be",
+              "fc": "be"
+            }, {
+              "dscp": "af41",
+              "fc": "h2"
+            }, {
+              "dscp": "af22,af31",
+              "fc": "l1"
+            }, {
+              "dscp": "nc1,nc2",
+              "fc": "nc"
+            }
+          ],
+          "fc": [
+            {
+              "fc": "\"be\"",
+              "queue-id": "1"
+            },
+            {
+              "fc": "\"ef\"",
+              "queue-id": "6"
+            },
+            {
+              "fc": "\"h1\"",
+              "queue-id": "7"
+            },
+            {
+              "fc": "\"h2\"",
+              "queue-id": "5"
+            }, {
+              "fc": "\"af\"",
+              "queue-id": "3"
+            }, {
+              "fc": "\"be\"",
+              "queue-id": "2"
+            }, {
+              "fc": "\"ef\"",
+              "queue-id": "6"
+            }, {
+              "fc": "\"h2\"",
+              "queue-id": "5"
+            }, {
+              "fc": "\"l1\"",
+              "queue-id": "4"
+            }, {
+              "fc": "\"l2\"",
+              "queue-id": "1"
+            }, {
+              "fc": "\"nc\"",
+              "queue-id": "8"
+            }, {
+              "fc": "\"af\"",
+              "queue-id": "3"
+            }, {
+              "fc": "\"be\"",
+              "queue-id": "2"
+            }, {
+              "fc": "\"ef\"",
+              "queue-id": "6"
+            }, {
+              "fc": "\"h2\"",
+              "queue-id": "5"
+            }, {
+              "fc": "\"l1\"",
+              "queue-id": "4"
+            }, {
+              "fc": "\"l2\"",
+              "queue-id": "1"
+            }, {
+              "fc": "\"nc\"",
+              "queue-id": "8"
+            }, {
+              "fc": "\"be\"",
+              "queue-id": "1"
+            }, {
+              "fc": "\"ef\"",
+              "queue-id": "6"
+            }, {
+              "fc": "\"h2\"",
+              "queue-id": "5"
+            }, {
+              "fc": "\"nc\"",
+              "queue-id": "8"
+            }, {
+              "fc": "\"af\"",
+              "queue-id": "3"
+            }, {
+              "fc": "\"be\"",
+              "queue-id": "1"
+            }, {
+              "fc": "\"h2\"",
+              "queue-id": "5"
+            }, {
+              "fc": "\"l1\"",
+              "queue-id": "4"
+            }, {
+              "fc": "\"nc\"",
+              "queue-id": "8"
+            }, {
+              "dot1p": "2",
+              "fc": "af",
+              "queue-id": "3"
+            }, {
+              "dot1p": "0",
+              "fc": "be",
+              "queue-id": "2"
+            }, {
+              "dot1p": "5",
+              "fc": "ef",
+              "queue-id": "6"
+            }, {
+              "dot1p": "6",
+              "fc": "h1",
+              "queue-id": "7"
+            }, {
+              "dot1p": "4",
+              "fc": "h2",
+              "queue-id": "5"
+            }, {
+              "dot1p": "3",
+              "fc": "l1",
+              "queue-id": "4"
+            }, {
+              "dot1p": "1",
+              "fc": "l2",
+              "queue-id": "1"
+            }, {
+              "dot1p": "7",
+              "fc": "nc",
+              "queue-id": "8"
+            }, {
+              "fc": "af",
+              "queue-id": "3"
+            }, {
+              "fc": "be",
+              "queue-id": "2"
+            }, {
+              "fc": "ef",
+              "queue-id": "6"
+            }, {
+              "fc": "h2",
+              "queue-id": "5"
+            }, {
+              "fc": "l1",
+              "queue-id": "4"
+            }, {
+              "fc": "l2",
+              "queue-id": "1"
+            }, {
+              "fc": "nc",
+              "queue-id": "8"
+            }
+          ],
+          "queue": [
+            {
+              "id": "1"
+            },
+            {
+              "id": "2"
+            },
+            {
+              "id": "3"
+            },
+            {
+              "id": "4"
+            }, {
+              "id": "5"
+            }, {
+              "id": "6"
+            }, {
+              "id": "8"
+            }, {
+              "id": "11",
+              "type": "multipoint"
+            }, {
+              "id": "1"
+            }, {
+              "id": "2"
+            }, {
+              "id": "3"
+            }, {
+              "id": "4"
+            }, {
+              "id": "5"
+            }, {
+              "id": "6"
+            }, {
+              "id": "8"
+            }, {
+              "id": "11",
+              "type": "multipoint"
+            }, {
+              "id": "1"
+            }, {
+              "id": "5"
+            }, {
+              "id": "6"
+            }, {
+              "id": "8"
+            }, {
+              "id": "11",
+              "type": "multipoint"
+            }, {
+              "id": "1"
+            }, {
+              "id": "3"
+            }, {
+              "id": "4"
+            }, {
+              "id": "5"
+            }, {
+              "id": "8"
+            }, {
+              "id": "11",
+              "type": "multipoint"
+            }, {
+              "id": "1"
+            }, {
+              "id": "2"
+            }, {
+              "id": "3"
+            }, {
+              "id": "4"
+            }, {
+              "id": "5"
+            }, {
+              "id": "6"
+            }, {
+              "id": "7"
+            }, {
+              "id": "8"
+            }, {
+              "id": "1"
+            }, {
+              "id": "2"
+            }, {
+              "id": "3"
+            }, {
+              "id": "4"
+            }, {
+              "id": "5"
+            }, {
+              "id": "6"
+            }, {
+              "id": "8"
+            }
+          ]
+        },
+        "sap-ingress": {
+          "queue": [
+            {
+              "id": "1"
+            },
+            {
+              "id": "5"
+            },
+            {
+              "id": "6"
+            },
+            {
+              "id": "7"
+            }, {
+              "id": "11",
+              "type": "multipoint"
+            }
+          ]
+        }
+      }
+    ]
+  }
+}
diff --git a/tests/fixtures/parsed_results/admin_display/radius_configuration.json b/tests/fixtures/parsed_results/admin_display/radius_configuration.json
index 16cacf0..f9fab59 100644
--- a/tests/fixtures/parsed_results/admin_display/radius_configuration.json
+++ b/tests/fixtures/parsed_results/admin_display/radius_configuration.json
@@ -1,1 +1,27 @@
-[{"configure": {"router": {"radius-server": {"server": [{"acct-port": "1646", "address": "195.85.40.21", "description": "Radius serveR", "hash-type": "hash2", "name": "RADIUS-ACCT", "secret": "netconanRemoved16"}, {"accept-coa": true, "address": "195.85.40.20", "auth-port": "1645", "coa-script-policy": "RADIUS-IN-DEF", "description": "Radius server", "hash-type": "hash2", "name": "RADIUS-AUTH", "secret": "netconanRemoved17"}]}}}}]
\ No newline at end of file
+{
+  "configure": {
+    "router": {
+      "radius-server": {
+        "server": [
+          {
+            "acct-port": "1646",
+            "address": "195.85.40.21",
+            "description": "Radius serveR",
+            "hash-type": "hash2",
+            "name": "RADIUS-ACCT",
+            "secret": "netconanRemoved16"
+          }, {
+            "accept-coa": true,
+            "address": "195.85.40.20",
+            "auth-port": "1645",
+            "coa-script-policy": "RADIUS-IN-DEF",
+            "description": "Radius server",
+            "hash-type": "hash2",
+            "name": "RADIUS-AUTH",
+            "secret": "netconanRemoved17"
+          }
+        ]
+      }
+    }
+  }
+}
diff --git a/tests/fixtures/parsed_results/admin_display/redundancy_configuration.json b/tests/fixtures/parsed_results/admin_display/redundancy_configuration.json
index e00c612..06da290 100644
--- a/tests/fixtures/parsed_results/admin_display/redundancy_configuration.json
+++ b/tests/fixtures/parsed_results/admin_display/redundancy_configuration.json
@@ -1,1 +1,84 @@
-[{"configure": {"redundancy": {"multi-chassis": {"peer": {"admin_state": true, "description": "BNG02-PAR", "peer-address": "218.152.120.75", "sync": {"admin_state": true, "igmp": true, "port": [{"port": "lag-30", "range": [{"range": "100.1-100.499", "sync-tag": "tag1110"}, {"range": "100.1000-100.1000", "sync-tag": "tag1110"}, {"range": "835.1-835.24", "sync-tag": "tag1310"}, {"range": "835.1000-835.1000", "sync-tag": "tag1310"}, {"range": "836.1-836.24", "sync-tag": "tag1410"}, {"range": "836.1000-836.1000", "sync-tag": "tag1410"}, {"range": "1000.1-1000.499", "sync-tag": "tag1010"}, {"range": "1000.1000-1000.1000", "sync-tag": "tag1510"}, {"range": "1001.1-1001.499", "sync-tag": "tag1510"}]}, {"port": "lag-36", "range": [{"range": "100.1-100.499", "sync-tag": "tag1106"}, {"range": "100.1000-100.1000", "sync-tag": "tag1106"}, {"range": "1000.1-1000.499", "sync-tag": "tag1006"}, {"range": "1000.1000-1000.1000", "sync-tag": "tag1006"}, {"range": "1001.1-1001.499", "sync-tag": "tag1506"}, {"range": "1001.1000-1001.1000", "sync-tag": "tag1506"}]}], "srrp": true, "sub-mgmt": "ipoe pppoe"}}}, "synchronize": "boot-env"}}}]
\ No newline at end of file
+{
+  "configure": {
+    "redundancy": {
+      "multi-chassis": {
+        "peer": {
+          "admin_state": true,
+          "description": "BNG02-PAR",
+          "peer-address": "218.152.120.75",
+          "sync": {
+            "admin_state": true,
+            "igmp": true,
+            "port": [
+              {
+                "port": "lag-30",
+                "range": [
+                  {
+                    "range": "100.1-100.499",
+                    "sync-tag": "tag1110"
+                  },
+                  {
+                    "range": "100.1000-100.1000",
+                    "sync-tag": "tag1110"
+                  },
+                  {
+                    "range": "835.1-835.24",
+                    "sync-tag": "tag1310"
+                  },
+                  {
+                    "range": "835.1000-835.1000",
+                    "sync-tag": "tag1310"
+                  }, {
+                    "range": "836.1-836.24",
+                    "sync-tag": "tag1410"
+                  }, {
+                    "range": "836.1000-836.1000",
+                    "sync-tag": "tag1410"
+                  }, {
+                    "range": "1000.1-1000.499",
+                    "sync-tag": "tag1010"
+                  }, {
+                    "range": "1000.1000-1000.1000",
+                    "sync-tag": "tag1510"
+                  }, {
+                    "range": "1001.1-1001.499",
+                    "sync-tag": "tag1510"
+                  }
+                ]
+              }, {
+                "port": "lag-36",
+                "range": [
+                  {
+                    "range": "100.1-100.499",
+                    "sync-tag": "tag1106"
+                  },
+                  {
+                    "range": "100.1000-100.1000",
+                    "sync-tag": "tag1106"
+                  },
+                  {
+                    "range": "1000.1-1000.499",
+                    "sync-tag": "tag1006"
+                  },
+                  {
+                    "range": "1000.1000-1000.1000",
+                    "sync-tag": "tag1006"
+                  }, {
+                    "range": "1001.1-1001.499",
+                    "sync-tag": "tag1506"
+                  }, {
+                    "range": "1001.1000-1001.1000",
+                    "sync-tag": "tag1506"
+                  }
+                ]
+              }
+            ],
+            "srrp": true,
+            "sub-mgmt": "ipoe pppoe"
+          }
+        }
+      },
+      "synchronize": "boot-env"
+    }
+  }
+}
diff --git a/tests/fixtures/parsed_results/admin_display/router_bgp_configuration.json b/tests/fixtures/parsed_results/admin_display/router_bgp_configuration.json
index e709b6a..03639dd 100644
--- a/tests/fixtures/parsed_results/admin_display/router_bgp_configuration.json
+++ b/tests/fixtures/parsed_results/admin_display/router_bgp_configuration.json
@@ -1,1 +1,77 @@
-[{"configure": {"router": {"bgp": {"advertise-external": [["ipv4", "ipv6", "label-ipv4", "label-ipv6"]], "backup-path": [["ipv4", "ipv6", "label-ipv4", "label-ipv6"]], "enable-peer-tracking": true, "group": [{"description": "\"Interco eBGP pour extension domaine PIM\"", "export": ["\"EXPORT-ALL-MULTICAST-SOURCES\"", "\"default-reject\""], "family": "ipv4", "import": ["\"default-reject\""], "loop-detect": "discard-route", "name": "\"IP\"", "neighbor": {"description": "PTN00115_IP", "neighbor-id": "79.92.218.245"}, "peer-as": "65500", "ttl-security": "255", "type": "external"}, {"description": "\"acces pour Flux\"", "export": ["\"EXPORT-ALL-SOURCES\"", "\"default-reject\""], "family": "ipv4", "import": ["\"COLLECTE-IPv4-IMPORT\"", "\"default-accept-bgp\""], "loop-detect": "discard-route", "name": "\"EBGP\"", "neighbor": {"description": "PAR38-W01-AGR-IP", "neighbor-id": "78.197.9.157", "peer-as": "65510"}, "peer-as": "65500", "preference": "9", "ttl-security": "255", "type": "external"}], "ibgp-multipath": true, "next-hop-resolution": {"policy": "\"NEXT-HOP-TRACKING\"", "shortcut-tunnel": {"family": [{"resolution-filter": {"type": "ldp"}, "type": "ipv4"}, {}]}}, "peer-tracking-policy": "\"PEER-TRACKING\"", "rib-management": {"ipv6": {"route-table-import": "\"RIB_LEAK\""}, "label-ipv6": {"route-table-import": "\"RIB_LEAK\""}}}}}}]
\ No newline at end of file
+{
+  "configure": {
+    "router": {
+      "bgp": {
+        "advertise-external": [
+          ["ipv4", "ipv6", "label-ipv4", "label-ipv6"]
+        ],
+        "backup-path": [
+          ["ipv4", "ipv6", "label-ipv4", "label-ipv6"]
+        ],
+        "enable-peer-tracking": true,
+        "group": [
+          {
+            "description": "\"Interco eBGP pour extension domaine PIM\"",
+            "export": [
+              "\"EXPORT-ALL-MULTICAST-SOURCES\"", "\"default-reject\""
+            ],
+            "family": "ipv4",
+            "import": ["\"default-reject\""],
+            "loop-detect": "discard-route",
+            "name": "\"IP\"",
+            "neighbor": {
+              "description": "PTN00115_IP",
+              "neighbor-id": "79.92.218.245"
+            },
+            "peer-as": "65500",
+            "ttl-security": "255",
+            "type": "external"
+          }, {
+            "description": "\"acces pour Flux\"",
+            "export": [
+              "\"EXPORT-ALL-SOURCES\"", "\"default-reject\""
+            ],
+            "family": "ipv4",
+            "import": [
+              "\"COLLECTE-IPv4-IMPORT\"", "\"default-accept-bgp\""
+            ],
+            "loop-detect": "discard-route",
+            "name": "\"EBGP\"",
+            "neighbor": {
+              "description": "PAR38-W01-AGR-IP",
+              "neighbor-id": "78.197.9.157",
+              "peer-as": "65510"
+            },
+            "peer-as": "65500",
+            "preference": "9",
+            "ttl-security": "255",
+            "type": "external"
+          }
+        ],
+        "ibgp-multipath": true,
+        "next-hop-resolution": {
+          "policy": "\"NEXT-HOP-TRACKING\"",
+          "shortcut-tunnel": {
+            "family": [
+              {
+                "resolution-filter": {
+                  "type": "ldp"
+                },
+                "type": "ipv4"
+              }, {}
+            ]
+          }
+        },
+        "peer-tracking-policy": "\"PEER-TRACKING\"",
+        "rib-management": {
+          "ipv6": {
+            "route-table-import": "\"RIB_LEAK\""
+          },
+          "label-ipv6": {
+            "route-table-import": "\"RIB_LEAK\""
+          }
+        }
+      }
+    }
+  }
+}
diff --git a/tests/fixtures/parsed_results/admin_display/router_policy_configuration.json b/tests/fixtures/parsed_results/admin_display/router_policy_configuration.json
index b7ebf18..3bbede1 100644
--- a/tests/fixtures/parsed_results/admin_display/router_policy_configuration.json
+++ b/tests/fixtures/parsed_results/admin_display/router_policy_configuration.json
@@ -1,1 +1,85 @@
-[{"configure": {"router": {"policy": {"policy-statement": [{"default-action": "reject", "entry-list": {"action": {}, "entry-id": "10", "from": {"from": "prefix-list \"accept-7750-SR\""}}, "name": "\"ldp-accept\""}, {"default-action": "reject", "entry-list": [{"action": {"addons": "type 1"}, "description": "advertise direct connect interfaces", "entry-id": "10", "from": {"from": "protocol direct"}, "to": {"to": "protocol ospf"}}, {"action": {"addons": "type 1"}, "description": "advertise static routes", "entry-id": "20", "from": {"from": "protocol static"}, "to": {"to": "protocol ospf"}}], "name": "\"br-ospf-export\""}, {"default-action": "reject", "entry-list": [{"action": {"addons": "type 1"}, "description": "advertise direct connect interfaces", "entry-id": "10", "from": {"from": "protocol direct"}, "to": {"to": "protocol ospf3"}}, {"action": {"addons": "type 1"}, "description": "advertise static routes", "entry-id": "20", "from": {"from": "protocol static"}, "to": {"to": "protocol ospf3"}}], "name": "\"br-ospf3-export\""}], "prefix-list": {"name": "\"accept-7750-SR\"", "prefix-list_cfg": "prefix 10.114.45.0/32 exact\nprefix 10.114.45.1/32 exact"}}}}}]
\ No newline at end of file
+{
+  "configure": {
+    "router": {
+      "policy": {
+        "policy-statement": [
+          {
+            "default-action": "reject",
+            "entry-list": {
+              "action": {},
+              "entry-id": "10",
+              "from": {
+                "from": "prefix-list \"accept-7750-SR\""
+              }
+            },
+            "name": "\"ldp-accept\""
+          }, {
+            "default-action": "reject",
+            "entry-list": [
+              {
+                "action": {
+                  "addons": "type 1"
+                },
+                "description": "advertise direct connect interfaces",
+                "entry-id": "10",
+                "from": {
+                  "from": "protocol direct"
+                },
+                "to": {
+                  "to": "protocol ospf"
+                }
+              }, {
+                "action": {
+                  "addons": "type 1"
+                },
+                "description": "advertise static routes",
+                "entry-id": "20",
+                "from": {
+                  "from": "protocol static"
+                },
+                "to": {
+                  "to": "protocol ospf"
+                }
+              }
+            ],
+            "name": "\"br-ospf-export\""
+          }, {
+            "default-action": "reject",
+            "entry-list": [
+              {
+                "action": {
+                  "addons": "type 1"
+                },
+                "description": "advertise direct connect interfaces",
+                "entry-id": "10",
+                "from": {
+                  "from": "protocol direct"
+                },
+                "to": {
+                  "to": "protocol ospf3"
+                }
+              }, {
+                "action": {
+                  "addons": "type 1"
+                },
+                "description": "advertise static routes",
+                "entry-id": "20",
+                "from": {
+                  "from": "protocol static"
+                },
+                "to": {
+                  "to": "protocol ospf3"
+                }
+              }
+            ],
+            "name": "\"br-ospf3-export\""
+          }
+        ],
+        "prefix-list": {
+          "name": "\"accept-7750-SR\"",
+          "prefix-list_cfg": "prefix 10.114.45.0/32 exact\nprefix 10.114.45.1/32 exact"
+        }
+      }
+    }
+  }
+}
diff --git a/tests/fixtures/parsed_results/admin_display/static_routes.json b/tests/fixtures/parsed_results/admin_display/static_routes.json
index 8949dc6..bae18e0 100644
--- a/tests/fixtures/parsed_results/admin_display/static_routes.json
+++ b/tests/fixtures/parsed_results/admin_display/static_routes.json
@@ -1,147 +1,133 @@
-[
-   {
-      "configure":{
-         "router":{
-            "router-name":{
-               "management":{
-                  "entry":[
-                     {
-                        "address":"10.132.8.144",
-                        "next-hop":"10.203.3.174",
-                        "prefix":"28"
-                     },
-                     {
-                        "address":"10.132.192.0",
-                        "next-hop":"10.203.3.174",
-                        "prefix":"20"
-                     },
-                     {
-                        "address":"10.132.208.0",
-                        "next-hop":"10.203.3.174",
-                        "prefix":"22"
-                     },
-                     {
-                        "address":"1001:1000:a600::",
-                        "next-hop":"1001:1000:2a6a:30f6:645:2a0::",
-                        "prefix":"40"
-                     }
-                  ]
-               }
+{
+  "configure": {
+    "router": {
+      "router-name": {
+        "management": {
+          "entry": [
+            {
+              "address": "10.132.8.144",
+              "next-hop": "10.203.3.174",
+              "prefix": "28"
+            }, {
+              "address": "10.132.192.0",
+              "next-hop": "10.203.3.174",
+              "prefix": "20"
+            }, {
+              "address": "10.132.208.0",
+              "next-hop": "10.203.3.174",
+              "prefix": "22"
+            }, {
+              "address": "1001:1000:a600::",
+              "next-hop": "1001:1000:2a6a:30f6:645:2a0::",
+              "prefix": "40"
+            }
+          ]
+        }
+      },
+      "static-route": {
+        "ipv4": {
+          "entry": [
+            {
+              "address": "0.0.0.0",
+              "bfd": "bfd-enable",
+              "bfd-enable": true,
+              "next-hop": "192.168.0.1",
+              "prefix": "0"
+            },
+            {
+              "address": "0.0.0.0",
+              "next-hop": "192.168.10.1",
+              "preference": "10",
+              "prefix": "0"
+            },
+            {
+              "address": "10.115.69.65",
+              "bfd": "bfd-enable",
+              "bfd-enable": true,
+              "next-hop": "172.25.69.88",
+              "prefix": "32"
+            },
+            {
+              "address": "10.115.69.65",
+              "next-hop": "172.25.69.88",
+              "preference": "10",
+              "prefix": "32"
+            }, {
+              "address": "10.115.69.101",
+              "black-hole": true,
+              "prefix": "32"
+            }, {
+              "address": "::",
+              "bfd": "bfd-enable",
+              "bfd-enable": true,
+              "next-hop": "1001:1000:206a:31cd:645:400::/64",
+              "prefix": "0"
+            }, {
+              "address": "::",
+              "next-hop": "1001:1000:206a:31cc:645:400::/64",
+              "preference": "10",
+              "prefix": "0"
+            }, {
+              "address": "1001:1000:2000:0:645:2a0::",
+              "bfd": "bfd-enable",
+              "bfd-enable": true,
+              "next-hop": "1001:1000:206a:31cd:645:400::",
+              "prefix": "128"
+            }, {
+              "address": "1001:1000:2000:0:645:2a0:0:1",
+              "next-hop": "1001:1000:206a:31cd:645:400::",
+              "preference": "10",
+              "prefix": "128"
+            }, {
+              "address": "1001:1000:2062:30cf::",
+              "black-hole": true,
+              "prefix": "64"
+            }, {
+              "address": "1001:1000:2062:3634::",
+              "black-hole": true,
+              "prefix": "64"
+            }
+          ]
+        },
+        "ipv6": {
+          "entry": [
+            {
+              "address": "::",
+              "bfd": "bfd-enable",
+              "bfd-enable": true,
+              "next-hop": "1001:1000:206a:31cd:645:400::/64",
+              "prefix": "0"
+            },
+            {
+              "address": "::",
+              "next-hop": "1001:1000:206a:31cc:645:400::/64",
+              "preference": "10",
+              "prefix": "0"
+            },
+            {
+              "address": "1001:1000:2000:0:645:2a0::",
+              "bfd": "bfd-enable",
+              "bfd-enable": true,
+              "next-hop": "1001:1000:206a:31cd:645:400::",
+              "prefix": "128"
             },
-            "static-route":{
-               "ipv4":{
-                  "entry":[
-                     {
-                        "address":"0.0.0.0",
-                        "bfd":"bfd-enable",
-                        "bfd-enable":true,
-                        "next-hop":"192.168.0.1",
-                        "prefix":"0"
-                     },
-                     {
-                        "address":"0.0.0.0",
-                        "next-hop":"192.168.10.1",
-                        "preference":"10",
-                        "prefix":"0"
-                     },
-                     {
-                        "address":"10.115.69.65",
-                        "bfd":"bfd-enable",
-                        "bfd-enable":true,
-                        "next-hop":"172.25.69.88",
-                        "prefix":"32"
-                     },
-                     {
-                        "address":"10.115.69.65",
-                        "next-hop":"172.25.69.88",
-                        "preference":"10",
-                        "prefix":"32"
-                     },
-                     {
-                        "address":"10.115.69.101",
-                        "black-hole":true,
-                        "prefix":"32"
-                     },
-                     {
-                        "address":"::",
-                        "bfd":"bfd-enable",
-                        "bfd-enable":true,
-                        "next-hop":"1001:1000:206a:31cd:645:400::/64",
-                        "prefix":"0"
-                     },
-                     {
-                        "address":"::",
-                        "next-hop":"1001:1000:206a:31cc:645:400::/64",
-                        "preference":"10",
-                        "prefix":"0"
-                     },
-                     {
-                        "address":"1001:1000:2000:0:645:2a0::",
-                        "bfd":"bfd-enable",
-                        "bfd-enable":true,
-                        "next-hop":"1001:1000:206a:31cd:645:400::",
-                        "prefix":"128"
-                     },
-                     {
-                        "address":"1001:1000:2000:0:645:2a0:0:1",
-                        "next-hop":"1001:1000:206a:31cd:645:400::",
-                        "preference":"10",
-                        "prefix":"128"
-                     },
-                     {
-                        "address":"1001:1000:2062:30cf::",
-                        "black-hole":true,
-                        "prefix":"64"
-                     },
-                     {
-                        "address":"1001:1000:2062:3634::",
-                        "black-hole":true,
-                        "prefix":"64"
-                     }
-                  ]
-               },
-               "ipv6":{
-                  "entry":[
-                     {
-                        "address":"::",
-                        "bfd":"bfd-enable",
-                        "bfd-enable":true,
-                        "next-hop":"1001:1000:206a:31cd:645:400::/64",
-                        "prefix":"0"
-                     },
-                     {
-                        "address":"::",
-                        "next-hop":"1001:1000:206a:31cc:645:400::/64",
-                        "preference":"10",
-                        "prefix":"0"
-                     },
-                     {
-                        "address":"1001:1000:2000:0:645:2a0::",
-                        "bfd":"bfd-enable",
-                        "bfd-enable":true,
-                        "next-hop":"1001:1000:206a:31cd:645:400::",
-                        "prefix":"128"
-                     },
-                     {
-                        "address":"1001:1000:2000:0:645:2a0:0:1",
-                        "next-hop":"1001:1000:206a:31cd:645:400::",
-                        "preference":"10",
-                        "prefix":"128"
-                     },
-                     {
-                        "address":"1001:1000:2062:30cf::",
-                        "black-hole":true,
-                        "prefix":"64"
-                     },
-                     {
-                        "address":"1001:1000:2062:3634::",
-                        "black-hole":true,
-                        "prefix":"64"
-                     }
-                  ]
-               }
+            {
+              "address": "1001:1000:2000:0:645:2a0:0:1",
+              "next-hop": "1001:1000:206a:31cd:645:400::",
+              "preference": "10",
+              "prefix": "128"
+            }, {
+              "address": "1001:1000:2062:30cf::",
+              "black-hole": true,
+              "prefix": "64"
+            }, {
+              "address": "1001:1000:2062:3634::",
+              "black-hole": true,
+              "prefix": "64"
             }
-         }
+          ]
+        }
       }
-   }
-]
\ No newline at end of file
+    }
+  }
+}
diff --git a/tests/fixtures/parsed_results/admin_display/subscriber_mgmt_configuration.json b/tests/fixtures/parsed_results/admin_display/subscriber_mgmt_configuration.json
index cabce0e..8924925 100644
--- a/tests/fixtures/parsed_results/admin_display/subscriber_mgmt_configuration.json
+++ b/tests/fixtures/parsed_results/admin_display/subscriber_mgmt_configuration.json
@@ -1,1 +1,94 @@
-[{"configure": {"subscriber-mgmt": {"authentication-policy": {"description": "Radius Authentification par defaut", "hash": "hash2", "include-radius-attribute": {"access-loop-options": true, "circuit-id": true, "dhcp-options": true, "dhcp6-options": true, "mac-address": true, "nas-identifier": true, "nas-port-id": true, "remote-id": true}, "name": "AUTH-DEF", "paswword": "netconanRemoved7", "pppoe-access-method": "none", "radius-authentication-server": {}, "user-name-format": "circuit-id"}, "auto-sub-id-key": {"ipoe-sub-id-key": "mac"}, "ipoe-session-policy": {"description": "IPoE Session policy par defaut", "name": "IPOE-DEF", "session-key": "sap,mac,cid"}, "local-user-db": [{"name": "AAA-DHCP-RED"}, {"name": "AAA-PPP-RED"}, {"name": "SRV-DHCP-LOCAL"}, {"name": "AAA-DHCP"}], "ppp-policy": {"description": "PPPoE", "max-sessions-per-mac": "2", "name": "PPP", "ppp-authentication": "chap", "ppp-mtu": "1492"}, "radius-accounting-policy": {"description": "Radius", "include-radius-attribute": {"access-loop-options": true, "acct-authentic": true, "circuit-id": true, "delegated-ipv6-prefix": true, "detailed-acct-attributes": false, "framed-ip-addr": true, "mac-address": true, "nas-identifier": true, "nas-port-id": true, "remote-id": true, "sla-profile": true, "std-acct-attributes": true, "sub-profile": true, "subscriber-id": true, "user-name": true}, "name": "ACCT-DEF", "queue-instance-accounting": false, "radius-server-policy": "RADIUS-ACCT-DEF", "session-accounting": "interim-update", "session-id-format": "number"}, "sla-profile": {"name": "QOS-DEFAUT-PROF"}, "sub-ident-policy": {"name": "COLLECTE", "sla-profile-map": {"use-direct-map-as-default": true}, "sub-profile-map": {"use-direct-map-as-default": true}}, "sub-profile": {"name": "MIGR", "radius-accounting": {"policy": "ACCT-RED"}}}}}]
\ No newline at end of file
+{
+  "configure": {
+    "subscriber-mgmt": {
+      "authentication-policy": {
+        "description": "Radius Authentification par defaut",
+        "hash": "hash2",
+        "include-radius-attribute": {
+          "access-loop-options": true,
+          "circuit-id": true,
+          "dhcp-options": true,
+          "dhcp6-options": true,
+          "mac-address": true,
+          "nas-identifier": true,
+          "nas-port-id": true,
+          "remote-id": true
+        },
+        "name": "AUTH-DEF",
+        "paswword": "netconanRemoved7",
+        "pppoe-access-method": "none",
+        "radius-authentication-server": {},
+        "user-name-format": "circuit-id"
+      },
+      "auto-sub-id-key": {
+        "ipoe-sub-id-key": "mac"
+      },
+      "ipoe-session-policy": {
+        "description": "IPoE Session policy par defaut",
+        "name": "IPOE-DEF",
+        "session-key": "sap,mac,cid"
+      },
+      "local-user-db": [
+        {
+          "name": "AAA-DHCP-RED"
+        }, {
+          "name": "AAA-PPP-RED"
+        }, {
+          "name": "SRV-DHCP-LOCAL"
+        }, {
+          "name": "AAA-DHCP"
+        }
+      ],
+      "ppp-policy": {
+        "description": "PPPoE",
+        "max-sessions-per-mac": "2",
+        "name": "PPP",
+        "ppp-authentication": "chap",
+        "ppp-mtu": "1492"
+      },
+      "radius-accounting-policy": {
+        "description": "Radius",
+        "include-radius-attribute": {
+          "access-loop-options": true,
+          "acct-authentic": true,
+          "circuit-id": true,
+          "delegated-ipv6-prefix": true,
+          "detailed-acct-attributes": false,
+          "framed-ip-addr": true,
+          "mac-address": true,
+          "nas-identifier": true,
+          "nas-port-id": true,
+          "remote-id": true,
+          "sla-profile": true,
+          "std-acct-attributes": true,
+          "sub-profile": true,
+          "subscriber-id": true,
+          "user-name": true
+        },
+        "name": "ACCT-DEF",
+        "queue-instance-accounting": false,
+        "radius-server-policy": "RADIUS-ACCT-DEF",
+        "session-accounting": "interim-update",
+        "session-id-format": "number"
+      },
+      "sla-profile": {
+        "name": "QOS-DEFAUT-PROF"
+      },
+      "sub-ident-policy": {
+        "name": "COLLECTE",
+        "sla-profile-map": {
+          "use-direct-map-as-default": true
+        },
+        "sub-profile-map": {
+          "use-direct-map-as-default": true
+        }
+      },
+      "sub-profile": {
+        "name": "MIGR",
+        "radius-accounting": {
+          "policy": "ACCT-RED"
+        }
+      }
+    }
+  }
+}
diff --git a/tests/fixtures/parsed_results/admin_display/subscriber_mgmt_ss_configuration.json b/tests/fixtures/parsed_results/admin_display/subscriber_mgmt_ss_configuration.json
index a1865f9..3b75e3f 100644
--- a/tests/fixtures/parsed_results/admin_display/subscriber_mgmt_ss_configuration.json
+++ b/tests/fixtures/parsed_results/admin_display/subscriber_mgmt_ss_configuration.json
@@ -1,1 +1,40 @@
-[{"configure": {"subscriber-mgmt": {"authentication-policy": {"name": "\"RADIUS\"", "radius-authentication-server": {"address": "195.85.40.20", "hashing-scheme": "hash2", "port": "1645", "router": "\"Base\"", "secret": "\"netconanRemoved18\"", "server-id": "1"}}, "local-user-db": {"name": "\"AAA-DHCP\"", "protocol": {"host": [{"admin-state": true, "auth-policy": "\"AUTH-COLL-ETH-RED\"", "host-name": "\"default\"", "server": "195.85.40.22"}, {"admin-state": true, "auth-policy": "\"AUTH-MIGR\"", "host-identification": {"option60-string": "\"toto\""}, "host-name": "\"IAD-Profil\"", "server": "218.152.120.74"}], "match-list": "option60", "type": "ipoe"}}}}}]
\ No newline at end of file
+{
+  "configure": {
+    "subscriber-mgmt": {
+      "authentication-policy": {
+        "name": "\"RADIUS\"",
+        "radius-authentication-server": {
+          "address": "195.85.40.20",
+          "hashing-scheme": "hash2",
+          "port": "1645",
+          "router": "\"Base\"",
+          "secret": "\"netconanRemoved18\"",
+          "server-id": "1"
+        }
+      },
+      "local-user-db": {
+        "name": "\"AAA-DHCP\"",
+        "protocol": {
+          "host": [
+            {
+              "admin-state": true,
+              "auth-policy": "\"AUTH-COLL-ETH-RED\"",
+              "host-name": "\"default\"",
+              "server": "195.85.40.22"
+            }, {
+              "admin-state": true,
+              "auth-policy": "\"AUTH-MIGR\"",
+              "host-identification": {
+                "option60-string": "\"toto\""
+              },
+              "host-name": "\"IAD-Profil\"",
+              "server": "218.152.120.74"
+            }
+          ],
+          "match-list": "option60",
+          "type": "ipoe"
+        }
+      }
+    }
+  }
+}
diff --git a/tests/fixtures/parsed_results/admin_display/system_begin.json b/tests/fixtures/parsed_results/admin_display/system_begin.json
index ee1aac4..0967ef4 100644
--- a/tests/fixtures/parsed_results/admin_display/system_begin.json
+++ b/tests/fixtures/parsed_results/admin_display/system_begin.json
@@ -1,1 +1,1 @@
-[{}]
\ No newline at end of file
+{}
diff --git a/tests/fixtures/parsed_results/admin_display/system_cards.json b/tests/fixtures/parsed_results/admin_display/system_cards.json
index 9447f3d..80fcdc8 100644
--- a/tests/fixtures/parsed_results/admin_display/system_cards.json
+++ b/tests/fixtures/parsed_results/admin_display/system_cards.json
@@ -1,35 +1,32 @@
-[
-   {
-      "configure":{
-         "card":[
-            {
-               "card-type":"imm-2pac-fp3",
-               "fail-on-error":true,
-               "mda":{
-                  "admin-state":true,
-                  "egress-xpl":{
-                     "window":"10"
-                  },
-                  "fail-on-error":true,
-                  "ingress-xpl":{
-                     "window":"10"
-                  },
-                  "mda-slot":"1",
-                  "mda-type":"p10-10g-sfp"
-               },
-               "slot-number":"2"
-            },
-            {
-               "card-type":"imm5-10gb-xfp",
-               "fail-on-error":true,
-               "mda":{
-                  "admin-state":false,
-                  "fail-on-error":true,
-                  "mda-slot":"1"
-               },
-               "slot-number":"4"
-            }
-         ]
+{
+  "configure": {
+    "card": [
+      {
+        "card-type": "imm-2pac-fp3",
+        "fail-on-error": true,
+        "mda": {
+          "admin-state": true,
+          "egress-xpl": {
+            "window": "10"
+          },
+          "fail-on-error": true,
+          "ingress-xpl": {
+            "window": "10"
+          },
+          "mda-slot": "1",
+          "mda-type": "p10-10g-sfp"
+        },
+        "slot-number": "2"
+      }, {
+        "card-type": "imm5-10gb-xfp",
+        "fail-on-error": true,
+        "mda": {
+          "admin-state": false,
+          "fail-on-error": true,
+          "mda-slot": "1"
+        },
+        "slot-number": "4"
       }
-   }
-]
\ No newline at end of file
+    ]
+  }
+}
diff --git a/tests/fixtures/parsed_results/admin_display/system_configuration.json b/tests/fixtures/parsed_results/admin_display/system_configuration.json
index f895919..a3d9cc3 100644
--- a/tests/fixtures/parsed_results/admin_display/system_configuration.json
+++ b/tests/fixtures/parsed_results/admin_display/system_configuration.json
@@ -1,61 +1,57 @@
-[
-   {
-      "configure":{
-         "system":{
-            "contact":"Hugo Tinoco",
-            "location":"Phoenix, AZ",
-            "name":"EXAMPLEPHX-P-AL-7750-01",
-            "rollback":{
-               "cf_slot":"cf2",
-               "directory":"Rollback",
-               "rollback":true
+{
+  "configure": {
+    "system": {
+      "contact": "Hugo Tinoco",
+      "location": "Phoenix, AZ",
+      "name": "EXAMPLEPHX-P-AL-7750-01",
+      "rollback": {
+        "cf_slot": "cf2",
+        "directory": "Rollback",
+        "rollback": true
+      },
+      "snmp": {
+        "packet_size": "9216"
+      },
+      "time": {
+        "ntp": [
+          {
+            "server": [
+              {
+                "ip-address": "8.8.8.8",
+                "prefer": true
+              }, {
+                "ip-address": "8.8.4.4"
+              }
+            ]
+          }, {
+            "admin_state": true,
+            "authentication-check": false,
+            "dst-zone": {
+              "end": {
+                "day": "sunday",
+                "hours-minute": "02:00",
+                "month": "november",
+                "week": "first"
+              },
+              "start": {
+                "day": "sunday",
+                "hours-minute": "02:00",
+                "month": "march",
+                "week": "second"
+              },
+              "summer-time-zone": "MDT"
             },
-            "snmp":{
-               "packet_size":"9216"
-            },
-            "time":{
-               "ntp":[
-                  {
-                     "server":[
-                        {
-                           "ip-address":"8.8.8.8",
-                           "prefer":true
-                        },
-                        {
-                           "ip-address":"8.8.4.4"
-                        }
-                     ]
-                  },
-                  {
-                     "admin_state":true,
-                     "authentication-check":false,
-                     "dst-zone":{
-                        "end":{
-                           "day":"sunday",
-                           "hours-minute":"02:00",
-                           "month":"november",
-                           "week":"first"
-                        },
-                        "start":{
-                           "day":"sunday",
-                           "hours-minute":"02:00",
-                           "month":"march",
-                           "week":"second"
-                        },
-                        "summer-time-zone":"MDT"
-                     },
-                     "zone":{
-                        "standard":{
-                           "name":"MST"
-                        }
-                     }
-                  }
-               ],
-               "sntp":{
-                  "admin_state": false
-               }
+            "zone": {
+              "standard": {
+                "name": "MST"
+              }
             }
-         }
+          }
+        ],
+        "sntp": {
+          "admin_state": false
+        }
       }
-   }
-]
\ No newline at end of file
+    }
+  }
+}
diff --git a/tests/fixtures/parsed_results/admin_display/system_interface.json b/tests/fixtures/parsed_results/admin_display/system_interface.json
index cbef58c..c27d285 100644
--- a/tests/fixtures/parsed_results/admin_display/system_interface.json
+++ b/tests/fixtures/parsed_results/admin_display/system_interface.json
@@ -1,23 +1,21 @@
-[
-   {
-      "router":{
-         "interface":{
-            "admin_state":true,
-            "ingress_stats":true,
-            "interface_name":"system",
-            "ipv4":{
-               "primary":{
-                  "address":"199.199.9.1",
-                  "prefix_length":"32"
-               }
-            },
-            "ipv6":{
-               "address":{
-                  "ipv6_address":"2001:1111:3333:0:420:2a0::",
-                  "prefix_length":"128"
-               }
-            }
-         }
+{
+  "router": {
+    "interface": {
+      "admin_state": true,
+      "ingress_stats": true,
+      "interface_name": "system",
+      "ipv4": {
+        "primary": {
+          "address": "199.199.9.1",
+          "prefix_length": "32"
+        }
+      },
+      "ipv6": {
+        "address": {
+          "ipv6_address": "2001:1111:3333:0:420:2a0::",
+          "prefix_length": "128"
+        }
       }
-   }
-]
\ No newline at end of file
+    }
+  }
+}
diff --git a/tests/fixtures/parsed_results/admin_display/system_maf.json b/tests/fixtures/parsed_results/admin_display/system_maf.json
index aba637f..0257200 100644
--- a/tests/fixtures/parsed_results/admin_display/system_maf.json
+++ b/tests/fixtures/parsed_results/admin_display/system_maf.json
@@ -1,60 +1,54 @@
-[
-   {
-      "system":{
-         "management-access-filter":[
+{
+  "system": {
+    "management-access-filter": [
+      {
+        "ip-filter-params": {
+          "admin-state": true,
+          "default-action": "deny",
+          "ipv4-filter": true
+        },
+        "ipv6-filter-params": {
+          "admin-state": false,
+          "default-action": "permit",
+          "ipv6-filter": true
+        }
+      }, {
+        "ip-filter": {
+          "entry": [
             {
-               "ip-filter-params":{
-                  "admin-state":true,
-                  "default-action":"deny",
-                  "ipv4-filter":true
-               },
-               "ipv6-filter-params":{
-                  "admin-state":false,
-                  "default-action":"permit",
-                  "ipv6-filter":true
-               }
-            },
-            {
-               "ip-filter":{
-                  "entry":[
-                     {
-                        "action":"permit",
-                        "description":"SSH Traffic",
-                        "dst-port":"22 22",
-                        "entry-id":"10",
-                        "protocol":"tcp",
-                        "router-instance":"management"
-                     },
-                     {
-                        "action":"permit",
-                        "description":"Some Syslog Server",
-                        "entry-id":"25",
-                        "router-instance":"management"
-                     }
-                  ]
-               }
-            },
+              "action": "permit",
+              "description": "SSH Traffic",
+              "dst-port": "22 22",
+              "entry-id": "10",
+              "protocol": "tcp",
+              "router-instance": "management"
+            }, {
+              "action": "permit",
+              "description": "Some Syslog Server",
+              "entry-id": "25",
+              "router-instance": "management"
+            }
+          ]
+        }
+      }, {
+        "ipv6-filter": {
+          "entry": [
             {
-               "ipv6-filter":{
-                  "entry":[
-                     {
-                        "action-instance":"permit",
-                        "description":"SSH Traffic",
-                        "dst-port":"22 22",
-                        "entry-id":"10",
-                        "router-instance":"management"
-                     },
-                     {
-                        "action-instance":"permit",
-                        "description":"Something Something Something",
-                        "entry-id":"25",
-                        "router-instance":"management",
-                        "src-ip":"1001:2000:a06:2130:f0:fef:0:147/128"
-                     }
-                  ]
-               }
+              "action-instance": "permit",
+              "description": "SSH Traffic",
+              "dst-port": "22 22",
+              "entry-id": "10",
+              "router-instance": "management"
+            }, {
+              "action-instance": "permit",
+              "description": "Something Something Something",
+              "entry-id": "25",
+              "router-instance": "management",
+              "src-ip": "1001:2000:a06:2130:f0:fef:0:147/128"
             }
-         ]
+          ]
+        }
       }
-   }
-]
\ No newline at end of file
+    ]
+  }
+}
diff --git a/tests/fixtures/parsed_results/admin_display/system_profiles.json b/tests/fixtures/parsed_results/admin_display/system_profiles.json
index ef08b72..3613006 100644
--- a/tests/fixtures/parsed_results/admin_display/system_profiles.json
+++ b/tests/fixtures/parsed_results/admin_display/system_profiles.json
@@ -1,50 +1,43 @@
-[
-   {
-      "system":{
-         "profile":[
-            {
-               "default-action":"deny-all",
-               "entry":[
-                  {
-                     "action":"permit",
-                     "match":"back"
-                  },
-                  {
-                     "action":"permit",
-                     "match":"exit"
-                  }
-               ],
-               "user-profile-name":"readonly"
-            },
-            {
-               "default-action":"permit-all",
-               "entry":[
-                  {
-                     "action":"deny",
-                     "match":"configure system security"
-                  },
-                  {
-                     "action":"permit",
-                     "match":"show system security"
-                  }
-               ],
-               "user-profile-name":"administrative"
-            },
-            {
-               "default-action":"permit-all",
-               "entry":[
-                  {
-                     "action":"deny",
-                     "match":"configure system security"
-                  },
-                  {
-                     "action":"permit",
-                     "match":"show system security"
-                  }
-               ],
-               "user-profile-name":"Test Profile 69"
-            }
-         ]
+{
+  "system": {
+    "profile": [
+      {
+        "default-action": "deny-all",
+        "entry": [
+          {
+            "action": "permit",
+            "match": "back"
+          }, {
+            "action": "permit",
+            "match": "exit"
+          }
+        ],
+        "user-profile-name": "readonly"
+      }, {
+        "default-action": "permit-all",
+        "entry": [
+          {
+            "action": "deny",
+            "match": "configure system security"
+          }, {
+            "action": "permit",
+            "match": "show system security"
+          }
+        ],
+        "user-profile-name": "administrative"
+      }, {
+        "default-action": "permit-all",
+        "entry": [
+          {
+            "action": "deny",
+            "match": "configure system security"
+          }, {
+            "action": "permit",
+            "match": "show system security"
+          }
+        ],
+        "user-profile-name": "Test Profile 69"
       }
-   }
-]
\ No newline at end of file
+    ]
+  }
+}
diff --git a/tests/fixtures/parsed_results/admin_display/system_sdp.json b/tests/fixtures/parsed_results/admin_display/system_sdp.json
index 349ef7a..41ba52a 100644
--- a/tests/fixtures/parsed_results/admin_display/system_sdp.json
+++ b/tests/fixtures/parsed_results/admin_display/system_sdp.json
@@ -1,44 +1,157 @@
-[
-   {
-      "configure":{
-         "system":{
-            "service":{
-               "sdp":[
-                  {
-                     "admin-state":true,
-                     "adv-mtu-override":true,
-                     "description":"MPLS-LABEL-TO-7750-01",
-                     "far-end":"10.100.69.0",
-                     "keep-alive":{
-                        "admin-state":false
-                     },
-                     "ldp":true,
-                     "sdp-id":"215"
-                  },
-                  {
-                     "admin-state":true,
-                     "adv-mtu-override":true,
-                     "description":"MPLS-LABEL-TO-7750-02",
-                     "far-end":"10.100.69.1",
-                     "keep-alive":{
-                        "admin-state":false
-                     },
-                     "ldp":true,
-                     "sdp-id":"1215"
-                  },
-                  {
-                     "admin-state":true,
-                     "far-end":"10.10.10.4",
-                     "keep-alive":{
-                        "admin-state":false
-                     },
-                     "lsp":"TO_R4",
-                     "path-mtu":"9100",
-                     "sdp-id":"14"
-                  }
-               ]
+{
+  "configure": {
+    "system": {
+      "service": {
+        "ies": {
+          "subscriber-interface": {
+            "ipv6": {}
+          }
+        },
+        "sdp": [
+          {
+            "adv-mtu-override": true,
+            "description": "\"MPLS-LABEL-TO-7750-01\"",
+            "far-end": "10.100.69.0",
+            "keep-alive": {
+              "admin-state": false
+            },
+            "ldp": true,
+            "sdp-id": "215"
+          }, {
+            "adv-mtu-override": true,
+            "description": "\"MPLS-LABEL-TO-7750-02\"",
+            "far-end": "10.100.69.1",
+            "keep-alive": {
+              "admin-state": false
+            },
+            "ldp": true,
+            "sdp-id": "1215"
+          }, {
+            "far-end": "10.10.10.4",
+            "keep-alive": {
+              "admin-state": false
+            },
+            "lsp": "\"TO_R4\"",
+            "path-mtu": "9100",
+            "sdp-id": "14"
+          }
+        ],
+        "vpls": {
+          "sap": {
+            "egress": [
+              {
+                "qos": "21140"
+              }, {
+                "qos": "21140"
+              }, {
+                "qos": "21140"
+              }
+            ],
+            "ingress": [
+              {
+                "qos": "21130"
+              },
+              {
+                "qos": "21130"
+              },
+              {
+                "qos": "21130"
+              },
+              {
+                "qos": "22130"
+              }, {
+                "qos": "22130"
+              }, {
+                "qos": "23130"
+              }, {
+                "qos": "10"
+              }, {
+                "qos": "10"
+              }, {
+                "qos": "20030"
+              }, {
+                "qos": "20030"
+              }
+            ]
+          },
+          "spoke-sdp": [
+            {
+              "admin_state": true,
+              "spoke-sdp": "215:1121501 endpoint \"Epipe_215_1\""
+            },
+            {
+              "admin_state": true,
+              "spoke-sdp": "1215:1121501 endpoint \"Epipe_215_1\""
+            },
+            {
+              "admin_state": true,
+              "spoke-sdp": "215:1121502 endpoint \"Epipe_215_2\""
+            },
+            {
+              "admin_state": true,
+              "spoke-sdp": "1215:1121502 endpoint \"Epipe_215_2\""
+            }, {
+              "admin_state": true,
+              "spoke-sdp": "215:2121503 endpoint \"Epipe_215_3\""
+            }, {
+              "admin_state": true,
+              "spoke-sdp": "1215:2121503 endpoint \"Epipe_215_3\""
+            }, {
+              "admin_state": true,
+              "spoke-sdp": "215:41215001 endpoint \"Epipe_215_A\""
+            }, {
+              "admin_state": true,
+              "spoke-sdp": "1215:41215001 endpoint \"Epipe_215_A\""
+            }, {
+              "admin_state": true,
+              "spoke-sdp": "215:41215002 endpoint \"Epipe_215_B\""
+            }, {
+              "admin_state": true,
+              "spoke-sdp": "1215:41215002 endpoint \"Epipe_215_B\""
+            }, {
+              "admin_state": true,
+              "spoke-sdp": "215:43215157 endpoint \"Epipe 43215157\""
+            }, {
+              "admin_state": true,
+              "spoke-sdp": "1215:43215157 endpoint \"Epipe 43215157\""
+            }, {
+              "admin_state": true,
+              "spoke-sdp": "215:43215167 endpoint \"Epipe 43215167\""
+            }, {
+              "admin_state": true,
+              "spoke-sdp": "1215:43215167 endpoint \"Epipe 43215167\""
+            }, {
+              "admin_state": true,
+              "spoke-sdp": "215:45215001 vc-type vlan"
+            }, {
+              "admin_state": true,
+              "spoke-sdp": "1215:45215002 vc-type vlan"
             }
-         }
+          ],
+          "stp": [
+            {
+              "admin_state": false
+            }, {
+              "admin_state": false
+            }
+          ]
+        },
+        "vprn": {
+          "interface": [
+            {
+              "interface-name": "\"L3-Telecom-CSR0215\""
+            }, {
+              "interface-name": "\"L3-Telecom-5G-CSR024215\""
+            }, {
+              "description": "\"CSR0215-Telecom-rVPLS100\"",
+              "interface-name": "\"L3-Telecom-CSR0215\""
+            }, {
+              "description": "\"CSR024215-Telecom-rVPLS310-gNB\"",
+              "interface-name": "\"L3-Telecom-5G-CSR024215\""
+            }
+          ]
+        }
       }
-   }
-]
\ No newline at end of file
+    }
+  }
+}
diff --git a/tests/fixtures/parsed_results/admin_display/system_security_configuration.json b/tests/fixtures/parsed_results/admin_display/system_security_configuration.json
index f093a57..ee28db5 100644
--- a/tests/fixtures/parsed_results/admin_display/system_security_configuration.json
+++ b/tests/fixtures/parsed_results/admin_display/system_security_configuration.json
@@ -1,1 +1,18 @@
-[{"configure": {"system": {"security": {"cpm-filter": [{"ip-filter": {"admin_state": false}, "ipv6-filter": {"admin_state": false}}, {}]}}}}]
\ No newline at end of file
+{
+  "configure": {
+    "system": {
+      "security": {
+        "cpm-filter": [
+          {
+            "ip-filter": {
+              "admin_state": false
+            },
+            "ipv6-filter": {
+              "admin_state": false
+            }
+          }, {}
+        ]
+      }
+    }
+  }
+}
diff --git a/tests/fixtures/parsed_results/admin_display/system_time_ntp_config.json b/tests/fixtures/parsed_results/admin_display/system_time_ntp_config.json
index 92e0f44..d29c58b 100644
--- a/tests/fixtures/parsed_results/admin_display/system_time_ntp_config.json
+++ b/tests/fixtures/parsed_results/admin_display/system_time_ntp_config.json
@@ -1,1 +1,17 @@
-[{"configure": {"system": {"ntp": {"server": {"address": ["10.114.45.0 prefer", "10.114.45.1", "1 name \"RADIUS-ACCT\"", "1 name \"RADIUS-AUTH\"", "1 address 195.85.40.20 secret \"netconanRemoved18\" hash2 port 1645"]}}}}}]
\ No newline at end of file
+{
+  "configure": {
+    "system": {
+      "ntp": {
+        "server": {
+          "address": [
+            "10.114.45.0 prefer",
+            "10.114.45.1",
+            "1 name \"RADIUS-ACCT\"",
+            "1 name \"RADIUS-AUTH\"",
+            "1 address 195.85.40.20 secret \"netconanRemoved18\" hash2 port 1645"
+          ]
+        }
+      }
+    }
+  }
+}
diff --git a/tests/fixtures/parsed_results/admin_display/twamp_light_config.json b/tests/fixtures/parsed_results/admin_display/twamp_light_config.json
index 3bd4252..0a04c1e 100644
--- a/tests/fixtures/parsed_results/admin_display/twamp_light_config.json
+++ b/tests/fixtures/parsed_results/admin_display/twamp_light_config.json
@@ -1,1 +1,22 @@
-[{"configure": {"router": {"twamp_light": {"reflector": {"admin_state": true, "description": "Reflecteur TWAMP", "prefix": [{"description": "sonde twamp sur zip intf eth5", "prefix": "10.185.13.74/32"}, {"description": "sonde twamp sur zip intf eth6", "prefix": "10.185.13.78/32"}], "udp_port": "64364"}}}}}]
\ No newline at end of file
+{
+  "configure": {
+    "router": {
+      "twamp_light": {
+        "reflector": {
+          "admin_state": true,
+          "description": "Reflecteur TWAMP",
+          "prefix": [
+            {
+              "description": "sonde twamp sur zip intf eth5",
+              "prefix": "10.185.13.74/32"
+            }, {
+              "description": "sonde twamp sur zip intf eth6",
+              "prefix": "10.185.13.78/32"
+            }
+          ],
+          "udp_port": "64364"
+        }
+      }
+    }
+  }
+}
diff --git a/tests/fixtures/parsed_results/admin_display/vrrp_configuration.json b/tests/fixtures/parsed_results/admin_display/vrrp_configuration.json
index 070d49e..780194e 100644
--- a/tests/fixtures/parsed_results/admin_display/vrrp_configuration.json
+++ b/tests/fixtures/parsed_results/admin_display/vrrp_configuration.json
@@ -1,1 +1,35 @@
-[{"configure": {"vrrp": {"policy": [{"delta-in-use-limit": "100", "id": "1106", "priority-event": {"lag-port-down": {"hold-clear": "180", "id": "36", "number-down": {"id": "1", "priority": "100"}}}}, {"delta-in-use-limit": "100", "id": "4065", "priority-event": {"lag-port-down": {"hold-clear": "180", "id": "243", "number-down": {"id": "1", "priority": "100"}}}}]}}}]
\ No newline at end of file
+{
+  "configure": {
+    "vrrp": {
+      "policy": [
+        {
+          "delta-in-use-limit": "100",
+          "id": "1106",
+          "priority-event": {
+            "lag-port-down": {
+              "hold-clear": "180",
+              "id": "36",
+              "number-down": {
+                "id": "1",
+                "priority": "100"
+              }
+            }
+          }
+        }, {
+          "delta-in-use-limit": "100",
+          "id": "4065",
+          "priority-event": {
+            "lag-port-down": {
+              "hold-clear": "180",
+              "id": "243",
+              "number-down": {
+                "id": "1",
+                "priority": "100"
+              }
+            }
+          }
+        }
+      ]
+    }
+  }
+}
diff --git a/tests/fixtures/parsed_results/show_cmds/file_dir.json b/tests/fixtures/parsed_results/show_cmds/file_dir.json
index 2ab149f..c1ff939 100644
--- a/tests/fixtures/parsed_results/show_cmds/file_dir.json
+++ b/tests/fixtures/parsed_results/show_cmds/file_dir.json
@@ -1,101 +1,94 @@
-[
-   {
-      "cf-contents":{
-         "directory":{
-            "cf-card":"cf3",
-            "count":{
-               "bytes-free":"789516288",
-               "bytes-used":"14330",
-               "total-dirs":"5",
-               "total-files":"7"
-            },
-            "directories":[
-               {
-                  "DIR":true,
-                  "date":"11/06/2020",
-                  "directory":".ssh/",
-                  "time":"06:52a"
-               },
-               {
-                  "DIR":true,
-                  "date":"06/17/2020",
-                  "directory":"SYSLINUX/",
-                  "time":"02:06p"
-               },
-               {
-                  "DIR":true,
-                  "date":"06/17/2020",
-                  "directory":"TIMOS/",
-                  "time":"02:06p"
-               },
-               {
-                  "DIR":true,
-                  "date":"12/30/2020",
-                  "directory":"certs/",
-                  "time":"06:32p"
-               },
-               {
-                  "DIR":true,
-                  "date":"11/13/2020",
-                  "directory":"system-pki/",
-                  "time":"02:17a"
-               }
-            ],
-            "files":[
-               {
-                  "date":"06/17/2020",
-                  "filename":"CONFIG.CFG",
-                  "size":"0",
-                  "time":"02:06p"
-               },
-               {
-                  "date":"06/17/2020",
-                  "filename":"NVRAM.DAT",
-                  "size":"101",
-                  "time":"02:06p"
-               },
-               {
-                  "date":"11/14/2020",
-                  "filename":"bof.cfg",
-                  "size":"682",
-                  "time":"02:53a"
-               },
-               {
-                  "date":"12/26/2020",
-                  "filename":"bootlog.txt",
-                  "size":"6614",
-                  "time":"02:39p"
-               },
-               {
-                  "date":"12/26/2020",
-                  "filename":"bootlog_prev.txt",
-                  "size":"6614",
-                  "time":"02:35p"
-               },
-               {
-                  "date":"12/26/2020",
-                  "filename":"nvsys.info",
-                  "size":"317",
-                  "time":"02:38p"
-               },
-               {
-                  "date":"12/26/2020",
-                  "filename":"restcntr.txt",
-                  "size":"2",
-                  "time":"02:38p"
-               }
-            ]
-         },
-         "volume":[
-            {
-               "slot":"A",
-               "volume":"in drive cf3 on slot A is SROS VM."
-            },
-            {
-               "slot":"A",
-               "volume":"in drive cf3 on slot A is formatted as FAT32"
-            }
-         ]
+{
+  "cf-contents": {
+    "directory": {
+      "cf-card": "cf3",
+      "count": {
+        "bytes-free": "789516288",
+        "bytes-used": "14330",
+        "total-dirs": "5",
+        "total-files": "7"
+      },
+      "directories": [
+        {
+          "DIR": true,
+          "date": "11/06/2020",
+          "directory": ".ssh/",
+          "time": "06:52a"
+        },
+        {
+          "DIR": true,
+          "date": "06/17/2020",
+          "directory": "SYSLINUX/",
+          "time": "02:06p"
+        },
+        {
+          "DIR": true,
+          "date": "06/17/2020",
+          "directory": "TIMOS/",
+          "time": "02:06p"
+        },
+        {
+          "DIR": true,
+          "date": "12/30/2020",
+          "directory": "certs/",
+          "time": "06:32p"
+        }, {
+          "DIR": true,
+          "date": "11/13/2020",
+          "directory": "system-pki/",
+          "time": "02:17a"
+        }
+      ],
+      "files": [
+        {
+          "date": "06/17/2020",
+          "filename": "CONFIG.CFG",
+          "size": "0",
+          "time": "02:06p"
+        },
+        {
+          "date": "06/17/2020",
+          "filename": "NVRAM.DAT",
+          "size": "101",
+          "time": "02:06p"
+        },
+        {
+          "date": "11/14/2020",
+          "filename": "bof.cfg",
+          "size": "682",
+          "time": "02:53a"
+        },
+        {
+          "date": "12/26/2020",
+          "filename": "bootlog.txt",
+          "size": "6614",
+          "time": "02:39p"
+        }, {
+          "date": "12/26/2020",
+          "filename": "bootlog_prev.txt",
+          "size": "6614",
+          "time": "02:35p"
+        }, {
+          "date": "12/26/2020",
+          "filename": "nvsys.info",
+          "size": "317",
+          "time": "02:38p"
+        }, {
+          "date": "12/26/2020",
+          "filename": "restcntr.txt",
+          "size": "2",
+          "time": "02:38p"
+        }
+      ]
+    },
+    "volume": [
+      {
+        "slot": "A",
+        "volume": "in drive cf3 on slot A is SROS VM."
+      }, {
+        "slot": "A",
+        "volume": "in drive cf3 on slot A is formatted as FAT32"
       }
-   }
-]
\ No newline at end of file
+    ]
+  }
+}
diff --git a/tests/fixtures/parsed_results/show_cmds/show_bof.json b/tests/fixtures/parsed_results/show_cmds/show_bof.json
index 24a6ba5..ec8b731 100644
--- a/tests/fixtures/parsed_results/show_cmds/show_bof.json
+++ b/tests/fixtures/parsed_results/show_cmds/show_bof.json
@@ -1,51 +1,45 @@
-[
-   {
-      "bof":{
-         "address":[
-            {
-               "address":"192.168.1.1",
-               "prefix-length":"23"
-            },
-            {
-               "address":"1001:1000:2a65:2000:0FA:413::6",
-               "prefix-length":"64"
-            }
-         ],
-         "autonegotiate":true,
-         "console-speed":"115200",
-         "dns-domain":"admin-save.com",
-         "duplex":"full",
-         "image":{
-            "cf-card":"cf3",
-            "primary-image":"7705-TiMOS-9.0.R9"
-         },
-         "persist":"off",
-         "primary-config":{
-            "cf-card":"cf3",
-            "primary-config":"EXAMPLEPHX-P-AL-7705-01.txt.cfg"
-         },
-         "primary-dns":"192.168.1.1",
-         "secondary-dns":"8.8.8.8",
-         "speed":"100",
-         "static-route":[
-            {
-               "network":"0.0.0.0/1",
-               "next-hop":"192.168.100.1"
-            },
-            {
-               "network":"128.0.0.0/1",
-               "next-hop":"192.168.100.1"
-            },
-            {
-               "network":"1001:1000:0A00::/40",
-               "next-hop":"1001:1000:2a69:2000:0FA:420::FFFF"
-            },
-            {
-               "network":"1001:1000:2A00::/40",
-               "next-hop":"1001:1000:2a69:2000:0FA:420::FFFF"
-            }
-         ],
-         "wait":"3"
+{
+  "bof": {
+    "address": [
+      {
+        "address": "192.168.1.1",
+        "prefix-length": "23"
+      }, {
+        "address": "1001:1000:2a65:2000:0FA:413::6",
+        "prefix-length": "64"
       }
-   }
-]
\ No newline at end of file
+    ],
+    "autonegotiate": true,
+    "console-speed": "115200",
+    "dns-domain": "admin-save.com",
+    "duplex": "full",
+    "image": {
+      "cf-card": "cf3",
+      "primary-image": "7705-TiMOS-9.0.R9"
+    },
+    "persist": "off",
+    "primary-config": {
+      "cf-card": "cf3",
+      "primary-config": "EXAMPLEPHX-P-AL-7705-01.txt.cfg"
+    },
+    "primary-dns": "192.168.1.1",
+    "secondary-dns": "8.8.8.8",
+    "speed": "100",
+    "static-route": [
+      {
+        "network": "0.0.0.0/1",
+        "next-hop": "192.168.100.1"
+      }, {
+        "network": "128.0.0.0/1",
+        "next-hop": "192.168.100.1"
+      }, {
+        "network": "1001:1000:0A00::/40",
+        "next-hop": "1001:1000:2a69:2000:0FA:420::FFFF"
+      }, {
+        "network": "1001:1000:2A00::/40",
+        "next-hop": "1001:1000:2a69:2000:0FA:420::FFFF"
+      }
+    ],
+    "wait": "3"
+  }
+}
diff --git a/tests/fixtures/parsed_results/show_cmds/show_router_interface.json b/tests/fixtures/parsed_results/show_cmds/show_router_interface.json
index 8fbe258..8e88659 100644
--- a/tests/fixtures/parsed_results/show_cmds/show_router_interface.json
+++ b/tests/fixtures/parsed_results/show_cmds/show_router_interface.json
@@ -1,149 +1,136 @@
-[
-   {
-      "router":[
-         {
-            "interfaces":{
-               "L3-TELCO-IXR01-1":{
-                  "address":[
-                     {
-                        "pfx-state":"INACCESSIBLE",
-                        "prefix":"2001:1000:2062:357a:646:100:0:1",
-                        "prefix-length":"64"
-                     },
-                     {
-                        "pfx-state":"INACCESSIBLE",
-                        "prefix":"2001:1666:2062:357a:646:100:0:1",
-                        "prefix-length":"64"
-                     },
-                     {
-                        "pfx-state":"INACCESSIBLE",
-                        "prefix":"fe80::645:100:0:1",
-                        "prefix-length":"64"
-                     }
-                  ],
-                  "admin-state":"Up",
-                  "ipv4":"Down",
-                  "ipv6":"Down",
-                  "mode":"IES",
-                  "port-sap-id":"lag-1:300"
-               },
-               "L3-TELCO-IXR02-1":{
-                  "address":[
-                     {
-                        "pfx-state":"PREFERRED",
-                        "prefix":"2001:1666:2062:4222:649:100:0:1",
-                        "prefix-length":"64"
-                     },
-                     {
-                        "pfx-state":"PREFERRED",
-                        "prefix":"fe80::645:100:0:1",
-                        "prefix-length":"64"
-                     }
-                  ],
-                  "admin-state":"Up",
-                  "ipv4":"Down",
-                  "ipv6":"Up",
-                  "mode":"IES",
-                  "port-sap-id":"lag-2:300"
-               },
-               "L3-TELCO-eNodeB0420-DUL-01":{
-                  "address":[
-                     {
-                        "pfx-state":"n/a",
-                        "prefix":"10.0.0.0",
-                        "prefix-length":"31"
-                     },
-                     {
-                        "pfx-state":"PREFERRED",
-                        "prefix":"2001:1000:2062:24ae:649:100::",
-                        "prefix-length":"64"
-                     },
-                     {
-                        "pfx-state":"PREFERRED",
-                        "prefix":"fe80::c8:ffff:fe00:0",
-                        "prefix-length":"64"
-                     }
-                  ],
-                  "admin-state":"Up",
-                  "ipv4":"Up",
-                  "ipv6":"Up",
-                  "mode":"IES",
-                  "port-sap-id":"1/1/c2/1:301"
-               },
-               "system":{
-                  "address":[
-                     {
-                        "pfx-state":"n/a",
-                        "prefix":"10.100.43.69",
-                        "prefix-length":"32"
-                     },
-                     {
-                        "pfx-state":"PREFERRED",
-                        "prefix":"2001:4777:2062:2000:645:100:0:19f",
-                        "prefix-length":"128"
-                     }
-                  ],
-                  "admin-state":"Up",
-                  "ipv4":"Up",
-                  "ipv6":"Up",
-                  "mode":"Network",
-                  "port-sap-id":"system"
-               },
-               "to-7750-01":{
-                  "address":[
-                     {
-                        "pfx-state":"n/a",
-                        "prefix":"172.20.200.69",
-                        "prefix-length":"31"
-                     },
-                     {
-                        "pfx-state":"PREFERRED",
-                        "prefix":"2001:1666:206a:335d:645:100:0:1",
-                        "prefix-length":"64"
-                     },
-                     {
-                        "pfx-state":"PREFERRED",
-                        "prefix":"fe80::c8:ffff:fe00:0",
-                        "prefix-length":"64"
-                     }
-                  ],
-                  "admin-state":"Up",
-                  "ipv4":"Up",
-                  "ipv6":"Up",
-                  "mode":"Network",
-                  "port-sap-id":"1/1/c4/1:3415"
-               },
-               "to-BTS0420-7750-H2":{
-                  "address":[
-                     {
-                        "pfx-state":"n/a",
-                        "prefix":"172.20.200.1",
-                        "prefix-length":"31"
-                     },
-                     {
-                        "pfx-state":"INACCESSIBLE",
-                        "prefix":"2001:1666:206a:335f:645:100::",
-                        "prefix-length":"64"
-                     },
-                     {
-                        "pfx-state":"INACCESSIBLE",
-                        "prefix":"fe80::c8:ffff:fe00:14b",
-                        "prefix-length":"64"
-                     }
-                  ],
-                  "admin-state":"Up",
-                  "ipv4":"Down",
-                  "ipv6":"Down",
-                  "mode":"Network",
-                  "port-sap-id":"lag-11:4094"
-               }
+{
+  "router": [
+    {
+      "interfaces": {
+        "L3-TELCO-IXR01-1": {
+          "address": [
+            {
+              "pfx-state": "INACCESSIBLE",
+              "prefix": "2001:1000:2062:357a:646:100:0:1",
+              "prefix-length": "64"
+            }, {
+              "pfx-state": "INACCESSIBLE",
+              "prefix": "2001:1666:2062:357a:646:100:0:1",
+              "prefix-length": "64"
+            }, {
+              "pfx-state": "INACCESSIBLE",
+              "prefix": "fe80::645:100:0:1",
+              "prefix-length": "64"
             }
-         },
-         {
-            "count":{
-               "total":"6"
+          ],
+          "admin-state": "Up",
+          "ipv4": "Down",
+          "ipv6": "Down",
+          "mode": "IES",
+          "port-sap-id": "lag-1:300"
+        },
+        "L3-TELCO-IXR02-1": {
+          "address": [
+            {
+              "pfx-state": "PREFERRED",
+              "prefix": "2001:1666:2062:4222:649:100:0:1",
+              "prefix-length": "64"
+            }, {
+              "pfx-state": "PREFERRED",
+              "prefix": "fe80::645:100:0:1",
+              "prefix-length": "64"
             }
-         }
-      ]
-   }
-]
\ No newline at end of file
+          ],
+          "admin-state": "Up",
+          "ipv4": "Down",
+          "ipv6": "Up",
+          "mode": "IES",
+          "port-sap-id": "lag-2:300"
+        },
+        "L3-TELCO-eNodeB0420-DUL-01": {
+          "address": [
+            {
+              "pfx-state": "n/a",
+              "prefix": "10.0.0.0",
+              "prefix-length": "31"
+            }, {
+              "pfx-state": "PREFERRED",
+              "prefix": "2001:1000:2062:24ae:649:100::",
+              "prefix-length": "64"
+            }, {
+              "pfx-state": "PREFERRED",
+              "prefix": "fe80::c8:ffff:fe00:0",
+              "prefix-length": "64"
+            }
+          ],
+          "admin-state": "Up",
+          "ipv4": "Up",
+          "ipv6": "Up",
+          "mode": "IES",
+          "port-sap-id": "1/1/c2/1:301"
+        },
+        "system": {
+          "address": [
+            {
+              "pfx-state": "n/a",
+              "prefix": "10.100.43.69",
+              "prefix-length": "32"
+            }, {
+              "pfx-state": "PREFERRED",
+              "prefix": "2001:4777:2062:2000:645:100:0:19f",
+              "prefix-length": "128"
+            }
+          ],
+          "admin-state": "Up",
+          "ipv4": "Up",
+          "ipv6": "Up",
+          "mode": "Network",
+          "port-sap-id": "system"
+        },
+        "to-7750-01": {
+          "address": [
+            {
+              "pfx-state": "n/a",
+              "prefix": "172.20.200.69",
+              "prefix-length": "31"
+            }, {
+              "pfx-state": "PREFERRED",
+              "prefix": "2001:1666:206a:335d:645:100:0:1",
+              "prefix-length": "64"
+            }, {
+              "pfx-state": "PREFERRED",
+              "prefix": "fe80::c8:ffff:fe00:0",
+              "prefix-length": "64"
+            }
+          ],
+          "admin-state": "Up",
+          "ipv4": "Up",
+          "ipv6": "Up",
+          "mode": "Network",
+          "port-sap-id": "1/1/c4/1:3415"
+        },
+        "to-BTS0420-7750-H2": {
+          "address": [
+            {
+              "pfx-state": "n/a",
+              "prefix": "172.20.200.1",
+              "prefix-length": "31"
+            }, {
+              "pfx-state": "INACCESSIBLE",
+              "prefix": "2001:1666:206a:335f:645:100::",
+              "prefix-length": "64"
+            }, {
+              "pfx-state": "INACCESSIBLE",
+              "prefix": "fe80::c8:ffff:fe00:14b",
+              "prefix-length": "64"
+            }
+          ],
+          "admin-state": "Up",
+          "ipv4": "Down",
+          "ipv6": "Down",
+          "mode": "Network",
+          "port-sap-id": "lag-11:4094"
+        }
+      }
+    }, {
+      "count": {
+        "total": "6"
+      }
+    }
+  ]
+}
diff --git a/tests/fixtures/parsed_results/show_cmds/show_router_route_table.json b/tests/fixtures/parsed_results/show_cmds/show_router_route_table.json
index ebc3c52..aa87f8b 100644
--- a/tests/fixtures/parsed_results/show_cmds/show_router_route_table.json
+++ b/tests/fixtures/parsed_results/show_cmds/show_router_route_table.json
@@ -1,58 +1,52 @@
-[
-   {
-      "show_route_table":{
-         "instance":"Base",
-         "route_table":"Route Table",
-         "router":"Router",
-         "routes":[
-            {
-               "age":"00h08m58s",
-               "dest_prefix":"10.1.3.0/24",
-               "pref":"0",
-               "protocol":"Local",
-               "type":"Local"
-            },
-            {
-               "metric":"0",
-               "next_hop":"TO_R1"
-            },
-            {
-               "age":"00h08m58s",
-               "dest_prefix":"10.3.4.0/24",
-               "pref":"0",
-               "protocol":"Local",
-               "type":"Local"
-            },
-            {
-               "metric":"0",
-               "next_hop":"TO_R4"
-            },
-            {
-               "age":"00h08m58s",
-               "dest_prefix":"10.3.8.0/24",
-               "pref":"0",
-               "protocol":"Local",
-               "type":"Local"
-            },
-            {
-               "metric":"0",
-               "next_hop":"TO_IOSXR"
-            },
-            {
-               "age":"00h10m04s",
-               "dest_prefix":"10.10.10.3/32",
-               "pref":"0",
-               "protocol":"Local",
-               "type":"Local"
-            },
-            {
-               "metric":"0",
-               "next_hop":"system"
-            }
-         ],
-         "total_count":{
-            "count":"4"
-         }
+{
+  "show_route_table": {
+    "instance": "Base",
+    "route_table": "Route Table",
+    "router": "Router",
+    "routes": [
+      {
+        "age": "00h08m58s",
+        "dest_prefix": "10.1.3.0/24",
+        "pref": "0",
+        "protocol": "Local",
+        "type": "Local"
+      },
+      {
+        "metric": "0",
+        "next_hop": "TO_R1"
+      },
+      {
+        "age": "00h08m58s",
+        "dest_prefix": "10.3.4.0/24",
+        "pref": "0",
+        "protocol": "Local",
+        "type": "Local"
+      },
+      {
+        "metric": "0",
+        "next_hop": "TO_R4"
+      }, {
+        "age": "00h08m58s",
+        "dest_prefix": "10.3.8.0/24",
+        "pref": "0",
+        "protocol": "Local",
+        "type": "Local"
+      }, {
+        "metric": "0",
+        "next_hop": "TO_IOSXR"
+      }, {
+        "age": "00h10m04s",
+        "dest_prefix": "10.10.10.3/32",
+        "pref": "0",
+        "protocol": "Local",
+        "type": "Local"
+      }, {
+        "metric": "0",
+        "next_hop": "system"
       }
-   }
-]
\ No newline at end of file
+    ],
+    "total_count": {
+      "count": "4"
+    }
+  }
+}
diff --git a/tests/fixtures/parsed_results/show_cmds/show_service_service_using.json b/tests/fixtures/parsed_results/show_cmds/show_service_service_using.json
index 4faa3e3..9999002 100644
--- a/tests/fixtures/parsed_results/show_cmds/show_service_service_using.json
+++ b/tests/fixtures/parsed_results/show_cmds/show_service_service_using.json
@@ -1,35 +1,31 @@
-[
-   {
-      "service-using":{
-         "count":{
-            "total-services":"3"
-         },
-         "services":[
-            {
-               "admin-state":"Down",
-               "customer-id":"1",
-               "operational-state":"Down",
-               "service-id":"100",
-               "service-name":"100",
-               "service-type":"VPRN"
-            },
-            {
-               "admin-state":"Up",
-               "customer-id":"1",
-               "operational-state":"Down",
-               "service-id":"2147483648",
-               "service-name":"_tmnx_InternalIesService",
-               "service-type":"IES"
-            },
-            {
-               "admin-state":"Up",
-               "customer-id":"1",
-               "operational-state":"Down",
-               "service-id":"2147483649",
-               "service-name":"_tmnx_InternalVplsService",
-               "service-type":"intVpls"
-            }
-         ]
+{
+  "service-using": {
+    "count": {
+      "total-services": "3"
+    },
+    "services": [
+      {
+        "admin-state": "Down",
+        "customer-id": "1",
+        "operational-state": "Down",
+        "service-id": "100",
+        "service-name": "100",
+        "service-type": "VPRN"
+      }, {
+        "admin-state": "Up",
+        "customer-id": "1",
+        "operational-state": "Down",
+        "service-id": "2147483648",
+        "service-name": "_tmnx_InternalIesService",
+        "service-type": "IES"
+      }, {
+        "admin-state": "Up",
+        "customer-id": "1",
+        "operational-state": "Down",
+        "service-id": "2147483649",
+        "service-name": "_tmnx_InternalVplsService",
+        "service-type": "intVpls"
       }
-   }
-]
\ No newline at end of file
+    ]
+  }
+}
diff --git a/tests/fixtures/parsed_results/show_cmds/show_static_route_v4.json b/tests/fixtures/parsed_results/show_cmds/show_static_route_v4.json
index 8ad82ab..0b001a7 100644
--- a/tests/fixtures/parsed_results/show_cmds/show_static_route_v4.json
+++ b/tests/fixtures/parsed_results/show_cmds/show_static_route_v4.json
@@ -1,37 +1,33 @@
-[
-   {
-      "static_route":{
-         "ipv4":{
-            "count":{
-               "total_routes":"3"
-            },
-            "entry":[
-               {
-                  "active":"Y",
-                  "ipaddress":"10.115.5.0/24",
-                  "metric":"1",
-                  "preference":"5",
-                  "tag":"1000",
-                  "type":"BH"
-               },
-               {
-                  "active":"Y",
-                  "ipaddress":"10.115.46.0/24",
-                  "metric":"1",
-                  "preference":"5",
-                  "tag":"1000",
-                  "type":"BH"
-               },
-               {
-                  "active":"Y",
-                  "ipaddress":"10.119.238.0/24",
-                  "metric":"1",
-                  "preference":"5",
-                  "tag":"1000",
-                  "type":"BH"
-               }
-            ]
-         }
-      }
-   }
-]
\ No newline at end of file
+{
+  "static_route": {
+    "ipv4": {
+      "count": {
+        "total_routes": "3"
+      },
+      "entry": [
+        {
+          "active": "Y",
+          "ipaddress": "10.115.5.0/24",
+          "metric": "1",
+          "preference": "5",
+          "tag": "1000",
+          "type": "BH"
+        }, {
+          "active": "Y",
+          "ipaddress": "10.115.46.0/24",
+          "metric": "1",
+          "preference": "5",
+          "tag": "1000",
+          "type": "BH"
+        }, {
+          "active": "Y",
+          "ipaddress": "10.119.238.0/24",
+          "metric": "1",
+          "preference": "5",
+          "tag": "1000",
+          "type": "BH"
+        }
+      ]
+    }
+  }
+}
diff --git a/tests/fixtures/parsed_results/show_cmds/show_static_route_v6.json b/tests/fixtures/parsed_results/show_cmds/show_static_route_v6.json
index b1e4b76..d95dc92 100644
--- a/tests/fixtures/parsed_results/show_cmds/show_static_route_v6.json
+++ b/tests/fixtures/parsed_results/show_cmds/show_static_route_v6.json
@@ -1,49 +1,45 @@
-[
-   {
-      "static_route":{
-         "ipv6":{
-            "count":{
-               "total-routes":"3"
-            },
-            "entry":[
-               {
-                  "active":"Y",
-                  "ipaddress":"2001:4888:26f:4500::/56",
-                  "metric":"1",
-                  "next-hop":{
-                     "interface":"n/a",
-                     "next-hop":"n/a"
-                  },
-                  "preference":"5",
-                  "tag":"1000",
-                  "type":"BH"
-               },
-               {
-                  "active":"Y",
-                  "ipaddress":"2001:4888:2000:0:646:2a0::/112",
-                  "metric":"1",
-                  "next-hop":{
-                     "interface":"n/a",
-                     "next-hop":"n/a"
-                  },
-                  "preference":"5",
-                  "tag":"1000",
-                  "type":"BH"
-               },
-               {
-                  "active":"Y",
-                  "ipaddress":"2001:4888:2062::/52",
-                  "metric":"1",
-                  "next-hop":{
-                     "interface":"n/a",
-                     "next-hop":"n/a"
-                  },
-                  "preference":"5",
-                  "tag":"1000",
-                  "type":"BH"
-               }
-            ]
-         }
-      }
-   }
-]
\ No newline at end of file
+{
+  "static_route": {
+    "ipv6": {
+      "count": {
+        "total-routes": "3"
+      },
+      "entry": [
+        {
+          "active": "Y",
+          "ipaddress": "2001:4888:26f:4500::/56",
+          "metric": "1",
+          "next-hop": {
+            "interface": "n/a",
+            "next-hop": "n/a"
+          },
+          "preference": "5",
+          "tag": "1000",
+          "type": "BH"
+        }, {
+          "active": "Y",
+          "ipaddress": "2001:4888:2000:0:646:2a0::/112",
+          "metric": "1",
+          "next-hop": {
+            "interface": "n/a",
+            "next-hop": "n/a"
+          },
+          "preference": "5",
+          "tag": "1000",
+          "type": "BH"
+        }, {
+          "active": "Y",
+          "ipaddress": "2001:4888:2062::/52",
+          "metric": "1",
+          "next-hop": {
+            "interface": "n/a",
+            "next-hop": "n/a"
+          },
+          "preference": "5",
+          "tag": "1000",
+          "type": "BH"
+        }
+      ]
+    }
+  }
+}
diff --git a/tests/unit/test_7750_only.py b/tests/unit/test_7750_only.py
index b967069..8d38b16 100644
--- a/tests/unit/test_7750_only.py
+++ b/tests/unit/test_7750_only.py
@@ -31,8 +31,8 @@ def test_get_lags_group2(sros_parser_7750_R2, parsed_lags_1):
     """
     result = sros_parser_7750_R2.get_lags()
     assert result == parsed_lags_1
-    assert len(result[0]["configure"]["lag"]) == 6
-    assert result[0]["configure"]["lag"][5]["name"] == "myLag105"
+    assert len(result["configure"]["lag"]) == 6
+    assert result["configure"]["lag"][5]["name"] == "myLag105"
 
 
 # add testting for get_python_declaration_configuration
diff --git a/tests/unit/test_ttp_sros_parser.py b/tests/unit/test_ttp_sros_parser.py
index 0ad5688..3ad6df8 100644
--- a/tests/unit/test_ttp_sros_parser.py
+++ b/tests/unit/test_ttp_sros_parser.py
@@ -40,7 +40,9 @@ def test_get_system_configuration(sros_parser, parsed_system_configuration):
 def test_get_full_config(sros_parser):
     """A full config top level keys."""
     result = sros_parser.get_full_config()
-    assert [keys for keys in result[0].keys()] == ["configure", "router", "system"]
+    assert [keys for keys in result.keys()] == ["configure", "router", "system"]
+    # assert result["configure"]["router"]["twamp_light"]
+    # assert "10.114.45.1" in result["configure"]["system"]["ntp"]["server"]["address"]
 
 
 def test_get_system_hostname(sros_parser):
@@ -83,7 +85,7 @@ def test_get_custom_template(sros_parser):
     """
     template = "ttp_sros_parser/templates/custom/sros_custom_hostname_asn.ttp"
     result = sros_parser.get_custom_template(template_path=template)
-    custom = [{"asn": {"router": {"autonomous-system": "64500"}}, "system": {"hostname": "EXAMPLEPHX-P-AL-7750-01"}}]
+    custom = {"asn": {"router": {"autonomous-system": "64500"}}, "system": {"hostname": "EXAMPLEPHX-P-AL-7750-01"}}
     assert result == custom
 
 
@@ -92,7 +94,7 @@ def test_get_system_service_sdp(sros_parser, parsed_system_sdp):
     Test extracting system SDPs
     """
     result = sros_parser.get_system_service_sdp()
-    assert result, parsed_system_sdp
+    assert result == parsed_system_sdp
 
 
 def test_get_router_static_routes(sros_parser, parsed_static_routes):
@@ -120,7 +122,6 @@ def test_get_ports(sros_parser, parsed_ports):
 
 
 def test_get_log_configuration(sros_parser, parsed_log):
-
     """
     Test parsing log configuration
     """
diff --git a/tests/unit/test_ttp_sros_show_outputs.py b/tests/unit/test_ttp_sros_show_outputs.py
index 95e5da4..c3d6895 100644
--- a/tests/unit/test_ttp_sros_show_outputs.py
+++ b/tests/unit/test_ttp_sros_show_outputs.py
@@ -33,7 +33,6 @@ def test_show_router_interface(parsed_show_router_int):
 
 
 def test_show_service_service_using(parsed_show_service_using):
-
     """
     Test parsing show service service using show command
     """