Christopher Giese hai 1 ano
pai
achega
a5864a1223
Modificáronse 2 ficheiros con 1232 adicións e 206 borrados
  1. 1231 205
      package-lock.json
  2. 1 1
      package.json

+ 1231 - 205
package-lock.json

@@ -33,7 +33,7 @@
         "@angular/cli": "^17.0.1",
         "@angular/compiler-cli": "^17.0.3",
         "@angular/localize": "^17.0.3",
-        "@nx/angular": "17.0.2",
+        "@nx/angular": "17.1.2",
         "@nx/workspace": "17.0.2",
         "@schematics/angular": "^16.2.7",
         "@types/jasmine": "~4.3.0",
@@ -4025,22 +4025,22 @@
       }
     },
     "node_modules/@nrwl/angular": {
-      "version": "17.0.2",
-      "resolved": "https://registry.npmjs.org/@nrwl/angular/-/angular-17.0.2.tgz",
-      "integrity": "sha512-GheVvG6IiOWfJySLvJY8JMf+O9vaM5KDn4eWaFvT5Vx41UCk1/h36ePlWiOA5Is9wboKCBbijzc9TgW/F3QkiA==",
+      "version": "17.1.2",
+      "resolved": "https://registry.npmjs.org/@nrwl/angular/-/angular-17.1.2.tgz",
+      "integrity": "sha512-PyiYeMyBWzk3+ePIA9nAWpbAEjQ3xH0mqrhOXeweS3U8RYVOpVnfZ3nRGmEEqpi742xUcJiEg8lwC0YM65otPw==",
       "dev": true,
       "dependencies": {
-        "@nx/angular": "17.0.2",
+        "@nx/angular": "17.1.2",
         "tslib": "^2.3.0"
       }
     },
     "node_modules/@nrwl/cypress": {
-      "version": "17.0.2",
-      "resolved": "https://registry.npmjs.org/@nrwl/cypress/-/cypress-17.0.2.tgz",
-      "integrity": "sha512-lV3JCBtB7QZXIp3BDmnDbtUDTYt9LHgUePoEG1ohO7D+J71hsx4s8iRo6lOr+HxemlxdBmhSLJlqMTKZv4B1iQ==",
+      "version": "17.1.2",
+      "resolved": "https://registry.npmjs.org/@nrwl/cypress/-/cypress-17.1.2.tgz",
+      "integrity": "sha512-urFTPQ81ROk56ktkwp3CU7MsIA1zFEYJC4nqrrJxGQm/4GcJ4JvRzjSNmcP6nApaO34in+nwskECBMWs2+6ZPQ==",
       "dev": true,
       "dependencies": {
-        "@nx/cypress": "17.0.2"
+        "@nx/cypress": "17.1.2"
       }
     },
     "node_modules/@nrwl/devkit": {
@@ -4053,21 +4053,21 @@
       }
     },
     "node_modules/@nrwl/jest": {
-      "version": "17.0.2",
-      "resolved": "https://registry.npmjs.org/@nrwl/jest/-/jest-17.0.2.tgz",
-      "integrity": "sha512-917A/kc3OvwZxi6f5LByp5/j1cByARc7t1yQx+qHW4vl4wtMPcK1Pcl619tLb+DURI/z5Zz9MQvSsdzr4F6ZWg==",
+      "version": "17.1.2",
+      "resolved": "https://registry.npmjs.org/@nrwl/jest/-/jest-17.1.2.tgz",
+      "integrity": "sha512-FUZcjZQaPg6ImzoK6es5KpyZGNSj6vG7AKzgAmVHzLelnSgP/0hVEZevotRKwFVWS1AmP2LLyguzpIRjtDAX0g==",
       "dev": true,
       "dependencies": {
-        "@nx/jest": "17.0.2"
+        "@nx/jest": "17.1.2"
       }
     },
     "node_modules/@nrwl/js": {
-      "version": "17.0.2",
-      "resolved": "https://registry.npmjs.org/@nrwl/js/-/js-17.0.2.tgz",
-      "integrity": "sha512-qHqZ6V6IP3piyzb9s7HUlcV3X2O/BDmqikg0yoZGitRpyugY5K1BNZITGRmFEzLklfHxVUqI1qsURnClgax+pA==",
+      "version": "17.1.2",
+      "resolved": "https://registry.npmjs.org/@nrwl/js/-/js-17.1.2.tgz",
+      "integrity": "sha512-70Fx//GJdRt2Uo6ft07Up+eeSK2+jqUnkBhvGLauro91g9SVSgbHlhj+D8l86wccyKz/OULod29WEBkA6Z/t3Q==",
       "dev": true,
       "dependencies": {
-        "@nx/js": "17.0.2"
+        "@nx/js": "17.1.2"
       }
     },
     "node_modules/@nrwl/tao": {
@@ -4084,21 +4084,21 @@
       }
     },
     "node_modules/@nrwl/web": {
-      "version": "17.0.2",
-      "resolved": "https://registry.npmjs.org/@nrwl/web/-/web-17.0.2.tgz",
-      "integrity": "sha512-+kSGZ0DOEl6MoWmfCtxcDlmZV/+mqY+pGS+qSB3kZGwfRkpwbv1spAPcYyfUB2wNed9js/lSRGt9sBcwWcIY0Q==",
+      "version": "17.1.2",
+      "resolved": "https://registry.npmjs.org/@nrwl/web/-/web-17.1.2.tgz",
+      "integrity": "sha512-BGq0NW/mmkKxDr1V7Rj47IzV4VV6831knVpumqTZHOVNo07KkTW5m37+KA0XprAlPN+F3T/OSYlvP1DEdspafA==",
       "dev": true,
       "dependencies": {
-        "@nx/web": "17.0.2"
+        "@nx/web": "17.1.2"
       }
     },
     "node_modules/@nrwl/webpack": {
-      "version": "17.0.2",
-      "resolved": "https://registry.npmjs.org/@nrwl/webpack/-/webpack-17.0.2.tgz",
-      "integrity": "sha512-5Kx9drlEGchWDlE8x7uxRIqZEzm8TZll07NUTm++wKWukHhCZZksqojRQkRLq28iO2BFQm12boa78Ku0u3Ob4g==",
+      "version": "17.1.2",
+      "resolved": "https://registry.npmjs.org/@nrwl/webpack/-/webpack-17.1.2.tgz",
+      "integrity": "sha512-D8+tuyb5v56mTiX6absMoxSkSbNgjp593P4GHHu5bCaCYGMI1Rj8CYwakFIXaxaLzguBtoqC+6L2OxAQ1OwB1g==",
       "dev": true,
       "dependencies": {
-        "@nx/webpack": "17.0.2"
+        "@nx/webpack": "17.1.2"
       }
     },
     "node_modules/@nrwl/workspace": {
@@ -4111,24 +4111,23 @@
       }
     },
     "node_modules/@nx/angular": {
-      "version": "17.0.2",
-      "resolved": "https://registry.npmjs.org/@nx/angular/-/angular-17.0.2.tgz",
-      "integrity": "sha512-I3C9ImpFYChIVWrXLI2cZy1uiJ6zzoHTDd+y1tuhWF+OWMoeCi/iVKyk4DWucdU2AUlpgfJWRVWqCQcMR32U1Q==",
-      "dev": true,
-      "dependencies": {
-        "@nrwl/angular": "17.0.2",
-        "@nx/cypress": "17.0.2",
-        "@nx/devkit": "17.0.2",
-        "@nx/eslint": "17.0.2",
-        "@nx/jest": "17.0.2",
-        "@nx/js": "17.0.2",
-        "@nx/web": "17.0.2",
-        "@nx/webpack": "17.0.2",
-        "@nx/workspace": "17.0.2",
+      "version": "17.1.2",
+      "resolved": "https://registry.npmjs.org/@nx/angular/-/angular-17.1.2.tgz",
+      "integrity": "sha512-qHJpeTQTJLMiDnC5hC/JC7NEYKgcyTwqx/ejyPlDjdzNbicgoPuTr4+c5gohC1wgZvuiW0bQ3FYQ2f9LVM7jRQ==",
+      "dev": true,
+      "dependencies": {
+        "@nrwl/angular": "17.1.2",
+        "@nx/cypress": "17.1.2",
+        "@nx/devkit": "17.1.2",
+        "@nx/eslint": "17.1.2",
+        "@nx/jest": "17.1.2",
+        "@nx/js": "17.1.2",
+        "@nx/web": "17.1.2",
+        "@nx/webpack": "17.1.2",
+        "@nx/workspace": "17.1.2",
         "@phenomnomnominal/tsquery": "~5.0.1",
-        "@typescript-eslint/type-utils": "^5.36.1",
+        "@typescript-eslint/type-utils": "^6.9.1",
         "chalk": "^4.1.0",
-        "enquirer": "^2.3.6",
         "find-cache-dir": "^3.3.2",
         "ignore": "^5.0.4",
         "magic-string": "~0.30.2",
@@ -4139,23 +4138,243 @@
         "webpack-merge": "^5.8.0"
       },
       "peerDependencies": {
-        "@angular-devkit/build-angular": ">= 14.0.0 < 17.0.0",
-        "@angular-devkit/core": ">= 14.0.0 < 17.0.0",
-        "@angular-devkit/schematics": ">= 14.0.0 < 17.0.0",
-        "@nguniversal/builders": ">= 14.0.0 < 17.0.0",
-        "@schematics/angular": ">= 14.0.0 < 17.0.0",
+        "@angular-devkit/build-angular": ">= 15.0.0 < 18.0.0",
+        "@angular-devkit/core": ">= 15.0.0 < 18.0.0",
+        "@angular-devkit/schematics": ">= 15.0.0 < 18.0.0",
+        "@schematics/angular": ">= 15.0.0 < 18.0.0",
         "esbuild": "^0.19.2",
         "rxjs": "^6.5.3 || ^7.5.0"
       },
       "peerDependenciesMeta": {
-        "@nguniversal/builders": {
-          "optional": true
-        },
         "esbuild": {
           "optional": true
         }
       }
     },
+    "node_modules/@nx/angular/node_modules/@nrwl/devkit": {
+      "version": "17.1.2",
+      "resolved": "https://registry.npmjs.org/@nrwl/devkit/-/devkit-17.1.2.tgz",
+      "integrity": "sha512-INPZk4qts3xNJt8E9fttuVTufXdigPUOvUiAiPJmR2oUGDF8SeOlIYNForbz+XMRvxyIVtf45O32azUsgeZe3Q==",
+      "dev": true,
+      "dependencies": {
+        "@nx/devkit": "17.1.2"
+      }
+    },
+    "node_modules/@nx/angular/node_modules/@nrwl/tao": {
+      "version": "17.1.2",
+      "resolved": "https://registry.npmjs.org/@nrwl/tao/-/tao-17.1.2.tgz",
+      "integrity": "sha512-tL+dlygeor/kLG5fuK5qaiVFJ4hEtvJ/E+xY9epp20UKCNQSEkrSFiesiXtX6E/PPf4YbOQ4B4itWR2EYCm03Q==",
+      "dev": true,
+      "dependencies": {
+        "nx": "17.1.2",
+        "tslib": "^2.3.0"
+      },
+      "bin": {
+        "tao": "index.js"
+      }
+    },
+    "node_modules/@nx/angular/node_modules/@nrwl/workspace": {
+      "version": "17.1.2",
+      "resolved": "https://registry.npmjs.org/@nrwl/workspace/-/workspace-17.1.2.tgz",
+      "integrity": "sha512-1MymxYcX5YPrTSuZhQ6V0MhqAFB+8Bm2O9EJHpj4VS9LKIWwDche4DkqypmhbTeAzagr5YIWqaKtPCrkP0tn8w==",
+      "dev": true,
+      "dependencies": {
+        "@nx/workspace": "17.1.2"
+      }
+    },
+    "node_modules/@nx/angular/node_modules/@nx/devkit": {
+      "version": "17.1.2",
+      "resolved": "https://registry.npmjs.org/@nx/devkit/-/devkit-17.1.2.tgz",
+      "integrity": "sha512-9Izd9jsa++AaZSSlhi0zkv58k4clzE0kICurx9DjfWN6zXnD08HqJoUYCVVaeYS/SrWlQUbMig8e49BO8ZV5mw==",
+      "dev": true,
+      "dependencies": {
+        "@nrwl/devkit": "17.1.2",
+        "ejs": "^3.1.7",
+        "enquirer": "~2.3.6",
+        "ignore": "^5.0.4",
+        "semver": "7.5.3",
+        "tmp": "~0.2.1",
+        "tslib": "^2.3.0"
+      },
+      "peerDependencies": {
+        "nx": ">= 16 <= 18"
+      }
+    },
+    "node_modules/@nx/angular/node_modules/@nx/nx-darwin-arm64": {
+      "version": "17.1.2",
+      "resolved": "https://registry.npmjs.org/@nx/nx-darwin-arm64/-/nx-darwin-arm64-17.1.2.tgz",
+      "integrity": "sha512-U8fwkuw0vmDfeRQX9LSMt1XiAXM57fxOiuHlrIBn8hUBvMAugAgSAYd7K9YQjrFf9UFUtQeSHDU9N/c/n63hdg==",
+      "cpu": [
+        "arm64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "darwin"
+      ],
+      "engines": {
+        "node": ">= 10"
+      }
+    },
+    "node_modules/@nx/angular/node_modules/@nx/nx-darwin-x64": {
+      "version": "17.1.2",
+      "resolved": "https://registry.npmjs.org/@nx/nx-darwin-x64/-/nx-darwin-x64-17.1.2.tgz",
+      "integrity": "sha512-QR9Jrm32UK2nLdDRtjFabfCvF5SOQJ2IuYkw6Sxe16xGZU2DS9nQku0TQO3Uy2HV1xSR7vzj7ys5z4eI2k+/mA==",
+      "cpu": [
+        "x64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "darwin"
+      ],
+      "engines": {
+        "node": ">= 10"
+      }
+    },
+    "node_modules/@nx/angular/node_modules/@nx/nx-freebsd-x64": {
+      "version": "17.1.2",
+      "resolved": "https://registry.npmjs.org/@nx/nx-freebsd-x64/-/nx-freebsd-x64-17.1.2.tgz",
+      "integrity": "sha512-6rDuFHJREVg5XpcM5RlE8pHP4bgcbns8sSemF/g75SV4iEkBqxRvSe88oBtF44b7IpX2zdONRDV4qQcRf3DxRg==",
+      "cpu": [
+        "x64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "freebsd"
+      ],
+      "engines": {
+        "node": ">= 10"
+      }
+    },
+    "node_modules/@nx/angular/node_modules/@nx/nx-linux-arm-gnueabihf": {
+      "version": "17.1.2",
+      "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-17.1.2.tgz",
+      "integrity": "sha512-4FwqUX7NxVfJ0v7frBKNbjENz6pvp3slDfoG2/WmnAj5a6TCu7magwlg1qLQaHYJ1m/i8u7RrG0Uz4SYHWzkVw==",
+      "cpu": [
+        "arm"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": ">= 10"
+      }
+    },
+    "node_modules/@nx/angular/node_modules/@nx/nx-linux-arm64-gnu": {
+      "version": "17.1.2",
+      "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-17.1.2.tgz",
+      "integrity": "sha512-r6UATY0dVdxwpVJPf/f/KfRkFpMP06wC6HcfNMGbTBTKiKtsdYF42bWoSkDgtgP2bOx9FDH+Hwu3U/Rtj44FIA==",
+      "cpu": [
+        "arm64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": ">= 10"
+      }
+    },
+    "node_modules/@nx/angular/node_modules/@nx/nx-linux-arm64-musl": {
+      "version": "17.1.2",
+      "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-17.1.2.tgz",
+      "integrity": "sha512-MXGYY/KCzQhbj5UKwnRO2/GhByOkRlI+EeH1Mazam8wZ1BiBfcVWZoOUybIlxxes1o4cAnkZwB527tCmwrHvGw==",
+      "cpu": [
+        "arm64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": ">= 10"
+      }
+    },
+    "node_modules/@nx/angular/node_modules/@nx/nx-linux-x64-gnu": {
+      "version": "17.1.2",
+      "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-17.1.2.tgz",
+      "integrity": "sha512-3cC131hJ3VhuxjzzBlwIdVp46onykOo78EmnURNdLxcWOpmcKgYXn7OnVwjrglYi+JL7D0vABGKKUpt1cs6/rA==",
+      "cpu": [
+        "x64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": ">= 10"
+      }
+    },
+    "node_modules/@nx/angular/node_modules/@nx/nx-linux-x64-musl": {
+      "version": "17.1.2",
+      "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-17.1.2.tgz",
+      "integrity": "sha512-1UrR87ByhE0zSXt0C+RNT5ZiAsctOSWZwPYQAGolz8K70BxomDeRVtIaRog5KK5SHlEd1ILvgsmrhovjLjrJNw==",
+      "cpu": [
+        "x64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": ">= 10"
+      }
+    },
+    "node_modules/@nx/angular/node_modules/@nx/nx-win32-arm64-msvc": {
+      "version": "17.1.2",
+      "resolved": "https://registry.npmjs.org/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-17.1.2.tgz",
+      "integrity": "sha512-2M7FfzfPGAN7tCUWZilPGNk/RbbGcA00MKOA4MDqMwJtLobW8KqfMedilRNTEuyNibejOHwvGzA9T/Ac/ahHgA==",
+      "cpu": [
+        "arm64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "win32"
+      ],
+      "engines": {
+        "node": ">= 10"
+      }
+    },
+    "node_modules/@nx/angular/node_modules/@nx/nx-win32-x64-msvc": {
+      "version": "17.1.2",
+      "resolved": "https://registry.npmjs.org/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-17.1.2.tgz",
+      "integrity": "sha512-oxKCKunuo4wRusMlNu7PlhBijhtNy7eBZPAWyqUsdfnb+CjY2QncjCguW3fnsG9gHQFCa+y0b1WkSkvJ5G1DiQ==",
+      "cpu": [
+        "x64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "win32"
+      ],
+      "engines": {
+        "node": ">= 10"
+      }
+    },
+    "node_modules/@nx/angular/node_modules/@nx/workspace": {
+      "version": "17.1.2",
+      "resolved": "https://registry.npmjs.org/@nx/workspace/-/workspace-17.1.2.tgz",
+      "integrity": "sha512-lmdfWyspRgk7XewKU/5bjr6PieShJemDJpaSI+/H5utOeT8QeXVmNj+DDizig4eobwK0b6OXb0Vgnc7osbgjlw==",
+      "dev": true,
+      "dependencies": {
+        "@nrwl/workspace": "17.1.2",
+        "@nx/devkit": "17.1.2",
+        "chalk": "^4.1.0",
+        "enquirer": "~2.3.6",
+        "nx": "17.1.2",
+        "tslib": "^2.3.0",
+        "yargs-parser": "21.1.1"
+      }
+    },
     "node_modules/@nx/angular/node_modules/ansi-styles": {
       "version": "4.3.0",
       "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
@@ -4171,6 +4390,12 @@
         "url": "https://github.com/chalk/ansi-styles?sponsor=1"
       }
     },
+    "node_modules/@nx/angular/node_modules/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
+    },
     "node_modules/@nx/angular/node_modules/chalk": {
       "version": "4.1.2",
       "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
@@ -4187,6 +4412,18 @@
         "url": "https://github.com/chalk/chalk?sponsor=1"
       }
     },
+    "node_modules/@nx/angular/node_modules/cli-spinners": {
+      "version": "2.6.1",
+      "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.1.tgz",
+      "integrity": "sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==",
+      "dev": true,
+      "engines": {
+        "node": ">=6"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
     "node_modules/@nx/angular/node_modules/color-convert": {
       "version": "2.0.1",
       "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
@@ -4222,6 +4459,37 @@
         "url": "https://github.com/avajs/find-cache-dir?sponsor=1"
       }
     },
+    "node_modules/@nx/angular/node_modules/fs-extra": {
+      "version": "11.1.1",
+      "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.1.1.tgz",
+      "integrity": "sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==",
+      "dev": true,
+      "dependencies": {
+        "graceful-fs": "^4.2.0",
+        "jsonfile": "^6.0.1",
+        "universalify": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=14.14"
+      }
+    },
+    "node_modules/@nx/angular/node_modules/glob": {
+      "version": "7.1.4",
+      "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz",
+      "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==",
+      "dev": true,
+      "dependencies": {
+        "fs.realpath": "^1.0.0",
+        "inflight": "^1.0.4",
+        "inherits": "2",
+        "minimatch": "^3.0.4",
+        "once": "^1.3.0",
+        "path-is-absolute": "^1.0.0"
+      },
+      "engines": {
+        "node": "*"
+      }
+    },
     "node_modules/@nx/angular/node_modules/has-flag": {
       "version": "4.0.0",
       "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
@@ -4231,6 +4499,39 @@
         "node": ">=8"
       }
     },
+    "node_modules/@nx/angular/node_modules/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,
+      "dependencies": {
+        "argparse": "^2.0.1"
+      },
+      "bin": {
+        "js-yaml": "bin/js-yaml.js"
+      }
+    },
+    "node_modules/@nx/angular/node_modules/jsonfile": {
+      "version": "6.1.0",
+      "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
+      "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
+      "dev": true,
+      "dependencies": {
+        "universalify": "^2.0.0"
+      },
+      "optionalDependencies": {
+        "graceful-fs": "^4.1.6"
+      }
+    },
+    "node_modules/@nx/angular/node_modules/lines-and-columns": {
+      "version": "2.0.4",
+      "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-2.0.4.tgz",
+      "integrity": "sha512-wM1+Z03eypVAVUCE7QdSqpVIvelbOakn1M0bPDoA4SGWPx3sNDVUiMo3L6To6WWGClB7VyXnhQ4Sn7gxiJbE6A==",
+      "dev": true,
+      "engines": {
+        "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+      }
+    },
     "node_modules/@nx/angular/node_modules/lru-cache": {
       "version": "6.0.0",
       "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
@@ -4279,6 +4580,78 @@
         "node": "*"
       }
     },
+    "node_modules/@nx/angular/node_modules/nx": {
+      "version": "17.1.2",
+      "resolved": "https://registry.npmjs.org/nx/-/nx-17.1.2.tgz",
+      "integrity": "sha512-pf94ri36cAiSzbYcPTJwQzttgAsHSjCLEni0Ilw6aVdjpoV2l6cggYxwddX7pgtCWuokVp/6KhAxVkbzvH65wg==",
+      "dev": true,
+      "hasInstallScript": true,
+      "dependencies": {
+        "@nrwl/tao": "17.1.2",
+        "@yarnpkg/lockfile": "^1.1.0",
+        "@yarnpkg/parsers": "3.0.0-rc.46",
+        "@zkochan/js-yaml": "0.0.6",
+        "axios": "^1.5.1",
+        "chalk": "^4.1.0",
+        "cli-cursor": "3.1.0",
+        "cli-spinners": "2.6.1",
+        "cliui": "^8.0.1",
+        "dotenv": "~16.3.1",
+        "dotenv-expand": "~10.0.0",
+        "enquirer": "~2.3.6",
+        "figures": "3.2.0",
+        "flat": "^5.0.2",
+        "fs-extra": "^11.1.0",
+        "glob": "7.1.4",
+        "ignore": "^5.0.4",
+        "jest-diff": "^29.4.1",
+        "js-yaml": "4.1.0",
+        "jsonc-parser": "3.2.0",
+        "lines-and-columns": "~2.0.3",
+        "minimatch": "3.0.5",
+        "node-machine-id": "1.1.12",
+        "npm-run-path": "^4.0.1",
+        "open": "^8.4.0",
+        "semver": "7.5.3",
+        "string-width": "^4.2.3",
+        "strong-log-transformer": "^2.1.0",
+        "tar-stream": "~2.2.0",
+        "tmp": "~0.2.1",
+        "tsconfig-paths": "^4.1.2",
+        "tslib": "^2.3.0",
+        "v8-compile-cache": "2.3.0",
+        "yargs": "^17.6.2",
+        "yargs-parser": "21.1.1"
+      },
+      "bin": {
+        "nx": "bin/nx.js",
+        "nx-cloud": "bin/nx-cloud.js"
+      },
+      "optionalDependencies": {
+        "@nx/nx-darwin-arm64": "17.1.2",
+        "@nx/nx-darwin-x64": "17.1.2",
+        "@nx/nx-freebsd-x64": "17.1.2",
+        "@nx/nx-linux-arm-gnueabihf": "17.1.2",
+        "@nx/nx-linux-arm64-gnu": "17.1.2",
+        "@nx/nx-linux-arm64-musl": "17.1.2",
+        "@nx/nx-linux-x64-gnu": "17.1.2",
+        "@nx/nx-linux-x64-musl": "17.1.2",
+        "@nx/nx-win32-arm64-msvc": "17.1.2",
+        "@nx/nx-win32-x64-msvc": "17.1.2"
+      },
+      "peerDependencies": {
+        "@swc-node/register": "^1.6.7",
+        "@swc/core": "^1.3.85"
+      },
+      "peerDependenciesMeta": {
+        "@swc-node/register": {
+          "optional": true
+        },
+        "@swc/core": {
+          "optional": true
+        }
+      }
+    },
     "node_modules/@nx/angular/node_modules/pkg-dir": {
       "version": "4.2.0",
       "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz",
@@ -4318,6 +4691,27 @@
         "node": ">=8"
       }
     },
+    "node_modules/@nx/angular/node_modules/tmp": {
+      "version": "0.2.1",
+      "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz",
+      "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==",
+      "dev": true,
+      "dependencies": {
+        "rimraf": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=8.17.0"
+      }
+    },
+    "node_modules/@nx/angular/node_modules/universalify": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz",
+      "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==",
+      "dev": true,
+      "engines": {
+        "node": ">= 10.0.0"
+      }
+    },
     "node_modules/@nx/angular/node_modules/yallist": {
       "version": "4.0.0",
       "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
@@ -4325,15 +4719,15 @@
       "dev": true
     },
     "node_modules/@nx/cypress": {
-      "version": "17.0.2",
-      "resolved": "https://registry.npmjs.org/@nx/cypress/-/cypress-17.0.2.tgz",
-      "integrity": "sha512-lkdhz6CHaLA/ZhNnqwXBp4Mlg1eTtCO09pYYHMx43D7EPObO1XbYtm6rivWg6kDzEmz84+Jwo0RucK7loMlHqA==",
+      "version": "17.1.2",
+      "resolved": "https://registry.npmjs.org/@nx/cypress/-/cypress-17.1.2.tgz",
+      "integrity": "sha512-5UoGGTPPsckeFTyu79DjmatAb4npHCGYgcHDbebRZDqifB99LRTKa/ZxcWNFdUiwZp4Buig5QM5MnhkjyjYpZg==",
       "dev": true,
       "dependencies": {
-        "@nrwl/cypress": "17.0.2",
-        "@nx/devkit": "17.0.2",
-        "@nx/eslint": "17.0.2",
-        "@nx/js": "17.0.2",
+        "@nrwl/cypress": "17.1.2",
+        "@nx/devkit": "17.1.2",
+        "@nx/eslint": "17.1.2",
+        "@nx/js": "17.1.2",
         "@phenomnomnominal/tsquery": "~5.0.1",
         "detect-port": "^1.5.1",
         "semver": "7.5.3",
@@ -4348,6 +4742,33 @@
         }
       }
     },
+    "node_modules/@nx/cypress/node_modules/@nrwl/devkit": {
+      "version": "17.1.2",
+      "resolved": "https://registry.npmjs.org/@nrwl/devkit/-/devkit-17.1.2.tgz",
+      "integrity": "sha512-INPZk4qts3xNJt8E9fttuVTufXdigPUOvUiAiPJmR2oUGDF8SeOlIYNForbz+XMRvxyIVtf45O32azUsgeZe3Q==",
+      "dev": true,
+      "dependencies": {
+        "@nx/devkit": "17.1.2"
+      }
+    },
+    "node_modules/@nx/cypress/node_modules/@nx/devkit": {
+      "version": "17.1.2",
+      "resolved": "https://registry.npmjs.org/@nx/devkit/-/devkit-17.1.2.tgz",
+      "integrity": "sha512-9Izd9jsa++AaZSSlhi0zkv58k4clzE0kICurx9DjfWN6zXnD08HqJoUYCVVaeYS/SrWlQUbMig8e49BO8ZV5mw==",
+      "dev": true,
+      "dependencies": {
+        "@nrwl/devkit": "17.1.2",
+        "ejs": "^3.1.7",
+        "enquirer": "~2.3.6",
+        "ignore": "^5.0.4",
+        "semver": "7.5.3",
+        "tmp": "~0.2.1",
+        "tslib": "^2.3.0"
+      },
+      "peerDependencies": {
+        "nx": ">= 16 <= 18"
+      }
+    },
     "node_modules/@nx/cypress/node_modules/lru-cache": {
       "version": "6.0.0",
       "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
@@ -4375,6 +4796,18 @@
         "node": ">=10"
       }
     },
+    "node_modules/@nx/cypress/node_modules/tmp": {
+      "version": "0.2.1",
+      "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz",
+      "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==",
+      "dev": true,
+      "dependencies": {
+        "rimraf": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=8.17.0"
+      }
+    },
     "node_modules/@nx/cypress/node_modules/yallist": {
       "version": "4.0.0",
       "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
@@ -4399,18 +4832,6 @@
         "nx": ">= 16 <= 18"
       }
     },
-    "node_modules/@nx/devkit/node_modules/enquirer": {
-      "version": "2.3.6",
-      "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz",
-      "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==",
-      "dev": true,
-      "dependencies": {
-        "ansi-colors": "^4.1.1"
-      },
-      "engines": {
-        "node": ">=8.6"
-      }
-    },
     "node_modules/@nx/devkit/node_modules/lru-cache": {
       "version": "6.0.0",
       "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
@@ -4457,16 +4878,16 @@
       "dev": true
     },
     "node_modules/@nx/eslint": {
-      "version": "17.0.2",
-      "resolved": "https://registry.npmjs.org/@nx/eslint/-/eslint-17.0.2.tgz",
-      "integrity": "sha512-mZXavg/m+A0GqmWORq5jNRt7ku0q9OoX2212ldivvLYI1zHHr2VFYoRxhS+NzaZBK5/EiKs/5P8dHhYb4/v7Bw==",
+      "version": "17.1.2",
+      "resolved": "https://registry.npmjs.org/@nx/eslint/-/eslint-17.1.2.tgz",
+      "integrity": "sha512-SDwx6P0HMzLURzbmUCPxvvkGBIhBIEujsvTCnaRsWJIKmrYKJjv4ENWqjZZSOMgP5gU2HjQFaWtRicjbdcu9Tg==",
       "dev": true,
       "dependencies": {
-        "@nx/devkit": "17.0.2",
-        "@nx/js": "17.0.2",
-        "@nx/linter": "17.0.2",
+        "@nx/devkit": "17.1.2",
+        "@nx/js": "17.1.2",
+        "@nx/linter": "17.1.2",
         "tslib": "^2.3.0",
-        "typescript": "~5.1.3"
+        "typescript": "~5.2.2"
       },
       "peerDependencies": {
         "eslint": "^8.0.0"
@@ -4477,30 +4898,89 @@
         }
       }
     },
-    "node_modules/@nx/eslint/node_modules/typescript": {
-      "version": "5.1.6",
-      "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.1.6.tgz",
-      "integrity": "sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA==",
+    "node_modules/@nx/eslint/node_modules/@nrwl/devkit": {
+      "version": "17.1.2",
+      "resolved": "https://registry.npmjs.org/@nrwl/devkit/-/devkit-17.1.2.tgz",
+      "integrity": "sha512-INPZk4qts3xNJt8E9fttuVTufXdigPUOvUiAiPJmR2oUGDF8SeOlIYNForbz+XMRvxyIVtf45O32azUsgeZe3Q==",
       "dev": true,
+      "dependencies": {
+        "@nx/devkit": "17.1.2"
+      }
+    },
+    "node_modules/@nx/eslint/node_modules/@nx/devkit": {
+      "version": "17.1.2",
+      "resolved": "https://registry.npmjs.org/@nx/devkit/-/devkit-17.1.2.tgz",
+      "integrity": "sha512-9Izd9jsa++AaZSSlhi0zkv58k4clzE0kICurx9DjfWN6zXnD08HqJoUYCVVaeYS/SrWlQUbMig8e49BO8ZV5mw==",
+      "dev": true,
+      "dependencies": {
+        "@nrwl/devkit": "17.1.2",
+        "ejs": "^3.1.7",
+        "enquirer": "~2.3.6",
+        "ignore": "^5.0.4",
+        "semver": "7.5.3",
+        "tmp": "~0.2.1",
+        "tslib": "^2.3.0"
+      },
+      "peerDependencies": {
+        "nx": ">= 16 <= 18"
+      }
+    },
+    "node_modules/@nx/eslint/node_modules/lru-cache": {
+      "version": "6.0.0",
+      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+      "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+      "dev": true,
+      "dependencies": {
+        "yallist": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/@nx/eslint/node_modules/semver": {
+      "version": "7.5.3",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.3.tgz",
+      "integrity": "sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ==",
+      "dev": true,
+      "dependencies": {
+        "lru-cache": "^6.0.0"
+      },
       "bin": {
-        "tsc": "bin/tsc",
-        "tsserver": "bin/tsserver"
+        "semver": "bin/semver.js"
       },
       "engines": {
-        "node": ">=14.17"
+        "node": ">=10"
       }
     },
+    "node_modules/@nx/eslint/node_modules/tmp": {
+      "version": "0.2.1",
+      "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz",
+      "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==",
+      "dev": true,
+      "dependencies": {
+        "rimraf": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=8.17.0"
+      }
+    },
+    "node_modules/@nx/eslint/node_modules/yallist": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+      "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
+      "dev": true
+    },
     "node_modules/@nx/jest": {
-      "version": "17.0.2",
-      "resolved": "https://registry.npmjs.org/@nx/jest/-/jest-17.0.2.tgz",
-      "integrity": "sha512-kpkziUOZpKsVvi5iicirX4EVwfKXaGuiv5bgzj1uiexD83tlds5ne8J2qN/K1ea5jIC+bxHzqJF5s7rF52T0cg==",
+      "version": "17.1.2",
+      "resolved": "https://registry.npmjs.org/@nx/jest/-/jest-17.1.2.tgz",
+      "integrity": "sha512-rgwowVMbSR9/U9yzTX2LqDFpsvQ9QkWC/dEpn2jHXMYEU5qu0rbW6mnKSuQ+sHN4Fn6UgesFrYAZCwEPx+izpQ==",
       "dev": true,
       "dependencies": {
         "@jest/reporters": "^29.4.1",
         "@jest/test-result": "^29.4.1",
-        "@nrwl/jest": "17.0.2",
-        "@nx/devkit": "17.0.2",
-        "@nx/js": "17.0.2",
+        "@nrwl/jest": "17.1.2",
+        "@nx/devkit": "17.1.2",
+        "@nx/js": "17.1.2",
         "@phenomnomnominal/tsquery": "~5.0.1",
         "chalk": "^4.1.0",
         "identity-obj-proxy": "3.0.0",
@@ -4511,6 +4991,33 @@
         "tslib": "^2.3.0"
       }
     },
+    "node_modules/@nx/jest/node_modules/@nrwl/devkit": {
+      "version": "17.1.2",
+      "resolved": "https://registry.npmjs.org/@nrwl/devkit/-/devkit-17.1.2.tgz",
+      "integrity": "sha512-INPZk4qts3xNJt8E9fttuVTufXdigPUOvUiAiPJmR2oUGDF8SeOlIYNForbz+XMRvxyIVtf45O32azUsgeZe3Q==",
+      "dev": true,
+      "dependencies": {
+        "@nx/devkit": "17.1.2"
+      }
+    },
+    "node_modules/@nx/jest/node_modules/@nx/devkit": {
+      "version": "17.1.2",
+      "resolved": "https://registry.npmjs.org/@nx/devkit/-/devkit-17.1.2.tgz",
+      "integrity": "sha512-9Izd9jsa++AaZSSlhi0zkv58k4clzE0kICurx9DjfWN6zXnD08HqJoUYCVVaeYS/SrWlQUbMig8e49BO8ZV5mw==",
+      "dev": true,
+      "dependencies": {
+        "@nrwl/devkit": "17.1.2",
+        "ejs": "^3.1.7",
+        "enquirer": "~2.3.6",
+        "ignore": "^5.0.4",
+        "semver": "7.5.3",
+        "tmp": "~0.2.1",
+        "tslib": "^2.3.0"
+      },
+      "peerDependencies": {
+        "nx": ">= 16 <= 18"
+      }
+    },
     "node_modules/@nx/jest/node_modules/ansi-styles": {
       "version": "4.3.0",
       "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
@@ -4569,6 +5076,33 @@
         "node": ">=8"
       }
     },
+    "node_modules/@nx/jest/node_modules/lru-cache": {
+      "version": "6.0.0",
+      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+      "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+      "dev": true,
+      "dependencies": {
+        "yallist": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/@nx/jest/node_modules/semver": {
+      "version": "7.5.3",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.3.tgz",
+      "integrity": "sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ==",
+      "dev": true,
+      "dependencies": {
+        "lru-cache": "^6.0.0"
+      },
+      "bin": {
+        "semver": "bin/semver.js"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
     "node_modules/@nx/jest/node_modules/supports-color": {
       "version": "7.2.0",
       "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
@@ -4581,21 +5115,40 @@
         "node": ">=8"
       }
     },
+    "node_modules/@nx/jest/node_modules/tmp": {
+      "version": "0.2.1",
+      "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz",
+      "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==",
+      "dev": true,
+      "dependencies": {
+        "rimraf": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=8.17.0"
+      }
+    },
+    "node_modules/@nx/jest/node_modules/yallist": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+      "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
+      "dev": true
+    },
     "node_modules/@nx/js": {
-      "version": "17.0.2",
-      "resolved": "https://registry.npmjs.org/@nx/js/-/js-17.0.2.tgz",
-      "integrity": "sha512-dYvWDd0jwNF4h4V8yjd1ZMSJ38GcpvwrDUVYGYNkZmDqYzkBvqykpY00hRLUYZspiR+iG7uWmyxItZYpCk0WyA==",
+      "version": "17.1.2",
+      "resolved": "https://registry.npmjs.org/@nx/js/-/js-17.1.2.tgz",
+      "integrity": "sha512-3fPiOEw+iD1Bc+AvfdGgMSCYDYxAGmZ01lHp/RERTyCHroEoMiq8yiTBbET6TPOvKOBMXA+pR2Ux04QA3S4N6Q==",
       "dev": true,
       "dependencies": {
         "@babel/core": "^7.22.9",
         "@babel/plugin-proposal-decorators": "^7.22.7",
+        "@babel/plugin-transform-class-properties": "^7.22.5",
         "@babel/plugin-transform-runtime": "^7.22.9",
         "@babel/preset-env": "^7.22.9",
         "@babel/preset-typescript": "^7.22.5",
         "@babel/runtime": "^7.22.6",
-        "@nrwl/js": "17.0.2",
-        "@nx/devkit": "17.0.2",
-        "@nx/workspace": "17.0.2",
+        "@nrwl/js": "17.1.2",
+        "@nx/devkit": "17.1.2",
+        "@nx/workspace": "17.1.2",
         "@phenomnomnominal/tsquery": "~5.0.1",
         "babel-plugin-const-enum": "^1.0.1",
         "babel-plugin-macros": "^2.8.0",
@@ -4626,6 +5179,230 @@
         }
       }
     },
+    "node_modules/@nx/js/node_modules/@nrwl/devkit": {
+      "version": "17.1.2",
+      "resolved": "https://registry.npmjs.org/@nrwl/devkit/-/devkit-17.1.2.tgz",
+      "integrity": "sha512-INPZk4qts3xNJt8E9fttuVTufXdigPUOvUiAiPJmR2oUGDF8SeOlIYNForbz+XMRvxyIVtf45O32azUsgeZe3Q==",
+      "dev": true,
+      "dependencies": {
+        "@nx/devkit": "17.1.2"
+      }
+    },
+    "node_modules/@nx/js/node_modules/@nrwl/tao": {
+      "version": "17.1.2",
+      "resolved": "https://registry.npmjs.org/@nrwl/tao/-/tao-17.1.2.tgz",
+      "integrity": "sha512-tL+dlygeor/kLG5fuK5qaiVFJ4hEtvJ/E+xY9epp20UKCNQSEkrSFiesiXtX6E/PPf4YbOQ4B4itWR2EYCm03Q==",
+      "dev": true,
+      "dependencies": {
+        "nx": "17.1.2",
+        "tslib": "^2.3.0"
+      },
+      "bin": {
+        "tao": "index.js"
+      }
+    },
+    "node_modules/@nx/js/node_modules/@nrwl/workspace": {
+      "version": "17.1.2",
+      "resolved": "https://registry.npmjs.org/@nrwl/workspace/-/workspace-17.1.2.tgz",
+      "integrity": "sha512-1MymxYcX5YPrTSuZhQ6V0MhqAFB+8Bm2O9EJHpj4VS9LKIWwDche4DkqypmhbTeAzagr5YIWqaKtPCrkP0tn8w==",
+      "dev": true,
+      "dependencies": {
+        "@nx/workspace": "17.1.2"
+      }
+    },
+    "node_modules/@nx/js/node_modules/@nx/devkit": {
+      "version": "17.1.2",
+      "resolved": "https://registry.npmjs.org/@nx/devkit/-/devkit-17.1.2.tgz",
+      "integrity": "sha512-9Izd9jsa++AaZSSlhi0zkv58k4clzE0kICurx9DjfWN6zXnD08HqJoUYCVVaeYS/SrWlQUbMig8e49BO8ZV5mw==",
+      "dev": true,
+      "dependencies": {
+        "@nrwl/devkit": "17.1.2",
+        "ejs": "^3.1.7",
+        "enquirer": "~2.3.6",
+        "ignore": "^5.0.4",
+        "semver": "7.5.3",
+        "tmp": "~0.2.1",
+        "tslib": "^2.3.0"
+      },
+      "peerDependencies": {
+        "nx": ">= 16 <= 18"
+      }
+    },
+    "node_modules/@nx/js/node_modules/@nx/nx-darwin-arm64": {
+      "version": "17.1.2",
+      "resolved": "https://registry.npmjs.org/@nx/nx-darwin-arm64/-/nx-darwin-arm64-17.1.2.tgz",
+      "integrity": "sha512-U8fwkuw0vmDfeRQX9LSMt1XiAXM57fxOiuHlrIBn8hUBvMAugAgSAYd7K9YQjrFf9UFUtQeSHDU9N/c/n63hdg==",
+      "cpu": [
+        "arm64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "darwin"
+      ],
+      "engines": {
+        "node": ">= 10"
+      }
+    },
+    "node_modules/@nx/js/node_modules/@nx/nx-darwin-x64": {
+      "version": "17.1.2",
+      "resolved": "https://registry.npmjs.org/@nx/nx-darwin-x64/-/nx-darwin-x64-17.1.2.tgz",
+      "integrity": "sha512-QR9Jrm32UK2nLdDRtjFabfCvF5SOQJ2IuYkw6Sxe16xGZU2DS9nQku0TQO3Uy2HV1xSR7vzj7ys5z4eI2k+/mA==",
+      "cpu": [
+        "x64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "darwin"
+      ],
+      "engines": {
+        "node": ">= 10"
+      }
+    },
+    "node_modules/@nx/js/node_modules/@nx/nx-freebsd-x64": {
+      "version": "17.1.2",
+      "resolved": "https://registry.npmjs.org/@nx/nx-freebsd-x64/-/nx-freebsd-x64-17.1.2.tgz",
+      "integrity": "sha512-6rDuFHJREVg5XpcM5RlE8pHP4bgcbns8sSemF/g75SV4iEkBqxRvSe88oBtF44b7IpX2zdONRDV4qQcRf3DxRg==",
+      "cpu": [
+        "x64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "freebsd"
+      ],
+      "engines": {
+        "node": ">= 10"
+      }
+    },
+    "node_modules/@nx/js/node_modules/@nx/nx-linux-arm-gnueabihf": {
+      "version": "17.1.2",
+      "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-17.1.2.tgz",
+      "integrity": "sha512-4FwqUX7NxVfJ0v7frBKNbjENz6pvp3slDfoG2/WmnAj5a6TCu7magwlg1qLQaHYJ1m/i8u7RrG0Uz4SYHWzkVw==",
+      "cpu": [
+        "arm"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": ">= 10"
+      }
+    },
+    "node_modules/@nx/js/node_modules/@nx/nx-linux-arm64-gnu": {
+      "version": "17.1.2",
+      "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-17.1.2.tgz",
+      "integrity": "sha512-r6UATY0dVdxwpVJPf/f/KfRkFpMP06wC6HcfNMGbTBTKiKtsdYF42bWoSkDgtgP2bOx9FDH+Hwu3U/Rtj44FIA==",
+      "cpu": [
+        "arm64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": ">= 10"
+      }
+    },
+    "node_modules/@nx/js/node_modules/@nx/nx-linux-arm64-musl": {
+      "version": "17.1.2",
+      "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-17.1.2.tgz",
+      "integrity": "sha512-MXGYY/KCzQhbj5UKwnRO2/GhByOkRlI+EeH1Mazam8wZ1BiBfcVWZoOUybIlxxes1o4cAnkZwB527tCmwrHvGw==",
+      "cpu": [
+        "arm64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": ">= 10"
+      }
+    },
+    "node_modules/@nx/js/node_modules/@nx/nx-linux-x64-gnu": {
+      "version": "17.1.2",
+      "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-17.1.2.tgz",
+      "integrity": "sha512-3cC131hJ3VhuxjzzBlwIdVp46onykOo78EmnURNdLxcWOpmcKgYXn7OnVwjrglYi+JL7D0vABGKKUpt1cs6/rA==",
+      "cpu": [
+        "x64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": ">= 10"
+      }
+    },
+    "node_modules/@nx/js/node_modules/@nx/nx-linux-x64-musl": {
+      "version": "17.1.2",
+      "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-17.1.2.tgz",
+      "integrity": "sha512-1UrR87ByhE0zSXt0C+RNT5ZiAsctOSWZwPYQAGolz8K70BxomDeRVtIaRog5KK5SHlEd1ILvgsmrhovjLjrJNw==",
+      "cpu": [
+        "x64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": ">= 10"
+      }
+    },
+    "node_modules/@nx/js/node_modules/@nx/nx-win32-arm64-msvc": {
+      "version": "17.1.2",
+      "resolved": "https://registry.npmjs.org/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-17.1.2.tgz",
+      "integrity": "sha512-2M7FfzfPGAN7tCUWZilPGNk/RbbGcA00MKOA4MDqMwJtLobW8KqfMedilRNTEuyNibejOHwvGzA9T/Ac/ahHgA==",
+      "cpu": [
+        "arm64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "win32"
+      ],
+      "engines": {
+        "node": ">= 10"
+      }
+    },
+    "node_modules/@nx/js/node_modules/@nx/nx-win32-x64-msvc": {
+      "version": "17.1.2",
+      "resolved": "https://registry.npmjs.org/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-17.1.2.tgz",
+      "integrity": "sha512-oxKCKunuo4wRusMlNu7PlhBijhtNy7eBZPAWyqUsdfnb+CjY2QncjCguW3fnsG9gHQFCa+y0b1WkSkvJ5G1DiQ==",
+      "cpu": [
+        "x64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "win32"
+      ],
+      "engines": {
+        "node": ">= 10"
+      }
+    },
+    "node_modules/@nx/js/node_modules/@nx/workspace": {
+      "version": "17.1.2",
+      "resolved": "https://registry.npmjs.org/@nx/workspace/-/workspace-17.1.2.tgz",
+      "integrity": "sha512-lmdfWyspRgk7XewKU/5bjr6PieShJemDJpaSI+/H5utOeT8QeXVmNj+DDizig4eobwK0b6OXb0Vgnc7osbgjlw==",
+      "dev": true,
+      "dependencies": {
+        "@nrwl/workspace": "17.1.2",
+        "@nx/devkit": "17.1.2",
+        "chalk": "^4.1.0",
+        "enquirer": "~2.3.6",
+        "nx": "17.1.2",
+        "tslib": "^2.3.0",
+        "yargs-parser": "21.1.1"
+      }
+    },
     "node_modules/@nx/js/node_modules/ansi-styles": {
       "version": "4.3.0",
       "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
@@ -4641,6 +5418,12 @@
         "url": "https://github.com/chalk/ansi-styles?sponsor=1"
       }
     },
+    "node_modules/@nx/js/node_modules/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
+    },
     "node_modules/@nx/js/node_modules/chalk": {
       "version": "4.1.2",
       "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
@@ -4657,6 +5440,18 @@
         "url": "https://github.com/chalk/chalk?sponsor=1"
       }
     },
+    "node_modules/@nx/js/node_modules/cli-spinners": {
+      "version": "2.6.1",
+      "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.1.tgz",
+      "integrity": "sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==",
+      "dev": true,
+      "engines": {
+        "node": ">=6"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
     "node_modules/@nx/js/node_modules/color-convert": {
       "version": "2.0.1",
       "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
@@ -4705,6 +5500,23 @@
         "node": ">=14.14"
       }
     },
+    "node_modules/@nx/js/node_modules/glob": {
+      "version": "7.1.4",
+      "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz",
+      "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==",
+      "dev": true,
+      "dependencies": {
+        "fs.realpath": "^1.0.0",
+        "inflight": "^1.0.4",
+        "inherits": "2",
+        "minimatch": "^3.0.4",
+        "once": "^1.3.0",
+        "path-is-absolute": "^1.0.0"
+      },
+      "engines": {
+        "node": "*"
+      }
+    },
     "node_modules/@nx/js/node_modules/has-flag": {
       "version": "4.0.0",
       "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
@@ -4714,6 +5526,18 @@
         "node": ">=8"
       }
     },
+    "node_modules/@nx/js/node_modules/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,
+      "dependencies": {
+        "argparse": "^2.0.1"
+      },
+      "bin": {
+        "js-yaml": "bin/js-yaml.js"
+      }
+    },
     "node_modules/@nx/js/node_modules/jsonfile": {
       "version": "6.1.0",
       "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
@@ -4726,6 +5550,15 @@
         "graceful-fs": "^4.1.6"
       }
     },
+    "node_modules/@nx/js/node_modules/lines-and-columns": {
+      "version": "2.0.4",
+      "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-2.0.4.tgz",
+      "integrity": "sha512-wM1+Z03eypVAVUCE7QdSqpVIvelbOakn1M0bPDoA4SGWPx3sNDVUiMo3L6To6WWGClB7VyXnhQ4Sn7gxiJbE6A==",
+      "dev": true,
+      "engines": {
+        "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+      }
+    },
     "node_modules/@nx/js/node_modules/lru-cache": {
       "version": "6.0.0",
       "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
@@ -4750,6 +5583,78 @@
         "node": "*"
       }
     },
+    "node_modules/@nx/js/node_modules/nx": {
+      "version": "17.1.2",
+      "resolved": "https://registry.npmjs.org/nx/-/nx-17.1.2.tgz",
+      "integrity": "sha512-pf94ri36cAiSzbYcPTJwQzttgAsHSjCLEni0Ilw6aVdjpoV2l6cggYxwddX7pgtCWuokVp/6KhAxVkbzvH65wg==",
+      "dev": true,
+      "hasInstallScript": true,
+      "dependencies": {
+        "@nrwl/tao": "17.1.2",
+        "@yarnpkg/lockfile": "^1.1.0",
+        "@yarnpkg/parsers": "3.0.0-rc.46",
+        "@zkochan/js-yaml": "0.0.6",
+        "axios": "^1.5.1",
+        "chalk": "^4.1.0",
+        "cli-cursor": "3.1.0",
+        "cli-spinners": "2.6.1",
+        "cliui": "^8.0.1",
+        "dotenv": "~16.3.1",
+        "dotenv-expand": "~10.0.0",
+        "enquirer": "~2.3.6",
+        "figures": "3.2.0",
+        "flat": "^5.0.2",
+        "fs-extra": "^11.1.0",
+        "glob": "7.1.4",
+        "ignore": "^5.0.4",
+        "jest-diff": "^29.4.1",
+        "js-yaml": "4.1.0",
+        "jsonc-parser": "3.2.0",
+        "lines-and-columns": "~2.0.3",
+        "minimatch": "3.0.5",
+        "node-machine-id": "1.1.12",
+        "npm-run-path": "^4.0.1",
+        "open": "^8.4.0",
+        "semver": "7.5.3",
+        "string-width": "^4.2.3",
+        "strong-log-transformer": "^2.1.0",
+        "tar-stream": "~2.2.0",
+        "tmp": "~0.2.1",
+        "tsconfig-paths": "^4.1.2",
+        "tslib": "^2.3.0",
+        "v8-compile-cache": "2.3.0",
+        "yargs": "^17.6.2",
+        "yargs-parser": "21.1.1"
+      },
+      "bin": {
+        "nx": "bin/nx.js",
+        "nx-cloud": "bin/nx-cloud.js"
+      },
+      "optionalDependencies": {
+        "@nx/nx-darwin-arm64": "17.1.2",
+        "@nx/nx-darwin-x64": "17.1.2",
+        "@nx/nx-freebsd-x64": "17.1.2",
+        "@nx/nx-linux-arm-gnueabihf": "17.1.2",
+        "@nx/nx-linux-arm64-gnu": "17.1.2",
+        "@nx/nx-linux-arm64-musl": "17.1.2",
+        "@nx/nx-linux-x64-gnu": "17.1.2",
+        "@nx/nx-linux-x64-musl": "17.1.2",
+        "@nx/nx-win32-arm64-msvc": "17.1.2",
+        "@nx/nx-win32-x64-msvc": "17.1.2"
+      },
+      "peerDependencies": {
+        "@swc-node/register": "^1.6.7",
+        "@swc/core": "^1.3.85"
+      },
+      "peerDependenciesMeta": {
+        "@swc-node/register": {
+          "optional": true
+        },
+        "@swc/core": {
+          "optional": true
+        }
+      }
+    },
     "node_modules/@nx/js/node_modules/ora": {
       "version": "5.3.0",
       "resolved": "https://registry.npmjs.org/ora/-/ora-5.3.0.tgz",
@@ -4818,6 +5723,18 @@
         "node": ">=8"
       }
     },
+    "node_modules/@nx/js/node_modules/tmp": {
+      "version": "0.2.1",
+      "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz",
+      "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==",
+      "dev": true,
+      "dependencies": {
+        "rimraf": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=8.17.0"
+      }
+    },
     "node_modules/@nx/js/node_modules/universalify": {
       "version": "2.0.1",
       "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz",
@@ -4834,12 +5751,12 @@
       "dev": true
     },
     "node_modules/@nx/linter": {
-      "version": "17.0.2",
-      "resolved": "https://registry.npmjs.org/@nx/linter/-/linter-17.0.2.tgz",
-      "integrity": "sha512-cXCrx/qcZc53GKqOLRIPTqACdby9/plOpfQlo0BlHMOrwvkkKjzXsnoJgR6XRWdegDKVkqUWHWDAjDI3/aMshA==",
+      "version": "17.1.2",
+      "resolved": "https://registry.npmjs.org/@nx/linter/-/linter-17.1.2.tgz",
+      "integrity": "sha512-KS7jq61Fg2tiB+PDui3+zH9RANZV/rYyg1yzKe/Say7DabcZDziHmxw5t/JZE7JlTA2Kmy7HBMRgvJsqxOlukQ==",
       "dev": true,
       "dependencies": {
-        "@nx/eslint": "17.0.2"
+        "@nx/eslint": "17.1.2"
       }
     },
     "node_modules/@nx/nx-darwin-arm64": {
@@ -5003,20 +5920,47 @@
       }
     },
     "node_modules/@nx/web": {
-      "version": "17.0.2",
-      "resolved": "https://registry.npmjs.org/@nx/web/-/web-17.0.2.tgz",
-      "integrity": "sha512-M8bausXzgkeFlNn43uO3pxtn/1EDoIs/7xgWPoGAdqV4l4RKG0JHqeLi68tP6YVA30RSAZ7UmvKQlKo14uDp0w==",
+      "version": "17.1.2",
+      "resolved": "https://registry.npmjs.org/@nx/web/-/web-17.1.2.tgz",
+      "integrity": "sha512-TJIY3uyBUCO9F15v1iWU5Lm6qvNBGzyLI0cNKB4Xl6H5mJA3bxW92NlRM++8mS9hSpw2OLEVN5jA2q+pbRzk8Q==",
       "dev": true,
       "dependencies": {
-        "@nrwl/web": "17.0.2",
-        "@nx/devkit": "17.0.2",
-        "@nx/js": "17.0.2",
+        "@nrwl/web": "17.1.2",
+        "@nx/devkit": "17.1.2",
+        "@nx/js": "17.1.2",
         "chalk": "^4.1.0",
         "detect-port": "^1.5.1",
         "http-server": "^14.1.0",
         "tslib": "^2.3.0"
       }
     },
+    "node_modules/@nx/web/node_modules/@nrwl/devkit": {
+      "version": "17.1.2",
+      "resolved": "https://registry.npmjs.org/@nrwl/devkit/-/devkit-17.1.2.tgz",
+      "integrity": "sha512-INPZk4qts3xNJt8E9fttuVTufXdigPUOvUiAiPJmR2oUGDF8SeOlIYNForbz+XMRvxyIVtf45O32azUsgeZe3Q==",
+      "dev": true,
+      "dependencies": {
+        "@nx/devkit": "17.1.2"
+      }
+    },
+    "node_modules/@nx/web/node_modules/@nx/devkit": {
+      "version": "17.1.2",
+      "resolved": "https://registry.npmjs.org/@nx/devkit/-/devkit-17.1.2.tgz",
+      "integrity": "sha512-9Izd9jsa++AaZSSlhi0zkv58k4clzE0kICurx9DjfWN6zXnD08HqJoUYCVVaeYS/SrWlQUbMig8e49BO8ZV5mw==",
+      "dev": true,
+      "dependencies": {
+        "@nrwl/devkit": "17.1.2",
+        "ejs": "^3.1.7",
+        "enquirer": "~2.3.6",
+        "ignore": "^5.0.4",
+        "semver": "7.5.3",
+        "tmp": "~0.2.1",
+        "tslib": "^2.3.0"
+      },
+      "peerDependencies": {
+        "nx": ">= 16 <= 18"
+      }
+    },
     "node_modules/@nx/web/node_modules/ansi-styles": {
       "version": "4.3.0",
       "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
@@ -5075,6 +6019,33 @@
         "node": ">=8"
       }
     },
+    "node_modules/@nx/web/node_modules/lru-cache": {
+      "version": "6.0.0",
+      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+      "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+      "dev": true,
+      "dependencies": {
+        "yallist": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/@nx/web/node_modules/semver": {
+      "version": "7.5.3",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.3.tgz",
+      "integrity": "sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ==",
+      "dev": true,
+      "dependencies": {
+        "lru-cache": "^6.0.0"
+      },
+      "bin": {
+        "semver": "bin/semver.js"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
     "node_modules/@nx/web/node_modules/supports-color": {
       "version": "7.2.0",
       "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
@@ -5087,16 +6058,34 @@
         "node": ">=8"
       }
     },
+    "node_modules/@nx/web/node_modules/tmp": {
+      "version": "0.2.1",
+      "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz",
+      "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==",
+      "dev": true,
+      "dependencies": {
+        "rimraf": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=8.17.0"
+      }
+    },
+    "node_modules/@nx/web/node_modules/yallist": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+      "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
+      "dev": true
+    },
     "node_modules/@nx/webpack": {
-      "version": "17.0.2",
-      "resolved": "https://registry.npmjs.org/@nx/webpack/-/webpack-17.0.2.tgz",
-      "integrity": "sha512-TnC+Cpg7MPc6vl1Vu2sVzav/F+6mhmev3tH3nCUFywTwHXrK+i/NQhuvXWEixVt+l77V4Di6VhMKfHaGryfU6Q==",
+      "version": "17.1.2",
+      "resolved": "https://registry.npmjs.org/@nx/webpack/-/webpack-17.1.2.tgz",
+      "integrity": "sha512-i6TAKrM1TakHyqEHbtsyfyqh5nrk4xgK/aiJZT8mojOSK5ifSrcZSdlPHHbIzuLsCJt1Wo94LA//C26oBg5PTw==",
       "dev": true,
       "dependencies": {
         "@babel/core": "^7.22.9",
-        "@nrwl/webpack": "17.0.2",
-        "@nx/devkit": "17.0.2",
-        "@nx/js": "17.0.2",
+        "@nrwl/webpack": "17.1.2",
+        "@nx/devkit": "17.1.2",
+        "@nx/js": "17.1.2",
         "autoprefixer": "^10.4.9",
         "babel-loader": "^9.1.2",
         "browserslist": "^4.21.4",
@@ -5131,6 +6120,33 @@
         "webpack-subresource-integrity": "^5.1.0"
       }
     },
+    "node_modules/@nx/webpack/node_modules/@nrwl/devkit": {
+      "version": "17.1.2",
+      "resolved": "https://registry.npmjs.org/@nrwl/devkit/-/devkit-17.1.2.tgz",
+      "integrity": "sha512-INPZk4qts3xNJt8E9fttuVTufXdigPUOvUiAiPJmR2oUGDF8SeOlIYNForbz+XMRvxyIVtf45O32azUsgeZe3Q==",
+      "dev": true,
+      "dependencies": {
+        "@nx/devkit": "17.1.2"
+      }
+    },
+    "node_modules/@nx/webpack/node_modules/@nx/devkit": {
+      "version": "17.1.2",
+      "resolved": "https://registry.npmjs.org/@nx/devkit/-/devkit-17.1.2.tgz",
+      "integrity": "sha512-9Izd9jsa++AaZSSlhi0zkv58k4clzE0kICurx9DjfWN6zXnD08HqJoUYCVVaeYS/SrWlQUbMig8e49BO8ZV5mw==",
+      "dev": true,
+      "dependencies": {
+        "@nrwl/devkit": "17.1.2",
+        "ejs": "^3.1.7",
+        "enquirer": "~2.3.6",
+        "ignore": "^5.0.4",
+        "semver": "7.5.3",
+        "tmp": "~0.2.1",
+        "tslib": "^2.3.0"
+      },
+      "peerDependencies": {
+        "nx": ">= 16 <= 18"
+      }
+    },
     "node_modules/@nx/webpack/node_modules/ansi-styles": {
       "version": "4.3.0",
       "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
@@ -5313,6 +6329,18 @@
         "node": ">=8.9.0"
       }
     },
+    "node_modules/@nx/webpack/node_modules/lru-cache": {
+      "version": "6.0.0",
+      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+      "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+      "dev": true,
+      "dependencies": {
+        "yallist": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
     "node_modules/@nx/webpack/node_modules/make-dir": {
       "version": "2.1.0",
       "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz",
@@ -5429,6 +6457,21 @@
         }
       }
     },
+    "node_modules/@nx/webpack/node_modules/semver": {
+      "version": "7.5.3",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.3.tgz",
+      "integrity": "sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ==",
+      "dev": true,
+      "dependencies": {
+        "lru-cache": "^6.0.0"
+      },
+      "bin": {
+        "semver": "bin/semver.js"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
     "node_modules/@nx/webpack/node_modules/source-map": {
       "version": "0.6.1",
       "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
@@ -5472,6 +6515,24 @@
         "node": ">=8"
       }
     },
+    "node_modules/@nx/webpack/node_modules/tmp": {
+      "version": "0.2.1",
+      "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz",
+      "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==",
+      "dev": true,
+      "dependencies": {
+        "rimraf": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=8.17.0"
+      }
+    },
+    "node_modules/@nx/webpack/node_modules/yallist": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+      "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
+      "dev": true
+    },
     "node_modules/@nx/workspace": {
       "version": "17.0.2",
       "resolved": "https://registry.npmjs.org/@nx/workspace/-/workspace-17.0.2.tgz",
@@ -5536,18 +6597,6 @@
       "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
       "dev": true
     },
-    "node_modules/@nx/workspace/node_modules/enquirer": {
-      "version": "2.3.6",
-      "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz",
-      "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==",
-      "dev": true,
-      "dependencies": {
-        "ansi-colors": "^4.1.1"
-      },
-      "engines": {
-        "node": ">=8.6"
-      }
-    },
     "node_modules/@nx/workspace/node_modules/has-flag": {
       "version": "4.0.0",
       "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
@@ -6149,16 +7198,16 @@
       "dev": true
     },
     "node_modules/@typescript-eslint/scope-manager": {
-      "version": "5.62.0",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz",
-      "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==",
+      "version": "6.11.0",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.11.0.tgz",
+      "integrity": "sha512-0A8KoVvIURG4uhxAdjSaxy8RdRE//HztaZdG8KiHLP8WOXSk0vlF7Pvogv+vlJA5Rnjj/wDcFENvDaHb+gKd1A==",
       "dev": true,
       "dependencies": {
-        "@typescript-eslint/types": "5.62.0",
-        "@typescript-eslint/visitor-keys": "5.62.0"
+        "@typescript-eslint/types": "6.11.0",
+        "@typescript-eslint/visitor-keys": "6.11.0"
       },
       "engines": {
-        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+        "node": "^16.0.0 || >=18.0.0"
       },
       "funding": {
         "type": "opencollective",
@@ -6166,25 +7215,25 @@
       }
     },
     "node_modules/@typescript-eslint/type-utils": {
-      "version": "5.62.0",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz",
-      "integrity": "sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==",
+      "version": "6.11.0",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.11.0.tgz",
+      "integrity": "sha512-nA4IOXwZtqBjIoYrJcYxLRO+F9ri+leVGoJcMW1uqr4r1Hq7vW5cyWrA43lFbpRvQ9XgNrnfLpIkO3i1emDBIA==",
       "dev": true,
       "dependencies": {
-        "@typescript-eslint/typescript-estree": "5.62.0",
-        "@typescript-eslint/utils": "5.62.0",
+        "@typescript-eslint/typescript-estree": "6.11.0",
+        "@typescript-eslint/utils": "6.11.0",
         "debug": "^4.3.4",
-        "tsutils": "^3.21.0"
+        "ts-api-utils": "^1.0.1"
       },
       "engines": {
-        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+        "node": "^16.0.0 || >=18.0.0"
       },
       "funding": {
         "type": "opencollective",
         "url": "https://opencollective.com/typescript-eslint"
       },
       "peerDependencies": {
-        "eslint": "*"
+        "eslint": "^7.0.0 || ^8.0.0"
       },
       "peerDependenciesMeta": {
         "typescript": {
@@ -6193,12 +7242,12 @@
       }
     },
     "node_modules/@typescript-eslint/types": {
-      "version": "5.62.0",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz",
-      "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==",
+      "version": "6.11.0",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.11.0.tgz",
+      "integrity": "sha512-ZbEzuD4DwEJxwPqhv3QULlRj8KYTAnNsXxmfuUXFCxZmO6CF2gM/y+ugBSAQhrqaJL3M+oe4owdWunaHM6beqA==",
       "dev": true,
       "engines": {
-        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+        "node": "^16.0.0 || >=18.0.0"
       },
       "funding": {
         "type": "opencollective",
@@ -6206,21 +7255,21 @@
       }
     },
     "node_modules/@typescript-eslint/typescript-estree": {
-      "version": "5.62.0",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz",
-      "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==",
+      "version": "6.11.0",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.11.0.tgz",
+      "integrity": "sha512-Aezzv1o2tWJwvZhedzvD5Yv7+Lpu1by/U1LZ5gLc4tCx8jUmuSCMioPFRjliN/6SJIvY6HpTtJIWubKuYYYesQ==",
       "dev": true,
       "dependencies": {
-        "@typescript-eslint/types": "5.62.0",
-        "@typescript-eslint/visitor-keys": "5.62.0",
+        "@typescript-eslint/types": "6.11.0",
+        "@typescript-eslint/visitor-keys": "6.11.0",
         "debug": "^4.3.4",
         "globby": "^11.1.0",
         "is-glob": "^4.0.3",
-        "semver": "^7.3.7",
-        "tsutils": "^3.21.0"
+        "semver": "^7.5.4",
+        "ts-api-utils": "^1.0.1"
       },
       "engines": {
-        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+        "node": "^16.0.0 || >=18.0.0"
       },
       "funding": {
         "type": "opencollective",
@@ -6271,42 +7320,41 @@
       }
     },
     "node_modules/@typescript-eslint/utils": {
-      "version": "5.62.0",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz",
-      "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==",
+      "version": "6.11.0",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.11.0.tgz",
+      "integrity": "sha512-p23ibf68fxoZy605dc0dQAEoUsoiNoP3MD9WQGiHLDuTSOuqoTsa4oAy+h3KDkTcxbbfOtUjb9h3Ta0gT4ug2g==",
       "dev": true,
       "dependencies": {
-        "@eslint-community/eslint-utils": "^4.2.0",
-        "@types/json-schema": "^7.0.9",
-        "@types/semver": "^7.3.12",
-        "@typescript-eslint/scope-manager": "5.62.0",
-        "@typescript-eslint/types": "5.62.0",
-        "@typescript-eslint/typescript-estree": "5.62.0",
-        "eslint-scope": "^5.1.1",
-        "semver": "^7.3.7"
+        "@eslint-community/eslint-utils": "^4.4.0",
+        "@types/json-schema": "^7.0.12",
+        "@types/semver": "^7.5.0",
+        "@typescript-eslint/scope-manager": "6.11.0",
+        "@typescript-eslint/types": "6.11.0",
+        "@typescript-eslint/typescript-estree": "6.11.0",
+        "semver": "^7.5.4"
       },
       "engines": {
-        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+        "node": "^16.0.0 || >=18.0.0"
       },
       "funding": {
         "type": "opencollective",
         "url": "https://opencollective.com/typescript-eslint"
       },
       "peerDependencies": {
-        "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0"
+        "eslint": "^7.0.0 || ^8.0.0"
       }
     },
     "node_modules/@typescript-eslint/visitor-keys": {
-      "version": "5.62.0",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz",
-      "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==",
+      "version": "6.11.0",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.11.0.tgz",
+      "integrity": "sha512-+SUN/W7WjBr05uRxPggJPSzyB8zUpaYo2hByKasWbqr3PM8AXfZt8UHdNpBS1v9SA62qnSSMF3380SwDqqprgQ==",
       "dev": true,
       "dependencies": {
-        "@typescript-eslint/types": "5.62.0",
-        "eslint-visitor-keys": "^3.3.0"
+        "@typescript-eslint/types": "6.11.0",
+        "eslint-visitor-keys": "^3.4.1"
       },
       "engines": {
-        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+        "node": "^16.0.0 || >=18.0.0"
       },
       "funding": {
         "type": "opencollective",
@@ -9568,13 +10616,12 @@
       }
     },
     "node_modules/enquirer": {
-      "version": "2.4.1",
-      "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.4.1.tgz",
-      "integrity": "sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==",
+      "version": "2.3.6",
+      "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz",
+      "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==",
       "dev": true,
       "dependencies": {
-        "ansi-colors": "^4.1.1",
-        "strip-ansi": "^6.0.1"
+        "ansi-colors": "^4.1.1"
       },
       "engines": {
         "node": ">=8.6"
@@ -15724,18 +16771,6 @@
       "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
       "dev": true
     },
-    "node_modules/nx/node_modules/enquirer": {
-      "version": "2.3.6",
-      "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz",
-      "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==",
-      "dev": true,
-      "dependencies": {
-        "ansi-colors": "^4.1.1"
-      },
-      "engines": {
-        "node": ">=8.6"
-      }
-    },
     "node_modules/nx/node_modules/fs-extra": {
       "version": "11.1.1",
       "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.1.1.tgz",
@@ -19154,6 +20189,18 @@
         "tree-kill": "cli.js"
       }
     },
+    "node_modules/ts-api-utils": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.0.3.tgz",
+      "integrity": "sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg==",
+      "dev": true,
+      "engines": {
+        "node": ">=16.13.0"
+      },
+      "peerDependencies": {
+        "typescript": ">=4.2.0"
+      }
+    },
     "node_modules/ts-loader": {
       "version": "9.5.1",
       "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.5.1.tgz",
@@ -19399,27 +20446,6 @@
       "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz",
       "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q=="
     },
-    "node_modules/tsutils": {
-      "version": "3.21.0",
-      "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz",
-      "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==",
-      "dev": true,
-      "dependencies": {
-        "tslib": "^1.8.1"
-      },
-      "engines": {
-        "node": ">= 6"
-      },
-      "peerDependencies": {
-        "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta"
-      }
-    },
-    "node_modules/tsutils/node_modules/tslib": {
-      "version": "1.14.1",
-      "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
-      "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
-      "dev": true
-    },
     "node_modules/tuf-js": {
       "version": "2.1.0",
       "resolved": "https://registry.npmjs.org/tuf-js/-/tuf-js-2.1.0.tgz",

+ 1 - 1
package.json

@@ -36,7 +36,7 @@
     "@angular/cli": "^17.0.1",
     "@angular/compiler-cli": "^17.0.3",
     "@angular/localize": "^17.0.3",
-    "@nx/angular": "17.0.2",
+    "@nx/angular": "17.1.2",
     "@nx/workspace": "17.0.2",
     "@schematics/angular": "^16.2.7",
     "@types/jasmine": "~4.3.0",