From 8b120b0177d0d28fa6f4906796e0692a9e3e512e Mon Sep 17 00:00:00 2001
From: Pranab Das <31024886+pranabdas@users.noreply.github.com>
Date: Fri, 1 Mar 2024 19:18:34 +0800
Subject: [PATCH 01/19] SOF-6927: update libs for spin magnetic calculation

---
 package-lock.json | 11 +++++------
 package.json      |  2 +-
 2 files changed, 6 insertions(+), 7 deletions(-)

diff --git a/package-lock.json b/package-lock.json
index 84476f4..46e4ccf 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -548,9 +548,9 @@
             },
             "dependencies": {
                 "@babel/helper-plugin-utils": {
-                    "version": "7.22.5",
-                    "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz",
-                    "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==",
+                    "version": "7.24.0",
+                    "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.0.tgz",
+                    "integrity": "sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==",
                     "dev": true
                 }
             }
@@ -1264,9 +1264,8 @@
             }
         },
         "@exabyte-io/application-flavors.js": {
-            "version": "2024.2.27-1",
-            "resolved": "https://registry.npmjs.org/@exabyte-io/application-flavors.js/-/application-flavors.js-2024.2.27-1.tgz",
-            "integrity": "sha512-aZ6TCg4x1ImVrC8cqM1TSIEedbwsiMgNhwsDW8KsTwm6O5nzwLb7mCBxsTVWljmdilq769K8XEfcTSEbyWnFVQ==",
+            "version": "git+https://github.com/Exabyte-io/application-flavors.git#b25b433276e4b874de525b44ad6f9a6e8624aa6d",
+            "from": "git+https://github.com/Exabyte-io/application-flavors.git#b25b433276e4b874de525b44ad6f9a6e8624aa6d",
             "dev": true,
             "requires": {
                 "@babel/cli": "7.16.0",
diff --git a/package.json b/package.json
index 8f2ba3d..8522711 100644
--- a/package.json
+++ b/package.json
@@ -47,7 +47,7 @@
         "@exabyte-io/code.js": "2023.11.22-0",
         "@exabyte-io/eslint-config": "^2022.11.17-0",
         "@exabyte-io/made.js": "2022.6.15-0",
-        "@exabyte-io/application-flavors.js": "2024.2.27-1",
+        "@exabyte-io/application-flavors.js": "git+https://github.com/Exabyte-io/application-flavors.git#b25b433276e4b874de525b44ad6f9a6e8624aa6d",
         "chai": "^4.3.4",
         "eslint": "7.32.0",
         "eslint-config-airbnb": "19.0.2",

From aa8a4e56abd634e7a5c74b12c9a8691a1436a5ff Mon Sep 17 00:00:00 2001
From: Pranab Das <31024886+pranabdas@users.noreply.github.com>
Date: Tue, 5 Mar 2024 21:40:42 +0800
Subject: [PATCH 02/19] SOF-6927: update made.js

---
 package-lock.json | 389 ++++++++++++++++++++++++----------------------
 package.json      |   2 +-
 2 files changed, 203 insertions(+), 188 deletions(-)

diff --git a/package-lock.json b/package-lock.json
index 46e4ccf..0773070 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1098,9 +1098,9 @@
             }
         },
         "@babel/runtime-corejs2": {
-            "version": "7.23.4",
-            "resolved": "https://registry.npmjs.org/@babel/runtime-corejs2/-/runtime-corejs2-7.23.4.tgz",
-            "integrity": "sha512-w10wlnER4ZJ60UlxQWiDhaD1nxHrJ3YgGK2V5iws7a07Q1+vQw4eL54kdtuPIadE3LkeG/Xtg+TEI5zWgjYEjw==",
+            "version": "7.24.0",
+            "resolved": "https://registry.npmjs.org/@babel/runtime-corejs2/-/runtime-corejs2-7.24.0.tgz",
+            "integrity": "sha512-RZVGq1it0GA1K8rb+z7v7NzecP6VYCMedN7yHsCCIQUMmRXFCPJD8GISdf6uIGj7NDDihg7ieQEzpdpQbUL75Q==",
             "dev": true,
             "requires": {
                 "core-js": "^2.6.12",
@@ -1108,9 +1108,9 @@
             },
             "dependencies": {
                 "regenerator-runtime": {
-                    "version": "0.14.0",
-                    "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz",
-                    "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==",
+                    "version": "0.14.1",
+                    "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz",
+                    "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==",
                     "dev": true
                 }
             }
@@ -1399,12 +1399,6 @@
                     "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
                     "dev": true
                 },
-                "crypto-js": {
-                    "version": "4.2.0",
-                    "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-4.2.0.tgz",
-                    "integrity": "sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q==",
-                    "dev": true
-                },
                 "js-yaml": {
                     "version": "4.1.0",
                     "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
@@ -1415,9 +1409,9 @@
                     }
                 },
                 "semver": {
-                    "version": "7.5.4",
-                    "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
-                    "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
+                    "version": "7.6.0",
+                    "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz",
+                    "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==",
                     "dev": true,
                     "requires": {
                         "lru-cache": "^6.0.0"
@@ -1490,61 +1484,43 @@
             }
         },
         "@exabyte-io/made.js": {
-            "version": "2022.6.15-0",
-            "resolved": "https://registry.npmjs.org/@exabyte-io/made.js/-/made.js-2022.6.15-0.tgz",
-            "integrity": "sha512-pAaexkSt2K0s/U8KKwlE11q++AMgeRqlLUaBehEUc7lCZ96tbmmqUEqM5o3O/BDVUO6vXbbgW52NupEo9txy1g==",
+            "version": "git+https://github.com/Exabyte-io/made.js.git#4cba6aba4f289dbd4eef232bc44533fba1457532",
+            "from": "git+https://github.com/Exabyte-io/made.js.git#4cba6aba4f289dbd4eef232bc44533fba1457532",
             "dev": true,
             "requires": {
-                "@babel/cli": "^7.16.0",
                 "@babel/core": "^7.16.0",
-                "@babel/eslint-parser": "^7.16.3",
-                "@babel/plugin-proposal-class-properties": "^7.16.0",
-                "@babel/preset-env": "^7.16.4",
-                "@babel/register": "^7.16.0",
-                "@exabyte-io/code.js": "2022.6.15-1",
-                "@exabyte-io/periodic-table.js": "2022.5.5-2",
+                "@exabyte-io/periodic-table.js": "2022.5.28-0",
+                "@types/chai": "^4.3.5",
+                "@types/mocha": "^10.0.1",
+                "@types/node": "^20.4.2",
+                "@types/underscore": "^1.11.6",
+                "@types/underscore.string": "^0.0.40",
                 "array-almost-equal": "^1.0.0",
                 "crypto-js": "^3.1.9-1",
-                "lodash": "^4.17.4",
+                "lodash": "^4.17.*",
                 "mathjs": "^3.9.0",
-                "mixwith": "^0.1.1",
+                "typescript": "^4.5.5",
                 "underscore": "^1.8.3",
                 "underscore.string": "^3.3.4"
             },
             "dependencies": {
-                "@exabyte-io/code.js": {
-                    "version": "2022.6.15-1",
-                    "resolved": "https://registry.npmjs.org/@exabyte-io/code.js/-/code.js-2022.6.15-1.tgz",
-                    "integrity": "sha512-Meugu4ogq+UOCvkjfpB5l3FyXKPI4AgFkuw1VUFGXaYsJ8KeYVOLFVkNQXlHNBS7KwlJftAMHBHPZyNAMMBc7g==",
+                "@babel/register": {
+                    "version": "7.16.0",
+                    "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.16.0.tgz",
+                    "integrity": "sha512-lzl4yfs0zVXnooeLE0AAfYaT7F3SPA8yB2Bj4W1BiZwLbMS3MZH35ZvCWSRHvneUugwuM+Wsnrj7h0F7UmU3NQ==",
                     "dev": true,
                     "requires": {
-                        "@babel/cli": "7.16.0",
-                        "@babel/core": "7.16.0",
-                        "@babel/eslint-parser": "7.16.3",
-                        "@babel/plugin-proposal-class-properties": "7.16.0",
-                        "@babel/preset-env": "7.16.4",
-                        "@babel/preset-react": "7.16.7",
-                        "@babel/register": "^7.16.0",
-                        "@babel/runtime-corejs3": "7.16.8",
-                        "crypto-js": "^4.1.1",
-                        "lodash": "^4.17.21",
-                        "mathjs": "^3.9.0",
-                        "mixwith": "^0.1.1",
-                        "underscore": "^1.13.3"
-                    },
-                    "dependencies": {
-                        "crypto-js": {
-                            "version": "4.1.1",
-                            "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-4.1.1.tgz",
-                            "integrity": "sha512-o2JlM7ydqd3Qk9CA0L4NL6mTzU2sdx96a+oOfPu8Mkl/PK51vSyoi8/rQ8NknZtk44vq15lmhAj9CIAGwgeWKw==",
-                            "dev": true
-                        }
+                        "clone-deep": "^4.0.1",
+                        "find-cache-dir": "^2.0.0",
+                        "make-dir": "^2.1.0",
+                        "pirates": "^4.0.0",
+                        "source-map-support": "^0.5.16"
                     }
                 },
                 "@exabyte-io/periodic-table.js": {
-                    "version": "2022.5.5-2",
-                    "resolved": "https://registry.npmjs.org/@exabyte-io/periodic-table.js/-/periodic-table.js-2022.5.5-2.tgz",
-                    "integrity": "sha512-LhM3TygrhP1qAJHlfjDcpLHS1jFxapLIquB5a1BlgRgn7ew9V8Dvfde2NNT3gQoBL16TmXk4OiwX0ApbEGDnEA==",
+                    "version": "2022.5.28-0",
+                    "resolved": "https://registry.npmjs.org/@exabyte-io/periodic-table.js/-/periodic-table.js-2022.5.28-0.tgz",
+                    "integrity": "sha512-BA+u07dkt4e8yqcBHTv5szXXeMyNFcW0G2Ki3Vbugv6ku6dfl4+Sji8cs5PUr+hkYptc7rTg5r89lfr6Vt+oJw==",
                     "dev": true,
                     "requires": {
                         "@babel/cli": "7.16.0",
@@ -1556,19 +1532,6 @@
                         "underscore": "1.8.3"
                     },
                     "dependencies": {
-                        "@babel/register": {
-                            "version": "7.16.0",
-                            "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.16.0.tgz",
-                            "integrity": "sha512-lzl4yfs0zVXnooeLE0AAfYaT7F3SPA8yB2Bj4W1BiZwLbMS3MZH35ZvCWSRHvneUugwuM+Wsnrj7h0F7UmU3NQ==",
-                            "dev": true,
-                            "requires": {
-                                "clone-deep": "^4.0.1",
-                                "find-cache-dir": "^2.0.0",
-                                "make-dir": "^2.1.0",
-                                "pirates": "^4.0.0",
-                                "source-map-support": "^0.5.16"
-                            }
-                        },
                         "underscore": {
                             "version": "1.8.3",
                             "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.8.3.tgz",
@@ -1576,6 +1539,12 @@
                             "dev": true
                         }
                     }
+                },
+                "crypto-js": {
+                    "version": "3.3.0",
+                    "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-3.3.0.tgz",
+                    "integrity": "sha512-DIT51nX0dCfKltpRiXV+/TVZq+Qq2NgF4644+K7Ttnla7zEzqc+kjJyiB96BHNyUTBxyjzRcZYpUdZa+QAqi6Q==",
+                    "dev": true
                 }
             }
         },
@@ -1767,15 +1736,15 @@
             "dev": true
         },
         "@types/chai": {
-            "version": "4.3.11",
-            "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.11.tgz",
-            "integrity": "sha512-qQR1dr2rGIHYlJulmr8Ioq3De0Le9E4MJ5AiaeAETJJpndT1uUNHsGFK3L/UIu+rbkQSdj8J/w2bCsBZc/Y5fQ==",
+            "version": "4.3.12",
+            "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.12.tgz",
+            "integrity": "sha512-zNKDHG/1yxm8Il6uCCVsm+dRdEsJlFoDu73X17y09bId6UwoYww+vFBsAcRzl8knM1sab3Dp1VRikFQwDOtDDw==",
             "dev": true
         },
         "@types/crypto-js": {
-            "version": "4.2.1",
-            "resolved": "https://registry.npmjs.org/@types/crypto-js/-/crypto-js-4.2.1.tgz",
-            "integrity": "sha512-FSPGd9+OcSok3RsM0UZ/9fcvMOXJ1ENE/ZbLfOPlBWj7BgXtEAM8VYfTtT760GiLbQIMoVozwVuisjvsVwqYWw==",
+            "version": "4.2.2",
+            "resolved": "https://registry.npmjs.org/@types/crypto-js/-/crypto-js-4.2.2.tgz",
+            "integrity": "sha512-sDOLlVbHhXpAUAL0YHDUUwDZf3iN4Bwi4W6a0W0b+QcAezUbRtH4FVb+9J4h+XFPW7l/gQ9F8qC7P+Ec4k8QVQ==",
             "dev": true
         },
         "@types/glob": {
@@ -1825,9 +1794,9 @@
             "dev": true
         },
         "@types/node": {
-            "version": "20.9.4",
-            "resolved": "https://registry.npmjs.org/@types/node/-/node-20.9.4.tgz",
-            "integrity": "sha512-wmyg8HUhcn6ACjsn8oKYjkN/zUzQeNtMy44weTJSM6p4MMzEOuKbA3OjJ267uPCOW7Xex9dyrNTful8XTQYoDA==",
+            "version": "20.11.24",
+            "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.24.tgz",
+            "integrity": "sha512-Kza43ewS3xoLgCEpQrsT+xRo/EJej1y0kVYGiLFE1NEODXGzTfwiC6tXTLMQskn1X4/Rjlh0MQUvx9W+L9long==",
             "dev": true,
             "requires": {
                 "undici-types": "~5.26.4"
@@ -1846,9 +1815,9 @@
             "dev": true
         },
         "@types/react": {
-            "version": "18.2.38",
-            "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.38.tgz",
-            "integrity": "sha512-cBBXHzuPtQK6wNthuVMV6IjHAFkdl/FOPFIlkd81/Cd1+IqkHu/A+w4g43kaQQoYHik/ruaQBDL72HyCy1vuMw==",
+            "version": "18.2.63",
+            "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.63.tgz",
+            "integrity": "sha512-ppaqODhs15PYL2nGUOaOu2RSCCB4Difu4UFrP4I3NHLloXC/ESQzQMi9nvjfT1+rudd0d2L3fQPJxRSey+rGlQ==",
             "dev": true,
             "requires": {
                 "@types/prop-types": "*",
@@ -1857,9 +1826,9 @@
             }
         },
         "@types/react-jsonschema-form": {
-            "version": "1.7.12",
-            "resolved": "https://registry.npmjs.org/@types/react-jsonschema-form/-/react-jsonschema-form-1.7.12.tgz",
-            "integrity": "sha512-AueIjMySdH2uI92bBJYVJ/n6Wmrtai+7/ce6Fn4ThrJz5XGG7Jc1c0agktPCYfoiBunEw2hV8oIZdIke3LJIRQ==",
+            "version": "1.7.13",
+            "resolved": "https://registry.npmjs.org/@types/react-jsonschema-form/-/react-jsonschema-form-1.7.13.tgz",
+            "integrity": "sha512-C2jgO7/ow76oCSfUK++jKKox17R0A7ryMYNE5hJ2dR1Ske9jhuvjIlurvzMePh+Xjk8wey0nzB2C7HFKe2pRdg==",
             "dev": true,
             "requires": {
                 "@types/json-schema": "*",
@@ -1878,6 +1847,15 @@
             "integrity": "sha512-HP38xE+GuWGlbSRq9WrZkousaQ7dragtZCruBVMi0oX1migFZavZ3OROKHSkNp/9ouq82zrWtZpg18jFnVN96g==",
             "dev": true
         },
+        "@types/underscore.string": {
+            "version": "0.0.40",
+            "resolved": "https://registry.npmjs.org/@types/underscore.string/-/underscore.string-0.0.40.tgz",
+            "integrity": "sha512-6J3Wp6PnuXhSxVSVaSoh9SKiormScoa2pPLKpZk5QsjKD3RKQZQj/mwBVfULd2MUl5gM/UlLSvr+cynd/7VWQA==",
+            "dev": true,
+            "requires": {
+                "@types/underscore": "*"
+            }
+        },
         "@ungap/promise-all-settled": {
             "version": "1.1.2",
             "resolved": "https://registry.npmjs.org/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz",
@@ -1903,9 +1881,9 @@
             "dev": true
         },
         "acorn-walk": {
-            "version": "8.3.0",
-            "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.0.tgz",
-            "integrity": "sha512-FS7hV565M5l1R08MXqo8odwMTB02C2UqzB17RVgu9EyuYFBqJZ3/ZY97sQD5FewVu1UyDFc1yztUDrAwT0EypA==",
+            "version": "8.3.2",
+            "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.2.tgz",
+            "integrity": "sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==",
             "dev": true
         },
         "aggregate-error": {
@@ -2346,13 +2324,13 @@
             "dev": true
         },
         "cli-color": {
-            "version": "2.0.3",
-            "resolved": "https://registry.npmjs.org/cli-color/-/cli-color-2.0.3.tgz",
-            "integrity": "sha512-OkoZnxyC4ERN3zLzZaY9Emb7f/MhBOIpePv0Ycok0fJYT+Ouo00UBEIwsVsr0yoow++n5YWlSUgST9GKhNHiRQ==",
+            "version": "2.0.4",
+            "resolved": "https://registry.npmjs.org/cli-color/-/cli-color-2.0.4.tgz",
+            "integrity": "sha512-zlnpg0jNcibNrO7GG9IeHH7maWFeCz+Ja1wx/7tZNU5ASSSSZ+/qZciM0/LHCYxSdqv5h2sdbQ/PXYdOuetXvA==",
             "dev": true,
             "requires": {
                 "d": "^1.0.1",
-                "es5-ext": "^0.10.61",
+                "es5-ext": "^0.10.64",
                 "es6-iterator": "^2.0.3",
                 "memoizee": "^0.4.15",
                 "timers-ext": "^0.1.7"
@@ -2600,25 +2578,25 @@
             "dev": true
         },
         "crypto-js": {
-            "version": "3.3.0",
-            "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-3.3.0.tgz",
-            "integrity": "sha512-DIT51nX0dCfKltpRiXV+/TVZq+Qq2NgF4644+K7Ttnla7zEzqc+kjJyiB96BHNyUTBxyjzRcZYpUdZa+QAqi6Q==",
+            "version": "4.2.0",
+            "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-4.2.0.tgz",
+            "integrity": "sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q==",
             "dev": true
         },
         "csstype": {
-            "version": "3.1.2",
-            "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz",
-            "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==",
+            "version": "3.1.3",
+            "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz",
+            "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==",
             "dev": true
         },
         "d": {
-            "version": "1.0.1",
-            "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz",
-            "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==",
+            "version": "1.0.2",
+            "resolved": "https://registry.npmjs.org/d/-/d-1.0.2.tgz",
+            "integrity": "sha512-MOqHvMWF9/9MX6nza0KgvFH4HpMU0EF5uUDXqX/BtxtU8NfB0QzRtJ8Oe/6SuS4kbhyzVJwjd97EA4PKrzJ8bw==",
             "dev": true,
             "requires": {
-                "es5-ext": "^0.10.50",
-                "type": "^1.0.1"
+                "es5-ext": "^0.10.64",
+                "type": "^2.7.2"
             }
         },
         "dag-map": {
@@ -2686,34 +2664,14 @@
             }
         },
         "define-data-property": {
-            "version": "1.1.1",
-            "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz",
-            "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==",
+            "version": "1.1.4",
+            "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz",
+            "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==",
             "dev": true,
             "requires": {
-                "get-intrinsic": "^1.2.1",
-                "gopd": "^1.0.1",
-                "has-property-descriptors": "^1.0.0"
-            },
-            "dependencies": {
-                "function-bind": {
-                    "version": "1.1.2",
-                    "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
-                    "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
-                    "dev": true
-                },
-                "get-intrinsic": {
-                    "version": "1.2.2",
-                    "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz",
-                    "integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==",
-                    "dev": true,
-                    "requires": {
-                        "function-bind": "^1.1.2",
-                        "has-proto": "^1.0.1",
-                        "has-symbols": "^1.0.3",
-                        "hasown": "^2.0.0"
-                    }
-                }
+                "es-define-property": "^1.0.0",
+                "es-errors": "^1.3.0",
+                "gopd": "^1.0.1"
             }
         },
         "define-properties": {
@@ -2797,6 +2755,42 @@
                 "unbox-primitive": "^1.0.2"
             }
         },
+        "es-define-property": {
+            "version": "1.0.0",
+            "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz",
+            "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==",
+            "dev": true,
+            "requires": {
+                "get-intrinsic": "^1.2.4"
+            },
+            "dependencies": {
+                "function-bind": {
+                    "version": "1.1.2",
+                    "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
+                    "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
+                    "dev": true
+                },
+                "get-intrinsic": {
+                    "version": "1.2.4",
+                    "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz",
+                    "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==",
+                    "dev": true,
+                    "requires": {
+                        "es-errors": "^1.3.0",
+                        "function-bind": "^1.1.2",
+                        "has-proto": "^1.0.1",
+                        "has-symbols": "^1.0.3",
+                        "hasown": "^2.0.0"
+                    }
+                }
+            }
+        },
+        "es-errors": {
+            "version": "1.3.0",
+            "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz",
+            "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==",
+            "dev": true
+        },
         "es-shim-unscopables": {
             "version": "1.0.0",
             "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz",
@@ -2818,13 +2812,14 @@
             }
         },
         "es5-ext": {
-            "version": "0.10.62",
-            "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.62.tgz",
-            "integrity": "sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA==",
+            "version": "0.10.64",
+            "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.64.tgz",
+            "integrity": "sha512-p2snDhiLaXe6dahss1LddxqEm+SkuDvV8dnIQG0MWjyHpcMNfXKPE+/Cc0y+PhxJX3A4xGNeFCj5oc0BUh6deg==",
             "dev": true,
             "requires": {
                 "es6-iterator": "^2.0.3",
                 "es6-symbol": "^3.1.3",
+                "esniff": "^2.0.1",
                 "next-tick": "^1.1.0"
             }
         },
@@ -2846,13 +2841,13 @@
             }
         },
         "es6-symbol": {
-            "version": "3.1.3",
-            "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz",
-            "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==",
+            "version": "3.1.4",
+            "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.4.tgz",
+            "integrity": "sha512-U9bFFjX8tFiATgtkJ1zg25+KviIXpgRvRHS8sau3GfhVzThRQrOeksPeT0BWW2MNZs1OEWJ1DPXOQMn0KKRkvg==",
             "dev": true,
             "requires": {
-                "d": "^1.0.1",
-                "ext": "^1.1.2"
+                "d": "^1.0.2",
+                "ext": "^1.7.0"
             }
         },
         "es6-weak-map": {
@@ -3348,6 +3343,18 @@
             "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz",
             "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw=="
         },
+        "esniff": {
+            "version": "2.0.1",
+            "resolved": "https://registry.npmjs.org/esniff/-/esniff-2.0.1.tgz",
+            "integrity": "sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg==",
+            "dev": true,
+            "requires": {
+                "d": "^1.0.1",
+                "es5-ext": "^0.10.62",
+                "event-emitter": "^0.3.5",
+                "type": "^2.7.2"
+            }
+        },
         "espree": {
             "version": "7.3.1",
             "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz",
@@ -3449,14 +3456,6 @@
             "dev": true,
             "requires": {
                 "type": "^2.7.2"
-            },
-            "dependencies": {
-                "type": {
-                    "version": "2.7.2",
-                    "resolved": "https://registry.npmjs.org/type/-/type-2.7.2.tgz",
-                    "integrity": "sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==",
-                    "dev": true
-                }
             }
         },
         "fast-deep-equal": {
@@ -3719,11 +3718,12 @@
                     "dev": true
                 },
                 "get-intrinsic": {
-                    "version": "1.2.2",
-                    "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz",
-                    "integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==",
+                    "version": "1.2.4",
+                    "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz",
+                    "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==",
                     "dev": true,
                     "requires": {
+                        "es-errors": "^1.3.0",
                         "function-bind": "^1.1.2",
                         "has-proto": "^1.0.1",
                         "has-symbols": "^1.0.3",
@@ -3772,9 +3772,9 @@
             }
         },
         "has-proto": {
-            "version": "1.0.1",
-            "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz",
-            "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==",
+            "version": "1.0.3",
+            "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz",
+            "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==",
             "dev": true
         },
         "has-symbols": {
@@ -3810,9 +3810,9 @@
             }
         },
         "hasown": {
-            "version": "2.0.0",
-            "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz",
-            "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==",
+            "version": "2.0.1",
+            "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.1.tgz",
+            "integrity": "sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==",
             "dev": true,
             "requires": {
                 "function-bind": "^1.1.2"
@@ -4347,9 +4347,9 @@
             }
         },
         "json-schema-to-typescript": {
-            "version": "13.1.1",
-            "resolved": "https://registry.npmjs.org/json-schema-to-typescript/-/json-schema-to-typescript-13.1.1.tgz",
-            "integrity": "sha512-F3CYhtA7F3yPbb8vF7sFchk/2dnr1/yTKf8RcvoNpjnh67ZS/ZMH1ElLt5KHAtf2/bymiejLQQszszPWEeTdSw==",
+            "version": "13.1.2",
+            "resolved": "https://registry.npmjs.org/json-schema-to-typescript/-/json-schema-to-typescript-13.1.2.tgz",
+            "integrity": "sha512-17G+mjx4nunvOpkPvcz7fdwUwYCEwyH8vR3Ym3rFiQ8uzAL3go+c1306Kk7iGRk8HuXBXqy+JJJmpYl0cvOllw==",
             "dev": true,
             "requires": {
                 "@bcherny/json-schema-ref-parser": "10.0.5-fork",
@@ -4375,9 +4375,9 @@
             "dev": true
         },
         "json-stable-stringify": {
-            "version": "1.1.0",
-            "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.1.0.tgz",
-            "integrity": "sha512-zfA+5SuwYN2VWqN1/5HZaDzQKLJHaBVMZIIM+wuYjdptkaQsqzDdqjqf+lZZJUuJq1aanHiY8LhH8LmH+qBYJA==",
+            "version": "1.1.1",
+            "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.1.1.tgz",
+            "integrity": "sha512-SU/971Kt5qVQfJpyDveVhQ/vya+5hvrjClFOcr8c0Fq5aODJjMwutrOfCU+eCnVD5gpx1Q3fEqkyom77zH1iIg==",
             "dev": true,
             "requires": {
                 "call-bind": "^1.0.5",
@@ -4387,14 +4387,16 @@
             },
             "dependencies": {
                 "call-bind": {
-                    "version": "1.0.5",
-                    "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz",
-                    "integrity": "sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==",
+                    "version": "1.0.7",
+                    "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz",
+                    "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==",
                     "dev": true,
                     "requires": {
+                        "es-define-property": "^1.0.0",
+                        "es-errors": "^1.3.0",
                         "function-bind": "^1.1.2",
-                        "get-intrinsic": "^1.2.1",
-                        "set-function-length": "^1.1.1"
+                        "get-intrinsic": "^1.2.4",
+                        "set-function-length": "^1.2.1"
                     }
                 },
                 "function-bind": {
@@ -4404,11 +4406,12 @@
                     "dev": true
                 },
                 "get-intrinsic": {
-                    "version": "1.2.2",
-                    "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz",
-                    "integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==",
+                    "version": "1.2.4",
+                    "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz",
+                    "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==",
                     "dev": true,
                     "requires": {
+                        "es-errors": "^1.3.0",
                         "function-bind": "^1.1.2",
                         "has-proto": "^1.0.1",
                         "has-symbols": "^1.0.3",
@@ -5863,15 +5866,17 @@
             "dev": true
         },
         "set-function-length": {
-            "version": "1.1.1",
-            "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.1.1.tgz",
-            "integrity": "sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==",
+            "version": "1.2.1",
+            "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.1.tgz",
+            "integrity": "sha512-j4t6ccc+VsKwYHso+kElc5neZpjtq9EnRICFZtWyBsLojhmeF/ZBd/elqm22WJh/BziDe/SBiOeAt0m2mfLD0g==",
             "dev": true,
             "requires": {
-                "define-data-property": "^1.1.1",
-                "get-intrinsic": "^1.2.1",
+                "define-data-property": "^1.1.2",
+                "es-errors": "^1.3.0",
+                "function-bind": "^1.1.2",
+                "get-intrinsic": "^1.2.3",
                 "gopd": "^1.0.1",
-                "has-property-descriptors": "^1.0.0"
+                "has-property-descriptors": "^1.0.1"
             },
             "dependencies": {
                 "function-bind": {
@@ -5881,16 +5886,26 @@
                     "dev": true
                 },
                 "get-intrinsic": {
-                    "version": "1.2.2",
-                    "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz",
-                    "integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==",
+                    "version": "1.2.4",
+                    "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz",
+                    "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==",
                     "dev": true,
                     "requires": {
+                        "es-errors": "^1.3.0",
                         "function-bind": "^1.1.2",
                         "has-proto": "^1.0.1",
                         "has-symbols": "^1.0.3",
                         "hasown": "^2.0.0"
                     }
+                },
+                "has-property-descriptors": {
+                    "version": "1.0.2",
+                    "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz",
+                    "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==",
+                    "dev": true,
+                    "requires": {
+                        "es-define-property": "^1.0.0"
+                    }
                 }
             }
         },
@@ -6280,15 +6295,15 @@
             }
         },
         "traverse": {
-            "version": "0.6.7",
-            "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.7.tgz",
-            "integrity": "sha512-/y956gpUo9ZNCb99YjxG7OaslxZWHfCHAUUfshwqOXmxUIvqLjVO581BT+gM59+QV9tFe6/CGG53tsA1Y7RSdg==",
+            "version": "0.6.8",
+            "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.8.tgz",
+            "integrity": "sha512-aXJDbk6SnumuaZSANd21XAo15ucCDE38H4fkqiGsc3MhCK+wOlZvLP9cB/TvpHT0mOyWgC4Z8EwRlzqYSUzdsA==",
             "dev": true
         },
         "ts-node": {
-            "version": "10.9.1",
-            "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz",
-            "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==",
+            "version": "10.9.2",
+            "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz",
+            "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==",
             "dev": true,
             "requires": {
                 "@cspotcode/source-map-support": "^0.8.0",
@@ -6307,9 +6322,9 @@
             },
             "dependencies": {
                 "acorn": {
-                    "version": "8.11.2",
-                    "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.2.tgz",
-                    "integrity": "sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==",
+                    "version": "8.11.3",
+                    "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz",
+                    "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==",
                     "dev": true
                 },
                 "diff": {
@@ -6350,9 +6365,9 @@
             "dev": true
         },
         "type": {
-            "version": "1.2.0",
-            "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz",
-            "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==",
+            "version": "2.7.2",
+            "resolved": "https://registry.npmjs.org/type/-/type-2.7.2.tgz",
+            "integrity": "sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==",
             "dev": true
         },
         "type-check": {
diff --git a/package.json b/package.json
index 8522711..ee9c42a 100644
--- a/package.json
+++ b/package.json
@@ -46,7 +46,7 @@
     "devDependencies": {
         "@exabyte-io/code.js": "2023.11.22-0",
         "@exabyte-io/eslint-config": "^2022.11.17-0",
-        "@exabyte-io/made.js": "2022.6.15-0",
+        "@exabyte-io/made.js": "git+https://github.com/Exabyte-io/made.js.git#4cba6aba4f289dbd4eef232bc44533fba1457532",
         "@exabyte-io/application-flavors.js": "git+https://github.com/Exabyte-io/application-flavors.git#b25b433276e4b874de525b44ad6f9a6e8624aa6d",
         "chai": "^4.3.4",
         "eslint": "7.32.0",

From f42fc3504317d120a35827d10b654b0445ceb9e1 Mon Sep 17 00:00:00 2001
From: Pranab Das <31024886+pranabdas@users.noreply.github.com>
Date: Tue, 5 Mar 2024 23:38:15 +0800
Subject: [PATCH 03/19] SOF-6927: adjust espresso input provider to handle
 atomic labels

---
 src/context/providers/espresso/providers.js | 34 +++++++++++++++++++++
 1 file changed, 34 insertions(+)

diff --git a/src/context/providers/espresso/providers.js b/src/context/providers/espresso/providers.js
index d7a2cb6..5d71bd0 100644
--- a/src/context/providers/espresso/providers.js
+++ b/src/context/providers/espresso/providers.js
@@ -29,6 +29,13 @@ export class QEPWXContextProvider extends mix(ExecutableContextProvider).with(
         return material.Basis.uniqueElements;
     }
 
+    static atomSymbolsWithLabels(material) {
+        const elm = material.Basis.elementsArray;
+        const labels = material.Basis.atomic_label_arr;
+        const elmWithLabel = elm.map((label, idx) => label + labels[idx]);
+        return [...new Set(elmWithLabel)];
+    }
+
     /** Returns the input text block for atomic positions WITH constraints.
      */
     static atomicPositionsWithConstraints(material) {
@@ -50,6 +57,10 @@ export class QEPWXContextProvider extends mix(ExecutableContextProvider).with(
         return material.Basis.uniqueElements.length;
     }
 
+    static NTYP_WITH_LABELS() {
+        return this.atomSymbolsWithLabels.length;
+    }
+
     buildQEPWXContext(material) {
         const IBRAV = 0; // use CELL_PARAMETERS to define Bravais lattice
 
@@ -57,8 +68,10 @@ export class QEPWXContextProvider extends mix(ExecutableContextProvider).with(
             IBRAV,
             RESTART_MODE: this.RESTART_MODE,
             ATOMIC_SPECIES: this.ATOMIC_SPECIES(material),
+            ATOMIC_SPECIES_WITH_LABELS: this.ATOMIC_SPECIES_WITH_LABELS(material),
             NAT: QEPWXContextProvider.NAT(material),
             NTYP: QEPWXContextProvider.NTYP(material),
+            NTYP_WITH_LABELS: QEPWXContextProvider.NTYP_WITH_LABELS(material),
             ATOMIC_POSITIONS: QEPWXContextProvider.atomicPositionsWithConstraints(material),
             ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS: QEPWXContextProvider.atomicPositions(material),
             CELL_PARAMETERS: QEPWXContextProvider.CELL_PARAMETERS(material),
@@ -110,6 +123,21 @@ export class QEPWXContextProvider extends mix(ExecutableContextProvider).with(
             .join("\n");
     }
 
+    ATOMIC_SPECIES_WITH_LABELS(material) {
+        return QEPWXContextProvider.atomSymbolsWithLabels(material)
+            .map((symbol) => {
+                const symbolWithoutLabel = symbol.replace(/\d$/, "");
+                const label = symbol.match(/\d$/g)[0] ? symbol.match(/\d$/g)[0] : "";
+                const pseudo = this.getPseudoBySymbol(symbolWithoutLabel);
+                return QEPWXContextProvider.symbolToAtomicSpecieWithLabels(
+                    symbolWithoutLabel,
+                    pseudo,
+                    label,
+                );
+            })
+            .join("\n");
+    }
+
     static CELL_PARAMETERS(material) {
         return material.Lattice.vectorArrays
             .map((x) => {
@@ -127,6 +155,12 @@ export class QEPWXContextProvider extends mix(ExecutableContextProvider).with(
         const filename = pseudo?.filename || path.basename(pseudo?.path || "");
         return el ? s.sprintf("%s %f %s", symbol, el.atomic_mass, filename) : undefined;
     }
+
+    static symbolToAtomicSpecieWithLabels(symbol, pseudo, label = "") {
+        const el = PERIODIC_TABLE[symbol];
+        const filename = pseudo?.filename || path.basename(pseudo?.path || "");
+        return el ? s.sprintf("%s%s %f %s", symbol, label, el.atomic_mass, filename) : undefined;
+    }
 }
 
 export class QENEBContextProvider extends mix(ExecutableContextProvider).with(

From b34565a3a486ab8cb2c0bb4eee33f6276479b60f Mon Sep 17 00:00:00 2001
From: Pranab Das <31024886+pranabdas@users.noreply.github.com>
Date: Wed, 6 Mar 2024 08:50:26 +0800
Subject: [PATCH 04/19] SOF-6927: update made.js with renamings

---
 package-lock.json                           | 4 ++--
 package.json                                | 2 +-
 src/context/providers/espresso/providers.js | 2 +-
 3 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/package-lock.json b/package-lock.json
index 0773070..72c5385 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1484,8 +1484,8 @@
             }
         },
         "@exabyte-io/made.js": {
-            "version": "git+https://github.com/Exabyte-io/made.js.git#4cba6aba4f289dbd4eef232bc44533fba1457532",
-            "from": "git+https://github.com/Exabyte-io/made.js.git#4cba6aba4f289dbd4eef232bc44533fba1457532",
+            "version": "git+https://github.com/Exabyte-io/made.js.git#00eec7c00079b686a8cb7591f85e1a06f2f5f647",
+            "from": "git+https://github.com/Exabyte-io/made.js.git#00eec7c00079b686a8cb7591f85e1a06f2f5f647",
             "dev": true,
             "requires": {
                 "@babel/core": "^7.16.0",
diff --git a/package.json b/package.json
index ee9c42a..b2f2313 100644
--- a/package.json
+++ b/package.json
@@ -46,7 +46,7 @@
     "devDependencies": {
         "@exabyte-io/code.js": "2023.11.22-0",
         "@exabyte-io/eslint-config": "^2022.11.17-0",
-        "@exabyte-io/made.js": "git+https://github.com/Exabyte-io/made.js.git#4cba6aba4f289dbd4eef232bc44533fba1457532",
+        "@exabyte-io/made.js": "git+https://github.com/Exabyte-io/made.js.git#00eec7c00079b686a8cb7591f85e1a06f2f5f647",
         "@exabyte-io/application-flavors.js": "git+https://github.com/Exabyte-io/application-flavors.git#b25b433276e4b874de525b44ad6f9a6e8624aa6d",
         "chai": "^4.3.4",
         "eslint": "7.32.0",
diff --git a/src/context/providers/espresso/providers.js b/src/context/providers/espresso/providers.js
index 5d71bd0..91e1d34 100644
--- a/src/context/providers/espresso/providers.js
+++ b/src/context/providers/espresso/providers.js
@@ -31,7 +31,7 @@ export class QEPWXContextProvider extends mix(ExecutableContextProvider).with(
 
     static atomSymbolsWithLabels(material) {
         const elm = material.Basis.elementsArray;
-        const labels = material.Basis.atomic_label_arr;
+        const labels = material.Basis.atomicLabelsArray;
         const elmWithLabel = elm.map((label, idx) => label + labels[idx]);
         return [...new Set(elmWithLabel)];
     }

From 68cbd65c36710db9a9374964794b53797d9fce2f Mon Sep 17 00:00:00 2001
From: Pranab Das <31024886+pranabdas@users.noreply.github.com>
Date: Wed, 6 Mar 2024 08:54:13 +0800
Subject: [PATCH 05/19] SOF-6927: update code.js and esse

---
 package-lock.json | 743 ++++++++++++++++++++++++----------------------
 package.json      |   3 +-
 2 files changed, 393 insertions(+), 353 deletions(-)

diff --git a/package-lock.json b/package-lock.json
index 72c5385..49dba8f 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -288,6 +288,12 @@
                 "@babel/types": "^7.18.6"
             }
         },
+        "@babel/helper-string-parser": {
+            "version": "7.23.4",
+            "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz",
+            "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==",
+            "dev": true
+        },
         "@babel/helper-validator-identifier": {
             "version": "7.18.6",
             "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz",
@@ -643,6 +649,23 @@
                 "@babel/helper-plugin-utils": "^7.14.5"
             }
         },
+        "@babel/plugin-syntax-typescript": {
+            "version": "7.23.3",
+            "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.23.3.tgz",
+            "integrity": "sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ==",
+            "dev": true,
+            "requires": {
+                "@babel/helper-plugin-utils": "^7.22.5"
+            },
+            "dependencies": {
+                "@babel/helper-plugin-utils": {
+                    "version": "7.24.0",
+                    "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.0.tgz",
+                    "integrity": "sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==",
+                    "dev": true
+                }
+            }
+        },
         "@babel/plugin-transform-arrow-functions": {
             "version": "7.18.6",
             "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.18.6.tgz",
@@ -947,6 +970,176 @@
                 "@babel/helper-plugin-utils": "^7.18.9"
             }
         },
+        "@babel/plugin-transform-typescript": {
+            "version": "7.23.6",
+            "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.23.6.tgz",
+            "integrity": "sha512-6cBG5mBvUu4VUD04OHKnYzbuHNP8huDsD3EDqqpIpsswTDoqHCjLoHb6+QgsV1WsT2nipRqCPgxD3LXnEO7XfA==",
+            "dev": true,
+            "requires": {
+                "@babel/helper-annotate-as-pure": "^7.22.5",
+                "@babel/helper-create-class-features-plugin": "^7.23.6",
+                "@babel/helper-plugin-utils": "^7.22.5",
+                "@babel/plugin-syntax-typescript": "^7.23.3"
+            },
+            "dependencies": {
+                "@babel/code-frame": {
+                    "version": "7.23.5",
+                    "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz",
+                    "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==",
+                    "dev": true,
+                    "requires": {
+                        "@babel/highlight": "^7.23.4",
+                        "chalk": "^2.4.2"
+                    }
+                },
+                "@babel/helper-annotate-as-pure": {
+                    "version": "7.22.5",
+                    "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz",
+                    "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==",
+                    "dev": true,
+                    "requires": {
+                        "@babel/types": "^7.22.5"
+                    }
+                },
+                "@babel/helper-create-class-features-plugin": {
+                    "version": "7.24.0",
+                    "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.0.tgz",
+                    "integrity": "sha512-QAH+vfvts51BCsNZ2PhY6HAggnlS6omLLFTsIpeqZk/MmJ6cW7tgz5yRv0fMJThcr6FmbMrENh1RgrWPTYA76g==",
+                    "dev": true,
+                    "requires": {
+                        "@babel/helper-annotate-as-pure": "^7.22.5",
+                        "@babel/helper-environment-visitor": "^7.22.20",
+                        "@babel/helper-function-name": "^7.23.0",
+                        "@babel/helper-member-expression-to-functions": "^7.23.0",
+                        "@babel/helper-optimise-call-expression": "^7.22.5",
+                        "@babel/helper-replace-supers": "^7.22.20",
+                        "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5",
+                        "@babel/helper-split-export-declaration": "^7.22.6",
+                        "semver": "^6.3.1"
+                    }
+                },
+                "@babel/helper-environment-visitor": {
+                    "version": "7.22.20",
+                    "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz",
+                    "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==",
+                    "dev": true
+                },
+                "@babel/helper-function-name": {
+                    "version": "7.23.0",
+                    "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz",
+                    "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==",
+                    "dev": true,
+                    "requires": {
+                        "@babel/template": "^7.22.15",
+                        "@babel/types": "^7.23.0"
+                    }
+                },
+                "@babel/helper-member-expression-to-functions": {
+                    "version": "7.23.0",
+                    "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz",
+                    "integrity": "sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==",
+                    "dev": true,
+                    "requires": {
+                        "@babel/types": "^7.23.0"
+                    }
+                },
+                "@babel/helper-optimise-call-expression": {
+                    "version": "7.22.5",
+                    "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz",
+                    "integrity": "sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==",
+                    "dev": true,
+                    "requires": {
+                        "@babel/types": "^7.22.5"
+                    }
+                },
+                "@babel/helper-plugin-utils": {
+                    "version": "7.24.0",
+                    "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.0.tgz",
+                    "integrity": "sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==",
+                    "dev": true
+                },
+                "@babel/helper-replace-supers": {
+                    "version": "7.22.20",
+                    "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz",
+                    "integrity": "sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==",
+                    "dev": true,
+                    "requires": {
+                        "@babel/helper-environment-visitor": "^7.22.20",
+                        "@babel/helper-member-expression-to-functions": "^7.22.15",
+                        "@babel/helper-optimise-call-expression": "^7.22.5"
+                    }
+                },
+                "@babel/helper-skip-transparent-expression-wrappers": {
+                    "version": "7.22.5",
+                    "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz",
+                    "integrity": "sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==",
+                    "dev": true,
+                    "requires": {
+                        "@babel/types": "^7.22.5"
+                    }
+                },
+                "@babel/helper-split-export-declaration": {
+                    "version": "7.22.6",
+                    "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz",
+                    "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==",
+                    "dev": true,
+                    "requires": {
+                        "@babel/types": "^7.22.5"
+                    }
+                },
+                "@babel/helper-validator-identifier": {
+                    "version": "7.22.20",
+                    "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz",
+                    "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==",
+                    "dev": true
+                },
+                "@babel/highlight": {
+                    "version": "7.23.4",
+                    "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz",
+                    "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==",
+                    "dev": true,
+                    "requires": {
+                        "@babel/helper-validator-identifier": "^7.22.20",
+                        "chalk": "^2.4.2",
+                        "js-tokens": "^4.0.0"
+                    }
+                },
+                "@babel/parser": {
+                    "version": "7.24.0",
+                    "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.0.tgz",
+                    "integrity": "sha512-QuP/FxEAzMSjXygs8v4N9dvdXzEHN4W1oF3PxuWAtPo08UdM17u89RDMgjLn/mlc56iM0HlLmVkO/wgR+rDgHg==",
+                    "dev": true
+                },
+                "@babel/template": {
+                    "version": "7.24.0",
+                    "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.0.tgz",
+                    "integrity": "sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==",
+                    "dev": true,
+                    "requires": {
+                        "@babel/code-frame": "^7.23.5",
+                        "@babel/parser": "^7.24.0",
+                        "@babel/types": "^7.24.0"
+                    }
+                },
+                "@babel/types": {
+                    "version": "7.24.0",
+                    "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.0.tgz",
+                    "integrity": "sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==",
+                    "dev": true,
+                    "requires": {
+                        "@babel/helper-string-parser": "^7.23.4",
+                        "@babel/helper-validator-identifier": "^7.22.20",
+                        "to-fast-properties": "^2.0.0"
+                    }
+                },
+                "semver": {
+                    "version": "6.3.1",
+                    "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+                    "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
+                    "dev": true
+                }
+            }
+        },
         "@babel/plugin-transform-unicode-escapes": {
             "version": "7.18.6",
             "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.6.tgz",
@@ -1077,6 +1270,116 @@
                 "@babel/plugin-transform-react-pure-annotations": "^7.16.7"
             }
         },
+        "@babel/preset-typescript": {
+            "version": "7.23.3",
+            "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.23.3.tgz",
+            "integrity": "sha512-17oIGVlqz6CchO9RFYn5U6ZpWRZIngayYCtrPRSgANSwC2V1Jb+iP74nVxzzXJte8b8BYxrL1yY96xfhTBrNNQ==",
+            "dev": true,
+            "requires": {
+                "@babel/helper-plugin-utils": "^7.22.5",
+                "@babel/helper-validator-option": "^7.22.15",
+                "@babel/plugin-syntax-jsx": "^7.23.3",
+                "@babel/plugin-transform-modules-commonjs": "^7.23.3",
+                "@babel/plugin-transform-typescript": "^7.23.3"
+            },
+            "dependencies": {
+                "@babel/helper-environment-visitor": {
+                    "version": "7.22.20",
+                    "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz",
+                    "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==",
+                    "dev": true
+                },
+                "@babel/helper-module-imports": {
+                    "version": "7.22.15",
+                    "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz",
+                    "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==",
+                    "dev": true,
+                    "requires": {
+                        "@babel/types": "^7.22.15"
+                    }
+                },
+                "@babel/helper-module-transforms": {
+                    "version": "7.23.3",
+                    "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz",
+                    "integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==",
+                    "dev": true,
+                    "requires": {
+                        "@babel/helper-environment-visitor": "^7.22.20",
+                        "@babel/helper-module-imports": "^7.22.15",
+                        "@babel/helper-simple-access": "^7.22.5",
+                        "@babel/helper-split-export-declaration": "^7.22.6",
+                        "@babel/helper-validator-identifier": "^7.22.20"
+                    }
+                },
+                "@babel/helper-plugin-utils": {
+                    "version": "7.24.0",
+                    "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.0.tgz",
+                    "integrity": "sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==",
+                    "dev": true
+                },
+                "@babel/helper-simple-access": {
+                    "version": "7.22.5",
+                    "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz",
+                    "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==",
+                    "dev": true,
+                    "requires": {
+                        "@babel/types": "^7.22.5"
+                    }
+                },
+                "@babel/helper-split-export-declaration": {
+                    "version": "7.22.6",
+                    "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz",
+                    "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==",
+                    "dev": true,
+                    "requires": {
+                        "@babel/types": "^7.22.5"
+                    }
+                },
+                "@babel/helper-validator-identifier": {
+                    "version": "7.22.20",
+                    "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz",
+                    "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==",
+                    "dev": true
+                },
+                "@babel/helper-validator-option": {
+                    "version": "7.23.5",
+                    "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz",
+                    "integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==",
+                    "dev": true
+                },
+                "@babel/plugin-syntax-jsx": {
+                    "version": "7.23.3",
+                    "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.23.3.tgz",
+                    "integrity": "sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==",
+                    "dev": true,
+                    "requires": {
+                        "@babel/helper-plugin-utils": "^7.22.5"
+                    }
+                },
+                "@babel/plugin-transform-modules-commonjs": {
+                    "version": "7.23.3",
+                    "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.3.tgz",
+                    "integrity": "sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA==",
+                    "dev": true,
+                    "requires": {
+                        "@babel/helper-module-transforms": "^7.23.3",
+                        "@babel/helper-plugin-utils": "^7.22.5",
+                        "@babel/helper-simple-access": "^7.22.5"
+                    }
+                },
+                "@babel/types": {
+                    "version": "7.24.0",
+                    "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.0.tgz",
+                    "integrity": "sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==",
+                    "dev": true,
+                    "requires": {
+                        "@babel/helper-string-parser": "^7.23.4",
+                        "@babel/helper-validator-identifier": "^7.22.20",
+                        "to-fast-properties": "^2.0.0"
+                    }
+                }
+            }
+        },
         "@babel/register": {
             "version": "7.18.9",
             "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.18.9.tgz",
@@ -1341,36 +1644,14 @@
             }
         },
         "@exabyte-io/code.js": {
-            "version": "2023.11.22-0",
-            "resolved": "https://registry.npmjs.org/@exabyte-io/code.js/-/code.js-2023.11.22-0.tgz",
-            "integrity": "sha512-FKS3gUHimr3QA6V1hOoux1s6fafvjgbfCN9s45Ol6Qa3zdZLkUECJ20r4uGpHvg1ClFpB3BUL+cJU1kwlHjzJg==",
+            "version": "git+https://github.com/Exabyte-io/code.js.git#215e9e7b194c63422858d043be750fe023814329",
+            "from": "git+https://github.com/Exabyte-io/code.js.git#215e9e7b194c63422858d043be750fe023814329",
             "dev": true,
             "requires": {
-                "@babel/cli": "7.16.0",
-                "@babel/core": "7.16.0",
-                "@babel/eslint-parser": "7.16.3",
-                "@babel/plugin-proposal-class-properties": "7.16.0",
-                "@babel/preset-env": "7.16.4",
-                "@babel/preset-react": "7.16.7",
-                "@babel/register": "^7.16.0",
-                "@babel/runtime-corejs3": "7.16.8",
-                "@exabyte-io/esse.js": "2023.11.22-1",
-                "@types/chai": "^4.3.5",
-                "@types/crypto-js": "^4.1.1",
-                "@types/js-yaml": "^4.0.5",
-                "@types/json-schema": "^7.0.12",
-                "@types/mocha": "^10.0.1",
-                "@types/node": "^20.4.2",
-                "@types/react-jsonschema-form": "^1.7.8",
-                "@types/underscore": "^1.11.6",
-                "ajv": "4.1.7",
                 "crypto-js": "^4.1.1",
                 "js-yaml": "^4.1.0",
                 "json-schema": "^0.4.0",
-                "json-schema-deref-sync": "0.14.0",
-                "json-schema-merge-allof": "^0.8.1",
-                "json-schema-to-typescript": "^13.0.2",
-                "lodash": "^4.17.21",
+                "lodash": "^4.17.*",
                 "mathjs": "^3.9.0",
                 "mixwith": "^0.1.1",
                 "nunjucks": "^3.2.4",
@@ -1383,16 +1664,6 @@
                 "uuid": "8.3.2"
             },
             "dependencies": {
-                "ajv": {
-                    "version": "4.1.7",
-                    "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.1.7.tgz",
-                    "integrity": "sha512-Hwzb700P98NpTTljTIN3R9vkJMs61zblzMZe7esC78bSEXifltJ6LtXEK+5kp/elG3RFz9xgwk7gVajeI8e3nA==",
-                    "dev": true,
-                    "requires": {
-                        "co": "^4.6.0",
-                        "json-stable-stringify": "^1.0.1"
-                    }
-                },
                 "argparse": {
                     "version": "2.0.1",
                     "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
@@ -1425,64 +1696,6 @@
             "integrity": "sha512-BYTDSqvjj6ZiWb8l46T5BKrVfkelct+vK2mh7joHu5UWtJMUzLkb0KQMV1+6SUy4xHFnws33XS7/+JSW1yeZOQ==",
             "dev": true
         },
-        "@exabyte-io/esse.js": {
-            "version": "2023.11.22-1",
-            "resolved": "https://registry.npmjs.org/@exabyte-io/esse.js/-/esse.js-2023.11.22-1.tgz",
-            "integrity": "sha512-G4D9u+srCZWEoG4o9rXDL9VFT6BR6an4m1RwVOE2KkLKIftCyGxCWrlUAfRHh51ZOcP6LMzg1m4MQwwN8J0OBA==",
-            "dev": true,
-            "requires": {
-                "@babel/cli": "7.16.0",
-                "@babel/core": "7.16.0",
-                "@babel/eslint-parser": "7.16.3",
-                "@babel/preset-env": "7.16.4",
-                "@babel/register": "7.16.0",
-                "ajv": "^4.1.7",
-                "file": "^0.2.2",
-                "js-yaml": "^4.1.0",
-                "json-schema-deref-sync": "0.14.0",
-                "lodash": "4.17.21"
-            },
-            "dependencies": {
-                "@babel/register": {
-                    "version": "7.16.0",
-                    "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.16.0.tgz",
-                    "integrity": "sha512-lzl4yfs0zVXnooeLE0AAfYaT7F3SPA8yB2Bj4W1BiZwLbMS3MZH35ZvCWSRHvneUugwuM+Wsnrj7h0F7UmU3NQ==",
-                    "dev": true,
-                    "requires": {
-                        "clone-deep": "^4.0.1",
-                        "find-cache-dir": "^2.0.0",
-                        "make-dir": "^2.1.0",
-                        "pirates": "^4.0.0",
-                        "source-map-support": "^0.5.16"
-                    }
-                },
-                "ajv": {
-                    "version": "4.11.8",
-                    "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz",
-                    "integrity": "sha512-I/bSHSNEcFFqXLf91nchoNB9D1Kie3QKcWdchYUaoIg1+1bdWDkdfdlvdIOJbi9U8xR0y+MWc5D+won9v95WlQ==",
-                    "dev": true,
-                    "requires": {
-                        "co": "^4.6.0",
-                        "json-stable-stringify": "^1.0.1"
-                    }
-                },
-                "argparse": {
-                    "version": "2.0.1",
-                    "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
-                    "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
-                    "dev": true
-                },
-                "js-yaml": {
-                    "version": "4.1.0",
-                    "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
-                    "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
-                    "dev": true,
-                    "requires": {
-                        "argparse": "^2.0.1"
-                    }
-                }
-            }
-        },
         "@exabyte-io/made.js": {
             "version": "git+https://github.com/Exabyte-io/made.js.git#00eec7c00079b686a8cb7591f85e1a06f2f5f647",
             "from": "git+https://github.com/Exabyte-io/made.js.git#00eec7c00079b686a8cb7591f85e1a06f2f5f647",
@@ -1705,6 +1918,76 @@
             "integrity": "sha512-4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg==",
             "dev": true
         },
+        "@mat3ra/esse": {
+            "version": "git+https://github.com/Exabyte-io/esse.git#332a9cc5c0853af610dd721dc976905637cf989e",
+            "from": "git+https://github.com/Exabyte-io/esse.git#332a9cc5c0853af610dd721dc976905637cf989e",
+            "dev": true,
+            "requires": {
+                "@babel/cli": "7.16.0",
+                "@babel/core": "7.16.0",
+                "@babel/eslint-parser": "7.16.3",
+                "@babel/plugin-proposal-class-properties": "7.16.0",
+                "@babel/preset-env": "7.16.4",
+                "@babel/preset-react": "7.16.7",
+                "@babel/preset-typescript": "^7.22.5",
+                "@babel/register": "^7.16.0",
+                "@babel/runtime-corejs3": "7.16.8",
+                "@tsconfig/node14": "^14.1.0",
+                "@tsconfig/node20": "^20.1.2",
+                "@types/chai": "^4.3.11",
+                "@types/js-yaml": "^4.0.9",
+                "@types/json-schema-merge-allof": "^0.6.5",
+                "@types/mocha": "^10.0.6",
+                "ajv": "^8.12.0",
+                "js-yaml": "^4.1.0",
+                "json-schema": "^0.4.0",
+                "json-schema-deref-sync": "0.14.0",
+                "json-schema-merge-allof": "^0.8.1",
+                "json-schema-to-typescript": "^13.1.2",
+                "lodash": "4.17.21"
+            },
+            "dependencies": {
+                "@tsconfig/node14": {
+                    "version": "14.1.0",
+                    "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-14.1.0.tgz",
+                    "integrity": "sha512-VmsCG04YR58ciHBeJKBDNMWWfYbyP8FekWVuTlpstaUPlat1D0x/tXzkWP7yCMU0eSz9V4OZU0LBWTFJ3xZf6w==",
+                    "dev": true
+                },
+                "ajv": {
+                    "version": "8.12.0",
+                    "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz",
+                    "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==",
+                    "dev": true,
+                    "requires": {
+                        "fast-deep-equal": "^3.1.1",
+                        "json-schema-traverse": "^1.0.0",
+                        "require-from-string": "^2.0.2",
+                        "uri-js": "^4.2.2"
+                    }
+                },
+                "argparse": {
+                    "version": "2.0.1",
+                    "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
+                    "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
+                    "dev": true
+                },
+                "js-yaml": {
+                    "version": "4.1.0",
+                    "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
+                    "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
+                    "dev": true,
+                    "requires": {
+                        "argparse": "^2.0.1"
+                    }
+                },
+                "json-schema-traverse": {
+                    "version": "1.0.0",
+                    "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
+                    "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
+                    "dev": true
+                }
+            }
+        },
         "@nicolo-ribaudo/chokidar-2": {
             "version": "2.1.8-no-fsevents.3",
             "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/chokidar-2/-/chokidar-2-2.1.8-no-fsevents.3.tgz",
@@ -1735,18 +2018,18 @@
             "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==",
             "dev": true
         },
+        "@tsconfig/node20": {
+            "version": "20.1.2",
+            "resolved": "https://registry.npmjs.org/@tsconfig/node20/-/node20-20.1.2.tgz",
+            "integrity": "sha512-madaWq2k+LYMEhmcp0fs+OGaLFk0OenpHa4gmI4VEmCKX4PJntQ6fnnGADVFrVkBj0wIdAlQnK/MrlYTHsa1gQ==",
+            "dev": true
+        },
         "@types/chai": {
             "version": "4.3.12",
             "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.12.tgz",
             "integrity": "sha512-zNKDHG/1yxm8Il6uCCVsm+dRdEsJlFoDu73X17y09bId6UwoYww+vFBsAcRzl8knM1sab3Dp1VRikFQwDOtDDw==",
             "dev": true
         },
-        "@types/crypto-js": {
-            "version": "4.2.2",
-            "resolved": "https://registry.npmjs.org/@types/crypto-js/-/crypto-js-4.2.2.tgz",
-            "integrity": "sha512-sDOLlVbHhXpAUAL0YHDUUwDZf3iN4Bwi4W6a0W0b+QcAezUbRtH4FVb+9J4h+XFPW7l/gQ9F8qC7P+Ec4k8QVQ==",
-            "dev": true
-        },
         "@types/glob": {
             "version": "7.2.0",
             "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz",
@@ -1769,6 +2052,15 @@
             "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==",
             "dev": true
         },
+        "@types/json-schema-merge-allof": {
+            "version": "0.6.5",
+            "resolved": "https://registry.npmjs.org/@types/json-schema-merge-allof/-/json-schema-merge-allof-0.6.5.tgz",
+            "integrity": "sha512-5mS11ZUTyFNUVEMpK3uKoPb6BWL/nLgW/ln2VOiI8OOxKEYC4Gl9O3WjS5P49yqVTfkcbCAPKw3T1O4erUah5g==",
+            "dev": true,
+            "requires": {
+                "@types/json-schema": "*"
+            }
+        },
         "@types/json5": {
             "version": "0.0.29",
             "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz",
@@ -1808,39 +2100,6 @@
             "integrity": "sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==",
             "dev": true
         },
-        "@types/prop-types": {
-            "version": "15.7.11",
-            "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.11.tgz",
-            "integrity": "sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng==",
-            "dev": true
-        },
-        "@types/react": {
-            "version": "18.2.63",
-            "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.63.tgz",
-            "integrity": "sha512-ppaqODhs15PYL2nGUOaOu2RSCCB4Difu4UFrP4I3NHLloXC/ESQzQMi9nvjfT1+rudd0d2L3fQPJxRSey+rGlQ==",
-            "dev": true,
-            "requires": {
-                "@types/prop-types": "*",
-                "@types/scheduler": "*",
-                "csstype": "^3.0.2"
-            }
-        },
-        "@types/react-jsonschema-form": {
-            "version": "1.7.13",
-            "resolved": "https://registry.npmjs.org/@types/react-jsonschema-form/-/react-jsonschema-form-1.7.13.tgz",
-            "integrity": "sha512-C2jgO7/ow76oCSfUK++jKKox17R0A7ryMYNE5hJ2dR1Ske9jhuvjIlurvzMePh+Xjk8wey0nzB2C7HFKe2pRdg==",
-            "dev": true,
-            "requires": {
-                "@types/json-schema": "*",
-                "@types/react": "*"
-            }
-        },
-        "@types/scheduler": {
-            "version": "0.16.8",
-            "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.8.tgz",
-            "integrity": "sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A==",
-            "dev": true
-        },
         "@types/underscore": {
             "version": "1.11.15",
             "resolved": "https://registry.npmjs.org/@types/underscore/-/underscore-1.11.15.tgz",
@@ -2438,12 +2697,6 @@
                 "shallow-clone": "^3.0.0"
             }
         },
-        "co": {
-            "version": "4.6.0",
-            "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
-            "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==",
-            "dev": true
-        },
         "color-convert": {
             "version": "1.9.3",
             "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
@@ -2583,12 +2836,6 @@
             "integrity": "sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q==",
             "dev": true
         },
-        "csstype": {
-            "version": "3.1.3",
-            "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz",
-            "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==",
-            "dev": true
-        },
         "d": {
             "version": "1.0.2",
             "resolved": "https://registry.npmjs.org/d/-/d-1.0.2.tgz",
@@ -2663,17 +2910,6 @@
                 }
             }
         },
-        "define-data-property": {
-            "version": "1.1.4",
-            "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz",
-            "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==",
-            "dev": true,
-            "requires": {
-                "es-define-property": "^1.0.0",
-                "es-errors": "^1.3.0",
-                "gopd": "^1.0.1"
-            }
-        },
         "define-properties": {
             "version": "1.1.4",
             "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz",
@@ -2755,42 +2991,6 @@
                 "unbox-primitive": "^1.0.2"
             }
         },
-        "es-define-property": {
-            "version": "1.0.0",
-            "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz",
-            "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==",
-            "dev": true,
-            "requires": {
-                "get-intrinsic": "^1.2.4"
-            },
-            "dependencies": {
-                "function-bind": {
-                    "version": "1.1.2",
-                    "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
-                    "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
-                    "dev": true
-                },
-                "get-intrinsic": {
-                    "version": "1.2.4",
-                    "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz",
-                    "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==",
-                    "dev": true,
-                    "requires": {
-                        "es-errors": "^1.3.0",
-                        "function-bind": "^1.1.2",
-                        "has-proto": "^1.0.1",
-                        "has-symbols": "^1.0.3",
-                        "hasown": "^2.0.0"
-                    }
-                }
-            }
-        },
-        "es-errors": {
-            "version": "1.3.0",
-            "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz",
-            "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==",
-            "dev": true
-        },
         "es-shim-unscopables": {
             "version": "1.0.0",
             "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz",
@@ -3482,12 +3682,6 @@
             "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==",
             "dev": true
         },
-        "file": {
-            "version": "0.2.2",
-            "resolved": "https://registry.npmjs.org/file/-/file-0.2.2.tgz",
-            "integrity": "sha512-gwabMtChzdnpDJdPEpz8Vr/PX0pU85KailuPV71Zw/un5yJVKvzukhB3qf6O3lnTwIe5CxlMYLh3jOK3w5xrLA==",
-            "dev": true
-        },
         "file-entry-cache": {
             "version": "6.0.1",
             "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz",
@@ -3702,36 +3896,6 @@
             "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
             "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA=="
         },
-        "gopd": {
-            "version": "1.0.1",
-            "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz",
-            "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==",
-            "dev": true,
-            "requires": {
-                "get-intrinsic": "^1.1.3"
-            },
-            "dependencies": {
-                "function-bind": {
-                    "version": "1.1.2",
-                    "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
-                    "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
-                    "dev": true
-                },
-                "get-intrinsic": {
-                    "version": "1.2.4",
-                    "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz",
-                    "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==",
-                    "dev": true,
-                    "requires": {
-                        "es-errors": "^1.3.0",
-                        "function-bind": "^1.1.2",
-                        "has-proto": "^1.0.1",
-                        "has-symbols": "^1.0.3",
-                        "hasown": "^2.0.0"
-                    }
-                }
-            }
-        },
         "graceful-fs": {
             "version": "4.2.10",
             "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz",
@@ -3771,12 +3935,6 @@
                 "get-intrinsic": "^1.1.1"
             }
         },
-        "has-proto": {
-            "version": "1.0.3",
-            "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz",
-            "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==",
-            "dev": true
-        },
         "has-symbols": {
             "version": "1.0.3",
             "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
@@ -3809,23 +3967,6 @@
                 }
             }
         },
-        "hasown": {
-            "version": "2.0.1",
-            "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.1.tgz",
-            "integrity": "sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==",
-            "dev": true,
-            "requires": {
-                "function-bind": "^1.1.2"
-            },
-            "dependencies": {
-                "function-bind": {
-                    "version": "1.1.2",
-                    "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
-                    "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
-                    "dev": true
-                }
-            }
-        },
         "he": {
             "version": "1.2.0",
             "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz",
@@ -4123,12 +4264,6 @@
             "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==",
             "dev": true
         },
-        "isarray": {
-            "version": "2.0.5",
-            "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz",
-            "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==",
-            "dev": true
-        },
         "isexe": {
             "version": "2.0.0",
             "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
@@ -4374,52 +4509,6 @@
             "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
             "dev": true
         },
-        "json-stable-stringify": {
-            "version": "1.1.1",
-            "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.1.1.tgz",
-            "integrity": "sha512-SU/971Kt5qVQfJpyDveVhQ/vya+5hvrjClFOcr8c0Fq5aODJjMwutrOfCU+eCnVD5gpx1Q3fEqkyom77zH1iIg==",
-            "dev": true,
-            "requires": {
-                "call-bind": "^1.0.5",
-                "isarray": "^2.0.5",
-                "jsonify": "^0.0.1",
-                "object-keys": "^1.1.1"
-            },
-            "dependencies": {
-                "call-bind": {
-                    "version": "1.0.7",
-                    "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz",
-                    "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==",
-                    "dev": true,
-                    "requires": {
-                        "es-define-property": "^1.0.0",
-                        "es-errors": "^1.3.0",
-                        "function-bind": "^1.1.2",
-                        "get-intrinsic": "^1.2.4",
-                        "set-function-length": "^1.2.1"
-                    }
-                },
-                "function-bind": {
-                    "version": "1.1.2",
-                    "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
-                    "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
-                    "dev": true
-                },
-                "get-intrinsic": {
-                    "version": "1.2.4",
-                    "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz",
-                    "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==",
-                    "dev": true,
-                    "requires": {
-                        "es-errors": "^1.3.0",
-                        "function-bind": "^1.1.2",
-                        "has-proto": "^1.0.1",
-                        "has-symbols": "^1.0.3",
-                        "hasown": "^2.0.0"
-                    }
-                }
-            }
-        },
         "json-stable-stringify-without-jsonify": {
             "version": "1.0.1",
             "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
@@ -4431,12 +4520,6 @@
             "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz",
             "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA=="
         },
-        "jsonify": {
-            "version": "0.0.1",
-            "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.1.tgz",
-            "integrity": "sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg==",
-            "dev": true
-        },
         "jsx-ast-utils": {
             "version": "3.3.2",
             "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.2.tgz",
@@ -5865,50 +5948,6 @@
             "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==",
             "dev": true
         },
-        "set-function-length": {
-            "version": "1.2.1",
-            "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.1.tgz",
-            "integrity": "sha512-j4t6ccc+VsKwYHso+kElc5neZpjtq9EnRICFZtWyBsLojhmeF/ZBd/elqm22WJh/BziDe/SBiOeAt0m2mfLD0g==",
-            "dev": true,
-            "requires": {
-                "define-data-property": "^1.1.2",
-                "es-errors": "^1.3.0",
-                "function-bind": "^1.1.2",
-                "get-intrinsic": "^1.2.3",
-                "gopd": "^1.0.1",
-                "has-property-descriptors": "^1.0.1"
-            },
-            "dependencies": {
-                "function-bind": {
-                    "version": "1.1.2",
-                    "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
-                    "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
-                    "dev": true
-                },
-                "get-intrinsic": {
-                    "version": "1.2.4",
-                    "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz",
-                    "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==",
-                    "dev": true,
-                    "requires": {
-                        "es-errors": "^1.3.0",
-                        "function-bind": "^1.1.2",
-                        "has-proto": "^1.0.1",
-                        "has-symbols": "^1.0.3",
-                        "hasown": "^2.0.0"
-                    }
-                },
-                "has-property-descriptors": {
-                    "version": "1.0.2",
-                    "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz",
-                    "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==",
-                    "dev": true,
-                    "requires": {
-                        "es-define-property": "^1.0.0"
-                    }
-                }
-            }
-        },
         "shallow-clone": {
             "version": "3.0.1",
             "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz",
diff --git a/package.json b/package.json
index b2f2313..a5989d8 100644
--- a/package.json
+++ b/package.json
@@ -44,10 +44,11 @@
         "underscore.string": "^3.3.4"
     },
     "devDependencies": {
-        "@exabyte-io/code.js": "2023.11.22-0",
+        "@exabyte-io/code.js": "git+https://github.com/Exabyte-io/code.js.git#215e9e7b194c63422858d043be750fe023814329",
         "@exabyte-io/eslint-config": "^2022.11.17-0",
         "@exabyte-io/made.js": "git+https://github.com/Exabyte-io/made.js.git#00eec7c00079b686a8cb7591f85e1a06f2f5f647",
         "@exabyte-io/application-flavors.js": "git+https://github.com/Exabyte-io/application-flavors.git#b25b433276e4b874de525b44ad6f9a6e8624aa6d",
+        "@mat3ra/esse": "git+https://github.com/Exabyte-io/esse.git#332a9cc5c0853af610dd721dc976905637cf989e",
         "chai": "^4.3.4",
         "eslint": "7.32.0",
         "eslint-config-airbnb": "19.0.2",

From 05e82ea4aced779345662dcfb660dc6c30cd1c2a Mon Sep 17 00:00:00 2001
From: Pranab Das <31024886+pranabdas@users.noreply.github.com>
Date: Wed, 6 Mar 2024 08:58:39 +0800
Subject: [PATCH 06/19] SOF-6927: update application-flavors

---
 package-lock.json | 4 ++--
 package.json      | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/package-lock.json b/package-lock.json
index 49dba8f..e222b6f 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1567,8 +1567,8 @@
             }
         },
         "@exabyte-io/application-flavors.js": {
-            "version": "git+https://github.com/Exabyte-io/application-flavors.git#b25b433276e4b874de525b44ad6f9a6e8624aa6d",
-            "from": "git+https://github.com/Exabyte-io/application-flavors.git#b25b433276e4b874de525b44ad6f9a6e8624aa6d",
+            "version": "git+https://github.com/Exabyte-io/application-flavors.git#907ae373ab1867ced577428ebf81b1cdc695d1f7",
+            "from": "git+https://github.com/Exabyte-io/application-flavors.git#907ae373ab1867ced577428ebf81b1cdc695d1f7",
             "dev": true,
             "requires": {
                 "@babel/cli": "7.16.0",
diff --git a/package.json b/package.json
index a5989d8..55daa03 100644
--- a/package.json
+++ b/package.json
@@ -47,7 +47,7 @@
         "@exabyte-io/code.js": "git+https://github.com/Exabyte-io/code.js.git#215e9e7b194c63422858d043be750fe023814329",
         "@exabyte-io/eslint-config": "^2022.11.17-0",
         "@exabyte-io/made.js": "git+https://github.com/Exabyte-io/made.js.git#00eec7c00079b686a8cb7591f85e1a06f2f5f647",
-        "@exabyte-io/application-flavors.js": "git+https://github.com/Exabyte-io/application-flavors.git#b25b433276e4b874de525b44ad6f9a6e8624aa6d",
+        "@exabyte-io/application-flavors.js": "git+https://github.com/Exabyte-io/application-flavors.git#907ae373ab1867ced577428ebf81b1cdc695d1f7",
         "@mat3ra/esse": "git+https://github.com/Exabyte-io/esse.git#332a9cc5c0853af610dd721dc976905637cf989e",
         "chai": "^4.3.4",
         "eslint": "7.32.0",

From a6c4595e647bd741d49ef01273ae5ae316c29c70 Mon Sep 17 00:00:00 2001
From: Pranab Das <31024886+pranabdas@users.noreply.github.com>
Date: Wed, 6 Mar 2024 20:01:25 +0800
Subject: [PATCH 07/19] SOF-6927: NTYP_WITH_LABELS method does not have
 argument

---
 src/context/providers/espresso/providers.js | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/context/providers/espresso/providers.js b/src/context/providers/espresso/providers.js
index 91e1d34..02d16bd 100644
--- a/src/context/providers/espresso/providers.js
+++ b/src/context/providers/espresso/providers.js
@@ -33,6 +33,8 @@ export class QEPWXContextProvider extends mix(ExecutableContextProvider).with(
         const elm = material.Basis.elementsArray;
         const labels = material.Basis.atomicLabelsArray;
         const elmWithLabel = elm.map((label, idx) => label + labels[idx]);
+
+        // return unique items
         return [...new Set(elmWithLabel)];
     }
 
@@ -71,7 +73,7 @@ export class QEPWXContextProvider extends mix(ExecutableContextProvider).with(
             ATOMIC_SPECIES_WITH_LABELS: this.ATOMIC_SPECIES_WITH_LABELS(material),
             NAT: QEPWXContextProvider.NAT(material),
             NTYP: QEPWXContextProvider.NTYP(material),
-            NTYP_WITH_LABELS: QEPWXContextProvider.NTYP_WITH_LABELS(material),
+            NTYP_WITH_LABELS: QEPWXContextProvider.NTYP_WITH_LABELS,
             ATOMIC_POSITIONS: QEPWXContextProvider.atomicPositionsWithConstraints(material),
             ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS: QEPWXContextProvider.atomicPositions(material),
             CELL_PARAMETERS: QEPWXContextProvider.CELL_PARAMETERS(material),

From b0350a6b6efe0dbe47d0bac1aff0a47e1db3b0f2 Mon Sep 17 00:00:00 2001
From: Pranab Das <31024886+pranabdas@users.noreply.github.com>
Date: Wed, 6 Mar 2024 20:31:04 +0800
Subject: [PATCH 08/19] SOF-6927: fix regex match expression to extract atomic
 label

---
 src/context/providers/espresso/providers.js | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/context/providers/espresso/providers.js b/src/context/providers/espresso/providers.js
index 02d16bd..e0d215d 100644
--- a/src/context/providers/espresso/providers.js
+++ b/src/context/providers/espresso/providers.js
@@ -129,7 +129,7 @@ export class QEPWXContextProvider extends mix(ExecutableContextProvider).with(
         return QEPWXContextProvider.atomSymbolsWithLabels(material)
             .map((symbol) => {
                 const symbolWithoutLabel = symbol.replace(/\d$/, "");
-                const label = symbol.match(/\d$/g)[0] ? symbol.match(/\d$/g)[0] : "";
+                const label = symbol.match(/\d$/g) ? symbol.match(/\d$/g)[0] : "";
                 const pseudo = this.getPseudoBySymbol(symbolWithoutLabel);
                 return QEPWXContextProvider.symbolToAtomicSpecieWithLabels(
                     symbolWithoutLabel,

From 77626aeb04105495a962fe0b4f73c171173c32db Mon Sep 17 00:00:00 2001
From: Pranab Das <31024886+pranabdas@users.noreply.github.com>
Date: Thu, 7 Mar 2024 19:57:43 +0800
Subject: [PATCH 09/19] SOF-6927: update made.js

---
 package-lock.json | 4 ++--
 package.json      | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/package-lock.json b/package-lock.json
index e222b6f..f0e9a47 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1697,8 +1697,8 @@
             "dev": true
         },
         "@exabyte-io/made.js": {
-            "version": "git+https://github.com/Exabyte-io/made.js.git#00eec7c00079b686a8cb7591f85e1a06f2f5f647",
-            "from": "git+https://github.com/Exabyte-io/made.js.git#00eec7c00079b686a8cb7591f85e1a06f2f5f647",
+            "version": "git+https://github.com/Exabyte-io/made.js.git#be913c45713e31d19c67abd48934bda439ffee4d",
+            "from": "git+https://github.com/Exabyte-io/made.js.git#be913c45713e31d19c67abd48934bda439ffee4d",
             "dev": true,
             "requires": {
                 "@babel/core": "^7.16.0",
diff --git a/package.json b/package.json
index 55daa03..bc20da7 100644
--- a/package.json
+++ b/package.json
@@ -46,7 +46,7 @@
     "devDependencies": {
         "@exabyte-io/code.js": "git+https://github.com/Exabyte-io/code.js.git#215e9e7b194c63422858d043be750fe023814329",
         "@exabyte-io/eslint-config": "^2022.11.17-0",
-        "@exabyte-io/made.js": "git+https://github.com/Exabyte-io/made.js.git#00eec7c00079b686a8cb7591f85e1a06f2f5f647",
+        "@exabyte-io/made.js": "git+https://github.com/Exabyte-io/made.js.git#be913c45713e31d19c67abd48934bda439ffee4d",
         "@exabyte-io/application-flavors.js": "git+https://github.com/Exabyte-io/application-flavors.git#907ae373ab1867ced577428ebf81b1cdc695d1f7",
         "@mat3ra/esse": "git+https://github.com/Exabyte-io/esse.git#332a9cc5c0853af610dd721dc976905637cf989e",
         "chai": "^4.3.4",

From 63eff517ad4c612c8769db68d91dc3244d7cb272 Mon Sep 17 00:00:00 2001
From: Pranab Das <31024886+pranabdas@users.noreply.github.com>
Date: Fri, 8 Mar 2024 00:14:50 +0800
Subject: [PATCH 10/19] SOF-6927: update made.js x2

---
 package-lock.json | 4 ++--
 package.json      | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/package-lock.json b/package-lock.json
index f0e9a47..96f10cb 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1697,8 +1697,8 @@
             "dev": true
         },
         "@exabyte-io/made.js": {
-            "version": "git+https://github.com/Exabyte-io/made.js.git#be913c45713e31d19c67abd48934bda439ffee4d",
-            "from": "git+https://github.com/Exabyte-io/made.js.git#be913c45713e31d19c67abd48934bda439ffee4d",
+            "version": "git+https://github.com/Exabyte-io/made.js.git#b507accab8ae3023125825c218bef4e834bf57ef",
+            "from": "git+https://github.com/Exabyte-io/made.js.git#b507accab8ae3023125825c218bef4e834bf57ef",
             "dev": true,
             "requires": {
                 "@babel/core": "^7.16.0",
diff --git a/package.json b/package.json
index bc20da7..54d89b9 100644
--- a/package.json
+++ b/package.json
@@ -46,7 +46,7 @@
     "devDependencies": {
         "@exabyte-io/code.js": "git+https://github.com/Exabyte-io/code.js.git#215e9e7b194c63422858d043be750fe023814329",
         "@exabyte-io/eslint-config": "^2022.11.17-0",
-        "@exabyte-io/made.js": "git+https://github.com/Exabyte-io/made.js.git#be913c45713e31d19c67abd48934bda439ffee4d",
+        "@exabyte-io/made.js": "git+https://github.com/Exabyte-io/made.js.git#b507accab8ae3023125825c218bef4e834bf57ef",
         "@exabyte-io/application-flavors.js": "git+https://github.com/Exabyte-io/application-flavors.git#907ae373ab1867ced577428ebf81b1cdc695d1f7",
         "@mat3ra/esse": "git+https://github.com/Exabyte-io/esse.git#332a9cc5c0853af610dd721dc976905637cf989e",
         "chai": "^4.3.4",

From 0f69fd0504c90f59e9b89246915a0b119eac1c7b Mon Sep 17 00:00:00 2001
From: Pranab Das <31024886+pranabdas@users.noreply.github.com>
Date: Fri, 8 Mar 2024 19:27:30 +0800
Subject: [PATCH 11/19] SOF-6927: update made.js x3

---
 package-lock.json | 4 ++--
 package.json      | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/package-lock.json b/package-lock.json
index 96f10cb..c286e14 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1697,8 +1697,8 @@
             "dev": true
         },
         "@exabyte-io/made.js": {
-            "version": "git+https://github.com/Exabyte-io/made.js.git#b507accab8ae3023125825c218bef4e834bf57ef",
-            "from": "git+https://github.com/Exabyte-io/made.js.git#b507accab8ae3023125825c218bef4e834bf57ef",
+            "version": "git+https://github.com/Exabyte-io/made.js.git#51ef7f0f3e30249ac571fef4a4fee68f51f91b05",
+            "from": "git+https://github.com/Exabyte-io/made.js.git#51ef7f0f3e30249ac571fef4a4fee68f51f91b05",
             "dev": true,
             "requires": {
                 "@babel/core": "^7.16.0",
diff --git a/package.json b/package.json
index 54d89b9..6bb6f54 100644
--- a/package.json
+++ b/package.json
@@ -46,7 +46,7 @@
     "devDependencies": {
         "@exabyte-io/code.js": "git+https://github.com/Exabyte-io/code.js.git#215e9e7b194c63422858d043be750fe023814329",
         "@exabyte-io/eslint-config": "^2022.11.17-0",
-        "@exabyte-io/made.js": "git+https://github.com/Exabyte-io/made.js.git#b507accab8ae3023125825c218bef4e834bf57ef",
+        "@exabyte-io/made.js": "git+https://github.com/Exabyte-io/made.js.git#51ef7f0f3e30249ac571fef4a4fee68f51f91b05",
         "@exabyte-io/application-flavors.js": "git+https://github.com/Exabyte-io/application-flavors.git#907ae373ab1867ced577428ebf81b1cdc695d1f7",
         "@mat3ra/esse": "git+https://github.com/Exabyte-io/esse.git#332a9cc5c0853af610dd721dc976905637cf989e",
         "chai": "^4.3.4",

From 949c7c5ac62e2ef7af9938cb76b75a09bf10241b Mon Sep 17 00:00:00 2001
From: Pranab Das <31024886+pranabdas@users.noreply.github.com>
Date: Tue, 12 Mar 2024 20:56:59 +0800
Subject: [PATCH 12/19] SOF-6927: fix NTYP_WITH_LABELS get method

---
 src/context/providers/espresso/providers.js | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/context/providers/espresso/providers.js b/src/context/providers/espresso/providers.js
index e0d215d..a945913 100644
--- a/src/context/providers/espresso/providers.js
+++ b/src/context/providers/espresso/providers.js
@@ -59,7 +59,7 @@ export class QEPWXContextProvider extends mix(ExecutableContextProvider).with(
         return material.Basis.uniqueElements.length;
     }
 
-    static NTYP_WITH_LABELS() {
+    get NTYP_WITH_LABELS() {
         return this.atomSymbolsWithLabels.length;
     }
 

From 6bbcf579082ce1533d9c543838541b55fad18cb9 Mon Sep 17 00:00:00 2001
From: Pranab Das <31024886+pranabdas@users.noreply.github.com>
Date: Tue, 12 Mar 2024 22:04:03 +0800
Subject: [PATCH 13/19] SOF-6927: fix atomSymbolsWithLabels

---
 src/context/providers/espresso/providers.js | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/context/providers/espresso/providers.js b/src/context/providers/espresso/providers.js
index a945913..0f4ebf4 100644
--- a/src/context/providers/espresso/providers.js
+++ b/src/context/providers/espresso/providers.js
@@ -30,9 +30,10 @@ export class QEPWXContextProvider extends mix(ExecutableContextProvider).with(
     }
 
     static atomSymbolsWithLabels(material) {
-        const elm = material.Basis.elementsArray;
+        const symbols = material.Basis.elementsArray;
         const labels = material.Basis.atomicLabelsArray;
-        const elmWithLabel = elm.map((label, idx) => label + labels[idx]);
+        const elmWithLabel = [];
+        symbols.forEach((symbol, idx) => elmWithLabel.push(symbol + labels[idx]));
 
         // return unique items
         return [...new Set(elmWithLabel)];

From b5429d9c954cbaf65f01392233de2a9ba9c5f90f Mon Sep 17 00:00:00 2001
From: Pranab Das <31024886+pranabdas@users.noreply.github.com>
Date: Tue, 12 Mar 2024 23:06:25 +0800
Subject: [PATCH 14/19] SOF-6927: fix NTYP_WITH_LABELS

---
 src/context/providers/espresso/providers.js | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/context/providers/espresso/providers.js b/src/context/providers/espresso/providers.js
index 0f4ebf4..2069afe 100644
--- a/src/context/providers/espresso/providers.js
+++ b/src/context/providers/espresso/providers.js
@@ -60,8 +60,8 @@ export class QEPWXContextProvider extends mix(ExecutableContextProvider).with(
         return material.Basis.uniqueElements.length;
     }
 
-    get NTYP_WITH_LABELS() {
-        return this.atomSymbolsWithLabels.length;
+    static NTYP_WITH_LABELS(material) {
+        return this.atomSymbolsWithLabels(material).length;
     }
 
     buildQEPWXContext(material) {
@@ -74,7 +74,7 @@ export class QEPWXContextProvider extends mix(ExecutableContextProvider).with(
             ATOMIC_SPECIES_WITH_LABELS: this.ATOMIC_SPECIES_WITH_LABELS(material),
             NAT: QEPWXContextProvider.NAT(material),
             NTYP: QEPWXContextProvider.NTYP(material),
-            NTYP_WITH_LABELS: QEPWXContextProvider.NTYP_WITH_LABELS,
+            NTYP_WITH_LABELS: QEPWXContextProvider.NTYP_WITH_LABELS(material),
             ATOMIC_POSITIONS: QEPWXContextProvider.atomicPositionsWithConstraints(material),
             ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS: QEPWXContextProvider.atomicPositions(material),
             CELL_PARAMETERS: QEPWXContextProvider.CELL_PARAMETERS(material),

From fc15382d6b5c5b9a0a4d36d28740c1d26d0c2c75 Mon Sep 17 00:00:00 2001
From: Pranab Das <31024886+pranabdas@users.noreply.github.com>
Date: Wed, 13 Mar 2024 00:14:01 +0800
Subject: [PATCH 15/19] SOF-6927: update application-flavors

---
 package-lock.json | 4 ++--
 package.json      | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/package-lock.json b/package-lock.json
index c286e14..daea225 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1567,8 +1567,8 @@
             }
         },
         "@exabyte-io/application-flavors.js": {
-            "version": "git+https://github.com/Exabyte-io/application-flavors.git#907ae373ab1867ced577428ebf81b1cdc695d1f7",
-            "from": "git+https://github.com/Exabyte-io/application-flavors.git#907ae373ab1867ced577428ebf81b1cdc695d1f7",
+            "version": "git+https://github.com/Exabyte-io/application-flavors.git#cd50a800ab89da218ff61bbb837e8eba6f7b48b6",
+            "from": "git+https://github.com/Exabyte-io/application-flavors.git#cd50a800ab89da218ff61bbb837e8eba6f7b48b6",
             "dev": true,
             "requires": {
                 "@babel/cli": "7.16.0",
diff --git a/package.json b/package.json
index 6bb6f54..c5ce533 100644
--- a/package.json
+++ b/package.json
@@ -47,7 +47,7 @@
         "@exabyte-io/code.js": "git+https://github.com/Exabyte-io/code.js.git#215e9e7b194c63422858d043be750fe023814329",
         "@exabyte-io/eslint-config": "^2022.11.17-0",
         "@exabyte-io/made.js": "git+https://github.com/Exabyte-io/made.js.git#51ef7f0f3e30249ac571fef4a4fee68f51f91b05",
-        "@exabyte-io/application-flavors.js": "git+https://github.com/Exabyte-io/application-flavors.git#907ae373ab1867ced577428ebf81b1cdc695d1f7",
+        "@exabyte-io/application-flavors.js": "git+https://github.com/Exabyte-io/application-flavors.git#cd50a800ab89da218ff61bbb837e8eba6f7b48b6",
         "@mat3ra/esse": "git+https://github.com/Exabyte-io/esse.git#332a9cc5c0853af610dd721dc976905637cf989e",
         "chai": "^4.3.4",
         "eslint": "7.32.0",

From dbc4979de8a181820ac6da81fff282f494f71848 Mon Sep 17 00:00:00 2001
From: Pranab Das <31024886+pranabdas@users.noreply.github.com>
Date: Wed, 13 Mar 2024 09:26:56 +0800
Subject: [PATCH 16/19] SOF-6927: update deps

---
 package-lock.json | 24 ++++++++++++------------
 package.json      |  6 +++---
 2 files changed, 15 insertions(+), 15 deletions(-)

diff --git a/package-lock.json b/package-lock.json
index daea225..3989e86 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1644,8 +1644,8 @@
             }
         },
         "@exabyte-io/code.js": {
-            "version": "git+https://github.com/Exabyte-io/code.js.git#215e9e7b194c63422858d043be750fe023814329",
-            "from": "git+https://github.com/Exabyte-io/code.js.git#215e9e7b194c63422858d043be750fe023814329",
+            "version": "git+https://github.com/Exabyte-io/code.js.git#5937dc94eb8ca88c6f3e4e9c8f93050e56a869ea",
+            "from": "git+https://github.com/Exabyte-io/code.js.git#5937dc94eb8ca88c6f3e4e9c8f93050e56a869ea",
             "dev": true,
             "requires": {
                 "crypto-js": "^4.1.1",
@@ -1697,8 +1697,8 @@
             "dev": true
         },
         "@exabyte-io/made.js": {
-            "version": "git+https://github.com/Exabyte-io/made.js.git#51ef7f0f3e30249ac571fef4a4fee68f51f91b05",
-            "from": "git+https://github.com/Exabyte-io/made.js.git#51ef7f0f3e30249ac571fef4a4fee68f51f91b05",
+            "version": "git+https://github.com/Exabyte-io/made.js.git#882ce639da8b36ef208fe0e6318c6c7a40485274",
+            "from": "git+https://github.com/Exabyte-io/made.js.git#882ce639da8b36ef208fe0e6318c6c7a40485274",
             "dev": true,
             "requires": {
                 "@babel/core": "^7.16.0",
@@ -1919,8 +1919,8 @@
             "dev": true
         },
         "@mat3ra/esse": {
-            "version": "git+https://github.com/Exabyte-io/esse.git#332a9cc5c0853af610dd721dc976905637cf989e",
-            "from": "git+https://github.com/Exabyte-io/esse.git#332a9cc5c0853af610dd721dc976905637cf989e",
+            "version": "git+https://github.com/Exabyte-io/esse.git#a967135c3bf155242fc2a5d0a0a262ffdf5d68b7",
+            "from": "git+https://github.com/Exabyte-io/esse.git#a967135c3bf155242fc2a5d0a0a262ffdf5d68b7",
             "dev": true,
             "requires": {
                 "@babel/cli": "7.16.0",
@@ -2068,9 +2068,9 @@
             "dev": true
         },
         "@types/lodash": {
-            "version": "4.14.202",
-            "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.202.tgz",
-            "integrity": "sha512-OvlIYQK9tNneDlS0VN54LLd5uiPCBOp7gS5Z0f1mjoJYBrtStzgmJBxONW3U6OZqdtNzZPmn9BS/7WI7BFFcFQ==",
+            "version": "4.17.0",
+            "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.0.tgz",
+            "integrity": "sha512-t7dhREVv6dbNj0q17X12j7yDG4bD/DHYX7o5/DbDxobP0HnGPgpRz2Ej77aL7TZT3DSw13fqUTj8J4mMnqa7WA==",
             "dev": true
         },
         "@types/minimatch": {
@@ -2086,9 +2086,9 @@
             "dev": true
         },
         "@types/node": {
-            "version": "20.11.24",
-            "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.24.tgz",
-            "integrity": "sha512-Kza43ewS3xoLgCEpQrsT+xRo/EJej1y0kVYGiLFE1NEODXGzTfwiC6tXTLMQskn1X4/Rjlh0MQUvx9W+L9long==",
+            "version": "20.11.26",
+            "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.26.tgz",
+            "integrity": "sha512-YwOMmyhNnAWijOBQweOJnQPl068Oqd4K3OFbTc6AHJwzweUwwWG3GIFY74OKks2PJUDkQPeddOQES9mLn1CTEQ==",
             "dev": true,
             "requires": {
                 "undici-types": "~5.26.4"
diff --git a/package.json b/package.json
index c5ce533..80edd28 100644
--- a/package.json
+++ b/package.json
@@ -44,11 +44,11 @@
         "underscore.string": "^3.3.4"
     },
     "devDependencies": {
-        "@exabyte-io/code.js": "git+https://github.com/Exabyte-io/code.js.git#215e9e7b194c63422858d043be750fe023814329",
+        "@exabyte-io/code.js": "git+https://github.com/Exabyte-io/code.js.git#5937dc94eb8ca88c6f3e4e9c8f93050e56a869ea",
         "@exabyte-io/eslint-config": "^2022.11.17-0",
-        "@exabyte-io/made.js": "git+https://github.com/Exabyte-io/made.js.git#51ef7f0f3e30249ac571fef4a4fee68f51f91b05",
+        "@exabyte-io/made.js": "git+https://github.com/Exabyte-io/made.js.git#882ce639da8b36ef208fe0e6318c6c7a40485274",
         "@exabyte-io/application-flavors.js": "git+https://github.com/Exabyte-io/application-flavors.git#cd50a800ab89da218ff61bbb837e8eba6f7b48b6",
-        "@mat3ra/esse": "git+https://github.com/Exabyte-io/esse.git#332a9cc5c0853af610dd721dc976905637cf989e",
+        "@mat3ra/esse": "git+https://github.com/Exabyte-io/esse.git#a967135c3bf155242fc2a5d0a0a262ffdf5d68b7",
         "chai": "^4.3.4",
         "eslint": "7.32.0",
         "eslint-config-airbnb": "19.0.2",

From 515b1394835f2ffeaae16251f31270aa73fe945d Mon Sep 17 00:00:00 2001
From: Pranab Das <31024886+pranabdas@users.noreply.github.com>
Date: Thu, 14 Mar 2024 19:49:33 +0800
Subject: [PATCH 17/19] SOF-6927: update application-flavors after spin
 templates for nscf and bands

---
 package-lock.json | 4 ++--
 package.json      | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/package-lock.json b/package-lock.json
index 3989e86..2489fc1 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1567,8 +1567,8 @@
             }
         },
         "@exabyte-io/application-flavors.js": {
-            "version": "git+https://github.com/Exabyte-io/application-flavors.git#cd50a800ab89da218ff61bbb837e8eba6f7b48b6",
-            "from": "git+https://github.com/Exabyte-io/application-flavors.git#cd50a800ab89da218ff61bbb837e8eba6f7b48b6",
+            "version": "git+https://github.com/Exabyte-io/application-flavors.git#6af8d952e9c345bd26f0c0889d2f4f6c623cc2e0",
+            "from": "git+https://github.com/Exabyte-io/application-flavors.git#6af8d952e9c345bd26f0c0889d2f4f6c623cc2e0",
             "dev": true,
             "requires": {
                 "@babel/cli": "7.16.0",
diff --git a/package.json b/package.json
index 80edd28..2990f60 100644
--- a/package.json
+++ b/package.json
@@ -47,7 +47,7 @@
         "@exabyte-io/code.js": "git+https://github.com/Exabyte-io/code.js.git#5937dc94eb8ca88c6f3e4e9c8f93050e56a869ea",
         "@exabyte-io/eslint-config": "^2022.11.17-0",
         "@exabyte-io/made.js": "git+https://github.com/Exabyte-io/made.js.git#882ce639da8b36ef208fe0e6318c6c7a40485274",
-        "@exabyte-io/application-flavors.js": "git+https://github.com/Exabyte-io/application-flavors.git#cd50a800ab89da218ff61bbb837e8eba6f7b48b6",
+        "@exabyte-io/application-flavors.js": "git+https://github.com/Exabyte-io/application-flavors.git#6af8d952e9c345bd26f0c0889d2f4f6c623cc2e0",
         "@mat3ra/esse": "git+https://github.com/Exabyte-io/esse.git#a967135c3bf155242fc2a5d0a0a262ffdf5d68b7",
         "chai": "^4.3.4",
         "eslint": "7.32.0",

From 23d8c97e92fa342f959bae851c2957eda65a90e1 Mon Sep 17 00:00:00 2001
From: Pranab Das <31024886+pranabdas@users.noreply.github.com>
Date: Wed, 20 Mar 2024 23:25:54 +0800
Subject: [PATCH 18/19] SOF-6927: refactor ==> elementsWithLabelsArray + bump
 deps

---
 package-lock.json                           | 139 ++++++++++----------
 package.json                                |   8 +-
 src/context/providers/espresso/providers.js |  21 ++-
 3 files changed, 83 insertions(+), 85 deletions(-)

diff --git a/package-lock.json b/package-lock.json
index 2489fc1..6fdb09a 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -289,9 +289,9 @@
             }
         },
         "@babel/helper-string-parser": {
-            "version": "7.23.4",
-            "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz",
-            "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==",
+            "version": "7.24.1",
+            "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.1.tgz",
+            "integrity": "sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==",
             "dev": true
         },
         "@babel/helper-validator-identifier": {
@@ -545,12 +545,12 @@
             }
         },
         "@babel/plugin-syntax-export-default-from": {
-            "version": "7.23.3",
-            "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-default-from/-/plugin-syntax-export-default-from-7.23.3.tgz",
-            "integrity": "sha512-KeENO5ck1IeZ/l2lFZNy+mpobV3D2Zy5C1YFnWm+YuY5mQiAWc4yAp13dqgguwsBsFVLh4LPCEqCa5qW13N+hw==",
+            "version": "7.24.1",
+            "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-default-from/-/plugin-syntax-export-default-from-7.24.1.tgz",
+            "integrity": "sha512-cNXSxv9eTkGUtd0PsNMK8Yx5xeScxfpWOUAxE+ZPAXXEcAMOC3fk7LRdXq5fvpra2pLx2p1YtkAhpUbB2SwaRA==",
             "dev": true,
             "requires": {
-                "@babel/helper-plugin-utils": "^7.22.5"
+                "@babel/helper-plugin-utils": "^7.24.0"
             },
             "dependencies": {
                 "@babel/helper-plugin-utils": {
@@ -650,12 +650,12 @@
             }
         },
         "@babel/plugin-syntax-typescript": {
-            "version": "7.23.3",
-            "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.23.3.tgz",
-            "integrity": "sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ==",
+            "version": "7.24.1",
+            "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.24.1.tgz",
+            "integrity": "sha512-Yhnmvy5HZEnHUty6i++gcfH1/l68AHnItFHnaCv6hn9dNh0hQvvQJsxpi4BMBFN5DLeHBuucT/0DgzXif/OyRw==",
             "dev": true,
             "requires": {
-                "@babel/helper-plugin-utils": "^7.22.5"
+                "@babel/helper-plugin-utils": "^7.24.0"
             },
             "dependencies": {
                 "@babel/helper-plugin-utils": {
@@ -971,25 +971,25 @@
             }
         },
         "@babel/plugin-transform-typescript": {
-            "version": "7.23.6",
-            "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.23.6.tgz",
-            "integrity": "sha512-6cBG5mBvUu4VUD04OHKnYzbuHNP8huDsD3EDqqpIpsswTDoqHCjLoHb6+QgsV1WsT2nipRqCPgxD3LXnEO7XfA==",
+            "version": "7.24.1",
+            "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.24.1.tgz",
+            "integrity": "sha512-liYSESjX2fZ7JyBFkYG78nfvHlMKE6IpNdTVnxmlYUR+j5ZLsitFbaAE+eJSK2zPPkNWNw4mXL51rQ8WrvdK0w==",
             "dev": true,
             "requires": {
                 "@babel/helper-annotate-as-pure": "^7.22.5",
-                "@babel/helper-create-class-features-plugin": "^7.23.6",
-                "@babel/helper-plugin-utils": "^7.22.5",
-                "@babel/plugin-syntax-typescript": "^7.23.3"
+                "@babel/helper-create-class-features-plugin": "^7.24.1",
+                "@babel/helper-plugin-utils": "^7.24.0",
+                "@babel/plugin-syntax-typescript": "^7.24.1"
             },
             "dependencies": {
                 "@babel/code-frame": {
-                    "version": "7.23.5",
-                    "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz",
-                    "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==",
+                    "version": "7.24.2",
+                    "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.2.tgz",
+                    "integrity": "sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==",
                     "dev": true,
                     "requires": {
-                        "@babel/highlight": "^7.23.4",
-                        "chalk": "^2.4.2"
+                        "@babel/highlight": "^7.24.2",
+                        "picocolors": "^1.0.0"
                     }
                 },
                 "@babel/helper-annotate-as-pure": {
@@ -1002,9 +1002,9 @@
                     }
                 },
                 "@babel/helper-create-class-features-plugin": {
-                    "version": "7.24.0",
-                    "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.0.tgz",
-                    "integrity": "sha512-QAH+vfvts51BCsNZ2PhY6HAggnlS6omLLFTsIpeqZk/MmJ6cW7tgz5yRv0fMJThcr6FmbMrENh1RgrWPTYA76g==",
+                    "version": "7.24.1",
+                    "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.1.tgz",
+                    "integrity": "sha512-1yJa9dX9g//V6fDebXoEfEsxkZHk3Hcbm+zLhyu6qVgYFLvmTALTeV+jNU9e5RnYtioBrGEOdoI2joMSNQ/+aA==",
                     "dev": true,
                     "requires": {
                         "@babel/helper-annotate-as-pure": "^7.22.5",
@@ -1012,7 +1012,7 @@
                         "@babel/helper-function-name": "^7.23.0",
                         "@babel/helper-member-expression-to-functions": "^7.23.0",
                         "@babel/helper-optimise-call-expression": "^7.22.5",
-                        "@babel/helper-replace-supers": "^7.22.20",
+                        "@babel/helper-replace-supers": "^7.24.1",
                         "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5",
                         "@babel/helper-split-export-declaration": "^7.22.6",
                         "semver": "^6.3.1"
@@ -1059,13 +1059,13 @@
                     "dev": true
                 },
                 "@babel/helper-replace-supers": {
-                    "version": "7.22.20",
-                    "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz",
-                    "integrity": "sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==",
+                    "version": "7.24.1",
+                    "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.24.1.tgz",
+                    "integrity": "sha512-QCR1UqC9BzG5vZl8BMicmZ28RuUBnHhAMddD8yHFHDRH9lLTZ9uUPehX8ctVPT8l0TKblJidqcgUUKGVrePleQ==",
                     "dev": true,
                     "requires": {
                         "@babel/helper-environment-visitor": "^7.22.20",
-                        "@babel/helper-member-expression-to-functions": "^7.22.15",
+                        "@babel/helper-member-expression-to-functions": "^7.23.0",
                         "@babel/helper-optimise-call-expression": "^7.22.5"
                     }
                 },
@@ -1094,20 +1094,21 @@
                     "dev": true
                 },
                 "@babel/highlight": {
-                    "version": "7.23.4",
-                    "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz",
-                    "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==",
+                    "version": "7.24.2",
+                    "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.2.tgz",
+                    "integrity": "sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==",
                     "dev": true,
                     "requires": {
                         "@babel/helper-validator-identifier": "^7.22.20",
                         "chalk": "^2.4.2",
-                        "js-tokens": "^4.0.0"
+                        "js-tokens": "^4.0.0",
+                        "picocolors": "^1.0.0"
                     }
                 },
                 "@babel/parser": {
-                    "version": "7.24.0",
-                    "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.0.tgz",
-                    "integrity": "sha512-QuP/FxEAzMSjXygs8v4N9dvdXzEHN4W1oF3PxuWAtPo08UdM17u89RDMgjLn/mlc56iM0HlLmVkO/wgR+rDgHg==",
+                    "version": "7.24.1",
+                    "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.1.tgz",
+                    "integrity": "sha512-Zo9c7N3xdOIQrNip7Lc9wvRPzlRtovHVE4lkz8WEDr7uYh/GMQhSiIgFxGIArRHYdJE5kxtZjAf8rT0xhdLCzg==",
                     "dev": true
                 },
                 "@babel/template": {
@@ -1271,16 +1272,16 @@
             }
         },
         "@babel/preset-typescript": {
-            "version": "7.23.3",
-            "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.23.3.tgz",
-            "integrity": "sha512-17oIGVlqz6CchO9RFYn5U6ZpWRZIngayYCtrPRSgANSwC2V1Jb+iP74nVxzzXJte8b8BYxrL1yY96xfhTBrNNQ==",
+            "version": "7.24.1",
+            "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.24.1.tgz",
+            "integrity": "sha512-1DBaMmRDpuYQBPWD8Pf/WEwCrtgRHxsZnP4mIy9G/X+hFfbI47Q2G4t1Paakld84+qsk2fSsUPMKg71jkoOOaQ==",
             "dev": true,
             "requires": {
-                "@babel/helper-plugin-utils": "^7.22.5",
-                "@babel/helper-validator-option": "^7.22.15",
-                "@babel/plugin-syntax-jsx": "^7.23.3",
-                "@babel/plugin-transform-modules-commonjs": "^7.23.3",
-                "@babel/plugin-transform-typescript": "^7.23.3"
+                "@babel/helper-plugin-utils": "^7.24.0",
+                "@babel/helper-validator-option": "^7.23.5",
+                "@babel/plugin-syntax-jsx": "^7.24.1",
+                "@babel/plugin-transform-modules-commonjs": "^7.24.1",
+                "@babel/plugin-transform-typescript": "^7.24.1"
             },
             "dependencies": {
                 "@babel/helper-environment-visitor": {
@@ -1290,12 +1291,12 @@
                     "dev": true
                 },
                 "@babel/helper-module-imports": {
-                    "version": "7.22.15",
-                    "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz",
-                    "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==",
+                    "version": "7.24.3",
+                    "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.3.tgz",
+                    "integrity": "sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==",
                     "dev": true,
                     "requires": {
-                        "@babel/types": "^7.22.15"
+                        "@babel/types": "^7.24.0"
                     }
                 },
                 "@babel/helper-module-transforms": {
@@ -1348,22 +1349,22 @@
                     "dev": true
                 },
                 "@babel/plugin-syntax-jsx": {
-                    "version": "7.23.3",
-                    "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.23.3.tgz",
-                    "integrity": "sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==",
+                    "version": "7.24.1",
+                    "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.24.1.tgz",
+                    "integrity": "sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA==",
                     "dev": true,
                     "requires": {
-                        "@babel/helper-plugin-utils": "^7.22.5"
+                        "@babel/helper-plugin-utils": "^7.24.0"
                     }
                 },
                 "@babel/plugin-transform-modules-commonjs": {
-                    "version": "7.23.3",
-                    "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.3.tgz",
-                    "integrity": "sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA==",
+                    "version": "7.24.1",
+                    "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.1.tgz",
+                    "integrity": "sha512-szog8fFTUxBfw0b98gEWPaEqF42ZUD/T3bkynW/wtgx2p/XCP55WEsb+VosKceRSd6njipdZvNogqdtI4Q0chw==",
                     "dev": true,
                     "requires": {
                         "@babel/helper-module-transforms": "^7.23.3",
-                        "@babel/helper-plugin-utils": "^7.22.5",
+                        "@babel/helper-plugin-utils": "^7.24.0",
                         "@babel/helper-simple-access": "^7.22.5"
                     }
                 },
@@ -1401,9 +1402,9 @@
             }
         },
         "@babel/runtime-corejs2": {
-            "version": "7.24.0",
-            "resolved": "https://registry.npmjs.org/@babel/runtime-corejs2/-/runtime-corejs2-7.24.0.tgz",
-            "integrity": "sha512-RZVGq1it0GA1K8rb+z7v7NzecP6VYCMedN7yHsCCIQUMmRXFCPJD8GISdf6uIGj7NDDihg7ieQEzpdpQbUL75Q==",
+            "version": "7.24.1",
+            "resolved": "https://registry.npmjs.org/@babel/runtime-corejs2/-/runtime-corejs2-7.24.1.tgz",
+            "integrity": "sha512-De0q0utpUPiXnc7+B7Ku86mJ0eDItC/v3uFa/lQkq63XnHyZiytDHeCIvechlnVwwpU2ChjGF7c3I+mBrTudwg==",
             "dev": true,
             "requires": {
                 "core-js": "^2.6.12",
@@ -1567,8 +1568,8 @@
             }
         },
         "@exabyte-io/application-flavors.js": {
-            "version": "git+https://github.com/Exabyte-io/application-flavors.git#6af8d952e9c345bd26f0c0889d2f4f6c623cc2e0",
-            "from": "git+https://github.com/Exabyte-io/application-flavors.git#6af8d952e9c345bd26f0c0889d2f4f6c623cc2e0",
+            "version": "git+https://github.com/Exabyte-io/application-flavors.git#4a9bb4eebe85e5c3be5c8232156c025156352d26",
+            "from": "git+https://github.com/Exabyte-io/application-flavors.git#4a9bb4eebe85e5c3be5c8232156c025156352d26",
             "dev": true,
             "requires": {
                 "@babel/cli": "7.16.0",
@@ -1644,8 +1645,9 @@
             }
         },
         "@exabyte-io/code.js": {
-            "version": "git+https://github.com/Exabyte-io/code.js.git#5937dc94eb8ca88c6f3e4e9c8f93050e56a869ea",
-            "from": "git+https://github.com/Exabyte-io/code.js.git#5937dc94eb8ca88c6f3e4e9c8f93050e56a869ea",
+            "version": "2024.2.29-0",
+            "resolved": "https://registry.npmjs.org/@exabyte-io/code.js/-/code.js-2024.2.29-0.tgz",
+            "integrity": "sha512-pOqR/X3jWTbczUMNJdsG5AqAurI0zqJIni/SPJZI8hsXykmKBpQAYRGZT7XBsTdUf4x3YcwPkyrGla2Tt5Z62w==",
             "dev": true,
             "requires": {
                 "crypto-js": "^4.1.1",
@@ -1697,8 +1699,8 @@
             "dev": true
         },
         "@exabyte-io/made.js": {
-            "version": "git+https://github.com/Exabyte-io/made.js.git#882ce639da8b36ef208fe0e6318c6c7a40485274",
-            "from": "git+https://github.com/Exabyte-io/made.js.git#882ce639da8b36ef208fe0e6318c6c7a40485274",
+            "version": "git+https://github.com/Exabyte-io/made.js.git#ccc812354cc4a0324fa346d5860da28d435ed0fd",
+            "from": "git+https://github.com/Exabyte-io/made.js.git#ccc812354cc4a0324fa346d5860da28d435ed0fd",
             "dev": true,
             "requires": {
                 "@babel/core": "^7.16.0",
@@ -1919,8 +1921,9 @@
             "dev": true
         },
         "@mat3ra/esse": {
-            "version": "git+https://github.com/Exabyte-io/esse.git#a967135c3bf155242fc2a5d0a0a262ffdf5d68b7",
-            "from": "git+https://github.com/Exabyte-io/esse.git#a967135c3bf155242fc2a5d0a0a262ffdf5d68b7",
+            "version": "2024.3.20-0",
+            "resolved": "https://registry.npmjs.org/@mat3ra/esse/-/esse-2024.3.20-0.tgz",
+            "integrity": "sha512-X+VXCpv8yCSUhYulfvxjWk675usIsVbmiX0tsCpTGxFugKr9PdGRr3Jw+riYy4u5AniVenFR8TVognGn9zIvww==",
             "dev": true,
             "requires": {
                 "@babel/cli": "7.16.0",
diff --git a/package.json b/package.json
index 2990f60..7f562a7 100644
--- a/package.json
+++ b/package.json
@@ -44,11 +44,11 @@
         "underscore.string": "^3.3.4"
     },
     "devDependencies": {
-        "@exabyte-io/code.js": "git+https://github.com/Exabyte-io/code.js.git#5937dc94eb8ca88c6f3e4e9c8f93050e56a869ea",
+        "@exabyte-io/code.js": "2024.2.29-0",
         "@exabyte-io/eslint-config": "^2022.11.17-0",
-        "@exabyte-io/made.js": "git+https://github.com/Exabyte-io/made.js.git#882ce639da8b36ef208fe0e6318c6c7a40485274",
-        "@exabyte-io/application-flavors.js": "git+https://github.com/Exabyte-io/application-flavors.git#6af8d952e9c345bd26f0c0889d2f4f6c623cc2e0",
-        "@mat3ra/esse": "git+https://github.com/Exabyte-io/esse.git#a967135c3bf155242fc2a5d0a0a262ffdf5d68b7",
+        "@exabyte-io/made.js": "git+https://github.com/Exabyte-io/made.js.git#ccc812354cc4a0324fa346d5860da28d435ed0fd",
+        "@exabyte-io/application-flavors.js": "git+https://github.com/Exabyte-io/application-flavors.git#4a9bb4eebe85e5c3be5c8232156c025156352d26",
+        "@mat3ra/esse": "2024.3.20-0",
         "chai": "^4.3.4",
         "eslint": "7.32.0",
         "eslint-config-airbnb": "19.0.2",
diff --git a/src/context/providers/espresso/providers.js b/src/context/providers/espresso/providers.js
index 2069afe..3db5773 100644
--- a/src/context/providers/espresso/providers.js
+++ b/src/context/providers/espresso/providers.js
@@ -29,14 +29,9 @@ export class QEPWXContextProvider extends mix(ExecutableContextProvider).with(
         return material.Basis.uniqueElements;
     }
 
-    static atomSymbolsWithLabels(material) {
-        const symbols = material.Basis.elementsArray;
-        const labels = material.Basis.atomicLabelsArray;
-        const elmWithLabel = [];
-        symbols.forEach((symbol, idx) => elmWithLabel.push(symbol + labels[idx]));
-
+    static uniqueElementsWithLabels(material) {
         // return unique items
-        return [...new Set(elmWithLabel)];
+        return [...new Set(material.Basis.elementsWithLabelsArray)];
     }
 
     /** Returns the input text block for atomic positions WITH constraints.
@@ -61,7 +56,7 @@ export class QEPWXContextProvider extends mix(ExecutableContextProvider).with(
     }
 
     static NTYP_WITH_LABELS(material) {
-        return this.atomSymbolsWithLabels(material).length;
+        return this.uniqueElementsWithLabels(material).length;
     }
 
     buildQEPWXContext(material) {
@@ -127,12 +122,12 @@ export class QEPWXContextProvider extends mix(ExecutableContextProvider).with(
     }
 
     ATOMIC_SPECIES_WITH_LABELS(material) {
-        return QEPWXContextProvider.atomSymbolsWithLabels(material)
+        return QEPWXContextProvider.uniqueElementsWithLabels(material)
             .map((symbol) => {
                 const symbolWithoutLabel = symbol.replace(/\d$/, "");
                 const label = symbol.match(/\d$/g) ? symbol.match(/\d$/g)[0] : "";
                 const pseudo = this.getPseudoBySymbol(symbolWithoutLabel);
-                return QEPWXContextProvider.symbolToAtomicSpecieWithLabels(
+                return QEPWXContextProvider.elementAndPseudoToAtomicSpecieWithLabels(
                     symbolWithoutLabel,
                     pseudo,
                     label,
@@ -156,13 +151,13 @@ export class QEPWXContextProvider extends mix(ExecutableContextProvider).with(
     static symbolToAtomicSpecie(symbol, pseudo) {
         const el = PERIODIC_TABLE[symbol];
         const filename = pseudo?.filename || path.basename(pseudo?.path || "");
-        return el ? s.sprintf("%s %f %s", symbol, el.atomic_mass, filename) : undefined;
+        return s.sprintf("%s %f %s", symbol, el.atomic_mass, filename) || "";
     }
 
-    static symbolToAtomicSpecieWithLabels(symbol, pseudo, label = "") {
+    static elementAndPseudoToAtomicSpecieWithLabels(symbol, pseudo, label = "") {
         const el = PERIODIC_TABLE[symbol];
         const filename = pseudo?.filename || path.basename(pseudo?.path || "");
-        return el ? s.sprintf("%s%s %f %s", symbol, label, el.atomic_mass, filename) : undefined;
+        return s.sprintf("%s%s %f %s", symbol, label, el.atomic_mass, filename) || "";
     }
 }
 

From 7cc3dfbc085f92043b0929ecd34daba8a1a68e22 Mon Sep 17 00:00:00 2001
From: Pranab Das <31024886+pranabdas@users.noreply.github.com>
Date: Thu, 21 Mar 2024 19:08:50 +0800
Subject: [PATCH 19/19] SOF-6927: update deps with published version

---
 package-lock.json | 10 ++++++----
 package.json      |  4 ++--
 2 files changed, 8 insertions(+), 6 deletions(-)

diff --git a/package-lock.json b/package-lock.json
index 6fdb09a..5c837bb 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1568,8 +1568,9 @@
             }
         },
         "@exabyte-io/application-flavors.js": {
-            "version": "git+https://github.com/Exabyte-io/application-flavors.git#4a9bb4eebe85e5c3be5c8232156c025156352d26",
-            "from": "git+https://github.com/Exabyte-io/application-flavors.git#4a9bb4eebe85e5c3be5c8232156c025156352d26",
+            "version": "2024.3.21-0",
+            "resolved": "https://registry.npmjs.org/@exabyte-io/application-flavors.js/-/application-flavors.js-2024.3.21-0.tgz",
+            "integrity": "sha512-U0C830YpX83UXVlgjt/iQdxBb8ffDj8Tr73tB0EkxGzz0dalwBOktkYbmL+AAiXG2MmKEHJ5VDsQf4RitJ5nLg==",
             "dev": true,
             "requires": {
                 "@babel/cli": "7.16.0",
@@ -1699,8 +1700,9 @@
             "dev": true
         },
         "@exabyte-io/made.js": {
-            "version": "git+https://github.com/Exabyte-io/made.js.git#ccc812354cc4a0324fa346d5860da28d435ed0fd",
-            "from": "git+https://github.com/Exabyte-io/made.js.git#ccc812354cc4a0324fa346d5860da28d435ed0fd",
+            "version": "2024.3.21-1",
+            "resolved": "https://registry.npmjs.org/@exabyte-io/made.js/-/made.js-2024.3.21-1.tgz",
+            "integrity": "sha512-r+9m0lMnf2Mpk52rQUL92D7viqhXAuR6ubJTFSRaa7maao8frnpz3HtUhknt8qb2NJNb1wpcohmHtvNH1dpGgQ==",
             "dev": true,
             "requires": {
                 "@babel/core": "^7.16.0",
diff --git a/package.json b/package.json
index 7f562a7..2a6ef7b 100644
--- a/package.json
+++ b/package.json
@@ -46,8 +46,8 @@
     "devDependencies": {
         "@exabyte-io/code.js": "2024.2.29-0",
         "@exabyte-io/eslint-config": "^2022.11.17-0",
-        "@exabyte-io/made.js": "git+https://github.com/Exabyte-io/made.js.git#ccc812354cc4a0324fa346d5860da28d435ed0fd",
-        "@exabyte-io/application-flavors.js": "git+https://github.com/Exabyte-io/application-flavors.git#4a9bb4eebe85e5c3be5c8232156c025156352d26",
+        "@exabyte-io/made.js": "2024.3.21-1",
+        "@exabyte-io/application-flavors.js": "2024.3.21-0",
         "@mat3ra/esse": "2024.3.20-0",
         "chai": "^4.3.4",
         "eslint": "7.32.0",
