From 9bce66e4752bbcd08dd838827c94fbd27d62144c Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 27 Jun 2025 07:36:36 +0000 Subject: [PATCH 01/10] Initial plan From fabb8eb8f653a2d37206b2cdc416be672852f9aa Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 27 Jun 2025 07:41:57 +0000 Subject: [PATCH 02/10] Upgrade Angular from v17 to v18 Co-authored-by: manekinekko <1699357+manekinekko@users.noreply.github.com> --- package-lock.json | 3603 +++++++++++++++++++++++++++++---------------- package.json | 30 +- 2 files changed, 2365 insertions(+), 1268 deletions(-) diff --git a/package-lock.json b/package-lock.json index c7237b9..1a657f8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,16 +8,16 @@ "name": "angular-web-bluetooth-starter", "version": "17.1.0", "dependencies": { - "@angular/animations": "^17.1.3", + "@angular/animations": "^18.2.13", "@angular/cdk": "^17.1.2", - "@angular/common": "^17.1.3", - "@angular/compiler": "^17.1.3", - "@angular/core": "^17.1.3", - "@angular/forms": "^17.1.3", + "@angular/common": "^18.2.13", + "@angular/compiler": "^18.2.13", + "@angular/core": "^18.2.13", + "@angular/forms": "^18.2.13", "@angular/material": "^17.1.2", - "@angular/platform-browser": "^17.1.3", - "@angular/platform-browser-dynamic": "^17.1.3", - "@angular/router": "^17.1.3", + "@angular/platform-browser": "^18.2.13", + "@angular/platform-browser-dynamic": "^18.2.13", + "@angular/router": "^18.2.13", "@types/web-bluetooth": "0.0.6", "rxjs": "~7.8.0", "smoothie": "^1.35.0", @@ -27,11 +27,11 @@ }, "devDependencies": { "@angular-builders/jest": "^17.0.0", - "@angular-devkit/build-angular": "^17.1.3", - "@angular-devkit/core": "^17.1.3", - "@angular/cli": "^17.1.3", - "@angular/compiler-cli": "^17.1.3", - "@angular/language-service": "^17.1.3", + "@angular-devkit/build-angular": "^18.2.20", + "@angular-devkit/core": "^18.2.20", + "@angular/cli": "^18.2.20", + "@angular/compiler-cli": "^18.2.13", + "@angular/language-service": "^18.2.13", "@compodoc/compodoc": "^1.1.11", "@types/jasmine": "~5.1.4", "@types/jasminewd2": "~2.0.8", @@ -46,9 +46,9 @@ "karma-coverage": "~2.2.0", "karma-jasmine": "~5.1.0", "karma-jasmine-html-reporter": "~2.1.0", - "ng-packagr": "^17.1.2", + "ng-packagr": "^18.2.1", "release-it": "^17.0.3", - "typescript": "~5.3.3" + "typescript": "~5.5.4" } }, "node_modules/@aduh95/viz.js": { @@ -86,6 +86,51 @@ "node": "^14.20.0 || ^16.13.0 || >=18.10.0" } }, + "node_modules/@angular-builders/common/node_modules/@angular-devkit/core": { + "version": "17.3.17", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-17.3.17.tgz", + "integrity": "sha512-7aNVqS3rOGsSZYAOO44xl2KURwaoOP+EJhJs+LqOGOFpok2kd8YLf4CAMUossMF4H7HsJpgKwYqGrV5eXunrpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "8.12.0", + "ajv-formats": "2.1.1", + "jsonc-parser": "3.2.1", + "picomatch": "4.0.1", + "rxjs": "7.8.1", + "source-map": "0.7.4" + }, + "engines": { + "node": "^18.13.0 || >=20.9.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "peerDependencies": { + "chokidar": "^3.5.2" + }, + "peerDependenciesMeta": { + "chokidar": { + "optional": true + } + } + }, + "node_modules/@angular-builders/common/node_modules/jsonc-parser": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.1.tgz", + "integrity": "sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@angular-builders/common/node_modules/rxjs": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", + "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.1.0" + } + }, "node_modules/@angular-builders/jest": { "version": "17.0.3", "resolved": "https://registry.npmjs.org/@angular-builders/jest/-/jest-17.0.3.tgz", @@ -110,6 +155,34 @@ "jest": ">=29" } }, + "node_modules/@angular-builders/jest/node_modules/@angular-devkit/core": { + "version": "17.3.17", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-17.3.17.tgz", + "integrity": "sha512-7aNVqS3rOGsSZYAOO44xl2KURwaoOP+EJhJs+LqOGOFpok2kd8YLf4CAMUossMF4H7HsJpgKwYqGrV5eXunrpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "8.12.0", + "ajv-formats": "2.1.1", + "jsonc-parser": "3.2.1", + "picomatch": "4.0.1", + "rxjs": "7.8.1", + "source-map": "0.7.4" + }, + "engines": { + "node": "^18.13.0 || >=20.9.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "peerDependencies": { + "chokidar": "^3.5.2" + }, + "peerDependenciesMeta": { + "chokidar": { + "optional": true + } + } + }, "node_modules/@angular-builders/jest/node_modules/jest-preset-angular": { "version": "14.0.3", "resolved": "https://registry.npmjs.org/jest-preset-angular/-/jest-preset-angular-14.0.3.tgz", @@ -139,6 +212,23 @@ "typescript": ">=4.8" } }, + "node_modules/@angular-builders/jest/node_modules/jsonc-parser": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.1.tgz", + "integrity": "sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@angular-builders/jest/node_modules/rxjs": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", + "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.1.0" + } + }, "node_modules/@angular-devkit/architect": { "version": "0.1703.17", "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1703.17.tgz", @@ -155,6 +245,41 @@ "yarn": ">= 1.13.0" } }, + "node_modules/@angular-devkit/architect/node_modules/@angular-devkit/core": { + "version": "17.3.17", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-17.3.17.tgz", + "integrity": "sha512-7aNVqS3rOGsSZYAOO44xl2KURwaoOP+EJhJs+LqOGOFpok2kd8YLf4CAMUossMF4H7HsJpgKwYqGrV5eXunrpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "8.12.0", + "ajv-formats": "2.1.1", + "jsonc-parser": "3.2.1", + "picomatch": "4.0.1", + "rxjs": "7.8.1", + "source-map": "0.7.4" + }, + "engines": { + "node": "^18.13.0 || >=20.9.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "peerDependencies": { + "chokidar": "^3.5.2" + }, + "peerDependenciesMeta": { + "chokidar": { + "optional": true + } + } + }, + "node_modules/@angular-devkit/architect/node_modules/jsonc-parser": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.1.tgz", + "integrity": "sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==", + "dev": true, + "license": "MIT" + }, "node_modules/@angular-devkit/architect/node_modules/rxjs": { "version": "7.8.1", "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", @@ -166,16 +291,17 @@ } }, "node_modules/@angular-devkit/build-angular": { - "version": "17.3.17", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-17.3.17.tgz", - "integrity": "sha512-0kLVwjLZ5v4uIaG0K6sHJxxppS0bvjNmxHkbybU8FBW3r5MOBQh/ApsiCQKQQ8GBrQz9qSJvLJH8lsb/uR8aPQ==", + "version": "18.2.20", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-18.2.20.tgz", + "integrity": "sha512-wjWFSpu4PJgASB6ZkYMFspK1oLuzdyZhyjB14y+/5+qqoCRroFyaEhhOHfzqHF2dwH8+rOg6E2r4vkre94duPQ==", "dev": true, "license": "MIT", "dependencies": { "@ampproject/remapping": "2.3.0", - "@angular-devkit/architect": "0.1703.17", - "@angular-devkit/build-webpack": "0.1703.17", - "@angular-devkit/core": "17.3.17", + "@angular-devkit/architect": "0.1802.20", + "@angular-devkit/build-webpack": "0.1802.20", + "@angular-devkit/core": "18.2.20", + "@angular/build": "18.2.20", "@babel/core": "7.26.10", "@babel/generator": "7.26.10", "@babel/helper-annotate-as-pure": "7.25.9", @@ -185,78 +311,75 @@ "@babel/plugin-transform-runtime": "7.26.10", "@babel/preset-env": "7.26.9", "@babel/runtime": "7.26.10", - "@discoveryjs/json-ext": "0.5.7", - "@ngtools/webpack": "17.3.17", - "@vitejs/plugin-basic-ssl": "1.1.0", + "@discoveryjs/json-ext": "0.6.1", + "@ngtools/webpack": "18.2.20", "ansi-colors": "4.1.3", - "autoprefixer": "10.4.18", + "autoprefixer": "10.4.20", "babel-loader": "9.1.3", - "babel-plugin-istanbul": "6.1.1", "browserslist": "^4.21.5", - "copy-webpack-plugin": "11.0.0", - "critters": "0.0.22", - "css-loader": "6.10.0", - "esbuild-wasm": "0.20.1", + "copy-webpack-plugin": "12.0.2", + "critters": "0.0.24", + "css-loader": "7.1.2", + "esbuild-wasm": "0.23.0", "fast-glob": "3.3.2", - "http-proxy-middleware": "2.0.8", - "https-proxy-agent": "7.0.4", - "inquirer": "9.2.15", - "jsonc-parser": "3.2.1", + "http-proxy-middleware": "3.0.5", + "https-proxy-agent": "7.0.5", + "istanbul-lib-instrument": "6.0.3", + "jsonc-parser": "3.3.1", "karma-source-map-support": "1.4.0", "less": "4.2.0", - "less-loader": "11.1.0", + "less-loader": "12.2.0", "license-webpack-plugin": "4.0.2", - "loader-utils": "3.2.1", - "magic-string": "0.30.8", - "mini-css-extract-plugin": "2.8.1", + "loader-utils": "3.3.1", + "magic-string": "0.30.11", + "mini-css-extract-plugin": "2.9.0", "mrmime": "2.0.0", - "open": "8.4.2", + "open": "10.1.0", "ora": "5.4.1", "parse5-html-rewriting-stream": "7.0.0", - "picomatch": "4.0.1", - "piscina": "4.4.0", - "postcss": "8.4.35", + "picomatch": "4.0.2", + "piscina": "4.6.1", + "postcss": "8.4.41", "postcss-loader": "8.1.1", "resolve-url-loader": "5.0.0", "rxjs": "7.8.1", - "sass": "1.71.1", - "sass-loader": "14.1.1", - "semver": "7.6.0", + "sass": "1.77.6", + "sass-loader": "16.0.0", + "semver": "7.6.3", "source-map-loader": "5.0.0", "source-map-support": "0.5.21", - "terser": "5.29.1", + "terser": "5.31.6", "tree-kill": "1.2.2", - "tslib": "2.6.2", - "vite": "~5.4.17", - "watchpack": "2.4.0", + "tslib": "2.6.3", + "watchpack": "2.4.1", "webpack": "5.94.0", - "webpack-dev-middleware": "6.1.2", - "webpack-dev-server": "4.15.1", - "webpack-merge": "5.10.0", + "webpack-dev-middleware": "7.4.2", + "webpack-dev-server": "5.2.2", + "webpack-merge": "6.0.1", "webpack-subresource-integrity": "5.1.0" }, "engines": { - "node": "^18.13.0 || >=20.9.0", + "node": "^18.19.1 || ^20.11.1 || >=22.0.0", "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", "yarn": ">= 1.13.0" }, "optionalDependencies": { - "esbuild": "0.20.1" + "esbuild": "0.23.0" }, "peerDependencies": { - "@angular/compiler-cli": "^17.0.0", - "@angular/localize": "^17.0.0", - "@angular/platform-server": "^17.0.0", - "@angular/service-worker": "^17.0.0", + "@angular/compiler-cli": "^18.0.0", + "@angular/localize": "^18.0.0", + "@angular/platform-server": "^18.0.0", + "@angular/service-worker": "^18.0.0", "@web/test-runner": "^0.18.0", "browser-sync": "^3.0.2", "jest": "^29.5.0", "jest-environment-jsdom": "^29.5.0", "karma": "^6.3.0", - "ng-packagr": "^17.0.0", + "ng-packagr": "^18.0.0", "protractor": "^7.0.0", "tailwindcss": "^2.0.0 || ^3.0.0", - "typescript": ">=5.2 <5.5" + "typescript": ">=5.4 <5.6" }, "peerDependenciesMeta": { "@angular/localize": { @@ -294,6 +417,52 @@ } } }, + "node_modules/@angular-devkit/build-angular/node_modules/@angular-devkit/architect": { + "version": "0.1802.20", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1802.20.tgz", + "integrity": "sha512-nNUv2541/X4V0vtT2F6wCT+/GAY8v+J8MRMh8kGBVdyV9EdtSTWxHAvE1WhX5uE7VUCNegDfElxvAR9Vq8qSig==", + "dev": true, + "license": "MIT", + "dependencies": { + "@angular-devkit/core": "18.2.20", + "rxjs": "7.8.1" + }, + "engines": { + "node": "^18.19.1 || ^20.11.1 || >=22.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/istanbul-lib-instrument": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.3.tgz", + "integrity": "sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@babel/core": "^7.23.9", + "@babel/parser": "^7.23.9", + "@istanbuljs/schema": "^0.1.3", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^7.5.4" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/picomatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", + "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, "node_modules/@angular-devkit/build-angular/node_modules/rxjs": { "version": "7.8.1", "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", @@ -305,30 +474,46 @@ } }, "node_modules/@angular-devkit/build-angular/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", + "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==", "dev": true, "license": "0BSD" }, "node_modules/@angular-devkit/build-webpack": { - "version": "0.1703.17", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1703.17.tgz", - "integrity": "sha512-81RJe/WFQ1QOJA9du+jK41KaaWXmEWt3frtj9eseWSr+d+Ebt0JMblzM12A70qm7LoUvG48hSiimm7GmkzV3rw==", + "version": "0.1802.20", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1802.20.tgz", + "integrity": "sha512-710EUKGXJ0HlETDOlkiFWA6Ddku0vdNumbPzi2gb5UnjFo297BIOHgHt77auDhpKj1qffHTvvoiA2UseOX85QA==", "dev": true, "license": "MIT", "dependencies": { - "@angular-devkit/architect": "0.1703.17", + "@angular-devkit/architect": "0.1802.20", "rxjs": "7.8.1" }, "engines": { - "node": "^18.13.0 || >=20.9.0", + "node": "^18.19.1 || ^20.11.1 || >=22.0.0", "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", "yarn": ">= 1.13.0" }, "peerDependencies": { "webpack": "^5.30.0", - "webpack-dev-server": "^4.0.0" + "webpack-dev-server": "^5.0.2" + } + }, + "node_modules/@angular-devkit/build-webpack/node_modules/@angular-devkit/architect": { + "version": "0.1802.20", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1802.20.tgz", + "integrity": "sha512-nNUv2541/X4V0vtT2F6wCT+/GAY8v+J8MRMh8kGBVdyV9EdtSTWxHAvE1WhX5uE7VUCNegDfElxvAR9Vq8qSig==", + "dev": true, + "license": "MIT", + "dependencies": { + "@angular-devkit/core": "18.2.20", + "rxjs": "7.8.1" + }, + "engines": { + "node": "^18.19.1 || ^20.11.1 || >=22.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" } }, "node_modules/@angular-devkit/build-webpack/node_modules/rxjs": { @@ -342,21 +527,21 @@ } }, "node_modules/@angular-devkit/core": { - "version": "17.3.17", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-17.3.17.tgz", - "integrity": "sha512-7aNVqS3rOGsSZYAOO44xl2KURwaoOP+EJhJs+LqOGOFpok2kd8YLf4CAMUossMF4H7HsJpgKwYqGrV5eXunrpw==", + "version": "18.2.20", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-18.2.20.tgz", + "integrity": "sha512-VNxI2e9EZQNqKYtUJ4u43QRJ9kObeyG9f69caxnj28cg4qim3H1vX/sglnodP8EsTIRbzwBKc884ebHWFdQJkQ==", "dev": true, "license": "MIT", "dependencies": { - "ajv": "8.12.0", - "ajv-formats": "2.1.1", - "jsonc-parser": "3.2.1", - "picomatch": "4.0.1", + "ajv": "8.17.1", + "ajv-formats": "3.0.1", + "jsonc-parser": "3.3.1", + "picomatch": "4.0.2", "rxjs": "7.8.1", "source-map": "0.7.4" }, "engines": { - "node": "^18.13.0 || >=20.9.0", + "node": "^18.19.1 || ^20.11.1 || >=22.0.0", "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", "yarn": ">= 1.13.0" }, @@ -369,6 +554,54 @@ } } }, + "node_modules/@angular-devkit/core/node_modules/ajv": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/@angular-devkit/core/node_modules/ajv-formats": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-3.0.1.tgz", + "integrity": "sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/@angular-devkit/core/node_modules/picomatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", + "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, "node_modules/@angular-devkit/core/node_modules/rxjs": { "version": "7.8.1", "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", @@ -380,20 +613,20 @@ } }, "node_modules/@angular-devkit/schematics": { - "version": "17.3.17", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-17.3.17.tgz", - "integrity": "sha512-ZXsIJXZm0I0dNu1BqmjfEtQhnzqoupUHHZb4GHm5NeQHBFZctQlkkNxLUU27GVeBUwFgEmP7kFgSLlMPTGSL5g==", + "version": "18.2.20", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-18.2.20.tgz", + "integrity": "sha512-eKoFeWOxwheaGK+aguyTs9utxxmFsrI/aHQttiyhBy+HzmgX/E0grzx6ZpuipUpBA8lYMtxfTJ7AC12fGJMvFA==", "dev": true, "license": "MIT", "dependencies": { - "@angular-devkit/core": "17.3.17", - "jsonc-parser": "3.2.1", - "magic-string": "0.30.8", + "@angular-devkit/core": "18.2.20", + "jsonc-parser": "3.3.1", + "magic-string": "0.30.11", "ora": "5.4.1", "rxjs": "7.8.1" }, "engines": { - "node": "^18.13.0 || >=20.9.0", + "node": "^18.19.1 || ^20.11.1 || >=22.0.0", "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", "yarn": ">= 1.13.0" } @@ -409,27 +642,212 @@ } }, "node_modules/@angular/animations": { - "version": "17.3.12", - "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-17.3.12.tgz", - "integrity": "sha512-9hsdWF4gRRcVJtPcCcYLaX1CIyM9wUu6r+xRl6zU5hq8qhl35hig6ounz7CXFAzLf0WDBdM16bPHouVGaG76lg==", + "version": "18.2.13", + "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-18.2.13.tgz", + "integrity": "sha512-rG5J5Ek5Hg+Tz2NjkNOaG6PupiNK/lPfophXpsR1t/nWujqnMWX2krahD/i6kgD+jNWNKCJCYSOVvCx/BHOtKA==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" }, "engines": { - "node": "^18.13.0 || >=20.9.0" + "node": "^18.19.1 || ^20.11.1 || >=22.0.0" }, "peerDependencies": { - "@angular/core": "17.3.12" + "@angular/core": "18.2.13" } }, - "node_modules/@angular/cdk": { - "version": "17.3.10", - "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-17.3.10.tgz", - "integrity": "sha512-b1qktT2c1TTTe5nTji/kFAVW92fULK0YhYAvJ+BjZTPKu2FniZNe8o4qqQ0pUuvtMu+ZQxp/QqFYoidIVCjScg==", + "node_modules/@angular/build": { + "version": "18.2.20", + "resolved": "https://registry.npmjs.org/@angular/build/-/build-18.2.20.tgz", + "integrity": "sha512-9VW/zSQoSwc9e5OBjtnroj9feacD2HgkSYx7TsfmDyefIlOCeNxbhkm83Px/4B8VG6kzZUBzLBJ4QULl2E1Y/Q==", + "dev": true, "license": "MIT", "dependencies": { - "tslib": "^2.3.0" + "@ampproject/remapping": "2.3.0", + "@angular-devkit/architect": "0.1802.20", + "@babel/core": "7.25.2", + "@babel/helper-annotate-as-pure": "7.24.7", + "@babel/helper-split-export-declaration": "7.24.7", + "@babel/plugin-syntax-import-attributes": "7.24.7", + "@inquirer/confirm": "3.1.22", + "@vitejs/plugin-basic-ssl": "1.1.0", + "browserslist": "^4.23.0", + "critters": "0.0.24", + "esbuild": "0.23.0", + "fast-glob": "3.3.2", + "https-proxy-agent": "7.0.5", + "listr2": "8.2.4", + "lmdb": "3.0.13", + "magic-string": "0.30.11", + "mrmime": "2.0.0", + "parse5-html-rewriting-stream": "7.0.0", + "picomatch": "4.0.2", + "piscina": "4.6.1", + "rollup": "4.22.4", + "sass": "1.77.6", + "semver": "7.6.3", + "vite": "~5.4.17", + "watchpack": "2.4.1" + }, + "engines": { + "node": "^18.19.1 || ^20.11.1 || >=22.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "peerDependencies": { + "@angular/compiler-cli": "^18.0.0", + "@angular/localize": "^18.0.0", + "@angular/platform-server": "^18.0.0", + "@angular/service-worker": "^18.0.0", + "less": "^4.2.0", + "postcss": "^8.4.0", + "tailwindcss": "^2.0.0 || ^3.0.0", + "typescript": ">=5.4 <5.6" + }, + "peerDependenciesMeta": { + "@angular/localize": { + "optional": true + }, + "@angular/platform-server": { + "optional": true + }, + "@angular/service-worker": { + "optional": true + }, + "less": { + "optional": true + }, + "postcss": { + "optional": true + }, + "tailwindcss": { + "optional": true + } + } + }, + "node_modules/@angular/build/node_modules/@angular-devkit/architect": { + "version": "0.1802.20", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1802.20.tgz", + "integrity": "sha512-nNUv2541/X4V0vtT2F6wCT+/GAY8v+J8MRMh8kGBVdyV9EdtSTWxHAvE1WhX5uE7VUCNegDfElxvAR9Vq8qSig==", + "dev": true, + "license": "MIT", + "dependencies": { + "@angular-devkit/core": "18.2.20", + "rxjs": "7.8.1" + }, + "engines": { + "node": "^18.19.1 || ^20.11.1 || >=22.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, + "node_modules/@angular/build/node_modules/@babel/core": { + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.25.2.tgz", + "integrity": "sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.24.7", + "@babel/generator": "^7.25.0", + "@babel/helper-compilation-targets": "^7.25.2", + "@babel/helper-module-transforms": "^7.25.2", + "@babel/helpers": "^7.25.0", + "@babel/parser": "^7.25.0", + "@babel/template": "^7.25.0", + "@babel/traverse": "^7.25.2", + "@babel/types": "^7.25.2", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@angular/build/node_modules/@babel/core/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@angular/build/node_modules/@babel/helper-annotate-as-pure": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.24.7.tgz", + "integrity": "sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@angular/build/node_modules/@babel/plugin-syntax-import-attributes": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.24.7.tgz", + "integrity": "sha512-hbX+lKKeUMGihnK8nvKqmXBInriT3GVjzXKFriV3YC6APGxMbP8RZNFwy91+hocLXq90Mta+HshoB31802bb8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@angular/build/node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@angular/build/node_modules/picomatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", + "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/@angular/build/node_modules/rxjs": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", + "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/@angular/cdk": { + "version": "17.3.10", + "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-17.3.10.tgz", + "integrity": "sha512-b1qktT2c1TTTe5nTji/kFAVW92fULK0YhYAvJ+BjZTPKu2FniZNe8o4qqQ0pUuvtMu+ZQxp/QqFYoidIVCjScg==", + "license": "MIT", + "dependencies": { + "tslib": "^2.3.0" }, "optionalDependencies": { "parse5": "^7.1.2" @@ -441,28 +859,27 @@ } }, "node_modules/@angular/cli": { - "version": "17.3.17", - "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-17.3.17.tgz", - "integrity": "sha512-FgOvf9q5d23Cpa7cjP1FYti/v8S1FTm8DEkW3TY8lkkoxh3isu28GFKcLD1p/XF3yqfPkPVHToOFla5QwsEgBQ==", + "version": "18.2.20", + "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-18.2.20.tgz", + "integrity": "sha512-uu8XM+vvVQxTgCJAAQtCu6aLErbdCh/xqYpawgTaoOjiDkyWonTC+iGUUy0AEk5no/pbg2TCoZZx0AXWM1yLVA==", "dev": true, "license": "MIT", "dependencies": { - "@angular-devkit/architect": "0.1703.17", - "@angular-devkit/core": "17.3.17", - "@angular-devkit/schematics": "17.3.17", - "@schematics/angular": "17.3.17", + "@angular-devkit/architect": "0.1802.20", + "@angular-devkit/core": "18.2.20", + "@angular-devkit/schematics": "18.2.20", + "@inquirer/prompts": "5.3.8", + "@listr2/prompt-adapter-inquirer": "2.0.15", + "@schematics/angular": "18.2.20", "@yarnpkg/lockfile": "1.1.0", - "ansi-colors": "4.1.3", - "ini": "4.1.2", - "inquirer": "9.2.15", - "jsonc-parser": "3.2.1", - "npm-package-arg": "11.0.1", - "npm-pick-manifest": "9.0.0", - "open": "8.4.2", - "ora": "5.4.1", - "pacote": "17.0.6", + "ini": "4.1.3", + "jsonc-parser": "3.3.1", + "listr2": "8.2.4", + "npm-package-arg": "11.0.3", + "npm-pick-manifest": "9.1.0", + "pacote": "18.0.6", "resolve": "1.22.8", - "semver": "7.6.0", + "semver": "7.6.3", "symbol-observable": "4.0.0", "yargs": "17.7.2" }, @@ -470,40 +887,66 @@ "ng": "bin/ng.js" }, "engines": { - "node": "^18.13.0 || >=20.9.0", + "node": "^18.19.1 || ^20.11.1 || >=22.0.0", "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", "yarn": ">= 1.13.0" } }, + "node_modules/@angular/cli/node_modules/@angular-devkit/architect": { + "version": "0.1802.20", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1802.20.tgz", + "integrity": "sha512-nNUv2541/X4V0vtT2F6wCT+/GAY8v+J8MRMh8kGBVdyV9EdtSTWxHAvE1WhX5uE7VUCNegDfElxvAR9Vq8qSig==", + "dev": true, + "license": "MIT", + "dependencies": { + "@angular-devkit/core": "18.2.20", + "rxjs": "7.8.1" + }, + "engines": { + "node": "^18.19.1 || ^20.11.1 || >=22.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, + "node_modules/@angular/cli/node_modules/rxjs": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", + "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.1.0" + } + }, "node_modules/@angular/common": { - "version": "17.3.12", - "resolved": "https://registry.npmjs.org/@angular/common/-/common-17.3.12.tgz", - "integrity": "sha512-vabJzvrx76XXFrm1RJZ6o/CyG32piTB/1sfFfKHdlH1QrmArb8It4gyk9oEjZ1IkAD0HvBWlfWmn+T6Vx3pdUw==", + "version": "18.2.13", + "resolved": "https://registry.npmjs.org/@angular/common/-/common-18.2.13.tgz", + "integrity": "sha512-4ZqrNp1PoZo7VNvW+sbSc2CB2axP1sCH2wXl8B0wdjsj8JY1hF1OhuugwhpAHtGxqewed2kCXayE+ZJqSTV4jw==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" }, "engines": { - "node": "^18.13.0 || >=20.9.0" + "node": "^18.19.1 || ^20.11.1 || >=22.0.0" }, "peerDependencies": { - "@angular/core": "17.3.12", + "@angular/core": "18.2.13", "rxjs": "^6.5.3 || ^7.4.0" } }, "node_modules/@angular/compiler": { - "version": "17.3.12", - "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-17.3.12.tgz", - "integrity": "sha512-vwI8oOL/gM+wPnptOVeBbMfZYwzRxQsovojZf+Zol9szl0k3SZ3FycWlxxXZGFu3VIEfrP6pXplTmyODS/Lt1w==", + "version": "18.2.13", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-18.2.13.tgz", + "integrity": "sha512-TzWcrkopyjFF+WeDr2cRe8CcHjU72KfYV3Sm2TkBkcXrkYX5sDjGWrBGrG3hRB4e4okqchrOCvm1MiTdy2vKMA==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" }, "engines": { - "node": "^18.13.0 || >=20.9.0" + "node": "^18.19.1 || ^20.11.1 || >=22.0.0" }, "peerDependencies": { - "@angular/core": "17.3.12" + "@angular/core": "18.2.13" }, "peerDependenciesMeta": { "@angular/core": { @@ -512,15 +955,15 @@ } }, "node_modules/@angular/compiler-cli": { - "version": "17.3.12", - "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-17.3.12.tgz", - "integrity": "sha512-1F8M7nWfChzurb7obbvuE7mJXlHtY1UG58pcwcomVtpPb+kPavgAO8OEvJHYBMV+bzSxkXt5UIwL9lt9jHUxZA==", + "version": "18.2.13", + "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-18.2.13.tgz", + "integrity": "sha512-DBSh4AQwkiJDSiVvJATRmjxf6wyUs9pwQLgaFdSlfuTRO+sdb0J2z1r3BYm8t0IqdoyXzdZq2YCH43EmyvD71g==", "dev": true, "license": "MIT", "dependencies": { - "@babel/core": "7.23.9", + "@babel/core": "7.25.2", "@jridgewell/sourcemap-codec": "^1.4.14", - "chokidar": "^3.0.0", + "chokidar": "^4.0.0", "convert-source-map": "^1.5.1", "reflect-metadata": "^0.2.0", "semver": "^7.0.0", @@ -533,30 +976,30 @@ "ngcc": "bundles/ngcc/index.js" }, "engines": { - "node": "^18.13.0 || >=20.9.0" + "node": "^18.19.1 || ^20.11.1 || >=22.0.0" }, "peerDependencies": { - "@angular/compiler": "17.3.12", - "typescript": ">=5.2 <5.5" + "@angular/compiler": "18.2.13", + "typescript": ">=5.4 <5.6" } }, "node_modules/@angular/compiler-cli/node_modules/@babel/core": { - "version": "7.23.9", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.9.tgz", - "integrity": "sha512-5q0175NOjddqpvvzU+kDiSOAk4PfdO6FvwCWoQ6RO7rTzEe8vlo+4HVfcnAREhD4npMs0e9uZypjTwzZPCf/cw==", + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.25.2.tgz", + "integrity": "sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA==", "dev": true, "license": "MIT", "dependencies": { "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.23.5", - "@babel/generator": "^7.23.6", - "@babel/helper-compilation-targets": "^7.23.6", - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helpers": "^7.23.9", - "@babel/parser": "^7.23.9", - "@babel/template": "^7.23.9", - "@babel/traverse": "^7.23.9", - "@babel/types": "^7.23.9", + "@babel/code-frame": "^7.24.7", + "@babel/generator": "^7.25.0", + "@babel/helper-compilation-targets": "^7.25.2", + "@babel/helper-module-transforms": "^7.25.2", + "@babel/helpers": "^7.25.0", + "@babel/parser": "^7.25.0", + "@babel/template": "^7.25.0", + "@babel/traverse": "^7.25.2", + "@babel/types": "^7.25.2", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -588,48 +1031,78 @@ "semver": "bin/semver.js" } }, + "node_modules/@angular/compiler-cli/node_modules/chokidar": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", + "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", + "dev": true, + "license": "MIT", + "dependencies": { + "readdirp": "^4.0.1" + }, + "engines": { + "node": ">= 14.16.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@angular/compiler-cli/node_modules/readdirp": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", + "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 14.18.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + }, "node_modules/@angular/core": { - "version": "17.3.12", - "resolved": "https://registry.npmjs.org/@angular/core/-/core-17.3.12.tgz", - "integrity": "sha512-MuFt5yKi161JmauUta4Dh0m8ofwoq6Ino+KoOtkYMBGsSx+A7dSm+DUxxNwdj7+DNyg3LjVGCFgBFnq4g8z06A==", + "version": "18.2.13", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-18.2.13.tgz", + "integrity": "sha512-8mbWHMgO95OuFV1Ejy4oKmbe9NOJ3WazQf/f7wks8Bck7pcihd0IKhlPBNjFllbF5o+04EYSwFhEtvEgjMDClA==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" }, "engines": { - "node": "^18.13.0 || >=20.9.0" + "node": "^18.19.1 || ^20.11.1 || >=22.0.0" }, "peerDependencies": { "rxjs": "^6.5.3 || ^7.4.0", - "zone.js": "~0.14.0" + "zone.js": "~0.14.10" } }, "node_modules/@angular/forms": { - "version": "17.3.12", - "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-17.3.12.tgz", - "integrity": "sha512-tV6r12Q3yEUlXwpVko4E+XscunTIpPkLbaiDn/MTL3Vxi2LZnsLgHyd/i38HaHN+e/H3B0a1ToSOhV5wf3ay4Q==", + "version": "18.2.13", + "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-18.2.13.tgz", + "integrity": "sha512-A67D867fu3DSBhdLWWZl/F5pr7v2+dRM2u3U7ZJ0ewh4a+sv+0yqWdJW+a8xIoiHxS+btGEJL2qAKJiH+MCFfg==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" }, "engines": { - "node": "^18.13.0 || >=20.9.0" + "node": "^18.19.1 || ^20.11.1 || >=22.0.0" }, "peerDependencies": { - "@angular/common": "17.3.12", - "@angular/core": "17.3.12", - "@angular/platform-browser": "17.3.12", + "@angular/common": "18.2.13", + "@angular/core": "18.2.13", + "@angular/platform-browser": "18.2.13", "rxjs": "^6.5.3 || ^7.4.0" } }, "node_modules/@angular/language-service": { - "version": "17.3.12", - "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-17.3.12.tgz", - "integrity": "sha512-MVmEXonXwdhFtIpU4q8qbXHsrAsdTjZcPPuWCU0zXVQ+VaB/y6oF7BVpmBtfyBcBCums1guEncPP+AZVvulXmQ==", + "version": "18.2.13", + "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-18.2.13.tgz", + "integrity": "sha512-4E4VJDrbOAxS69F9C1twQPbR9AjY47Qlz8+lwg5lJOyUJ4GoEThLbXKfadt/vIeYBwMJ7fIsYWXD0Dlmxh4k+w==", "dev": true, "license": "MIT", "engines": { - "node": "^18.13.0 || >=20.9.0" + "node": "^18.19.1 || ^20.11.1 || >=22.0.0" } }, "node_modules/@angular/material": { @@ -698,20 +1171,20 @@ } }, "node_modules/@angular/platform-browser": { - "version": "17.3.12", - "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-17.3.12.tgz", - "integrity": "sha512-DYY04ptWh/ulMHzd+y52WCE8QnEYGeIiW3hEIFjCN8z0kbIdFdUtEB0IK5vjNL3ejyhUmphcpeT5PYf3YXtqWQ==", + "version": "18.2.13", + "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-18.2.13.tgz", + "integrity": "sha512-tu7ZzY6qD3ATdWFzcTcsAKe7M6cJeWbT/4/bF9unyGO3XBPcNYDKoiz10+7ap2PUd0fmPwvuvTvSNJiFEBnB8Q==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" }, "engines": { - "node": "^18.13.0 || >=20.9.0" + "node": "^18.19.1 || ^20.11.1 || >=22.0.0" }, "peerDependencies": { - "@angular/animations": "17.3.12", - "@angular/common": "17.3.12", - "@angular/core": "17.3.12" + "@angular/animations": "18.2.13", + "@angular/common": "18.2.13", + "@angular/core": "18.2.13" }, "peerDependenciesMeta": { "@angular/animations": { @@ -720,38 +1193,38 @@ } }, "node_modules/@angular/platform-browser-dynamic": { - "version": "17.3.12", - "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-17.3.12.tgz", - "integrity": "sha512-DQwV7B2x/DRLRDSisngZRdLqHdYbbrqZv2Hmu4ZbnNYaWPC8qvzgE/0CvY+UkDat3nCcsfwsMnlDeB6TL7/IaA==", + "version": "18.2.13", + "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-18.2.13.tgz", + "integrity": "sha512-kbQCf9+8EpuJC7buBxhSiwBtXvjAwAKh6MznD6zd2pyCYqfY6gfRCZQRtK59IfgVtKmEONWI9grEyNIRoTmqJg==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" }, "engines": { - "node": "^18.13.0 || >=20.9.0" + "node": "^18.19.1 || ^20.11.1 || >=22.0.0" }, "peerDependencies": { - "@angular/common": "17.3.12", - "@angular/compiler": "17.3.12", - "@angular/core": "17.3.12", - "@angular/platform-browser": "17.3.12" + "@angular/common": "18.2.13", + "@angular/compiler": "18.2.13", + "@angular/core": "18.2.13", + "@angular/platform-browser": "18.2.13" } }, "node_modules/@angular/router": { - "version": "17.3.12", - "resolved": "https://registry.npmjs.org/@angular/router/-/router-17.3.12.tgz", - "integrity": "sha512-dg7PHBSW9fmPKTVzwvHEeHZPZdpnUqW/U7kj8D29HTP9ur8zZnx9QcnbplwPeYb8yYa62JMnZSEel2X4PxdYBg==", + "version": "18.2.13", + "resolved": "https://registry.npmjs.org/@angular/router/-/router-18.2.13.tgz", + "integrity": "sha512-VKmfgi/r/CkyBq9nChQ/ptmfu0JT/8ONnLVJ5H+SkFLRYJcIRyHLKjRihMCyVm6xM5yktOdCaW73NTQrFz7+bg==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" }, "engines": { - "node": "^18.13.0 || >=20.9.0" + "node": "^18.19.1 || ^20.11.1 || >=22.0.0" }, "peerDependencies": { - "@angular/common": "17.3.12", - "@angular/core": "17.3.12", - "@angular/platform-browser": "17.3.12", + "@angular/common": "18.2.13", + "@angular/core": "18.2.13", + "@angular/platform-browser": "18.2.13", "rxjs": "^6.5.3 || ^7.4.0" } }, @@ -3005,23 +3478,6 @@ "dev": true, "license": "MIT" }, - "node_modules/@compodoc/compodoc/node_modules/jsonc-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.3.1.tgz", - "integrity": "sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/@compodoc/compodoc/node_modules/magic-string": { - "version": "0.30.11", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.11.tgz", - "integrity": "sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/sourcemap-codec": "^1.5.0" - } - }, "node_modules/@compodoc/compodoc/node_modules/picomatch": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", @@ -3161,19 +3617,19 @@ } }, "node_modules/@discoveryjs/json-ext": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", - "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.6.1.tgz", + "integrity": "sha512-boghen8F0Q8D+0/Q1/1r6DUEieUJ8w2a1gIknExMSHBsJFOr2+0KUfHiVYBvucPwl3+RU5PFBK833FjFCh3BhA==", "dev": true, "license": "MIT", "engines": { - "node": ">=10.0.0" + "node": ">=14.17.0" } }, "node_modules/@esbuild/aix-ppc64": { - "version": "0.20.1", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.20.1.tgz", - "integrity": "sha512-m55cpeupQ2DbuRGQMMZDzbv9J9PgVelPjlcmM5kxHnrBdBx6REaEd7LamYV7Dm8N7rCyR/XwU6rVP8ploKtIkA==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.23.0.tgz", + "integrity": "sha512-3sG8Zwa5fMcA9bgqB8AfWPQ+HFke6uD3h1s3RIwUNK8EG7a4buxvuFTs3j1IMs2NXAk9F30C/FF4vxRgQCcmoQ==", "cpu": [ "ppc64" ], @@ -3184,13 +3640,13 @@ "aix" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/android-arm": { - "version": "0.20.1", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.20.1.tgz", - "integrity": "sha512-4j0+G27/2ZXGWR5okcJi7pQYhmkVgb4D7UKwxcqrjhvp5TKWx3cUjgB1CGj1mfdmJBQ9VnUGgUhign+FPF2Zgw==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.23.0.tgz", + "integrity": "sha512-+KuOHTKKyIKgEEqKbGTK8W7mPp+hKinbMBeEnNzjJGyFcWsfrXjSTNluJHCY1RqhxFurdD8uNXQDei7qDlR6+g==", "cpu": [ "arm" ], @@ -3201,13 +3657,13 @@ "android" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/android-arm64": { - "version": "0.20.1", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.20.1.tgz", - "integrity": "sha512-hCnXNF0HM6AjowP+Zou0ZJMWWa1VkD77BXe959zERgGJBBxB+sV+J9f/rcjeg2c5bsukD/n17RKWXGFCO5dD5A==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.23.0.tgz", + "integrity": "sha512-EuHFUYkAVfU4qBdyivULuu03FhJO4IJN9PGuABGrFy4vUuzk91P2d+npxHcFdpUnfYKy0PuV+n6bKIpHOB3prQ==", "cpu": [ "arm64" ], @@ -3218,13 +3674,13 @@ "android" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/android-x64": { - "version": "0.20.1", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.20.1.tgz", - "integrity": "sha512-MSfZMBoAsnhpS+2yMFYIQUPs8Z19ajwfuaSZx+tSl09xrHZCjbeXXMsUF/0oq7ojxYEpsSo4c0SfjxOYXRbpaA==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.23.0.tgz", + "integrity": "sha512-WRrmKidLoKDl56LsbBMhzTTBxrsVwTKdNbKDalbEZr0tcsBgCLbEtoNthOW6PX942YiYq8HzEnb4yWQMLQuipQ==", "cpu": [ "x64" ], @@ -3235,13 +3691,13 @@ "android" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/darwin-arm64": { - "version": "0.20.1", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.20.1.tgz", - "integrity": "sha512-Ylk6rzgMD8klUklGPzS414UQLa5NPXZD5tf8JmQU8GQrj6BrFA/Ic9tb2zRe1kOZyCbGl+e8VMbDRazCEBqPvA==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.23.0.tgz", + "integrity": "sha512-YLntie/IdS31H54Ogdn+v50NuoWF5BDkEUFpiOChVa9UnKpftgwzZRrI4J132ETIi+D8n6xh9IviFV3eXdxfow==", "cpu": [ "arm64" ], @@ -3252,13 +3708,13 @@ "darwin" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/darwin-x64": { - "version": "0.20.1", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.20.1.tgz", - "integrity": "sha512-pFIfj7U2w5sMp52wTY1XVOdoxw+GDwy9FsK3OFz4BpMAjvZVs0dT1VXs8aQm22nhwoIWUmIRaE+4xow8xfIDZA==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.23.0.tgz", + "integrity": "sha512-IMQ6eme4AfznElesHUPDZ+teuGwoRmVuuixu7sv92ZkdQcPbsNHzutd+rAfaBKo8YK3IrBEi9SLLKWJdEvJniQ==", "cpu": [ "x64" ], @@ -3269,13 +3725,13 @@ "darwin" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/freebsd-arm64": { - "version": "0.20.1", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.20.1.tgz", - "integrity": "sha512-UyW1WZvHDuM4xDz0jWun4qtQFauNdXjXOtIy7SYdf7pbxSWWVlqhnR/T2TpX6LX5NI62spt0a3ldIIEkPM6RHw==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.23.0.tgz", + "integrity": "sha512-0muYWCng5vqaxobq6LB3YNtevDFSAZGlgtLoAc81PjUfiFz36n4KMpwhtAd4he8ToSI3TGyuhyx5xmiWNYZFyw==", "cpu": [ "arm64" ], @@ -3286,13 +3742,13 @@ "freebsd" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/freebsd-x64": { - "version": "0.20.1", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.20.1.tgz", - "integrity": "sha512-itPwCw5C+Jh/c624vcDd9kRCCZVpzpQn8dtwoYIt2TJF3S9xJLiRohnnNrKwREvcZYx0n8sCSbvGH349XkcQeg==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.23.0.tgz", + "integrity": "sha512-XKDVu8IsD0/q3foBzsXGt/KjD/yTKBCIwOHE1XwiXmrRwrX6Hbnd5Eqn/WvDekddK21tfszBSrE/WMaZh+1buQ==", "cpu": [ "x64" ], @@ -3303,13 +3759,13 @@ "freebsd" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/linux-arm": { - "version": "0.20.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.20.1.tgz", - "integrity": "sha512-LojC28v3+IhIbfQ+Vu4Ut5n3wKcgTu6POKIHN9Wpt0HnfgUGlBuyDDQR4jWZUZFyYLiz4RBBBmfU6sNfn6RhLw==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.23.0.tgz", + "integrity": "sha512-SEELSTEtOFu5LPykzA395Mc+54RMg1EUgXP+iw2SJ72+ooMwVsgfuwXo5Fn0wXNgWZsTVHwY2cg4Vi/bOD88qw==", "cpu": [ "arm" ], @@ -3320,13 +3776,13 @@ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/linux-arm64": { - "version": "0.20.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.20.1.tgz", - "integrity": "sha512-cX8WdlF6Cnvw/DO9/X7XLH2J6CkBnz7Twjpk56cshk9sjYVcuh4sXQBy5bmTwzBjNVZze2yaV1vtcJS04LbN8w==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.23.0.tgz", + "integrity": "sha512-j1t5iG8jE7BhonbsEg5d9qOYcVZv/Rv6tghaXM/Ug9xahM0nX/H2gfu6X6z11QRTMT6+aywOMA8TDkhPo8aCGw==", "cpu": [ "arm64" ], @@ -3337,13 +3793,13 @@ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/linux-ia32": { - "version": "0.20.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.20.1.tgz", - "integrity": "sha512-4H/sQCy1mnnGkUt/xszaLlYJVTz3W9ep52xEefGtd6yXDQbz/5fZE5dFLUgsPdbUOQANcVUa5iO6g3nyy5BJiw==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.23.0.tgz", + "integrity": "sha512-P7O5Tkh2NbgIm2R6x1zGJJsnacDzTFcRWZyTTMgFdVit6E98LTxO+v8LCCLWRvPrjdzXHx9FEOA8oAZPyApWUA==", "cpu": [ "ia32" ], @@ -3354,13 +3810,13 @@ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/linux-loong64": { - "version": "0.20.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.20.1.tgz", - "integrity": "sha512-c0jgtB+sRHCciVXlyjDcWb2FUuzlGVRwGXgI+3WqKOIuoo8AmZAddzeOHeYLtD+dmtHw3B4Xo9wAUdjlfW5yYA==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.23.0.tgz", + "integrity": "sha512-InQwepswq6urikQiIC/kkx412fqUZudBO4SYKu0N+tGhXRWUqAx+Q+341tFV6QdBifpjYgUndV1hhMq3WeJi7A==", "cpu": [ "loong64" ], @@ -3371,13 +3827,13 @@ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/linux-mips64el": { - "version": "0.20.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.20.1.tgz", - "integrity": "sha512-TgFyCfIxSujyuqdZKDZ3yTwWiGv+KnlOeXXitCQ+trDODJ+ZtGOzLkSWngynP0HZnTsDyBbPy7GWVXWaEl6lhA==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.23.0.tgz", + "integrity": "sha512-J9rflLtqdYrxHv2FqXE2i1ELgNjT+JFURt/uDMoPQLcjWQA5wDKgQA4t/dTqGa88ZVECKaD0TctwsUfHbVoi4w==", "cpu": [ "mips64el" ], @@ -3388,13 +3844,13 @@ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/linux-ppc64": { - "version": "0.20.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.20.1.tgz", - "integrity": "sha512-b+yuD1IUeL+Y93PmFZDZFIElwbmFfIKLKlYI8M6tRyzE6u7oEP7onGk0vZRh8wfVGC2dZoy0EqX1V8qok4qHaw==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.23.0.tgz", + "integrity": "sha512-cShCXtEOVc5GxU0fM+dsFD10qZ5UpcQ8AM22bYj0u/yaAykWnqXJDpd77ublcX6vdDsWLuweeuSNZk4yUxZwtw==", "cpu": [ "ppc64" ], @@ -3405,13 +3861,13 @@ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/linux-riscv64": { - "version": "0.20.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.20.1.tgz", - "integrity": "sha512-wpDlpE0oRKZwX+GfomcALcouqjjV8MIX8DyTrxfyCfXxoKQSDm45CZr9fanJ4F6ckD4yDEPT98SrjvLwIqUCgg==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.23.0.tgz", + "integrity": "sha512-HEtaN7Y5UB4tZPeQmgz/UhzoEyYftbMXrBCUjINGjh3uil+rB/QzzpMshz3cNUxqXN7Vr93zzVtpIDL99t9aRw==", "cpu": [ "riscv64" ], @@ -3422,13 +3878,13 @@ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/linux-s390x": { - "version": "0.20.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.20.1.tgz", - "integrity": "sha512-5BepC2Au80EohQ2dBpyTquqGCES7++p7G+7lXe1bAIvMdXm4YYcEfZtQrP4gaoZ96Wv1Ute61CEHFU7h4FMueQ==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.23.0.tgz", + "integrity": "sha512-WDi3+NVAuyjg/Wxi+o5KPqRbZY0QhI9TjrEEm+8dmpY9Xir8+HE/HNx2JoLckhKbFopW0RdO2D72w8trZOV+Wg==", "cpu": [ "s390x" ], @@ -3439,13 +3895,13 @@ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/linux-x64": { - "version": "0.20.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.20.1.tgz", - "integrity": "sha512-5gRPk7pKuaIB+tmH+yKd2aQTRpqlf1E4f/mC+tawIm/CGJemZcHZpp2ic8oD83nKgUPMEd0fNanrnFljiruuyA==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.23.0.tgz", + "integrity": "sha512-a3pMQhUEJkITgAw6e0bWA+F+vFtCciMjW/LPtoj99MhVt+Mfb6bbL9hu2wmTZgNd994qTAEw+U/r6k3qHWWaOQ==", "cpu": [ "x64" ], @@ -3456,13 +3912,13 @@ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/netbsd-x64": { - "version": "0.20.1", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.20.1.tgz", - "integrity": "sha512-4fL68JdrLV2nVW2AaWZBv3XEm3Ae3NZn/7qy2KGAt3dexAgSVT+Hc97JKSZnqezgMlv9x6KV0ZkZY7UO5cNLCg==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.23.0.tgz", + "integrity": "sha512-cRK+YDem7lFTs2Q5nEv/HHc4LnrfBCbH5+JHu6wm2eP+d8OZNoSMYgPZJq78vqQ9g+9+nMuIsAO7skzphRXHyw==", "cpu": [ "x64" ], @@ -3473,13 +3929,30 @@ "netbsd" ], "engines": { - "node": ">=12" + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.23.0.tgz", + "integrity": "sha512-suXjq53gERueVWu0OKxzWqk7NxiUWSUlrxoZK7usiF50C6ipColGR5qie2496iKGYNLhDZkPxBI3erbnYkU0rQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" } }, "node_modules/@esbuild/openbsd-x64": { - "version": "0.20.1", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.20.1.tgz", - "integrity": "sha512-GhRuXlvRE+twf2ES+8REbeCb/zeikNqwD3+6S5y5/x+DYbAQUNl0HNBs4RQJqrechS4v4MruEr8ZtAin/hK5iw==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.23.0.tgz", + "integrity": "sha512-6p3nHpby0DM/v15IFKMjAaayFhqnXV52aEmv1whZHX56pdkK+MEaLoQWj+H42ssFarP1PcomVhbsR4pkz09qBg==", "cpu": [ "x64" ], @@ -3490,13 +3963,13 @@ "openbsd" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/sunos-x64": { - "version": "0.20.1", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.20.1.tgz", - "integrity": "sha512-ZnWEyCM0G1Ex6JtsygvC3KUUrlDXqOihw8RicRuQAzw+c4f1D66YlPNNV3rkjVW90zXVsHwZYWbJh3v+oQFM9Q==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.23.0.tgz", + "integrity": "sha512-BFelBGfrBwk6LVrmFzCq1u1dZbG4zy/Kp93w2+y83Q5UGYF1d8sCzeLI9NXjKyujjBBniQa8R8PzLFAUrSM9OA==", "cpu": [ "x64" ], @@ -3507,13 +3980,13 @@ "sunos" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/win32-arm64": { - "version": "0.20.1", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.20.1.tgz", - "integrity": "sha512-QZ6gXue0vVQY2Oon9WyLFCdSuYbXSoxaZrPuJ4c20j6ICedfsDilNPYfHLlMH7vGfU5DQR0czHLmJvH4Nzis/A==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.23.0.tgz", + "integrity": "sha512-lY6AC8p4Cnb7xYHuIxQ6iYPe6MfO2CC43XXKo9nBXDb35krYt7KGhQnOkRGar5psxYkircpCqfbNDB4uJbS2jQ==", "cpu": [ "arm64" ], @@ -3524,13 +3997,13 @@ "win32" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/win32-ia32": { - "version": "0.20.1", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.20.1.tgz", - "integrity": "sha512-HzcJa1NcSWTAU0MJIxOho8JftNp9YALui3o+Ny7hCh0v5f90nprly1U3Sj1Ldj/CvKKdvvFsCRvDkpsEMp4DNw==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.23.0.tgz", + "integrity": "sha512-7L1bHlOTcO4ByvI7OXVI5pNN6HSu6pUQq9yodga8izeuB1KcT2UkHaH6118QJwopExPn0rMHIseCTx1CRo/uNA==", "cpu": [ "ia32" ], @@ -3541,13 +4014,13 @@ "win32" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/win32-x64": { - "version": "0.20.1", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.20.1.tgz", - "integrity": "sha512-0MBh53o6XtI6ctDnRMeQ+xoCN8kD2qI1rY1KgF/xdWQwoFeKou7puvDfV8/Wv4Ctx2rRpET/gGdz3YlNtNACSA==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.23.0.tgz", + "integrity": "sha512-Arm+WgUFLUATuoxCJcahGuk6Yj9Pzxd6l11Zb/2aAuv5kWWvvfhLFo2fni4uSK5vzlUdCGZ/BdV5tH8klj8p8g==", "cpu": [ "x64" ], @@ -3558,7 +4031,7 @@ "win32" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@iarna/toml": { @@ -3568,6 +4041,114 @@ "dev": true, "license": "ISC" }, + "node_modules/@inquirer/checkbox": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@inquirer/checkbox/-/checkbox-2.5.0.tgz", + "integrity": "sha512-sMgdETOfi2dUHT8r7TT1BTKOwNvdDGFDXYWtQ2J69SvlYNntk9I/gJe7r5yvMwwsuKnYbuRs3pNhx4tgNck5aA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^9.1.0", + "@inquirer/figures": "^1.0.5", + "@inquirer/type": "^1.5.3", + "ansi-escapes": "^4.3.2", + "yoctocolors-cjs": "^2.1.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/confirm": { + "version": "3.1.22", + "resolved": "https://registry.npmjs.org/@inquirer/confirm/-/confirm-3.1.22.tgz", + "integrity": "sha512-gsAKIOWBm2Q87CDfs9fEo7wJT3fwWIJfnDGMn9Qy74gBnNFOACDNfhUzovubbJjWnKLGBln7/NcSmZwj5DuEXg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^9.0.10", + "@inquirer/type": "^1.5.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/core": { + "version": "9.2.1", + "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-9.2.1.tgz", + "integrity": "sha512-F2VBt7W/mwqEU4bL0RnHNZmC/OxzNx9cOYxHqnXX3MP6ruYvZUZAW9imgN9+h/uBT/oP8Gh888J2OZSbjSeWcg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/figures": "^1.0.6", + "@inquirer/type": "^2.0.0", + "@types/mute-stream": "^0.0.4", + "@types/node": "^22.5.5", + "@types/wrap-ansi": "^3.0.0", + "ansi-escapes": "^4.3.2", + "cli-width": "^4.1.0", + "mute-stream": "^1.0.0", + "signal-exit": "^4.1.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^6.2.0", + "yoctocolors-cjs": "^2.1.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/core/node_modules/@inquirer/type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-2.0.0.tgz", + "integrity": "sha512-XvJRx+2KR3YXyYtPUUy+qd9i7p+GO9Ko6VIIpWlBrpWwXDv8WLFeHTxz35CfQFUiBMLXlGHhGzys7lqit9gWag==", + "dev": true, + "license": "MIT", + "dependencies": { + "mute-stream": "^1.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/core/node_modules/@types/node": { + "version": "22.15.33", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.15.33.tgz", + "integrity": "sha512-wzoocdnnpSxZ+6CjW4ADCK1jVmd1S/J3ArNWfn8FDDQtRm8dkDg7TA+mvek2wNrfCgwuZxqEOiB9B1XCJ6+dbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.21.0" + } + }, + "node_modules/@inquirer/editor": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@inquirer/editor/-/editor-2.2.0.tgz", + "integrity": "sha512-9KHOpJ+dIL5SZli8lJ6xdaYLPPzB8xB9GZItg39MBybzhxA16vxmszmQFrRwbOA918WA2rvu8xhDEg/p6LXKbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^9.1.0", + "@inquirer/type": "^1.5.3", + "external-editor": "^3.1.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/expand": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@inquirer/expand/-/expand-2.3.0.tgz", + "integrity": "sha512-qnJsUcOGCSG1e5DTOErmv2BPQqrtT6uzqn1vI/aYGiPKq+FgslGZmtdnXbhuI7IlT7OByDoEEqdnhUnVR2hhLw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^9.1.0", + "@inquirer/type": "^1.5.3", + "yoctocolors-cjs": "^2.1.2" + }, + "engines": { + "node": ">=18" + } + }, "node_modules/@inquirer/figures": { "version": "1.0.12", "resolved": "https://registry.npmjs.org/@inquirer/figures/-/figures-1.0.12.tgz", @@ -3578,6 +4159,132 @@ "node": ">=18" } }, + "node_modules/@inquirer/input": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@inquirer/input/-/input-2.3.0.tgz", + "integrity": "sha512-XfnpCStx2xgh1LIRqPXrTNEEByqQWoxsWYzNRSEUxJ5c6EQlhMogJ3vHKu8aXuTacebtaZzMAHwEL0kAflKOBw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^9.1.0", + "@inquirer/type": "^1.5.3" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/number": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@inquirer/number/-/number-1.1.0.tgz", + "integrity": "sha512-ilUnia/GZUtfSZy3YEErXLJ2Sljo/mf9fiKc08n18DdwdmDbOzRcTv65H1jjDvlsAuvdFXf4Sa/aL7iw/NanVA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^9.1.0", + "@inquirer/type": "^1.5.3" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/password": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@inquirer/password/-/password-2.2.0.tgz", + "integrity": "sha512-5otqIpgsPYIshqhgtEwSspBQE40etouR8VIxzpJkv9i0dVHIpyhiivbkH9/dGiMLdyamT54YRdGJLfl8TFnLHg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^9.1.0", + "@inquirer/type": "^1.5.3", + "ansi-escapes": "^4.3.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/prompts": { + "version": "5.3.8", + "resolved": "https://registry.npmjs.org/@inquirer/prompts/-/prompts-5.3.8.tgz", + "integrity": "sha512-b2BudQY/Si4Y2a0PdZZL6BeJtl8llgeZa7U2j47aaJSCeAl1e4UI7y8a9bSkO3o/ZbZrgT5muy/34JbsjfIWxA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/checkbox": "^2.4.7", + "@inquirer/confirm": "^3.1.22", + "@inquirer/editor": "^2.1.22", + "@inquirer/expand": "^2.1.22", + "@inquirer/input": "^2.2.9", + "@inquirer/number": "^1.0.10", + "@inquirer/password": "^2.1.22", + "@inquirer/rawlist": "^2.2.4", + "@inquirer/search": "^1.0.7", + "@inquirer/select": "^2.4.7" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/rawlist": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@inquirer/rawlist/-/rawlist-2.3.0.tgz", + "integrity": "sha512-zzfNuINhFF7OLAtGHfhwOW2TlYJyli7lOUoJUXw/uyklcwalV6WRXBXtFIicN8rTRK1XTiPWB4UY+YuW8dsnLQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^9.1.0", + "@inquirer/type": "^1.5.3", + "yoctocolors-cjs": "^2.1.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/search": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@inquirer/search/-/search-1.1.0.tgz", + "integrity": "sha512-h+/5LSj51dx7hp5xOn4QFnUaKeARwUCLs6mIhtkJ0JYPBLmEYjdHSYh7I6GrLg9LwpJ3xeX0FZgAG1q0QdCpVQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^9.1.0", + "@inquirer/figures": "^1.0.5", + "@inquirer/type": "^1.5.3", + "yoctocolors-cjs": "^2.1.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/select": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@inquirer/select/-/select-2.5.0.tgz", + "integrity": "sha512-YmDobTItPP3WcEI86GvPo+T2sRHkxxOq/kXmsBjHS5BVXUgvgZ5AfJjkvQvZr03T81NnI3KrrRuMzeuYUQRFOA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^9.1.0", + "@inquirer/figures": "^1.0.5", + "@inquirer/type": "^1.5.3", + "ansi-escapes": "^4.3.2", + "yoctocolors-cjs": "^2.1.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/type": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-1.5.5.tgz", + "integrity": "sha512-MzICLu4yS7V8AA61sANROZ9vT1H3ooca5dSmI1FjZkzq7o/koMsRfQSzRtFo+F3Ao4Sf1C0bpLKejpKB/+j6MA==", + "dev": true, + "license": "MIT", + "dependencies": { + "mute-stream": "^1.0.0" + }, + "engines": { + "node": ">=18" + } + }, "node_modules/@isaacs/balanced-match": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/@isaacs/balanced-match/-/balanced-match-4.0.1.tgz", @@ -4166,6 +4873,63 @@ "@jridgewell/sourcemap-codec": "^1.4.14" } }, + "node_modules/@jsonjoy.com/base64": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/base64/-/base64-1.1.2.tgz", + "integrity": "sha512-q6XAnWQDIMA3+FTiOYajoYqySkO+JSat0ytXGSuRdq9uXE7o92gzuQwQM14xaCRlBLGq3v5miDGC4vkVTn54xA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/@jsonjoy.com/json-pack": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/json-pack/-/json-pack-1.2.0.tgz", + "integrity": "sha512-io1zEbbYcElht3tdlqEOFxZ0dMTYrHz9iMf0gqn1pPjZFTCgM5R4R5IMA20Chb2UPYYsxjzs8CgZ7Nb5n2K2rA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@jsonjoy.com/base64": "^1.1.1", + "@jsonjoy.com/util": "^1.1.2", + "hyperdyperid": "^1.2.0", + "thingies": "^1.20.0" + }, + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/@jsonjoy.com/util": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/util/-/util-1.6.0.tgz", + "integrity": "sha512-sw/RMbehRhN68WRtcKCpQOPfnH6lLP4GJfqzi3iYej8tnzpZUDr6UkZYJjcjjC0FWEJOJbyM3PTIwxucUmDG2A==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, "node_modules/@leichtgewicht/ip-codec": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.5.tgz", @@ -4173,50 +4937,137 @@ "dev": true, "license": "MIT" }, - "node_modules/@ljharb/through": { - "version": "2.3.14", - "resolved": "https://registry.npmjs.org/@ljharb/through/-/through-2.3.14.tgz", - "integrity": "sha512-ajBvlKpWucBB17FuQYUShqpqy8GRgYEpJW0vWJbUu1CV9lWyrDCapy0lScU8T8Z6qn49sSwJB3+M+evYIdGg+A==", + "node_modules/@listr2/prompt-adapter-inquirer": { + "version": "2.0.15", + "resolved": "https://registry.npmjs.org/@listr2/prompt-adapter-inquirer/-/prompt-adapter-inquirer-2.0.15.tgz", + "integrity": "sha512-MZrGem/Ujjd4cPTLYDfCZK2iKKeiO/8OX13S6jqxldLs0Prf2aGqVlJ77nMBqMv7fzqgXEgjrNHLXcKR8l9lOg==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.8" + "@inquirer/type": "^1.5.1" }, "engines": { - "node": ">= 0.4" + "node": ">=18.0.0" + }, + "peerDependencies": { + "@inquirer/prompts": ">= 3 < 6" } }, - "node_modules/@material/animation": { - "version": "15.0.0-canary.7f224ddd4.0", - "resolved": "https://registry.npmjs.org/@material/animation/-/animation-15.0.0-canary.7f224ddd4.0.tgz", - "integrity": "sha512-1GSJaPKef+7HRuV+HusVZHps64cmZuOItDbt40tjJVaikcaZvwmHlcTxRIqzcRoCdt5ZKHh3NoO7GB9Khg4Jnw==", + "node_modules/@lmdb/lmdb-darwin-arm64": { + "version": "3.0.13", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-arm64/-/lmdb-darwin-arm64-3.0.13.tgz", + "integrity": "sha512-uiKPB0Fv6WEEOZjruu9a6wnW/8jrjzlZbxXscMB8kuCJ1k6kHpcBnuvaAWcqhbI7rqX5GKziwWEdD+wi2gNLfA==", + "cpu": [ + "arm64" + ], + "dev": true, "license": "MIT", - "dependencies": { - "tslib": "^2.1.0" - } + "optional": true, + "os": [ + "darwin" + ] }, - "node_modules/@material/auto-init": { - "version": "15.0.0-canary.7f224ddd4.0", - "resolved": "https://registry.npmjs.org/@material/auto-init/-/auto-init-15.0.0-canary.7f224ddd4.0.tgz", - "integrity": "sha512-t7ZGpRJ3ec0QDUO0nJu/SMgLW7qcuG2KqIsEYD1Ej8qhI2xpdR2ydSDQOkVEitXmKoGol1oq4nYSBjTlB65GqA==", + "node_modules/@lmdb/lmdb-darwin-x64": { + "version": "3.0.13", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-x64/-/lmdb-darwin-x64-3.0.13.tgz", + "integrity": "sha512-bEVIIfK5mSQoG1R19qA+fJOvCB+0wVGGnXHT3smchBVahYBdlPn2OsZZKzlHWfb1E+PhLBmYfqB5zQXFP7hJig==", + "cpu": [ + "x64" + ], + "dev": true, "license": "MIT", - "dependencies": { - "@material/base": "15.0.0-canary.7f224ddd4.0", - "tslib": "^2.1.0" - } + "optional": true, + "os": [ + "darwin" + ] }, - "node_modules/@material/banner": { - "version": "15.0.0-canary.7f224ddd4.0", - "resolved": "https://registry.npmjs.org/@material/banner/-/banner-15.0.0-canary.7f224ddd4.0.tgz", - "integrity": "sha512-g9wBUZzYBizyBcBQXTIafnRUUPi7efU9gPJfzeGgkynXiccP/vh5XMmH+PBxl5v+4MlP/d4cZ2NUYoAN7UTqSA==", + "node_modules/@lmdb/lmdb-linux-arm": { + "version": "3.0.13", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-arm/-/lmdb-linux-arm-3.0.13.tgz", + "integrity": "sha512-Yml1KlMzOnXj/tnW7yX8U78iAzTk39aILYvCPbqeewAq1kSzl+w59k/fiVkTBfvDi/oW/5YRxL+Fq+Y1Fr1r2Q==", + "cpu": [ + "arm" + ], + "dev": true, "license": "MIT", - "dependencies": { - "@material/base": "15.0.0-canary.7f224ddd4.0", - "@material/button": "15.0.0-canary.7f224ddd4.0", - "@material/dom": "15.0.0-canary.7f224ddd4.0", - "@material/elevation": "15.0.0-canary.7f224ddd4.0", - "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", - "@material/ripple": "15.0.0-canary.7f224ddd4.0", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@lmdb/lmdb-linux-arm64": { + "version": "3.0.13", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-arm64/-/lmdb-linux-arm64-3.0.13.tgz", + "integrity": "sha512-afbVrsMgZ9dUTNUchFpj5VkmJRxvht/u335jUJ7o23YTbNbnpmXif3VKQGCtnjSh+CZaqm6N3CPG8KO3zwyZ1Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@lmdb/lmdb-linux-x64": { + "version": "3.0.13", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-x64/-/lmdb-linux-x64-3.0.13.tgz", + "integrity": "sha512-vOtxu0xC0SLdQ2WRXg8Qgd8T32ak4SPqk5zjItRszrJk2BdeXqfGxBJbP7o4aOvSPSmSSv46Lr1EP4HXU8v7Kg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@lmdb/lmdb-win32-x64": { + "version": "3.0.13", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-win32-x64/-/lmdb-win32-x64-3.0.13.tgz", + "integrity": "sha512-UCrMJQY/gJnOl3XgbWRZZUvGGBuKy6i0YNSptgMzHBjs+QYDYR1Mt/RLTOPy4fzzves65O1EDmlL//OzEqoLlA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@material/animation": { + "version": "15.0.0-canary.7f224ddd4.0", + "resolved": "https://registry.npmjs.org/@material/animation/-/animation-15.0.0-canary.7f224ddd4.0.tgz", + "integrity": "sha512-1GSJaPKef+7HRuV+HusVZHps64cmZuOItDbt40tjJVaikcaZvwmHlcTxRIqzcRoCdt5ZKHh3NoO7GB9Khg4Jnw==", + "license": "MIT", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/@material/auto-init": { + "version": "15.0.0-canary.7f224ddd4.0", + "resolved": "https://registry.npmjs.org/@material/auto-init/-/auto-init-15.0.0-canary.7f224ddd4.0.tgz", + "integrity": "sha512-t7ZGpRJ3ec0QDUO0nJu/SMgLW7qcuG2KqIsEYD1Ej8qhI2xpdR2ydSDQOkVEitXmKoGol1oq4nYSBjTlB65GqA==", + "license": "MIT", + "dependencies": { + "@material/base": "15.0.0-canary.7f224ddd4.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/banner": { + "version": "15.0.0-canary.7f224ddd4.0", + "resolved": "https://registry.npmjs.org/@material/banner/-/banner-15.0.0-canary.7f224ddd4.0.tgz", + "integrity": "sha512-g9wBUZzYBizyBcBQXTIafnRUUPi7efU9gPJfzeGgkynXiccP/vh5XMmH+PBxl5v+4MlP/d4cZ2NUYoAN7UTqSA==", + "license": "MIT", + "dependencies": { + "@material/base": "15.0.0-canary.7f224ddd4.0", + "@material/button": "15.0.0-canary.7f224ddd4.0", + "@material/dom": "15.0.0-canary.7f224ddd4.0", + "@material/elevation": "15.0.0-canary.7f224ddd4.0", + "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", + "@material/ripple": "15.0.0-canary.7f224ddd4.0", "@material/rtl": "15.0.0-canary.7f224ddd4.0", "@material/shape": "15.0.0-canary.7f224ddd4.0", "@material/theme": "15.0.0-canary.7f224ddd4.0", @@ -4988,20 +5839,104 @@ "tslib": "^2.1.0" } }, + "node_modules/@msgpackr-extract/msgpackr-extract-darwin-arm64": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-darwin-arm64/-/msgpackr-extract-darwin-arm64-3.0.3.tgz", + "integrity": "sha512-QZHtlVgbAdy2zAqNA9Gu1UpIuI8Xvsd1v8ic6B2pZmeFnFcMWiPLfWXh7TVw4eGEZ/C9TH281KwhVoeQUKbyjw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@msgpackr-extract/msgpackr-extract-darwin-x64": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-darwin-x64/-/msgpackr-extract-darwin-x64-3.0.3.tgz", + "integrity": "sha512-mdzd3AVzYKuUmiWOQ8GNhl64/IoFGol569zNRdkLReh6LRLHOXxU4U8eq0JwaD8iFHdVGqSy4IjFL4reoWCDFw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@msgpackr-extract/msgpackr-extract-linux-arm": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-arm/-/msgpackr-extract-linux-arm-3.0.3.tgz", + "integrity": "sha512-fg0uy/dG/nZEXfYilKoRe7yALaNmHoYeIoJuJ7KJ+YyU2bvY8vPv27f7UKhGRpY6euFYqEVhxCFZgAUNQBM3nw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@msgpackr-extract/msgpackr-extract-linux-arm64": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-arm64/-/msgpackr-extract-linux-arm64-3.0.3.tgz", + "integrity": "sha512-YxQL+ax0XqBJDZiKimS2XQaf+2wDGVa1enVRGzEvLLVFeqa5kx2bWbtcSXgsxjQB7nRqqIGFIcLteF/sHeVtQg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@msgpackr-extract/msgpackr-extract-linux-x64": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-x64/-/msgpackr-extract-linux-x64-3.0.3.tgz", + "integrity": "sha512-cvwNfbP07pKUfq1uH+S6KJ7dT9K8WOE4ZiAcsrSes+UY55E/0jLYc+vq+DO7jlmqRb5zAggExKm0H7O/CBaesg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@msgpackr-extract/msgpackr-extract-win32-x64": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-win32-x64/-/msgpackr-extract-win32-x64-3.0.3.tgz", + "integrity": "sha512-x0fWaQtYp4E6sktbsdAqnehxDgEc/VwM7uLsRCYWaiGu0ykYdZPiS8zCWdnjHwyiumousxfBm4SO31eXqwEZhQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, "node_modules/@ngtools/webpack": { - "version": "17.3.17", - "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-17.3.17.tgz", - "integrity": "sha512-LaO++U8DoqV36M0YLKhubc1+NqM8fyp5DN03k1uP9GvtRchP9+7bfG+IEEZiDFkCUh9lfzi1CiGvUHrN4MYcsA==", + "version": "18.2.20", + "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-18.2.20.tgz", + "integrity": "sha512-6LscOXPMPZlS67aDPj6dkjT/RDySX4GLtk1JErzkUOco6pxsp8qeCzRWqjU63q/8OfZPYLCGIZKfXgXwBP9bgg==", "dev": true, "license": "MIT", "engines": { - "node": "^18.13.0 || >=20.9.0", + "node": "^18.19.1 || ^20.11.1 || >=22.0.0", "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", "yarn": ">= 1.13.0" }, "peerDependencies": { - "@angular/compiler-cli": "^17.0.0", - "typescript": ">=5.2 <5.5", + "@angular/compiler-cli": "^18.0.0", + "typescript": ">=5.4 <5.6", "webpack": "^5.54.0" } }, @@ -5115,16 +6050,6 @@ "node": "^16.14.0 || >=18.0.0" } }, - "node_modules/@npmcli/git/node_modules/ini": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/ini/-/ini-4.1.3.tgz", - "integrity": "sha512-X7rqawQBvfdjS10YU1y1YVreA3SsLrW9dX2CewP2EbBJM4ypVNLDkO5y04gejPwKIY9lR+7r9gn3rFPt/kmWFg==", - "dev": true, - "license": "ISC", - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, "node_modules/@npmcli/git/node_modules/isexe": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", @@ -5142,16 +6067,6 @@ "dev": true, "license": "ISC" }, - "node_modules/@npmcli/git/node_modules/proc-log": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-4.2.0.tgz", - "integrity": "sha512-g8+OnU/L2v+wyiVK+D5fA34J7EH8jZ8DDlvwhRCMxmMj7UCBvxiO1mGeN+36JXIKF4zevU4kRBd8lVgG9vLelA==", - "dev": true, - "license": "ISC", - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, "node_modules/@npmcli/git/node_modules/which": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/which/-/which-4.0.0.tgz", @@ -5301,16 +6216,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@npmcli/package-json/node_modules/proc-log": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-4.2.0.tgz", - "integrity": "sha512-g8+OnU/L2v+wyiVK+D5fA34J7EH8jZ8DDlvwhRCMxmMj7UCBvxiO1mGeN+36JXIKF4zevU4kRBd8lVgG9vLelA==", - "dev": true, - "license": "ISC", - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, "node_modules/@npmcli/promise-spawn": { "version": "7.0.2", "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-7.0.2.tgz", @@ -5351,9 +6256,9 @@ } }, "node_modules/@npmcli/redact": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@npmcli/redact/-/redact-1.1.0.tgz", - "integrity": "sha512-PfnWuOkQgu7gCbnSsAisaX7hKOdZ4wSAhAzH3/ph5dSGau52kCRrMMGbiSQLwyTZpgldkZ49b0brkOr1AzGBHQ==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@npmcli/redact/-/redact-2.0.1.tgz", + "integrity": "sha512-YgsR5jCQZhVmTJvjduTOIHph0L73pK8xwMVaDY0PatySqVM9AZj93jpoXYSJqfHFxFkN9dmqTw6OiqExsS3LPw==", "dev": true, "license": "ISC", "engines": { @@ -5361,9 +6266,9 @@ } }, "node_modules/@npmcli/run-script": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-7.0.4.tgz", - "integrity": "sha512-9ApYM/3+rBt9V80aYg6tZfzj3UWdiYyCt7gJUD1VJKvWF5nwKDSICXbYIQbspFTq6TOpbsEtIC0LArB8d9PFmg==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-8.1.0.tgz", + "integrity": "sha512-y7efHHwghQfk28G2z3tlZ67pLG0XdfYbcVG26r7YIXALRsrVQcTq4/tdenSmdOrEsNahIYA/eh8aEVROWGFUDg==", "dev": true, "license": "ISC", "dependencies": { @@ -5371,6 +6276,7 @@ "@npmcli/package-json": "^5.0.0", "@npmcli/promise-spawn": "^7.0.0", "node-gyp": "^10.0.0", + "proc-log": "^4.0.0", "which": "^4.0.0" }, "engines": { @@ -5709,9 +6615,9 @@ } }, "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.44.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.44.1.tgz", - "integrity": "sha512-JAcBr1+fgqx20m7Fwe1DxPUl/hPkee6jA6Pl7n1v2EFiktAHenTaXl5aIFjUIEsfn9w3HE4gK1lEgNGMzBDs1w==", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.22.4.tgz", + "integrity": "sha512-Fxamp4aEZnfPOcGA8KSNEohV8hX7zVHOemC8jVBoBUHu5zpJK/Eu3uJwt6BMgy9fkvzxDaurgj96F/NiLukF2w==", "cpu": [ "arm" ], @@ -5723,9 +6629,9 @@ ] }, "node_modules/@rollup/rollup-android-arm64": { - "version": "4.44.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.44.1.tgz", - "integrity": "sha512-RurZetXqTu4p+G0ChbnkwBuAtwAbIwJkycw1n6GvlGlBuS4u5qlr5opix8cBAYFJgaY05TWtM+LaoFggUmbZEQ==", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.22.4.tgz", + "integrity": "sha512-VXoK5UMrgECLYaMuGuVTOx5kcuap1Jm8g/M83RnCHBKOqvPPmROFJGQaZhGccnsFtfXQ3XYa4/jMCJvZnbJBdA==", "cpu": [ "arm64" ], @@ -5737,9 +6643,9 @@ ] }, "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.44.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.44.1.tgz", - "integrity": "sha512-fM/xPesi7g2M7chk37LOnmnSTHLG/v2ggWqKj3CCA1rMA4mm5KVBT1fNoswbo1JhPuNNZrVwpTvlCVggv8A2zg==", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.22.4.tgz", + "integrity": "sha512-xMM9ORBqu81jyMKCDP+SZDhnX2QEVQzTcC6G18KlTQEzWK8r/oNZtKuZaCcHhnsa6fEeOBionoyl5JsAbE/36Q==", "cpu": [ "arm64" ], @@ -5751,9 +6657,9 @@ ] }, "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.44.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.44.1.tgz", - "integrity": "sha512-gDnWk57urJrkrHQ2WVx9TSVTH7lSlU7E3AFqiko+bgjlh78aJ88/3nycMax52VIVjIm3ObXnDL2H00e/xzoipw==", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.22.4.tgz", + "integrity": "sha512-aJJyYKQwbHuhTUrjWjxEvGnNNBCnmpHDvrb8JFDbeSH3m2XdHcxDd3jthAzvmoI8w/kSjd2y0udT+4okADsZIw==", "cpu": [ "x64" ], @@ -5764,38 +6670,10 @@ "darwin" ] }, - "node_modules/@rollup/rollup-freebsd-arm64": { - "version": "4.44.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.44.1.tgz", - "integrity": "sha512-wnFQmJ/zPThM5zEGcnDcCJeYJgtSLjh1d//WuHzhf6zT3Md1BvvhJnWoy+HECKu2bMxaIcfWiu3bJgx6z4g2XA==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ] - }, - "node_modules/@rollup/rollup-freebsd-x64": { - "version": "4.44.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.44.1.tgz", - "integrity": "sha512-uBmIxoJ4493YATvU2c0upGz87f99e3wop7TJgOA/bXMFd2SvKCI7xkxY/5k50bv7J6dw1SXT4MQBQSLn8Bb/Uw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ] - }, "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.44.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.44.1.tgz", - "integrity": "sha512-n0edDmSHlXFhrlmTK7XBuwKlG5MbS7yleS1cQ9nn4kIeW+dJH+ExqNgQ0RrFRew8Y+0V/x6C5IjsHrJmiHtkxQ==", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.22.4.tgz", + "integrity": "sha512-j63YtCIRAzbO+gC2L9dWXRh5BFetsv0j0va0Wi9epXDgU/XUi5dJKo4USTttVyK7fGw2nPWK0PbAvyliz50SCQ==", "cpu": [ "arm" ], @@ -5807,9 +6685,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.44.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.44.1.tgz", - "integrity": "sha512-8WVUPy3FtAsKSpyk21kV52HCxB+me6YkbkFHATzC2Yd3yuqHwy2lbFL4alJOLXKljoRw08Zk8/xEj89cLQ/4Nw==", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.22.4.tgz", + "integrity": "sha512-dJnWUgwWBX1YBRsuKKMOlXCzh2Wu1mlHzv20TpqEsfdZLb3WoJW2kIEsGwLkroYf24IrPAvOT/ZQ2OYMV6vlrg==", "cpu": [ "arm" ], @@ -5821,9 +6699,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.44.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.44.1.tgz", - "integrity": "sha512-yuktAOaeOgorWDeFJggjuCkMGeITfqvPgkIXhDqsfKX8J3jGyxdDZgBV/2kj/2DyPaLiX6bPdjJDTu9RB8lUPQ==", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.22.4.tgz", + "integrity": "sha512-AdPRoNi3NKVLolCN/Sp4F4N1d98c4SBnHMKoLuiG6RXgoZ4sllseuGioszumnPGmPM2O7qaAX/IJdeDU8f26Aw==", "cpu": [ "arm64" ], @@ -5835,9 +6713,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.44.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.44.1.tgz", - "integrity": "sha512-W+GBM4ifET1Plw8pdVaecwUgxmiH23CfAUj32u8knq0JPFyK4weRy6H7ooxYFD19YxBulL0Ktsflg5XS7+7u9g==", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.22.4.tgz", + "integrity": "sha512-Gl0AxBtDg8uoAn5CCqQDMqAx22Wx22pjDOjBdmG0VIWX3qUBHzYmOKh8KXHL4UpogfJ14G4wk16EQogF+v8hmA==", "cpu": [ "arm64" ], @@ -5848,24 +6726,10 @@ "linux" ] }, - "node_modules/@rollup/rollup-linux-loongarch64-gnu": { - "version": "4.44.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.44.1.tgz", - "integrity": "sha512-1zqnUEMWp9WrGVuVak6jWTl4fEtrVKfZY7CvcBmUUpxAJ7WcSowPSAWIKa/0o5mBL/Ij50SIf9tuirGx63Ovew==", - "cpu": [ - "loong64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { - "version": "4.44.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.44.1.tgz", - "integrity": "sha512-Rl3JKaRu0LHIx7ExBAAnf0JcOQetQffaw34T8vLlg9b1IhzcBgaIdnvEbbsZq9uZp3uAH+JkHd20Nwn0h9zPjA==", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.22.4.tgz", + "integrity": "sha512-3aVCK9xfWW1oGQpTsYJJPF6bfpWfhbRnhdlyhak2ZiyFLDaayz0EP5j9V1RVLAAxlmWKTDfS9wyRyY3hvhPoOg==", "cpu": [ "ppc64" ], @@ -5877,23 +6741,9 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.44.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.44.1.tgz", - "integrity": "sha512-j5akelU3snyL6K3N/iX7otLBIl347fGwmd95U5gS/7z6T4ftK288jKq3A5lcFKcx7wwzb5rgNvAg3ZbV4BqUSw==", - "cpu": [ - "riscv64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-riscv64-musl": { - "version": "4.44.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.44.1.tgz", - "integrity": "sha512-ppn5llVGgrZw7yxbIm8TTvtj1EoPgYUAbfw0uDjIOzzoqlZlZrLJ/KuiE7uf5EpTpCTrNt1EdtzF0naMm0wGYg==", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.22.4.tgz", + "integrity": "sha512-ePYIir6VYnhgv2C5Xe9u+ico4t8sZWXschR6fMgoPUK31yQu7hTEJb7bCqivHECwIClJfKgE7zYsh1qTP3WHUA==", "cpu": [ "riscv64" ], @@ -5905,9 +6755,9 @@ ] }, "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.44.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.44.1.tgz", - "integrity": "sha512-Hu6hEdix0oxtUma99jSP7xbvjkUM/ycke/AQQ4EC5g7jNRLLIwjcNwaUy95ZKBJJwg1ZowsclNnjYqzN4zwkAw==", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.22.4.tgz", + "integrity": "sha512-GqFJ9wLlbB9daxhVlrTe61vJtEY99/xB3C8e4ULVsVfflcpmR6c8UZXjtkMA6FhNONhj2eA5Tk9uAVw5orEs4Q==", "cpu": [ "s390x" ], @@ -5919,9 +6769,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.44.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.44.1.tgz", - "integrity": "sha512-EtnsrmZGomz9WxK1bR5079zee3+7a+AdFlghyd6VbAjgRJDbTANJ9dcPIPAi76uG05micpEL+gPGmAKYTschQw==", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.22.4.tgz", + "integrity": "sha512-87v0ol2sH9GE3cLQLNEy0K/R0pz1nvg76o8M5nhMR0+Q+BBGLnb35P0fVz4CQxHYXaAOhE8HhlkaZfsdUOlHwg==", "cpu": [ "x64" ], @@ -5933,9 +6783,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.44.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.44.1.tgz", - "integrity": "sha512-iAS4p+J1az6Usn0f8xhgL4PaU878KEtutP4hqw52I4IO6AGoyOkHCxcc4bqufv1tQLdDWFx8lR9YlwxKuv3/3g==", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.22.4.tgz", + "integrity": "sha512-UV6FZMUgePDZrFjrNGIWzDo/vABebuXBhJEqrHxrGiU6HikPy0Z3LfdtciIttEUQfuDdCn8fqh7wiFJjCNwO+g==", "cpu": [ "x64" ], @@ -5947,9 +6797,9 @@ ] }, "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.44.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.44.1.tgz", - "integrity": "sha512-NtSJVKcXwcqozOl+FwI41OH3OApDyLk3kqTJgx8+gp6On9ZEt5mYhIsKNPGuaZr3p9T6NWPKGU/03Vw4CNU9qg==", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.22.4.tgz", + "integrity": "sha512-BjI+NVVEGAXjGWYHz/vv0pBqfGoUH0IGZ0cICTn7kB9PyjrATSkX+8WkguNjWoj2qSr1im/+tTGRaY+4/PdcQw==", "cpu": [ "arm64" ], @@ -5961,9 +6811,9 @@ ] }, "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.44.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.44.1.tgz", - "integrity": "sha512-JYA3qvCOLXSsnTR3oiyGws1Dm0YTuxAAeaYGVlGpUsHqloPcFjPg+X0Fj2qODGLNwQOAcCiQmHub/V007kiH5A==", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.22.4.tgz", + "integrity": "sha512-SiWG/1TuUdPvYmzmYnmd3IEifzR61Tragkbx9D3+R8mzQqDBz8v+BvZNDlkiTtI9T15KYZhP0ehn3Dld4n9J5g==", "cpu": [ "ia32" ], @@ -5975,9 +6825,9 @@ ] }, "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.44.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.44.1.tgz", - "integrity": "sha512-J8o22LuF0kTe7m+8PvW9wk3/bRq5+mRo5Dqo6+vXb7otCm3TPhYOJqOaQtGU9YMWQSL3krMnoOxMr0+9E6F3Ug==", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.22.4.tgz", + "integrity": "sha512-j8pPKp53/lq9lMXN57S8cFz0MynJk8OWNuUnXct/9KCpKU7DgU3bYMJhwWmcqC0UU29p8Lr0/7KEVcaM6bf47Q==", "cpu": [ "x64" ], @@ -6009,18 +6859,18 @@ } }, "node_modules/@schematics/angular": { - "version": "17.3.17", - "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-17.3.17.tgz", - "integrity": "sha512-S5HwYem5Yjeceb5OLvforNcjfTMh2qsHnTP1BAYL81XPpqeg2udjAkJjKBxCwxMZSqdCMw3ne0eKppEYTaEZ+A==", + "version": "18.2.20", + "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-18.2.20.tgz", + "integrity": "sha512-32bJycGtePm8X994hGl9PChBVgw9bbc+ehDpxeeaIZzcFHWlM06+cJu8Jr2FA8SASg3TwdnEybxFiYS14884OQ==", "dev": true, "license": "MIT", "dependencies": { - "@angular-devkit/core": "17.3.17", - "@angular-devkit/schematics": "17.3.17", - "jsonc-parser": "3.2.1" + "@angular-devkit/core": "18.2.20", + "@angular-devkit/schematics": "18.2.20", + "jsonc-parser": "3.3.1" }, "engines": { - "node": "^18.13.0 || >=20.9.0", + "node": "^18.19.1 || ^20.11.1 || >=22.0.0", "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", "yarn": ">= 1.13.0" } @@ -6076,16 +6926,6 @@ "node": "^16.14.0 || >=18.0.0" } }, - "node_modules/@sigstore/sign/node_modules/proc-log": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-4.2.0.tgz", - "integrity": "sha512-g8+OnU/L2v+wyiVK+D5fA34J7EH8jZ8DDlvwhRCMxmMj7UCBvxiO1mGeN+36JXIKF4zevU4kRBd8lVgG9vLelA==", - "dev": true, - "license": "ISC", - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, "node_modules/@sigstore/tuf": { "version": "2.3.4", "resolved": "https://registry.npmjs.org/@sigstore/tuf/-/tuf-2.3.4.tgz", @@ -6442,19 +7282,6 @@ } }, "node_modules/@types/express-serve-static-core": { - "version": "5.0.6", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-5.0.6.tgz", - "integrity": "sha512-3xhRnjJPkULekpSzgtoNYYcTWgEZkp4myc+Saevii5JPnHNvHMRlBSHDbs7Bh1iPPoVTERHEZXyhyLbMEsExsA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/node": "*", - "@types/qs": "*", - "@types/range-parser": "*", - "@types/send": "*" - } - }, - "node_modules/@types/express/node_modules/@types/express-serve-static-core": { "version": "4.19.6", "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.6.tgz", "integrity": "sha512-N4LZ2xG7DatVqhCZzOGb1Yi5lMbXSZcmdLDe9EzSndPV2HpWYWzRbaerl2n27irrm94EPpprqa8KpskPT085+A==", @@ -6571,6 +7398,16 @@ "dev": true, "license": "MIT" }, + "node_modules/@types/mute-stream": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/@types/mute-stream/-/mute-stream-0.0.4.tgz", + "integrity": "sha512-CPM9nzrCPPJHQNA9keH9CVkVI+WR5kMa+7XEs5jcGQ0VoAGnLv242w8lIVgwAEfmE4oufJRaTc9PNLQl0ioAow==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, "node_modules/@types/node": { "version": "20.19.1", "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.1.tgz", @@ -6612,9 +7449,9 @@ "license": "MIT" }, "node_modules/@types/retry": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", - "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==", + "version": "0.12.2", + "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.2.tgz", + "integrity": "sha512-XISRgDJ2Tc5q4TRqvgJtzsRkFYNJzZrhTdtMoGVBttwzzQJkPnS3WWTFc7kuDRoPtPakl+T+OfdEUjYJj7Jbow==", "dev": true, "license": "MIT" }, @@ -6680,6 +7517,13 @@ "integrity": "sha512-S/Dhk1sMzYZMNNXvG1CHKz1X+HbabMf2l+FkdRStcvvuQVVlMvq0nPd/fQ3skniRKj0LqBPy19in3JN/XsB6Qg==", "license": "MIT" }, + "node_modules/@types/wrap-ansi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/wrap-ansi/-/wrap-ansi-3.0.0.tgz", + "integrity": "sha512-ltIpx+kM7g/MLRZfkbL7EsCEjfzCcScLpkg37eXEtx5kmrAKBkTJwd1GIAjDSL8wTpM6Hzn5YO4pSb91BEwu1g==", + "dev": true, + "license": "MIT" + }, "node_modules/@types/ws": { "version": "8.18.1", "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.18.1.tgz", @@ -7290,9 +8134,9 @@ } }, "node_modules/autoprefixer": { - "version": "10.4.18", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.18.tgz", - "integrity": "sha512-1DKbDfsr6KUElM6wg+0zRNkB/Q7WcKYAaK+pzXn+Xqmszm/5Xa9coeNdtP88Vi+dPzZnMjhge8GIV49ZQkDa+g==", + "version": "10.4.20", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.20.tgz", + "integrity": "sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==", "dev": true, "funding": [ { @@ -7310,11 +8154,11 @@ ], "license": "MIT", "dependencies": { - "browserslist": "^4.23.0", - "caniuse-lite": "^1.0.30001591", + "browserslist": "^4.23.3", + "caniuse-lite": "^1.0.30001646", "fraction.js": "^4.3.7", "normalize-range": "^0.1.2", - "picocolors": "^1.0.0", + "picocolors": "^1.0.1", "postcss-value-parser": "^4.2.0" }, "bin": { @@ -8095,25 +8939,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/call-bind": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz", - "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.0", - "es-define-property": "^1.0.0", - "get-intrinsic": "^1.2.4", - "set-function-length": "^1.2.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/call-bind-apply-helpers": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", @@ -8379,6 +9204,77 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/cli-truncate": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-4.0.0.tgz", + "integrity": "sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==", + "dev": true, + "license": "MIT", + "dependencies": { + "slice-ansi": "^5.0.0", + "string-width": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-truncate/node_modules/ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/cli-truncate/node_modules/emoji-regex": { + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.4.0.tgz", + "integrity": "sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==", + "dev": true, + "license": "MIT" + }, + "node_modules/cli-truncate/node_modules/string-width": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", + "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-truncate/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, "node_modules/cli-width": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-4.1.0.tgz", @@ -8445,6 +9341,19 @@ "node": ">=6" } }, + "node_modules/clone-deep/node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "license": "MIT", + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/co": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", @@ -8788,21 +9697,21 @@ } }, "node_modules/copy-webpack-plugin": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-11.0.0.tgz", - "integrity": "sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ==", + "version": "12.0.2", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-12.0.2.tgz", + "integrity": "sha512-SNwdBeHyII+rWvee/bTnAYyO8vfVdcSTud4EIb6jcZ8inLeWucJE0DnxXQBjlQ5zlteuuvooGQy3LIyGxhvlOA==", "dev": true, "license": "MIT", "dependencies": { - "fast-glob": "^3.2.11", + "fast-glob": "^3.3.2", "glob-parent": "^6.0.1", - "globby": "^13.1.1", + "globby": "^14.0.0", "normalize-path": "^3.0.0", - "schema-utils": "^4.0.0", - "serialize-javascript": "^6.0.0" + "schema-utils": "^4.2.0", + "serialize-javascript": "^6.0.2" }, "engines": { - "node": ">= 14.15.0" + "node": ">= 18.12.0" }, "funding": { "type": "opencollective", @@ -8936,9 +9845,10 @@ "license": "MIT" }, "node_modules/critters": { - "version": "0.0.22", - "resolved": "https://registry.npmjs.org/critters/-/critters-0.0.22.tgz", - "integrity": "sha512-NU7DEcQZM2Dy8XTKFHxtdnIM/drE312j2T4PCVaSUcS0oBeyT/NImpRw/Ap0zOr/1SE7SgPK9tGPg1WK/sVakw==", + "version": "0.0.24", + "resolved": "https://registry.npmjs.org/critters/-/critters-0.0.24.tgz", + "integrity": "sha512-Oyqew0FGM0wYUSNqR0L6AteO5MpMoUU0rhKRieXeiKs+PmRTxiJMyaunYB2KF6fQ3dzChXKCpbFOEJx3OQ1v/Q==", + "deprecated": "Ownership of Critters has moved to the Nuxt team, who will be maintaining the project going forward. If you'd like to keep using Critters, please switch to the actively-maintained fork at https://github.com/danielroe/beasties", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -8966,23 +9876,23 @@ } }, "node_modules/css-loader": { - "version": "6.10.0", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.10.0.tgz", - "integrity": "sha512-LTSA/jWbwdMlk+rhmElbDR2vbtQoTBPr7fkJE+mxrHj+7ru0hUmHafDRzWIjIHTwpitWVaqY2/UWGRca3yUgRw==", + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-7.1.2.tgz", + "integrity": "sha512-6WvYYn7l/XEGN8Xu2vWFt9nVzrCn39vKyTEFf/ExEyoksJjjSZV/0/35XPlMbpnr6VGhZIUg5yJrL8tGfes/FA==", "dev": true, "license": "MIT", "dependencies": { "icss-utils": "^5.1.0", "postcss": "^8.4.33", - "postcss-modules-extract-imports": "^3.0.0", - "postcss-modules-local-by-default": "^4.0.4", - "postcss-modules-scope": "^3.1.1", + "postcss-modules-extract-imports": "^3.1.0", + "postcss-modules-local-by-default": "^4.0.5", + "postcss-modules-scope": "^3.2.0", "postcss-modules-values": "^4.0.0", "postcss-value-parser": "^4.2.0", "semver": "^7.5.4" }, "engines": { - "node": ">= 12.13.0" + "node": ">= 18.12.0" }, "funding": { "type": "opencollective", @@ -8990,7 +9900,7 @@ }, "peerDependencies": { "@rspack/core": "0.x || 1.x", - "webpack": "^5.0.0" + "webpack": "^5.27.0" }, "peerDependenciesMeta": { "@rspack/core": { @@ -9210,19 +10120,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/default-gateway": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", - "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "execa": "^5.0.0" - }, - "engines": { - "node": ">= 10" - } - }, "node_modules/defaults": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", @@ -9236,24 +10133,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/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, - "license": "MIT", - "dependencies": { - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "gopd": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/define-lazy-prop": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", @@ -9327,6 +10206,16 @@ "npm": "1.2.8000 || >= 1.4.16" } }, + "node_modules/detect-libc": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.4.tgz", + "integrity": "sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=8" + } + }, "node_modules/detect-newline": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", @@ -9369,19 +10258,6 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dev": true, - "license": "MIT", - "dependencies": { - "path-type": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/dns-packet": { "version": "5.6.1", "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.1.tgz", @@ -9780,6 +10656,19 @@ "node": ">=6" } }, + "node_modules/environment": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/environment/-/environment-1.1.0.tgz", + "integrity": "sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/err-code": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", @@ -9874,56 +10763,56 @@ "license": "MIT" }, "node_modules/esbuild": { - "version": "0.20.1", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.20.1.tgz", - "integrity": "sha512-OJwEgrpWm/PCMsLVWXKqvcjme3bHNpOgN7Tb6cQnR5n0TPbQx1/Xrn7rqM+wn17bYeT6MGB5sn1Bh5YiGi70nA==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.23.0.tgz", + "integrity": "sha512-1lvV17H2bMYda/WaFb2jLPeHU3zml2k4/yagNMG8Q/YtfMjCwEUZa2eXXMgZTVSL5q1n4H7sQ0X6CdJDqqeCFA==", "dev": true, "hasInstallScript": true, "license": "MIT", - "optional": true, "bin": { "esbuild": "bin/esbuild" }, "engines": { - "node": ">=12" + "node": ">=18" }, "optionalDependencies": { - "@esbuild/aix-ppc64": "0.20.1", - "@esbuild/android-arm": "0.20.1", - "@esbuild/android-arm64": "0.20.1", - "@esbuild/android-x64": "0.20.1", - "@esbuild/darwin-arm64": "0.20.1", - "@esbuild/darwin-x64": "0.20.1", - "@esbuild/freebsd-arm64": "0.20.1", - "@esbuild/freebsd-x64": "0.20.1", - "@esbuild/linux-arm": "0.20.1", - "@esbuild/linux-arm64": "0.20.1", - "@esbuild/linux-ia32": "0.20.1", - "@esbuild/linux-loong64": "0.20.1", - "@esbuild/linux-mips64el": "0.20.1", - "@esbuild/linux-ppc64": "0.20.1", - "@esbuild/linux-riscv64": "0.20.1", - "@esbuild/linux-s390x": "0.20.1", - "@esbuild/linux-x64": "0.20.1", - "@esbuild/netbsd-x64": "0.20.1", - "@esbuild/openbsd-x64": "0.20.1", - "@esbuild/sunos-x64": "0.20.1", - "@esbuild/win32-arm64": "0.20.1", - "@esbuild/win32-ia32": "0.20.1", - "@esbuild/win32-x64": "0.20.1" + "@esbuild/aix-ppc64": "0.23.0", + "@esbuild/android-arm": "0.23.0", + "@esbuild/android-arm64": "0.23.0", + "@esbuild/android-x64": "0.23.0", + "@esbuild/darwin-arm64": "0.23.0", + "@esbuild/darwin-x64": "0.23.0", + "@esbuild/freebsd-arm64": "0.23.0", + "@esbuild/freebsd-x64": "0.23.0", + "@esbuild/linux-arm": "0.23.0", + "@esbuild/linux-arm64": "0.23.0", + "@esbuild/linux-ia32": "0.23.0", + "@esbuild/linux-loong64": "0.23.0", + "@esbuild/linux-mips64el": "0.23.0", + "@esbuild/linux-ppc64": "0.23.0", + "@esbuild/linux-riscv64": "0.23.0", + "@esbuild/linux-s390x": "0.23.0", + "@esbuild/linux-x64": "0.23.0", + "@esbuild/netbsd-x64": "0.23.0", + "@esbuild/openbsd-arm64": "0.23.0", + "@esbuild/openbsd-x64": "0.23.0", + "@esbuild/sunos-x64": "0.23.0", + "@esbuild/win32-arm64": "0.23.0", + "@esbuild/win32-ia32": "0.23.0", + "@esbuild/win32-x64": "0.23.0" } }, "node_modules/esbuild-wasm": { - "version": "0.20.1", - "resolved": "https://registry.npmjs.org/esbuild-wasm/-/esbuild-wasm-0.20.1.tgz", - "integrity": "sha512-6v/WJubRsjxBbQdz6izgvx7LsVFvVaGmSdwrFHmEzoVgfXL89hkKPoQHsnVI2ngOkcBUQT9kmAM1hVL1k/Av4A==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/esbuild-wasm/-/esbuild-wasm-0.23.0.tgz", + "integrity": "sha512-6jP8UmWy6R6TUUV8bMuC3ZyZ6lZKI56x0tkxyCIqWwRRJ/DgeQKneh/Oid5EoGoPFLrGNkz47ZEtWAYuiY/u9g==", "dev": true, "license": "MIT", "bin": { "esbuild": "bin/esbuild" }, "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/escalade": { @@ -9955,16 +10844,6 @@ "dev": true, "license": "MIT" }, - "node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8.0" - } - }, "node_modules/escodegen": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", @@ -10512,22 +11391,6 @@ } } }, - "node_modules/figures": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", - "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", - "dev": true, - "license": "MIT", - "dependencies": { - "escape-string-regexp": "^1.0.5" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/filelist": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", @@ -10777,13 +11640,6 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/fs-monkey": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.6.tgz", - "integrity": "sha512-b1FMfwetIKymC0eioW7mTywihSQE4oLzQn1dB6rZB5fx/3NpNEdAWeCSMB+60/AeT0TCXsxzAlcYVEFCTAksWg==", - "dev": true, - "license": "Unlicense" - }, "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", @@ -11020,20 +11876,61 @@ } }, "node_modules/globby": { - "version": "13.2.2", - "resolved": "https://registry.npmjs.org/globby/-/globby-13.2.2.tgz", - "integrity": "sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==", + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-14.1.0.tgz", + "integrity": "sha512-0Ia46fDOaT7k4og1PDW4YbodWWr3scS2vAr2lTbsplOt2WkKp0vQbkI9wKis/T5LV/dqPjO3bpS/z6GTJB82LA==", "dev": true, "license": "MIT", "dependencies": { - "dir-glob": "^3.0.1", - "fast-glob": "^3.3.0", - "ignore": "^5.2.4", - "merge2": "^1.4.1", - "slash": "^4.0.0" + "@sindresorhus/merge-streams": "^2.1.0", + "fast-glob": "^3.3.3", + "ignore": "^7.0.3", + "path-type": "^6.0.0", + "slash": "^5.1.0", + "unicorn-magic": "^0.3.0" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globby/node_modules/fast-glob": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", + "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.8" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/globby/node_modules/ignore": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", + "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/globby/node_modules/unicorn-magic": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.3.0.tgz", + "integrity": "sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -11116,19 +12013,6 @@ "node": ">=8" } }, - "node_modules/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, - "license": "MIT", - "dependencies": { - "es-define-property": "^1.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/has-symbols": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", @@ -11413,34 +12297,27 @@ } }, "node_modules/http-proxy-middleware": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.8.tgz", - "integrity": "sha512-/iazaeFPmL8KLA6QB7DFAU4O5j+9y/TA0D019MbLtPuFI56VK4BXFzM6j6QS9oGpScy8IIDH4S2LHv3zg/63Bw==", + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-3.0.5.tgz", + "integrity": "sha512-GLZZm1X38BPY4lkXA01jhwxvDoOkkXqjgVyUzVxiEK4iuRu03PZoYHhHRwxnfhQMDuaxi3vVri0YgSro/1oWqg==", "dev": true, "license": "MIT", "dependencies": { - "@types/http-proxy": "^1.17.8", + "@types/http-proxy": "^1.17.15", + "debug": "^4.3.6", "http-proxy": "^1.18.1", - "is-glob": "^4.0.1", - "is-plain-obj": "^3.0.0", - "micromatch": "^4.0.2" + "is-glob": "^4.0.3", + "is-plain-object": "^5.0.0", + "micromatch": "^4.0.8" }, "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "@types/express": "^4.17.13" - }, - "peerDependenciesMeta": { - "@types/express": { - "optional": true - } + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/https-proxy-agent": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.4.tgz", - "integrity": "sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==", + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.5.tgz", + "integrity": "sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw==", "dev": true, "license": "MIT", "dependencies": { @@ -11460,6 +12337,16 @@ "node": ">=10.17.0" } }, + "node_modules/hyperdyperid": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/hyperdyperid/-/hyperdyperid-1.2.0.tgz", + "integrity": "sha512-Y93lCzHYgGWdrJ66yIktxiaGULYc6oGiABxhcO5AufBeOyoIdZF7bIfLaOrbM0iGIOXQQgxxRrFEnb+Y6w1n4A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.18" + } + }, "node_modules/i18next": { "version": "23.16.8", "resolved": "https://registry.npmjs.org/i18next/-/i18next-23.16.8.tgz", @@ -11696,9 +12583,9 @@ "license": "ISC" }, "node_modules/ini": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/ini/-/ini-4.1.2.tgz", - "integrity": "sha512-AMB1mvwR1pyBFY/nSevUX6y8nJWS63/SzUKD3JyQn97s4xgIdgQPT75IRouIiBAN4yLQBUShNYVW0+UG25daCw==", + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ini/-/ini-4.1.3.tgz", + "integrity": "sha512-X7rqawQBvfdjS10YU1y1YVreA3SsLrW9dX2CewP2EbBJM4ypVNLDkO5y04gejPwKIY9lR+7r9gn3rFPt/kmWFg==", "dev": true, "license": "ISC", "engines": { @@ -11715,50 +12602,10 @@ "tslib": "^2.0.0" } }, - "node_modules/inquirer": { - "version": "9.2.15", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-9.2.15.tgz", - "integrity": "sha512-vI2w4zl/mDluHt9YEQ/543VTCwPKWiHzKtm9dM2V0NdFcqEexDAjUHzO1oA60HRNaVifGXXM1tRRNluLVHa0Kg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@ljharb/through": "^2.3.12", - "ansi-escapes": "^4.3.2", - "chalk": "^5.3.0", - "cli-cursor": "^3.1.0", - "cli-width": "^4.1.0", - "external-editor": "^3.1.0", - "figures": "^3.2.0", - "lodash": "^4.17.21", - "mute-stream": "1.0.0", - "ora": "^5.4.1", - "run-async": "^3.0.0", - "rxjs": "^7.8.1", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^6.2.0" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/inquirer/node_modules/chalk": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.4.1.tgz", - "integrity": "sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.17.0 || ^14.13 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/interpret": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", - "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", + "node_modules/interpret": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", + "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", "dev": true, "license": "MIT", "engines": { @@ -11979,6 +12826,19 @@ "dev": true, "license": "MIT" }, + "node_modules/is-network-error": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-network-error/-/is-network-error-1.1.0.tgz", + "integrity": "sha512-tUdRRAnhT+OtCZR/LxZelH/C7QtjtFrTu5tXCA8pl55eTUElUHT+GPYV8MBMBvea/j+NxQqVt3LbWMRir7Gx9g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/is-npm": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-6.0.0.tgz", @@ -12028,14 +12888,11 @@ } }, "node_modules/is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", "dev": true, "license": "MIT", - "dependencies": { - "isobject": "^3.0.1" - }, "engines": { "node": ">=0.10.0" } @@ -13231,9 +14088,9 @@ } }, "node_modules/jsonc-parser": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.1.tgz", - "integrity": "sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.3.1.tgz", + "integrity": "sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==", "dev": true, "license": "MIT" }, @@ -13537,16 +14394,6 @@ "node": ">=6" } }, - "node_modules/klona": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.6.tgz", - "integrity": "sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 8" - } - }, "node_modules/ky": { "version": "1.8.1", "resolved": "https://registry.npmjs.org/ky/-/ky-1.8.1.tgz", @@ -13615,24 +14462,30 @@ } }, "node_modules/less-loader": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-11.1.0.tgz", - "integrity": "sha512-C+uDBV7kS7W5fJlUjq5mPBeBVhYpTIm5gB09APT9o3n/ILeaXVsiSFTbZpTJCJwQ/Crczfn3DmfQFwxYusWFug==", + "version": "12.2.0", + "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-12.2.0.tgz", + "integrity": "sha512-MYUxjSQSBUQmowc0l5nPieOYwMzGPUaTzB6inNW/bdPEG9zOL3eAAD1Qw5ZxSPk7we5dMojHwNODYMV1hq4EVg==", "dev": true, "license": "MIT", - "dependencies": { - "klona": "^2.0.4" - }, "engines": { - "node": ">= 14.15.0" + "node": ">= 18.12.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/webpack" }, "peerDependencies": { + "@rspack/core": "0.x || 1.x", "less": "^3.5.0 || ^4.0.0", "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "@rspack/core": { + "optional": true + }, + "webpack": { + "optional": true + } } }, "node_modules/less/node_modules/make-dir": { @@ -13719,6 +14572,142 @@ "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", "license": "MIT" }, + "node_modules/listr2": { + "version": "8.2.4", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-8.2.4.tgz", + "integrity": "sha512-opevsywziHd3zHCVQGAj8zu+Z3yHNkkoYhWIGnq54RrCVwLz0MozotJEDnKsIBLvkfLGN6BLOyAeRrYI0pKA4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "cli-truncate": "^4.0.0", + "colorette": "^2.0.20", + "eventemitter3": "^5.0.1", + "log-update": "^6.1.0", + "rfdc": "^1.4.1", + "wrap-ansi": "^9.0.0" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/listr2/node_modules/ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/listr2/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/listr2/node_modules/emoji-regex": { + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.4.0.tgz", + "integrity": "sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==", + "dev": true, + "license": "MIT" + }, + "node_modules/listr2/node_modules/eventemitter3": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz", + "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==", + "dev": true, + "license": "MIT" + }, + "node_modules/listr2/node_modules/string-width": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", + "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/listr2/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/listr2/node_modules/wrap-ansi": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.0.tgz", + "integrity": "sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.2.1", + "string-width": "^7.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/lmdb": { + "version": "3.0.13", + "resolved": "https://registry.npmjs.org/lmdb/-/lmdb-3.0.13.tgz", + "integrity": "sha512-UGe+BbaSUQtAMZobTb4nHvFMrmvuAQKSeaqAX2meTEQjfsbpl5sxdHD8T72OnwD4GU9uwNhYXIVe4QGs8N9Zyw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "msgpackr": "^1.10.2", + "node-addon-api": "^6.1.0", + "node-gyp-build-optional-packages": "5.2.2", + "ordered-binary": "^1.4.1", + "weak-lru-cache": "^1.2.2" + }, + "bin": { + "download-lmdb-prebuilds": "bin/download-prebuilds.js" + }, + "optionalDependencies": { + "@lmdb/lmdb-darwin-arm64": "3.0.13", + "@lmdb/lmdb-darwin-x64": "3.0.13", + "@lmdb/lmdb-linux-arm": "3.0.13", + "@lmdb/lmdb-linux-arm64": "3.0.13", + "@lmdb/lmdb-linux-x64": "3.0.13", + "@lmdb/lmdb-win32-x64": "3.0.13" + } + }, "node_modules/loader-runner": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", @@ -13730,9 +14719,9 @@ } }, "node_modules/loader-utils": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.2.1.tgz", - "integrity": "sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.3.1.tgz", + "integrity": "sha512-FMJTLMXfCLMLfJxcX9PFqX5qD88Z5MRGaZCVzfuqeZSPsyiBzs+pahDQjbIWz2QIzPZz0NX9Zy4FX3lmK6YHIg==", "dev": true, "license": "MIT", "engines": { @@ -13823,6 +14812,209 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/log-update": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-6.1.0.tgz", + "integrity": "sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-escapes": "^7.0.0", + "cli-cursor": "^5.0.0", + "slice-ansi": "^7.1.0", + "strip-ansi": "^7.1.0", + "wrap-ansi": "^9.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update/node_modules/ansi-escapes": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-7.0.0.tgz", + "integrity": "sha512-GdYO7a61mR0fOlAsvC9/rIHf7L96sBc6dEWzeOu+KAea5bZyQRPIpojrVoI4AXGJS/ycu/fBTdLrUkA4ODrvjw==", + "dev": true, + "license": "MIT", + "dependencies": { + "environment": "^1.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update/node_modules/ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/log-update/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/log-update/node_modules/cli-cursor": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-5.0.0.tgz", + "integrity": "sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==", + "dev": true, + "license": "MIT", + "dependencies": { + "restore-cursor": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update/node_modules/emoji-regex": { + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.4.0.tgz", + "integrity": "sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==", + "dev": true, + "license": "MIT" + }, + "node_modules/log-update/node_modules/is-fullwidth-code-point": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-5.0.0.tgz", + "integrity": "sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA==", + "dev": true, + "license": "MIT", + "dependencies": { + "get-east-asian-width": "^1.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update/node_modules/onetime": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-7.0.0.tgz", + "integrity": "sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "mimic-function": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update/node_modules/restore-cursor": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-5.1.0.tgz", + "integrity": "sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==", + "dev": true, + "license": "MIT", + "dependencies": { + "onetime": "^7.0.0", + "signal-exit": "^4.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update/node_modules/slice-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-7.1.0.tgz", + "integrity": "sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.2.1", + "is-fullwidth-code-point": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/log-update/node_modules/string-width": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", + "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/log-update/node_modules/wrap-ansi": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.0.tgz", + "integrity": "sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.2.1", + "string-width": "^7.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, "node_modules/log4js": { "version": "6.9.1", "resolved": "https://registry.npmjs.org/log4js/-/log4js-6.9.1.tgz", @@ -13891,16 +15083,13 @@ } }, "node_modules/magic-string": { - "version": "0.30.8", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.8.tgz", - "integrity": "sha512-ISQTe55T2ao7XtlAStud6qwYPZjE4GK1S/BeVPus4jrq6JuOnQ00YKQC581RWhR122W7msZV263KzVeLoqidyQ==", + "version": "0.30.11", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.11.tgz", + "integrity": "sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A==", "dev": true, "license": "MIT", "dependencies": { - "@jridgewell/sourcemap-codec": "^1.4.15" - }, - "engines": { - "node": ">=12" + "@jridgewell/sourcemap-codec": "^1.5.0" } }, "node_modules/make-dir": { @@ -13948,16 +15137,6 @@ "node": "^16.14.0 || >=18.0.0" } }, - "node_modules/make-fetch-happen/node_modules/proc-log": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-4.2.0.tgz", - "integrity": "sha512-g8+OnU/L2v+wyiVK+D5fA34J7EH8jZ8DDlvwhRCMxmMj7UCBvxiO1mGeN+36JXIKF4zevU4kRBd8lVgG9vLelA==", - "dev": true, - "license": "ISC", - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, "node_modules/makeerror": { "version": "1.0.12", "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", @@ -14008,16 +15187,23 @@ } }, "node_modules/memfs": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.5.3.tgz", - "integrity": "sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==", + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-4.17.2.tgz", + "integrity": "sha512-NgYhCOWgovOXSzvYgUW0LQ7Qy72rWQMGGFJDoWg4G30RHd3z77VbYdtJ4fembJXBy8pMIUA31XNAupobOQlwdg==", "dev": true, - "license": "Unlicense", + "license": "Apache-2.0", "dependencies": { - "fs-monkey": "^1.0.4" + "@jsonjoy.com/json-pack": "^1.0.3", + "@jsonjoy.com/util": "^1.3.0", + "tree-dump": "^1.0.1", + "tslib": "^2.0.0" }, "engines": { "node": ">= 4.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" } }, "node_modules/merge-descriptors": { @@ -14140,9 +15326,9 @@ } }, "node_modules/mini-css-extract-plugin": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.8.1.tgz", - "integrity": "sha512-/1HDlyFRxWIZPI1ZpgqlZ8jMw/1Dp/dl3P0L1jtZ+zVcHqwPhGwaJwKL00WVgfnBy6PWCde9W65or7IIETImuA==", + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.9.0.tgz", + "integrity": "sha512-Zs1YsZVfemekSZG+44vBsYTLQORkPMwnlv+aehcxK/NLKC+EGhDB39/YePYYqx/sTk6NnYpuqikhSn7+JIevTA==", "dev": true, "license": "MIT", "dependencies": { @@ -14267,37 +15453,6 @@ "dev": true, "license": "ISC" }, - "node_modules/minipass-json-stream": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/minipass-json-stream/-/minipass-json-stream-1.0.2.tgz", - "integrity": "sha512-myxeeTm57lYs8pH2nxPzmEEg8DGIgW+9mv6D4JZD2pa81I/OBjeU7PtICXV6c9eRGTA5JMDsuIPUZRCyBMYNhg==", - "dev": true, - "license": "MIT", - "dependencies": { - "jsonparse": "^1.3.1", - "minipass": "^3.0.0" - } - }, - "node_modules/minipass-json-stream/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minipass-json-stream/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, - "license": "ISC" - }, "node_modules/minipass-pipeline": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", @@ -14471,6 +15626,39 @@ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "license": "MIT" }, + "node_modules/msgpackr": { + "version": "1.11.4", + "resolved": "https://registry.npmjs.org/msgpackr/-/msgpackr-1.11.4.tgz", + "integrity": "sha512-uaff7RG9VIC4jacFW9xzL3jc0iM32DNHe4jYVycBcjUePT/Klnfj7pqtWJt9khvDFizmjN2TlYniYmSS2LIaZg==", + "dev": true, + "license": "MIT", + "optionalDependencies": { + "msgpackr-extract": "^3.0.2" + } + }, + "node_modules/msgpackr-extract": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/msgpackr-extract/-/msgpackr-extract-3.0.3.tgz", + "integrity": "sha512-P0efT1C9jIdVRefqjzOQ9Xml57zpOXnIuS+csaB4MdZbTdmGDLo8XhzBG1N7aO11gKDDkJvBLULeFTo46wwreA==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "dependencies": { + "node-gyp-build-optional-packages": "5.2.2" + }, + "bin": { + "download-msgpackr-prebuilds": "bin/download-prebuilds.js" + }, + "optionalDependencies": { + "@msgpackr-extract/msgpackr-extract-darwin-arm64": "3.0.3", + "@msgpackr-extract/msgpackr-extract-darwin-x64": "3.0.3", + "@msgpackr-extract/msgpackr-extract-linux-arm": "3.0.3", + "@msgpackr-extract/msgpackr-extract-linux-arm64": "3.0.3", + "@msgpackr-extract/msgpackr-extract-linux-x64": "3.0.3", + "@msgpackr-extract/msgpackr-extract-win32-x64": "3.0.3" + } + }, "node_modules/multicast-dns": { "version": "7.2.5", "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz", @@ -14619,15 +15807,15 @@ } }, "node_modules/ng-packagr": { - "version": "17.3.0", - "resolved": "https://registry.npmjs.org/ng-packagr/-/ng-packagr-17.3.0.tgz", - "integrity": "sha512-kMSqxeDgv88SWCoapWNRRN1UdBgwu9/Pw/j7u2WFGmzrIWUFivNWBBSSL94kMxr2La+Z9wMwiL8EwKNvmCpg2A==", + "version": "18.2.1", + "resolved": "https://registry.npmjs.org/ng-packagr/-/ng-packagr-18.2.1.tgz", + "integrity": "sha512-dy9ZDpZb3QpAz+Y/m8VAu7ctr2VrnRU3gmQwJagnNybVJtCsKn3lZA3IW7Z7GTLoG5IALSPouiCgiB/C8ozv7w==", "dev": true, "license": "MIT", "dependencies": { - "@rollup/plugin-json": "^6.0.1", + "@rollup/plugin-json": "^6.1.0", "@rollup/plugin-node-resolve": "^15.2.3", - "@rollup/wasm-node": "^4.5.0", + "@rollup/wasm-node": "^4.18.0", "ajv": "^8.12.0", "ansi-colors": "^4.1.3", "browserslist": "^4.22.1", @@ -14636,7 +15824,7 @@ "commander": "^12.0.0", "convert-source-map": "^2.0.0", "dependency-graph": "^1.0.0", - "esbuild-wasm": "^0.20.0", + "esbuild": "^0.23.0", "fast-glob": "^3.3.1", "find-cache-dir": "^3.3.2", "injection-js": "^2.4.0", @@ -14652,17 +15840,16 @@ "ng-packagr": "cli/main.js" }, "engines": { - "node": "^18.13.0 || >=20.9.0" + "node": "^18.19.1 || >=20.11.1" }, "optionalDependencies": { - "esbuild": "^0.20.0", - "rollup": "^4.5.0" + "rollup": "^4.18.0" }, "peerDependencies": { - "@angular/compiler-cli": "^17.0.0 || ^17.2.0-next.0 || ^17.3.0-next.0", + "@angular/compiler-cli": "^18.0.0 || ^18.2.0-next.0", "tailwindcss": "^2.0.0 || ^3.0.0", "tslib": "^2.3.0", - "typescript": ">=5.2 <5.5" + "typescript": ">=5.4 <5.6" }, "peerDependenciesMeta": { "tailwindcss": { @@ -14750,7 +15937,7 @@ "node-gyp-build": "^4.2.2" } }, - "node_modules/node-addon-api": { + "node_modules/nice-napi/node_modules/node-addon-api": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.2.1.tgz", "integrity": "sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==", @@ -14758,6 +15945,13 @@ "license": "MIT", "optional": true }, + "node_modules/node-addon-api": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-6.1.0.tgz", + "integrity": "sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==", + "dev": true, + "license": "MIT" + }, "node_modules/node-forge": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", @@ -14806,6 +16000,21 @@ "node-gyp-build-test": "build-test.js" } }, + "node_modules/node-gyp-build-optional-packages": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.2.2.tgz", + "integrity": "sha512-s+w+rBWnpTMwSFbaE0UXsRlg7hU4FjekKU4eyAih5T8nJuNZT1nNsskXpxmeqSK9UzkBl6UgRlnKc8hz8IEqOw==", + "dev": true, + "license": "MIT", + "dependencies": { + "detect-libc": "^2.0.1" + }, + "bin": { + "node-gyp-build-optional-packages": "bin.js", + "node-gyp-build-optional-packages-optional": "optional.js", + "node-gyp-build-optional-packages-test": "build-test.js" + } + }, "node_modules/node-gyp/node_modules/brace-expansion": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", @@ -14903,16 +16112,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/node-gyp/node_modules/proc-log": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-4.2.0.tgz", - "integrity": "sha512-g8+OnU/L2v+wyiVK+D5fA34J7EH8jZ8DDlvwhRCMxmMj7UCBvxiO1mGeN+36JXIKF4zevU4kRBd8lVgG9vLelA==", - "dev": true, - "license": "ISC", - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, "node_modules/node-gyp/node_modules/which": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/which/-/which-4.0.0.tgz", @@ -15028,14 +16227,14 @@ } }, "node_modules/npm-package-arg": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-11.0.1.tgz", - "integrity": "sha512-M7s1BD4NxdAvBKUPqqRW957Xwcl/4Zvo8Aj+ANrzvIPzGJZElrH7Z//rSaec2ORcND6FHHLnZeY8qgTpXDMFQQ==", + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-11.0.3.tgz", + "integrity": "sha512-sHGJy8sOC1YraBywpzQlIKBE4pBbGbiF95U6Auspzyem956E0+FtDtsx1ZxlOJkQCZ1AFXAY/yuvtFYrOxF+Bw==", "dev": true, "license": "ISC", "dependencies": { "hosted-git-info": "^7.0.0", - "proc-log": "^3.0.0", + "proc-log": "^4.0.0", "semver": "^7.3.5", "validate-npm-package-name": "^5.0.0" }, @@ -15057,9 +16256,9 @@ } }, "node_modules/npm-pick-manifest": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-9.0.0.tgz", - "integrity": "sha512-VfvRSs/b6n9ol4Qb+bDwNGUXutpy76x6MARw/XssevE0TnctIKcmklJZM5Z7nqs5z5aW+0S63pgCNbpkUNNXBg==", + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-9.1.0.tgz", + "integrity": "sha512-nkc+3pIIhqHVQr085X9d2JzPzLyjzQS96zbruppqC9aZRm/x8xx6xhI98gHtsfELP2bE+loHq8ZaHFHhe+NauA==", "dev": true, "license": "ISC", "dependencies": { @@ -15073,17 +16272,17 @@ } }, "node_modules/npm-registry-fetch": { - "version": "16.2.1", - "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-16.2.1.tgz", - "integrity": "sha512-8l+7jxhim55S85fjiDGJ1rZXBWGtRLi1OSb4Z3BPLObPuIaeKRlPRiYMSHU4/81ck3t71Z+UwDDl47gcpmfQQA==", + "version": "17.1.0", + "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-17.1.0.tgz", + "integrity": "sha512-5+bKQRH0J1xG1uZ1zMNvxW0VEyoNWgJpY9UDuluPFLKDfJ9u2JmmjmTJV1srBGQOROfdBMiVvnH2Zvpbm+xkVA==", "dev": true, "license": "ISC", "dependencies": { - "@npmcli/redact": "^1.1.0", + "@npmcli/redact": "^2.0.0", + "jsonparse": "^1.3.1", "make-fetch-happen": "^13.0.0", "minipass": "^7.0.2", "minipass-fetch": "^3.0.0", - "minipass-json-stream": "^1.0.1", "minizlib": "^2.1.2", "npm-package-arg": "^11.0.0", "proc-log": "^4.0.0" @@ -15092,16 +16291,6 @@ "node": "^16.14.0 || >=18.0.0" } }, - "node_modules/npm-registry-fetch/node_modules/proc-log": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-4.2.0.tgz", - "integrity": "sha512-g8+OnU/L2v+wyiVK+D5fA34J7EH8jZ8DDlvwhRCMxmMj7UCBvxiO1mGeN+36JXIKF4zevU4kRBd8lVgG9vLelA==", - "dev": true, - "license": "ISC", - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, "node_modules/npm-run-path": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", @@ -15212,16 +16401,30 @@ } }, "node_modules/open": { - "version": "8.4.2", - "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", - "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/open/-/open-10.1.0.tgz", + "integrity": "sha512-mnkeQ1qP5Ue2wd+aivTD3NHd/lZ96Lu0jgf0pwktLPtx6cTZiH7tyeGRRHs0zX0rbrahXPnXlUnbeXyaBBuIaw==", "dev": true, "license": "MIT", "dependencies": { - "define-lazy-prop": "^2.0.0", - "is-docker": "^2.1.1", - "is-wsl": "^2.2.0" + "default-browser": "^5.2.1", + "define-lazy-prop": "^3.0.0", + "is-inside-container": "^1.0.0", + "is-wsl": "^3.1.0" }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/open/node_modules/define-lazy-prop": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", + "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==", + "dev": true, + "license": "MIT", "engines": { "node": ">=12" }, @@ -15229,6 +16432,22 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/open/node_modules/is-wsl": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.0.tgz", + "integrity": "sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-inside-container": "^1.0.0" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/opencollective-postinstall": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz", @@ -15263,6 +16482,13 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/ordered-binary": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/ordered-binary/-/ordered-binary-1.6.0.tgz", + "integrity": "sha512-IQh2aMfMIDbPjI/8a3Edr+PiOpcsB7yo8NdW7aHWVaoR/pcDldunMvnnwbk/auPGqmKeAdxtZl7MHX/QmPwhvQ==", + "dev": true, + "license": "MIT" + }, "node_modules/os-name": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/os-name/-/os-name-4.0.1.tgz", @@ -15349,17 +16575,21 @@ } }, "node_modules/p-retry": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz", - "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-6.2.1.tgz", + "integrity": "sha512-hEt02O4hUct5wtwg4H4KcWgDdm+l1bOaEy/hWzd8xtXB9BqxTWBBhb+2ImAtH4Cv4rPjV76xN3Zumqk3k3AhhQ==", "dev": true, "license": "MIT", "dependencies": { - "@types/retry": "0.12.0", + "@types/retry": "0.12.2", + "is-network-error": "^1.0.0", "retry": "^0.13.1" }, "engines": { - "node": ">=8" + "node": ">=16.17" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/p-retry/node_modules/retry": { @@ -15470,33 +16700,32 @@ "license": "BlueOak-1.0.0" }, "node_modules/pacote": { - "version": "17.0.6", - "resolved": "https://registry.npmjs.org/pacote/-/pacote-17.0.6.tgz", - "integrity": "sha512-cJKrW21VRE8vVTRskJo78c/RCvwJCn1f4qgfxL4w77SOWrTCRcmfkYHlHtS0gqpgjv3zhXflRtgsrUCX5xwNnQ==", + "version": "18.0.6", + "resolved": "https://registry.npmjs.org/pacote/-/pacote-18.0.6.tgz", + "integrity": "sha512-+eK3G27SMwsB8kLIuj4h1FUhHtwiEUo21Tw8wNjmvdlpOEr613edv+8FUsTj/4F/VN5ywGE19X18N7CC2EJk6A==", "dev": true, "license": "ISC", "dependencies": { "@npmcli/git": "^5.0.0", "@npmcli/installed-package-contents": "^2.0.1", + "@npmcli/package-json": "^5.1.0", "@npmcli/promise-spawn": "^7.0.0", - "@npmcli/run-script": "^7.0.0", + "@npmcli/run-script": "^8.0.0", "cacache": "^18.0.0", "fs-minipass": "^3.0.0", "minipass": "^7.0.2", "npm-package-arg": "^11.0.0", "npm-packlist": "^8.0.0", "npm-pick-manifest": "^9.0.0", - "npm-registry-fetch": "^16.0.0", - "proc-log": "^3.0.0", + "npm-registry-fetch": "^17.0.0", + "proc-log": "^4.0.0", "promise-retry": "^2.0.1", - "read-package-json": "^7.0.0", - "read-package-json-fast": "^3.0.0", "sigstore": "^2.2.0", "ssri": "^10.0.0", "tar": "^6.1.11" }, "bin": { - "pacote": "lib/bin.js" + "pacote": "bin/index.js" }, "engines": { "node": "^16.14.0 || >=18.0.0" @@ -15722,13 +16951,16 @@ "license": "MIT" }, "node_modules/path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-6.0.0.tgz", + "integrity": "sha512-Vj7sf++t5pBD637NSfkxpHSMfWaeig5+DKWLhcqIYx6mWQz5hdJTGDVMQiJcw1ZYkhs7AazKDGpRVji1LJCZUQ==", "dev": true, "license": "MIT", "engines": { - "node": ">=8" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/pause-stream": { @@ -15784,9 +17016,9 @@ } }, "node_modules/piscina": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/piscina/-/piscina-4.4.0.tgz", - "integrity": "sha512-+AQduEJefrOApE4bV7KRmp3N2JnnyErlVqq4P/jmko4FPz9Z877BCccl/iB3FdrWSUkvbGV9Kan/KllJgat3Vg==", + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/piscina/-/piscina-4.6.1.tgz", + "integrity": "sha512-z30AwWGtQE+Apr+2WBZensP2lIvwoaMcOPkQlIEmSGMJNUvaYACylPYrQM6wSdUNJlnDVMSpLv7xTMJqlVshOA==", "dev": true, "license": "MIT", "optionalDependencies": { @@ -15898,9 +17130,9 @@ } }, "node_modules/postcss": { - "version": "8.4.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.35.tgz", - "integrity": "sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==", + "version": "8.4.41", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.41.tgz", + "integrity": "sha512-TesUflQ0WKZqAvg52PWL6kHgLKP6xB6heTOdoYM0Wt2UHyxNa4K25EZZMgKns3BH1RLVbZCREPpLY0rhnNoHVQ==", "dev": true, "funding": [ { @@ -15919,8 +17151,8 @@ "license": "MIT", "dependencies": { "nanoid": "^3.3.7", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" + "picocolors": "^1.0.1", + "source-map-js": "^1.2.0" }, "engines": { "node": "^10 || ^12 || >=14" @@ -16086,9 +17318,9 @@ } }, "node_modules/proc-log": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-3.0.0.tgz", - "integrity": "sha512-++Vn7NS4Xf9NacaU9Xq3URUuqZETPsf8L4j5/ckhaRYsfPeRyzGw+iDjFhV/Jr3uNmTvvddEJFWh5R1gRgUH8A==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-4.2.0.tgz", + "integrity": "sha512-g8+OnU/L2v+wyiVK+D5fA34J7EH8jZ8DDlvwhRCMxmMj7UCBvxiO1mGeN+36JXIKF4zevU4kRBd8lVgG9vLelA==", "dev": true, "license": "ISC", "engines": { @@ -16442,150 +17674,32 @@ "minimist": "^1.2.0", "strip-json-comments": "~2.0.1" }, - "bin": { - "rc": "cli.js" - } - }, - "node_modules/rc/node_modules/ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", - "dev": true, - "license": "ISC" - }, - "node_modules/rc/node_modules/strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/react-is": { - "version": "18.3.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", - "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", - "license": "MIT" - }, - "node_modules/read-package-json": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-7.0.1.tgz", - "integrity": "sha512-8PcDiZ8DXUjLf687Ol4BR8Bpm2umR7vhoZOzNRt+uxD9GpBh/K+CAAALVIiYFknmvlmyg7hM7BSNUXPaCCqd0Q==", - "deprecated": "This package is no longer supported. Please use @npmcli/package-json instead.", - "dev": true, - "license": "ISC", - "dependencies": { - "glob": "^10.2.2", - "json-parse-even-better-errors": "^3.0.0", - "normalize-package-data": "^6.0.0", - "npm-normalize-package-bin": "^3.0.0" - }, - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, - "node_modules/read-package-json-fast": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-3.0.2.tgz", - "integrity": "sha512-0J+Msgym3vrLOUB3hzQCuZHII0xkNGCtz/HJH9xZshwv9DbDwkw1KaE3gx/e2J5rpEY5rtOy6cyhKOPrkP7FZw==", - "dev": true, - "license": "ISC", - "dependencies": { - "json-parse-even-better-errors": "^3.0.0", - "npm-normalize-package-bin": "^3.0.0" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/read-package-json/node_modules/brace-expansion": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", - "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/read-package-json/node_modules/glob": { - "version": "10.4.5", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", - "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", - "dev": true, - "license": "ISC", - "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^3.1.2", - "minimatch": "^9.0.4", - "minipass": "^7.1.2", - "package-json-from-dist": "^1.0.0", - "path-scurry": "^1.11.1" - }, - "bin": { - "glob": "dist/esm/bin.mjs" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/read-package-json/node_modules/jackspeak": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", - "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", - "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "@isaacs/cliui": "^8.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - }, - "optionalDependencies": { - "@pkgjs/parseargs": "^0.11.0" + "bin": { + "rc": "cli.js" } }, - "node_modules/read-package-json/node_modules/lru-cache": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", - "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "node_modules/rc/node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", "dev": true, "license": "ISC" }, - "node_modules/read-package-json/node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "node_modules/rc/node_modules/strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, + "license": "MIT", "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">=0.10.0" } }, - "node_modules/read-package-json/node_modules/path-scurry": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", - "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", - "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "lru-cache": "^10.2.0", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" - }, - "engines": { - "node": ">=16 || 14 >=14.18" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } + "node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "license": "MIT" }, "node_modules/readable-stream": { "version": "3.6.2", @@ -16852,19 +17966,6 @@ "node": ">=8" } }, - "node_modules/release-it/node_modules/define-lazy-prop": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", - "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/release-it/node_modules/emoji-regex": { "version": "10.4.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.4.0.tgz", @@ -17018,22 +18119,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/release-it/node_modules/is-wsl": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.0.tgz", - "integrity": "sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-inside-container": "^1.0.0" - }, - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/release-it/node_modules/macos-release": { "version": "3.4.0", "resolved": "https://registry.npmjs.org/macos-release/-/macos-release-3.4.0.tgz", @@ -17092,25 +18177,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/release-it/node_modules/open": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/open/-/open-10.1.0.tgz", - "integrity": "sha512-mnkeQ1qP5Ue2wd+aivTD3NHd/lZ96Lu0jgf0pwktLPtx6cTZiH7tyeGRRHs0zX0rbrahXPnXlUnbeXyaBBuIaw==", - "dev": true, - "license": "MIT", - "dependencies": { - "default-browser": "^5.2.1", - "define-lazy-prop": "^3.0.0", - "is-inside-container": "^1.0.0", - "is-wsl": "^3.1.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/release-it/node_modules/ora": { "version": "8.1.1", "resolved": "https://registry.npmjs.org/ora/-/ora-8.1.1.tgz", @@ -17317,32 +18383,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/release-it/node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/release-it/node_modules/slash": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-5.1.0.tgz", - "integrity": "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/release-it/node_modules/strip-final-newline": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", @@ -17715,13 +18755,13 @@ } }, "node_modules/rollup": { - "version": "4.44.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.44.1.tgz", - "integrity": "sha512-x8H8aPvD+xbl0Do8oez5f5o8eMS3trfCghc4HhLAnCkj7Vl0d1JWGs0UF/D886zLW2rOj2QymV/JcSSsw+XDNg==", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.22.4.tgz", + "integrity": "sha512-vD8HJ5raRcWOyymsR6Z3o6+RzfEPCnVLMFJ6vRslO1jt4LO6dUo5Qnpg7y4RkZFM2DMe3WUirkI5c16onjrc6A==", "dev": true, "license": "MIT", "dependencies": { - "@types/estree": "1.0.8" + "@types/estree": "1.0.5" }, "bin": { "rollup": "dist/bin/rollup" @@ -17731,29 +18771,32 @@ "npm": ">=8.0.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.44.1", - "@rollup/rollup-android-arm64": "4.44.1", - "@rollup/rollup-darwin-arm64": "4.44.1", - "@rollup/rollup-darwin-x64": "4.44.1", - "@rollup/rollup-freebsd-arm64": "4.44.1", - "@rollup/rollup-freebsd-x64": "4.44.1", - "@rollup/rollup-linux-arm-gnueabihf": "4.44.1", - "@rollup/rollup-linux-arm-musleabihf": "4.44.1", - "@rollup/rollup-linux-arm64-gnu": "4.44.1", - "@rollup/rollup-linux-arm64-musl": "4.44.1", - "@rollup/rollup-linux-loongarch64-gnu": "4.44.1", - "@rollup/rollup-linux-powerpc64le-gnu": "4.44.1", - "@rollup/rollup-linux-riscv64-gnu": "4.44.1", - "@rollup/rollup-linux-riscv64-musl": "4.44.1", - "@rollup/rollup-linux-s390x-gnu": "4.44.1", - "@rollup/rollup-linux-x64-gnu": "4.44.1", - "@rollup/rollup-linux-x64-musl": "4.44.1", - "@rollup/rollup-win32-arm64-msvc": "4.44.1", - "@rollup/rollup-win32-ia32-msvc": "4.44.1", - "@rollup/rollup-win32-x64-msvc": "4.44.1", + "@rollup/rollup-android-arm-eabi": "4.22.4", + "@rollup/rollup-android-arm64": "4.22.4", + "@rollup/rollup-darwin-arm64": "4.22.4", + "@rollup/rollup-darwin-x64": "4.22.4", + "@rollup/rollup-linux-arm-gnueabihf": "4.22.4", + "@rollup/rollup-linux-arm-musleabihf": "4.22.4", + "@rollup/rollup-linux-arm64-gnu": "4.22.4", + "@rollup/rollup-linux-arm64-musl": "4.22.4", + "@rollup/rollup-linux-powerpc64le-gnu": "4.22.4", + "@rollup/rollup-linux-riscv64-gnu": "4.22.4", + "@rollup/rollup-linux-s390x-gnu": "4.22.4", + "@rollup/rollup-linux-x64-gnu": "4.22.4", + "@rollup/rollup-linux-x64-musl": "4.22.4", + "@rollup/rollup-win32-arm64-msvc": "4.22.4", + "@rollup/rollup-win32-ia32-msvc": "4.22.4", + "@rollup/rollup-win32-x64-msvc": "4.22.4", "fsevents": "~2.3.2" } }, + "node_modules/rollup/node_modules/@types/estree": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", + "dev": true, + "license": "MIT" + }, "node_modules/run-applescript": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-7.0.0.tgz", @@ -17849,9 +18892,9 @@ "license": "Apache-2.0" }, "node_modules/sass": { - "version": "1.71.1", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.71.1.tgz", - "integrity": "sha512-wovtnV2PxzteLlfNzbgm1tFXPLoZILYAMJtvoXXkD7/+1uP41eKkIt1ypWq5/q2uT94qHjXehEYfmjKOvjL9sg==", + "version": "1.77.6", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.77.6.tgz", + "integrity": "sha512-ByXE1oLD79GVq9Ht1PeHWCPMPB8XHpBuz1r85oByKHjZY6qV6rWnQovQzXJXuQ/XyE1Oj3iPk3lo28uzaRA2/Q==", "dev": true, "license": "MIT", "dependencies": { @@ -17867,9 +18910,9 @@ } }, "node_modules/sass-loader": { - "version": "14.1.1", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-14.1.1.tgz", - "integrity": "sha512-QX8AasDg75monlybel38BZ49JP5Z+uSKfKwF2rO7S74BywaRmGQMUBw9dtkS+ekyM/QnP+NOrRYq8ABMZ9G8jw==", + "version": "16.0.0", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-16.0.0.tgz", + "integrity": "sha512-n13Z+3rU9A177dk4888czcVFiC8CL9dii4qpXWUg3YIIgZEvi9TCFKjOQcbK0kJM7DJu9VucrZFddvNfYCPwtw==", "dev": true, "license": "MIT", "dependencies": { @@ -17970,13 +19013,10 @@ } }, "node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", "license": "ISC", - "dependencies": { - "lru-cache": "^6.0.0" - }, "bin": { "semver": "bin/semver.js" }, @@ -17984,24 +19024,6 @@ "node": ">=10" } }, - "node_modules/semver/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==", - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/semver/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "license": "ISC" - }, "node_modules/send": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/send/-/send-1.2.0.tgz", @@ -18291,24 +19313,6 @@ "node": ">= 0.8" } }, - "node_modules/set-function-length": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", - "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", - "dev": true, - "license": "MIT", - "dependencies": { - "define-data-property": "^1.1.4", - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.4", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, "node_modules/setprototypeof": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", @@ -18530,9 +19534,52 @@ "license": "MIT" }, "node_modules/slash": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-5.1.0.tgz", + "integrity": "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/slice-ansi": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-5.0.0.tgz", + "integrity": "sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.0.0", + "is-fullwidth-code-point": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/slice-ansi/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/slice-ansi/node_modules/is-fullwidth-code-point": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", - "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz", + "integrity": "sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==", "dev": true, "license": "MIT", "engines": { @@ -19291,9 +20338,9 @@ "license": "ISC" }, "node_modules/terser": { - "version": "5.29.1", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.29.1.tgz", - "integrity": "sha512-lZQ/fyaIGxsbGxApKmoPTODIzELy3++mXhS5hOqaAWZjQtpq/hFHAc+rm29NND1rYRxRWKcjuARNwULNXa5RtQ==", + "version": "5.31.6", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.31.6.tgz", + "integrity": "sha512-PQ4DAriWzKj+qgehQ7LK5bQqCFNMmlhjR2PFFLuqGCpuCAauxemVBWwWOxo3UIwWQx8+Pr61Df++r76wDmkQBg==", "dev": true, "license": "BSD-2-Clause", "dependencies": { @@ -19455,6 +20502,19 @@ "node": "*" } }, + "node_modules/thingies": { + "version": "1.21.0", + "resolved": "https://registry.npmjs.org/thingies/-/thingies-1.21.0.tgz", + "integrity": "sha512-hsqsJsFMsV+aD4s3CWKk85ep/3I9XzYV/IXaSouJMYIoDlgyi11cBhsqYe9/geRfB0YIikBQg6raRaM+nIMP9g==", + "dev": true, + "license": "Unlicense", + "engines": { + "node": ">=10.18" + }, + "peerDependencies": { + "tslib": "^2" + } + }, "node_modules/through": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", @@ -19599,6 +20659,23 @@ "node": ">=6" } }, + "node_modules/tree-dump": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tree-dump/-/tree-dump-1.0.3.tgz", + "integrity": "sha512-il+Cv80yVHFBwokQSfd4bldvr1Md951DpgAGfmhydt04L+YzHgubm2tQ7zueWDcGENKHq0ZvGFR/hjvNXilHEg==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, "node_modules/tree-kill": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", @@ -19829,9 +20906,9 @@ "license": "MIT" }, "node_modules/typescript": { - "version": "5.3.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz", - "integrity": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==", + "version": "5.5.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.5.4.tgz", + "integrity": "sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==", "license": "Apache-2.0", "bin": { "tsc": "bin/tsc", @@ -20783,9 +21860,9 @@ } }, "node_modules/watchpack": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", - "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.1.tgz", + "integrity": "sha512-8wrBCMtVhqcXP2Sup1ctSkga6uc2Bx0IIvKyT7yTFier5AXHooSI+QyQQAtTb7+E0IUCCKyTFmXqdqgum2XWGg==", "dev": true, "license": "MIT", "dependencies": { @@ -20816,6 +21893,13 @@ "defaults": "^1.0.3" } }, + "node_modules/weak-lru-cache": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/weak-lru-cache/-/weak-lru-cache-1.2.2.tgz", + "integrity": "sha512-DEAoo25RfSYMuTGc9vPJzZcZullwIqRDSI9LOy+fkCJPi6hykCnfKaXTuPBDuXAUcqHXyOgFtHNp/kB2FjYHbw==", + "dev": true, + "license": "MIT" + }, "node_modules/webidl-conversions": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", @@ -20874,20 +21958,21 @@ } }, "node_modules/webpack-dev-middleware": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-6.1.2.tgz", - "integrity": "sha512-Wu+EHmX326YPYUpQLKmKbTyZZJIB8/n6R09pTmB03kJmnMsVPTo9COzHZFr01txwaCAuZvfBJE4ZCHRcKs5JaQ==", + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-7.4.2.tgz", + "integrity": "sha512-xOO8n6eggxnwYpy1NlzUKpvrjfJTvae5/D6WOK0S2LSo7vjmo5gCM1DbLUmFqrMTJP+W/0YZNctm7jasWvLuBA==", "dev": true, "license": "MIT", "dependencies": { "colorette": "^2.0.10", - "memfs": "^3.4.12", + "memfs": "^4.6.0", "mime-types": "^2.1.31", + "on-finished": "^2.4.1", "range-parser": "^1.2.1", "schema-utils": "^4.0.0" }, "engines": { - "node": ">= 14.15.0" + "node": ">= 18.12.0" }, "funding": { "type": "opencollective", @@ -20902,56 +21987,67 @@ } } }, + "node_modules/webpack-dev-middleware/node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dev": true, + "license": "MIT", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/webpack-dev-server": { - "version": "4.15.1", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.15.1.tgz", - "integrity": "sha512-5hbAst3h3C3L8w6W4P96L5vaV0PxSmJhxZvWKYIdgxOQm8pNZ5dEOmmSLBVpP85ReeyRt6AS1QJNyo/oFFPeVA==", + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-5.2.2.tgz", + "integrity": "sha512-QcQ72gh8a+7JO63TAx/6XZf/CWhgMzu5m0QirvPfGvptOusAxG12w2+aua1Jkjr7hzaWDnJ2n6JFeexMHI+Zjg==", "dev": true, "license": "MIT", "dependencies": { - "@types/bonjour": "^3.5.9", - "@types/connect-history-api-fallback": "^1.3.5", - "@types/express": "^4.17.13", - "@types/serve-index": "^1.9.1", - "@types/serve-static": "^1.13.10", - "@types/sockjs": "^0.3.33", - "@types/ws": "^8.5.5", + "@types/bonjour": "^3.5.13", + "@types/connect-history-api-fallback": "^1.5.4", + "@types/express": "^4.17.21", + "@types/express-serve-static-core": "^4.17.21", + "@types/serve-index": "^1.9.4", + "@types/serve-static": "^1.15.5", + "@types/sockjs": "^0.3.36", + "@types/ws": "^8.5.10", "ansi-html-community": "^0.0.8", - "bonjour-service": "^1.0.11", - "chokidar": "^3.5.3", + "bonjour-service": "^1.2.1", + "chokidar": "^3.6.0", "colorette": "^2.0.10", "compression": "^1.7.4", "connect-history-api-fallback": "^2.0.0", - "default-gateway": "^6.0.3", - "express": "^4.17.3", + "express": "^4.21.2", "graceful-fs": "^4.2.6", - "html-entities": "^2.3.2", - "http-proxy-middleware": "^2.0.3", - "ipaddr.js": "^2.0.1", - "launch-editor": "^2.6.0", - "open": "^8.0.9", - "p-retry": "^4.5.0", - "rimraf": "^3.0.2", - "schema-utils": "^4.0.0", - "selfsigned": "^2.1.1", + "http-proxy-middleware": "^2.0.9", + "ipaddr.js": "^2.1.0", + "launch-editor": "^2.6.1", + "open": "^10.0.3", + "p-retry": "^6.2.0", + "schema-utils": "^4.2.0", + "selfsigned": "^2.4.1", "serve-index": "^1.9.1", "sockjs": "^0.3.24", "spdy": "^4.0.2", - "webpack-dev-middleware": "^5.3.1", - "ws": "^8.13.0" + "webpack-dev-middleware": "^7.4.2", + "ws": "^8.18.0" }, "bin": { "webpack-dev-server": "bin/webpack-dev-server.js" }, "engines": { - "node": ">= 12.13.0" + "node": ">= 18.12.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/webpack" }, "peerDependencies": { - "webpack": "^4.37.0 || ^5.0.0" + "webpack": "^5.0.0" }, "peerDependenciesMeta": { "webpack": { @@ -20962,43 +22058,44 @@ } } }, - "node_modules/webpack-dev-server/node_modules/webpack-dev-middleware": { - "version": "5.3.4", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.4.tgz", - "integrity": "sha512-BVdTqhhs+0IfoeAf7EoH5WE+exCmqGerHfDM0IL096Px60Tq2Mn9MAbnaGUe6HiMa41KMCYF19gyzZmBcq/o4Q==", + "node_modules/webpack-dev-server/node_modules/http-proxy-middleware": { + "version": "2.0.9", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.9.tgz", + "integrity": "sha512-c1IyJYLYppU574+YI7R4QyX2ystMtVXZwIdzazUIPIJsHuWNd+mho2j+bKoHftndicGj9yh+xjd+l0yj7VeT1Q==", "dev": true, "license": "MIT", "dependencies": { - "colorette": "^2.0.10", - "memfs": "^3.4.3", - "mime-types": "^2.1.31", - "range-parser": "^1.2.1", - "schema-utils": "^4.0.0" + "@types/http-proxy": "^1.17.8", + "http-proxy": "^1.18.1", + "is-glob": "^4.0.1", + "is-plain-obj": "^3.0.0", + "micromatch": "^4.0.2" }, "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "node": ">=12.0.0" }, "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" + "@types/express": "^4.17.13" + }, + "peerDependenciesMeta": { + "@types/express": { + "optional": true + } } }, "node_modules/webpack-merge": { - "version": "5.10.0", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.10.0.tgz", - "integrity": "sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-6.0.1.tgz", + "integrity": "sha512-hXXvrjtx2PLYx4qruKl+kyRSLc52V+cCvMxRjmKwoA+CBbbF5GfIBtR6kCvl0fYGqTUPKB+1ktVmTHqMOzgCBg==", "dev": true, "license": "MIT", "dependencies": { "clone-deep": "^4.0.1", "flat": "^5.0.2", - "wildcard": "^2.0.0" + "wildcard": "^2.0.1" }, "engines": { - "node": ">=10.0.0" + "node": ">=18.0.0" } }, "node_modules/webpack-sources": { diff --git a/package.json b/package.json index 9805e1c..0873577 100644 --- a/package.json +++ b/package.json @@ -21,16 +21,16 @@ }, "private": true, "dependencies": { - "@angular/animations": "^17.1.3", + "@angular/animations": "^18.2.13", "@angular/cdk": "^17.1.2", - "@angular/common": "^17.1.3", - "@angular/compiler": "^17.1.3", - "@angular/core": "^17.1.3", - "@angular/forms": "^17.1.3", + "@angular/common": "^18.2.13", + "@angular/compiler": "^18.2.13", + "@angular/core": "^18.2.13", + "@angular/forms": "^18.2.13", "@angular/material": "^17.1.2", - "@angular/platform-browser": "^17.1.3", - "@angular/platform-browser-dynamic": "^17.1.3", - "@angular/router": "^17.1.3", + "@angular/platform-browser": "^18.2.13", + "@angular/platform-browser-dynamic": "^18.2.13", + "@angular/router": "^18.2.13", "@types/web-bluetooth": "0.0.6", "rxjs": "~7.8.0", "smoothie": "^1.35.0", @@ -40,11 +40,11 @@ }, "devDependencies": { "@angular-builders/jest": "^17.0.0", - "@angular-devkit/build-angular": "^17.1.3", - "@angular-devkit/core": "^17.1.3", - "@angular/cli": "^17.1.3", - "@angular/compiler-cli": "^17.1.3", - "@angular/language-service": "^17.1.3", + "@angular-devkit/build-angular": "^18.2.20", + "@angular-devkit/core": "^18.2.20", + "@angular/cli": "^18.2.20", + "@angular/compiler-cli": "^18.2.13", + "@angular/language-service": "^18.2.13", "@compodoc/compodoc": "^1.1.11", "@types/jasmine": "~5.1.4", "@types/jasminewd2": "~2.0.8", @@ -59,8 +59,8 @@ "karma-coverage": "~2.2.0", "karma-jasmine": "~5.1.0", "karma-jasmine-html-reporter": "~2.1.0", - "ng-packagr": "^17.1.2", + "ng-packagr": "^18.2.1", "release-it": "^17.0.3", - "typescript": "~5.3.3" + "typescript": "~5.5.4" } } From e9046d48948fcb11de4a5a035c26ee4a082a71a9 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 27 Jun 2025 07:43:09 +0000 Subject: [PATCH 03/10] Update Angular Material, CDK and jest builder to v18 Co-authored-by: manekinekko <1699357+manekinekko@users.noreply.github.com> --- package-lock.json | 1158 ++------------------------------------------- package.json | 6 +- 2 files changed, 51 insertions(+), 1113 deletions(-) diff --git a/package-lock.json b/package-lock.json index 1a657f8..bc313fc 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,12 +9,12 @@ "version": "17.1.0", "dependencies": { "@angular/animations": "^18.2.13", - "@angular/cdk": "^17.1.2", + "@angular/cdk": "^18.2.14", "@angular/common": "^18.2.13", "@angular/compiler": "^18.2.13", "@angular/core": "^18.2.13", "@angular/forms": "^18.2.13", - "@angular/material": "^17.1.2", + "@angular/material": "^18.2.14", "@angular/platform-browser": "^18.2.13", "@angular/platform-browser-dynamic": "^18.2.13", "@angular/router": "^18.2.13", @@ -26,7 +26,7 @@ "zone.js": "~0.14.3" }, "devDependencies": { - "@angular-builders/jest": "^17.0.0", + "@angular-builders/jest": "^18.0.0", "@angular-devkit/build-angular": "^18.2.20", "@angular-devkit/core": "^18.2.20", "@angular/cli": "^18.2.20", @@ -72,13 +72,13 @@ } }, "node_modules/@angular-builders/common": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@angular-builders/common/-/common-1.0.2.tgz", - "integrity": "sha512-lUusRq6jN1It5LcUTLS6Q+AYAYGTo/EEN8hV0M6Ek9qXzweAouJaSEnwv7p04/pD7yJTl0YOCbN79u+wGm3x4g==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@angular-builders/common/-/common-2.0.0.tgz", + "integrity": "sha512-O5YJc++DtJVJhqA/OomRKN2jGYzvU/YXtfrPAqcA9Is3Ob5jvV0L0JHSAjSw/KaLvk/FjBIqoRVcYdLp5LKddA==", "dev": true, "license": "MIT", "dependencies": { - "@angular-devkit/core": "^17.1.0", + "@angular-devkit/core": "^18.0.0", "ts-node": "^10.0.0", "tsconfig-paths": "^4.1.0" }, @@ -86,107 +86,34 @@ "node": "^14.20.0 || ^16.13.0 || >=18.10.0" } }, - "node_modules/@angular-builders/common/node_modules/@angular-devkit/core": { - "version": "17.3.17", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-17.3.17.tgz", - "integrity": "sha512-7aNVqS3rOGsSZYAOO44xl2KURwaoOP+EJhJs+LqOGOFpok2kd8YLf4CAMUossMF4H7HsJpgKwYqGrV5eXunrpw==", - "dev": true, - "license": "MIT", - "dependencies": { - "ajv": "8.12.0", - "ajv-formats": "2.1.1", - "jsonc-parser": "3.2.1", - "picomatch": "4.0.1", - "rxjs": "7.8.1", - "source-map": "0.7.4" - }, - "engines": { - "node": "^18.13.0 || >=20.9.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" - }, - "peerDependencies": { - "chokidar": "^3.5.2" - }, - "peerDependenciesMeta": { - "chokidar": { - "optional": true - } - } - }, - "node_modules/@angular-builders/common/node_modules/jsonc-parser": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.1.tgz", - "integrity": "sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@angular-builders/common/node_modules/rxjs": { - "version": "7.8.1", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", - "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.1.0" - } - }, "node_modules/@angular-builders/jest": { - "version": "17.0.3", - "resolved": "https://registry.npmjs.org/@angular-builders/jest/-/jest-17.0.3.tgz", - "integrity": "sha512-LW4s8t+NLnWR7Aud+EZup8dOBfQF8rfOIncsarDtP/48rz/Ucnzvum7xEt/NYAlZ6y/Dpk7wO6SlqAsaOPf8mA==", + "version": "18.0.0", + "resolved": "https://registry.npmjs.org/@angular-builders/jest/-/jest-18.0.0.tgz", + "integrity": "sha512-nPNWMlV1ryjir6CC8dY8f6yaNe0lM1VJwbvYM99HmJSeRo+1IwouQQGUjRM/2Dx4OMAmL4EAPh7Ud2nr3Gj/FA==", "dev": true, "license": "MIT", "dependencies": { - "@angular-builders/common": "1.0.2", - "@angular-devkit/architect": ">=0.1700.0 < 0.1800.0", - "@angular-devkit/core": "^17.0.0", - "jest-preset-angular": "14.0.3", + "@angular-builders/common": "2.0.0", + "@angular-devkit/architect": ">=0.1800.0 < 0.1900.0", + "@angular-devkit/core": "^18.0.0", + "jest-preset-angular": "14.1.0", "lodash": "^4.17.15" }, "engines": { "node": "^14.20.0 || ^16.13.0 || >=18.10.0" }, "peerDependencies": { - "@angular-devkit/build-angular": "^17.0.0", - "@angular/compiler-cli": "^17.0.0", - "@angular/core": "^17.0.0", - "@angular/platform-browser-dynamic": "^17.0.0", + "@angular-devkit/build-angular": "^18.0.0", + "@angular/compiler-cli": "^18.0.0", + "@angular/core": "^18.0.0", + "@angular/platform-browser-dynamic": "^18.0.0", "jest": ">=29" } }, - "node_modules/@angular-builders/jest/node_modules/@angular-devkit/core": { - "version": "17.3.17", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-17.3.17.tgz", - "integrity": "sha512-7aNVqS3rOGsSZYAOO44xl2KURwaoOP+EJhJs+LqOGOFpok2kd8YLf4CAMUossMF4H7HsJpgKwYqGrV5eXunrpw==", - "dev": true, - "license": "MIT", - "dependencies": { - "ajv": "8.12.0", - "ajv-formats": "2.1.1", - "jsonc-parser": "3.2.1", - "picomatch": "4.0.1", - "rxjs": "7.8.1", - "source-map": "0.7.4" - }, - "engines": { - "node": "^18.13.0 || >=20.9.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" - }, - "peerDependencies": { - "chokidar": "^3.5.2" - }, - "peerDependenciesMeta": { - "chokidar": { - "optional": true - } - } - }, "node_modules/@angular-builders/jest/node_modules/jest-preset-angular": { - "version": "14.0.3", - "resolved": "https://registry.npmjs.org/jest-preset-angular/-/jest-preset-angular-14.0.3.tgz", - "integrity": "sha512-usgBL7x0rXMnMSx8iEFeOozj50W6fp+YAmQcQBUdAXhN+PAXRy4UXL6I/rfcAOU09rnnq7RKsLsmhpp/fFEuag==", + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/jest-preset-angular/-/jest-preset-angular-14.1.0.tgz", + "integrity": "sha512-UJwPtpsAMl30UtBjHW0Ai0hhoKsNURC1dXH5tSYjumUsWR7iDke+oBEykz7uXv4rN+PWgeNIqkxo4KHQjOITlw==", "dev": true, "license": "MIT", "dependencies": { @@ -204,82 +131,30 @@ "esbuild": ">=0.15.13" }, "peerDependencies": { - "@angular-devkit/build-angular": ">=15.0.0 <18.0.0", - "@angular/compiler-cli": ">=15.0.0 <18.0.0", - "@angular/core": ">=15.0.0 <18.0.0", - "@angular/platform-browser-dynamic": ">=15.0.0 <18.0.0", + "@angular-devkit/build-angular": ">=15.0.0 <19.0.0", + "@angular/compiler-cli": ">=15.0.0 <19.0.0", + "@angular/core": ">=15.0.0 <19.0.0", + "@angular/platform-browser-dynamic": ">=15.0.0 <19.0.0", "jest": "^29.0.0", "typescript": ">=4.8" } }, - "node_modules/@angular-builders/jest/node_modules/jsonc-parser": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.1.tgz", - "integrity": "sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@angular-builders/jest/node_modules/rxjs": { - "version": "7.8.1", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", - "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.1.0" - } - }, "node_modules/@angular-devkit/architect": { - "version": "0.1703.17", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1703.17.tgz", - "integrity": "sha512-LD6po8lGP2FI7WbnsSxtvpiIi+FYL0aNfteunkT+7po9jUNflBEYHA64UWNO56u7ryKNdbuiN8/TEh7FEUnmCw==", + "version": "0.1802.20", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1802.20.tgz", + "integrity": "sha512-nNUv2541/X4V0vtT2F6wCT+/GAY8v+J8MRMh8kGBVdyV9EdtSTWxHAvE1WhX5uE7VUCNegDfElxvAR9Vq8qSig==", "dev": true, "license": "MIT", "dependencies": { - "@angular-devkit/core": "17.3.17", + "@angular-devkit/core": "18.2.20", "rxjs": "7.8.1" }, "engines": { - "node": "^18.13.0 || >=20.9.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" - } - }, - "node_modules/@angular-devkit/architect/node_modules/@angular-devkit/core": { - "version": "17.3.17", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-17.3.17.tgz", - "integrity": "sha512-7aNVqS3rOGsSZYAOO44xl2KURwaoOP+EJhJs+LqOGOFpok2kd8YLf4CAMUossMF4H7HsJpgKwYqGrV5eXunrpw==", - "dev": true, - "license": "MIT", - "dependencies": { - "ajv": "8.12.0", - "ajv-formats": "2.1.1", - "jsonc-parser": "3.2.1", - "picomatch": "4.0.1", - "rxjs": "7.8.1", - "source-map": "0.7.4" - }, - "engines": { - "node": "^18.13.0 || >=20.9.0", + "node": "^18.19.1 || ^20.11.1 || >=22.0.0", "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", "yarn": ">= 1.13.0" - }, - "peerDependencies": { - "chokidar": "^3.5.2" - }, - "peerDependenciesMeta": { - "chokidar": { - "optional": true - } } }, - "node_modules/@angular-devkit/architect/node_modules/jsonc-parser": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.1.tgz", - "integrity": "sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==", - "dev": true, - "license": "MIT" - }, "node_modules/@angular-devkit/architect/node_modules/rxjs": { "version": "7.8.1", "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", @@ -417,22 +292,6 @@ } } }, - "node_modules/@angular-devkit/build-angular/node_modules/@angular-devkit/architect": { - "version": "0.1802.20", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1802.20.tgz", - "integrity": "sha512-nNUv2541/X4V0vtT2F6wCT+/GAY8v+J8MRMh8kGBVdyV9EdtSTWxHAvE1WhX5uE7VUCNegDfElxvAR9Vq8qSig==", - "dev": true, - "license": "MIT", - "dependencies": { - "@angular-devkit/core": "18.2.20", - "rxjs": "7.8.1" - }, - "engines": { - "node": "^18.19.1 || ^20.11.1 || >=22.0.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" - } - }, "node_modules/@angular-devkit/build-angular/node_modules/istanbul-lib-instrument": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.3.tgz", @@ -500,22 +359,6 @@ "webpack-dev-server": "^5.0.2" } }, - "node_modules/@angular-devkit/build-webpack/node_modules/@angular-devkit/architect": { - "version": "0.1802.20", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1802.20.tgz", - "integrity": "sha512-nNUv2541/X4V0vtT2F6wCT+/GAY8v+J8MRMh8kGBVdyV9EdtSTWxHAvE1WhX5uE7VUCNegDfElxvAR9Vq8qSig==", - "dev": true, - "license": "MIT", - "dependencies": { - "@angular-devkit/core": "18.2.20", - "rxjs": "7.8.1" - }, - "engines": { - "node": "^18.19.1 || ^20.11.1 || >=22.0.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" - } - }, "node_modules/@angular-devkit/build-webpack/node_modules/rxjs": { "version": "7.8.1", "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", @@ -725,22 +568,6 @@ } } }, - "node_modules/@angular/build/node_modules/@angular-devkit/architect": { - "version": "0.1802.20", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1802.20.tgz", - "integrity": "sha512-nNUv2541/X4V0vtT2F6wCT+/GAY8v+J8MRMh8kGBVdyV9EdtSTWxHAvE1WhX5uE7VUCNegDfElxvAR9Vq8qSig==", - "dev": true, - "license": "MIT", - "dependencies": { - "@angular-devkit/core": "18.2.20", - "rxjs": "7.8.1" - }, - "engines": { - "node": "^18.19.1 || ^20.11.1 || >=22.0.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" - } - }, "node_modules/@angular/build/node_modules/@babel/core": { "version": "7.25.2", "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.25.2.tgz", @@ -831,20 +658,10 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/@angular/build/node_modules/rxjs": { - "version": "7.8.1", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", - "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.1.0" - } - }, "node_modules/@angular/cdk": { - "version": "17.3.10", - "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-17.3.10.tgz", - "integrity": "sha512-b1qktT2c1TTTe5nTji/kFAVW92fULK0YhYAvJ+BjZTPKu2FniZNe8o4qqQ0pUuvtMu+ZQxp/QqFYoidIVCjScg==", + "version": "18.2.14", + "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-18.2.14.tgz", + "integrity": "sha512-vDyOh1lwjfVk9OqoroZAP8pf3xxKUvyl+TVR8nJxL4c5fOfUFkD7l94HaanqKSRwJcI2xiztuu92IVoHn8T33Q==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -853,8 +670,8 @@ "parse5": "^7.1.2" }, "peerDependencies": { - "@angular/common": "^17.0.0 || ^18.0.0", - "@angular/core": "^17.0.0 || ^18.0.0", + "@angular/common": "^18.0.0 || ^19.0.0", + "@angular/core": "^18.0.0 || ^19.0.0", "rxjs": "^6.5.3 || ^7.4.0" } }, @@ -892,32 +709,6 @@ "yarn": ">= 1.13.0" } }, - "node_modules/@angular/cli/node_modules/@angular-devkit/architect": { - "version": "0.1802.20", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1802.20.tgz", - "integrity": "sha512-nNUv2541/X4V0vtT2F6wCT+/GAY8v+J8MRMh8kGBVdyV9EdtSTWxHAvE1WhX5uE7VUCNegDfElxvAR9Vq8qSig==", - "dev": true, - "license": "MIT", - "dependencies": { - "@angular-devkit/core": "18.2.20", - "rxjs": "7.8.1" - }, - "engines": { - "node": "^18.19.1 || ^20.11.1 || >=22.0.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" - } - }, - "node_modules/@angular/cli/node_modules/rxjs": { - "version": "7.8.1", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", - "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.1.0" - } - }, "node_modules/@angular/common": { "version": "18.2.13", "resolved": "https://registry.npmjs.org/@angular/common/-/common-18.2.13.tgz", @@ -1106,67 +897,20 @@ } }, "node_modules/@angular/material": { - "version": "17.3.10", - "resolved": "https://registry.npmjs.org/@angular/material/-/material-17.3.10.tgz", - "integrity": "sha512-hHMQES0tQPH5JW33W+mpBPuM8ybsloDTqFPuRV8cboDjosAWfJhzAKF3ozICpNlUrs62La/2Wu/756GcQrxebg==", - "license": "MIT", - "dependencies": { - "@material/animation": "15.0.0-canary.7f224ddd4.0", - "@material/auto-init": "15.0.0-canary.7f224ddd4.0", - "@material/banner": "15.0.0-canary.7f224ddd4.0", - "@material/base": "15.0.0-canary.7f224ddd4.0", - "@material/button": "15.0.0-canary.7f224ddd4.0", - "@material/card": "15.0.0-canary.7f224ddd4.0", - "@material/checkbox": "15.0.0-canary.7f224ddd4.0", - "@material/chips": "15.0.0-canary.7f224ddd4.0", - "@material/circular-progress": "15.0.0-canary.7f224ddd4.0", - "@material/data-table": "15.0.0-canary.7f224ddd4.0", - "@material/density": "15.0.0-canary.7f224ddd4.0", - "@material/dialog": "15.0.0-canary.7f224ddd4.0", - "@material/dom": "15.0.0-canary.7f224ddd4.0", - "@material/drawer": "15.0.0-canary.7f224ddd4.0", - "@material/elevation": "15.0.0-canary.7f224ddd4.0", - "@material/fab": "15.0.0-canary.7f224ddd4.0", - "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", - "@material/floating-label": "15.0.0-canary.7f224ddd4.0", - "@material/form-field": "15.0.0-canary.7f224ddd4.0", - "@material/icon-button": "15.0.0-canary.7f224ddd4.0", - "@material/image-list": "15.0.0-canary.7f224ddd4.0", - "@material/layout-grid": "15.0.0-canary.7f224ddd4.0", - "@material/line-ripple": "15.0.0-canary.7f224ddd4.0", - "@material/linear-progress": "15.0.0-canary.7f224ddd4.0", - "@material/list": "15.0.0-canary.7f224ddd4.0", - "@material/menu": "15.0.0-canary.7f224ddd4.0", - "@material/menu-surface": "15.0.0-canary.7f224ddd4.0", - "@material/notched-outline": "15.0.0-canary.7f224ddd4.0", - "@material/radio": "15.0.0-canary.7f224ddd4.0", - "@material/ripple": "15.0.0-canary.7f224ddd4.0", - "@material/rtl": "15.0.0-canary.7f224ddd4.0", - "@material/segmented-button": "15.0.0-canary.7f224ddd4.0", - "@material/select": "15.0.0-canary.7f224ddd4.0", - "@material/shape": "15.0.0-canary.7f224ddd4.0", - "@material/slider": "15.0.0-canary.7f224ddd4.0", - "@material/snackbar": "15.0.0-canary.7f224ddd4.0", - "@material/switch": "15.0.0-canary.7f224ddd4.0", - "@material/tab": "15.0.0-canary.7f224ddd4.0", - "@material/tab-bar": "15.0.0-canary.7f224ddd4.0", - "@material/tab-indicator": "15.0.0-canary.7f224ddd4.0", - "@material/tab-scroller": "15.0.0-canary.7f224ddd4.0", - "@material/textfield": "15.0.0-canary.7f224ddd4.0", - "@material/theme": "15.0.0-canary.7f224ddd4.0", - "@material/tooltip": "15.0.0-canary.7f224ddd4.0", - "@material/top-app-bar": "15.0.0-canary.7f224ddd4.0", - "@material/touch-target": "15.0.0-canary.7f224ddd4.0", - "@material/typography": "15.0.0-canary.7f224ddd4.0", + "version": "18.2.14", + "resolved": "https://registry.npmjs.org/@angular/material/-/material-18.2.14.tgz", + "integrity": "sha512-28pxzJP49Mymt664WnCtPkKeg7kXUsQKTKGf/Kl95rNTEdTJLbnlcc8wV0rT0yQNR7kXgpfBnG7h0ETLv/iu5Q==", + "license": "MIT", + "dependencies": { "tslib": "^2.3.0" }, "peerDependencies": { - "@angular/animations": "^17.0.0 || ^18.0.0", - "@angular/cdk": "17.3.10", - "@angular/common": "^17.0.0 || ^18.0.0", - "@angular/core": "^17.0.0 || ^18.0.0", - "@angular/forms": "^17.0.0 || ^18.0.0", - "@angular/platform-browser": "^17.0.0 || ^18.0.0", + "@angular/animations": "^18.0.0 || ^19.0.0", + "@angular/cdk": "18.2.14", + "@angular/common": "^18.0.0 || ^19.0.0", + "@angular/core": "^18.0.0 || ^19.0.0", + "@angular/forms": "^18.0.0 || ^19.0.0", + "@angular/platform-browser": "^18.0.0 || ^19.0.0", "rxjs": "^6.5.3 || ^7.4.0" } }, @@ -5037,808 +4781,6 @@ "win32" ] }, - "node_modules/@material/animation": { - "version": "15.0.0-canary.7f224ddd4.0", - "resolved": "https://registry.npmjs.org/@material/animation/-/animation-15.0.0-canary.7f224ddd4.0.tgz", - "integrity": "sha512-1GSJaPKef+7HRuV+HusVZHps64cmZuOItDbt40tjJVaikcaZvwmHlcTxRIqzcRoCdt5ZKHh3NoO7GB9Khg4Jnw==", - "license": "MIT", - "dependencies": { - "tslib": "^2.1.0" - } - }, - "node_modules/@material/auto-init": { - "version": "15.0.0-canary.7f224ddd4.0", - "resolved": "https://registry.npmjs.org/@material/auto-init/-/auto-init-15.0.0-canary.7f224ddd4.0.tgz", - "integrity": "sha512-t7ZGpRJ3ec0QDUO0nJu/SMgLW7qcuG2KqIsEYD1Ej8qhI2xpdR2ydSDQOkVEitXmKoGol1oq4nYSBjTlB65GqA==", - "license": "MIT", - "dependencies": { - "@material/base": "15.0.0-canary.7f224ddd4.0", - "tslib": "^2.1.0" - } - }, - "node_modules/@material/banner": { - "version": "15.0.0-canary.7f224ddd4.0", - "resolved": "https://registry.npmjs.org/@material/banner/-/banner-15.0.0-canary.7f224ddd4.0.tgz", - "integrity": "sha512-g9wBUZzYBizyBcBQXTIafnRUUPi7efU9gPJfzeGgkynXiccP/vh5XMmH+PBxl5v+4MlP/d4cZ2NUYoAN7UTqSA==", - "license": "MIT", - "dependencies": { - "@material/base": "15.0.0-canary.7f224ddd4.0", - "@material/button": "15.0.0-canary.7f224ddd4.0", - "@material/dom": "15.0.0-canary.7f224ddd4.0", - "@material/elevation": "15.0.0-canary.7f224ddd4.0", - "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", - "@material/ripple": "15.0.0-canary.7f224ddd4.0", - "@material/rtl": "15.0.0-canary.7f224ddd4.0", - "@material/shape": "15.0.0-canary.7f224ddd4.0", - "@material/theme": "15.0.0-canary.7f224ddd4.0", - "@material/tokens": "15.0.0-canary.7f224ddd4.0", - "@material/typography": "15.0.0-canary.7f224ddd4.0", - "tslib": "^2.1.0" - } - }, - "node_modules/@material/base": { - "version": "15.0.0-canary.7f224ddd4.0", - "resolved": "https://registry.npmjs.org/@material/base/-/base-15.0.0-canary.7f224ddd4.0.tgz", - "integrity": "sha512-I9KQOKXpLfJkP8MqZyr8wZIzdPHrwPjFvGd9zSK91/vPyE4hzHRJc/0njsh9g8Lm9PRYLbifXX+719uTbHxx+A==", - "license": "MIT", - "dependencies": { - "tslib": "^2.1.0" - } - }, - "node_modules/@material/button": { - "version": "15.0.0-canary.7f224ddd4.0", - "resolved": "https://registry.npmjs.org/@material/button/-/button-15.0.0-canary.7f224ddd4.0.tgz", - "integrity": "sha512-BHB7iyHgRVH+JF16+iscR+Qaic+p7LU1FOLgP8KucRlpF9tTwIxQA6mJwGRi5gUtcG+vyCmzVS+hIQ6DqT/7BA==", - "license": "MIT", - "dependencies": { - "@material/density": "15.0.0-canary.7f224ddd4.0", - "@material/dom": "15.0.0-canary.7f224ddd4.0", - "@material/elevation": "15.0.0-canary.7f224ddd4.0", - "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", - "@material/focus-ring": "15.0.0-canary.7f224ddd4.0", - "@material/ripple": "15.0.0-canary.7f224ddd4.0", - "@material/rtl": "15.0.0-canary.7f224ddd4.0", - "@material/shape": "15.0.0-canary.7f224ddd4.0", - "@material/theme": "15.0.0-canary.7f224ddd4.0", - "@material/tokens": "15.0.0-canary.7f224ddd4.0", - "@material/touch-target": "15.0.0-canary.7f224ddd4.0", - "@material/typography": "15.0.0-canary.7f224ddd4.0", - "tslib": "^2.1.0" - } - }, - "node_modules/@material/card": { - "version": "15.0.0-canary.7f224ddd4.0", - "resolved": "https://registry.npmjs.org/@material/card/-/card-15.0.0-canary.7f224ddd4.0.tgz", - "integrity": "sha512-kt7y9/IWOtJTr3Z/AoWJT3ZLN7CLlzXhx2udCLP9ootZU2bfGK0lzNwmo80bv/pJfrY9ihQKCtuGTtNxUy+vIw==", - "license": "MIT", - "dependencies": { - "@material/dom": "15.0.0-canary.7f224ddd4.0", - "@material/elevation": "15.0.0-canary.7f224ddd4.0", - "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", - "@material/ripple": "15.0.0-canary.7f224ddd4.0", - "@material/rtl": "15.0.0-canary.7f224ddd4.0", - "@material/shape": "15.0.0-canary.7f224ddd4.0", - "@material/theme": "15.0.0-canary.7f224ddd4.0", - "@material/tokens": "15.0.0-canary.7f224ddd4.0", - "tslib": "^2.1.0" - } - }, - "node_modules/@material/checkbox": { - "version": "15.0.0-canary.7f224ddd4.0", - "resolved": "https://registry.npmjs.org/@material/checkbox/-/checkbox-15.0.0-canary.7f224ddd4.0.tgz", - "integrity": "sha512-rURcrL5O1u6hzWR+dNgiQ/n89vk6tdmdP3mZgnxJx61q4I/k1yijKqNJSLrkXH7Rto3bM5NRKMOlgvMvVd7UMQ==", - "license": "MIT", - "dependencies": { - "@material/animation": "15.0.0-canary.7f224ddd4.0", - "@material/base": "15.0.0-canary.7f224ddd4.0", - "@material/density": "15.0.0-canary.7f224ddd4.0", - "@material/dom": "15.0.0-canary.7f224ddd4.0", - "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", - "@material/focus-ring": "15.0.0-canary.7f224ddd4.0", - "@material/ripple": "15.0.0-canary.7f224ddd4.0", - "@material/rtl": "15.0.0-canary.7f224ddd4.0", - "@material/theme": "15.0.0-canary.7f224ddd4.0", - "@material/touch-target": "15.0.0-canary.7f224ddd4.0", - "tslib": "^2.1.0" - } - }, - "node_modules/@material/chips": { - "version": "15.0.0-canary.7f224ddd4.0", - "resolved": "https://registry.npmjs.org/@material/chips/-/chips-15.0.0-canary.7f224ddd4.0.tgz", - "integrity": "sha512-AYAivV3GSk/T/nRIpH27sOHFPaSMrE3L0WYbnb5Wa93FgY8a0fbsFYtSH2QmtwnzXveg+B1zGTt7/xIIcynKdQ==", - "license": "MIT", - "dependencies": { - "@material/animation": "15.0.0-canary.7f224ddd4.0", - "@material/base": "15.0.0-canary.7f224ddd4.0", - "@material/checkbox": "15.0.0-canary.7f224ddd4.0", - "@material/density": "15.0.0-canary.7f224ddd4.0", - "@material/dom": "15.0.0-canary.7f224ddd4.0", - "@material/elevation": "15.0.0-canary.7f224ddd4.0", - "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", - "@material/focus-ring": "15.0.0-canary.7f224ddd4.0", - "@material/ripple": "15.0.0-canary.7f224ddd4.0", - "@material/rtl": "15.0.0-canary.7f224ddd4.0", - "@material/shape": "15.0.0-canary.7f224ddd4.0", - "@material/theme": "15.0.0-canary.7f224ddd4.0", - "@material/tokens": "15.0.0-canary.7f224ddd4.0", - "@material/touch-target": "15.0.0-canary.7f224ddd4.0", - "@material/typography": "15.0.0-canary.7f224ddd4.0", - "safevalues": "^0.3.4", - "tslib": "^2.1.0" - } - }, - "node_modules/@material/circular-progress": { - "version": "15.0.0-canary.7f224ddd4.0", - "resolved": "https://registry.npmjs.org/@material/circular-progress/-/circular-progress-15.0.0-canary.7f224ddd4.0.tgz", - "integrity": "sha512-DJrqCKb+LuGtjNvKl8XigvyK02y36GRkfhMUYTcJEi3PrOE00bwXtyj7ilhzEVshQiXg6AHGWXtf5UqwNrx3Ow==", - "license": "MIT", - "dependencies": { - "@material/animation": "15.0.0-canary.7f224ddd4.0", - "@material/base": "15.0.0-canary.7f224ddd4.0", - "@material/dom": "15.0.0-canary.7f224ddd4.0", - "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", - "@material/progress-indicator": "15.0.0-canary.7f224ddd4.0", - "@material/rtl": "15.0.0-canary.7f224ddd4.0", - "@material/theme": "15.0.0-canary.7f224ddd4.0", - "tslib": "^2.1.0" - } - }, - "node_modules/@material/data-table": { - "version": "15.0.0-canary.7f224ddd4.0", - "resolved": "https://registry.npmjs.org/@material/data-table/-/data-table-15.0.0-canary.7f224ddd4.0.tgz", - "integrity": "sha512-/2WZsuBIq9z9RWYF5Jo6b7P6u0fwit+29/mN7rmAZ6akqUR54nXyNfoSNiyydMkzPlZZsep5KrSHododDhBZbA==", - "license": "MIT", - "dependencies": { - "@material/animation": "15.0.0-canary.7f224ddd4.0", - "@material/base": "15.0.0-canary.7f224ddd4.0", - "@material/checkbox": "15.0.0-canary.7f224ddd4.0", - "@material/density": "15.0.0-canary.7f224ddd4.0", - "@material/dom": "15.0.0-canary.7f224ddd4.0", - "@material/elevation": "15.0.0-canary.7f224ddd4.0", - "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", - "@material/icon-button": "15.0.0-canary.7f224ddd4.0", - "@material/linear-progress": "15.0.0-canary.7f224ddd4.0", - "@material/list": "15.0.0-canary.7f224ddd4.0", - "@material/menu": "15.0.0-canary.7f224ddd4.0", - "@material/rtl": "15.0.0-canary.7f224ddd4.0", - "@material/select": "15.0.0-canary.7f224ddd4.0", - "@material/shape": "15.0.0-canary.7f224ddd4.0", - "@material/theme": "15.0.0-canary.7f224ddd4.0", - "@material/tokens": "15.0.0-canary.7f224ddd4.0", - "@material/touch-target": "15.0.0-canary.7f224ddd4.0", - "@material/typography": "15.0.0-canary.7f224ddd4.0", - "tslib": "^2.1.0" - } - }, - "node_modules/@material/density": { - "version": "15.0.0-canary.7f224ddd4.0", - "resolved": "https://registry.npmjs.org/@material/density/-/density-15.0.0-canary.7f224ddd4.0.tgz", - "integrity": "sha512-o9EXmGKVpiQ6mHhyV3oDDzc78Ow3E7v8dlaOhgaDSXgmqaE8v5sIlLNa/LKSyUga83/fpGk3QViSGXotpQx0jA==", - "license": "MIT", - "dependencies": { - "tslib": "^2.1.0" - } - }, - "node_modules/@material/dialog": { - "version": "15.0.0-canary.7f224ddd4.0", - "resolved": "https://registry.npmjs.org/@material/dialog/-/dialog-15.0.0-canary.7f224ddd4.0.tgz", - "integrity": "sha512-u0XpTlv1JqWC/bQ3DavJ1JguofTelLT2wloj59l3/1b60jv42JQ6Am7jU3I8/SIUB1MKaW7dYocXjDWtWJakLA==", - "license": "MIT", - "dependencies": { - "@material/animation": "15.0.0-canary.7f224ddd4.0", - "@material/base": "15.0.0-canary.7f224ddd4.0", - "@material/button": "15.0.0-canary.7f224ddd4.0", - "@material/dom": "15.0.0-canary.7f224ddd4.0", - "@material/elevation": "15.0.0-canary.7f224ddd4.0", - "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", - "@material/icon-button": "15.0.0-canary.7f224ddd4.0", - "@material/ripple": "15.0.0-canary.7f224ddd4.0", - "@material/rtl": "15.0.0-canary.7f224ddd4.0", - "@material/shape": "15.0.0-canary.7f224ddd4.0", - "@material/theme": "15.0.0-canary.7f224ddd4.0", - "@material/tokens": "15.0.0-canary.7f224ddd4.0", - "@material/touch-target": "15.0.0-canary.7f224ddd4.0", - "@material/typography": "15.0.0-canary.7f224ddd4.0", - "tslib": "^2.1.0" - } - }, - "node_modules/@material/dom": { - "version": "15.0.0-canary.7f224ddd4.0", - "resolved": "https://registry.npmjs.org/@material/dom/-/dom-15.0.0-canary.7f224ddd4.0.tgz", - "integrity": "sha512-mQ1HT186GPQSkRg5S18i70typ5ZytfjL09R0gJ2Qg5/G+MLCGi7TAjZZSH65tuD/QGOjel4rDdWOTmYbPYV6HA==", - "license": "MIT", - "dependencies": { - "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", - "@material/rtl": "15.0.0-canary.7f224ddd4.0", - "tslib": "^2.1.0" - } - }, - "node_modules/@material/drawer": { - "version": "15.0.0-canary.7f224ddd4.0", - "resolved": "https://registry.npmjs.org/@material/drawer/-/drawer-15.0.0-canary.7f224ddd4.0.tgz", - "integrity": "sha512-qyO0W0KBftfH8dlLR0gVAgv7ZHNvU8ae11Ao6zJif/YxcvK4+gph1z8AO4H410YmC2kZiwpSKyxM1iQCCzbb4g==", - "license": "MIT", - "dependencies": { - "@material/animation": "15.0.0-canary.7f224ddd4.0", - "@material/base": "15.0.0-canary.7f224ddd4.0", - "@material/dom": "15.0.0-canary.7f224ddd4.0", - "@material/elevation": "15.0.0-canary.7f224ddd4.0", - "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", - "@material/list": "15.0.0-canary.7f224ddd4.0", - "@material/ripple": "15.0.0-canary.7f224ddd4.0", - "@material/rtl": "15.0.0-canary.7f224ddd4.0", - "@material/shape": "15.0.0-canary.7f224ddd4.0", - "@material/theme": "15.0.0-canary.7f224ddd4.0", - "@material/typography": "15.0.0-canary.7f224ddd4.0", - "tslib": "^2.1.0" - } - }, - "node_modules/@material/elevation": { - "version": "15.0.0-canary.7f224ddd4.0", - "resolved": "https://registry.npmjs.org/@material/elevation/-/elevation-15.0.0-canary.7f224ddd4.0.tgz", - "integrity": "sha512-tV6s4/pUBECedaI36Yj18KmRCk1vfue/JP/5yYRlFNnLMRVISePbZaKkn/BHXVf+26I3W879+XqIGlDVdmOoMA==", - "license": "MIT", - "dependencies": { - "@material/animation": "15.0.0-canary.7f224ddd4.0", - "@material/base": "15.0.0-canary.7f224ddd4.0", - "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", - "@material/rtl": "15.0.0-canary.7f224ddd4.0", - "@material/theme": "15.0.0-canary.7f224ddd4.0", - "tslib": "^2.1.0" - } - }, - "node_modules/@material/fab": { - "version": "15.0.0-canary.7f224ddd4.0", - "resolved": "https://registry.npmjs.org/@material/fab/-/fab-15.0.0-canary.7f224ddd4.0.tgz", - "integrity": "sha512-4h76QrzfZTcPdd+awDPZ4Q0YdSqsXQnS540TPtyXUJ/5G99V6VwGpjMPIxAsW0y+pmI9UkLL/srrMaJec+7r4Q==", - "license": "MIT", - "dependencies": { - "@material/animation": "15.0.0-canary.7f224ddd4.0", - "@material/dom": "15.0.0-canary.7f224ddd4.0", - "@material/elevation": "15.0.0-canary.7f224ddd4.0", - "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", - "@material/focus-ring": "15.0.0-canary.7f224ddd4.0", - "@material/ripple": "15.0.0-canary.7f224ddd4.0", - "@material/rtl": "15.0.0-canary.7f224ddd4.0", - "@material/shape": "15.0.0-canary.7f224ddd4.0", - "@material/theme": "15.0.0-canary.7f224ddd4.0", - "@material/tokens": "15.0.0-canary.7f224ddd4.0", - "@material/touch-target": "15.0.0-canary.7f224ddd4.0", - "@material/typography": "15.0.0-canary.7f224ddd4.0", - "tslib": "^2.1.0" - } - }, - "node_modules/@material/feature-targeting": { - "version": "15.0.0-canary.7f224ddd4.0", - "resolved": "https://registry.npmjs.org/@material/feature-targeting/-/feature-targeting-15.0.0-canary.7f224ddd4.0.tgz", - "integrity": "sha512-SAjtxYh6YlKZriU83diDEQ7jNSP2MnxKsER0TvFeyG1vX/DWsUyYDOIJTOEa9K1N+fgJEBkNK8hY55QhQaspew==", - "license": "MIT", - "dependencies": { - "tslib": "^2.1.0" - } - }, - "node_modules/@material/floating-label": { - "version": "15.0.0-canary.7f224ddd4.0", - "resolved": "https://registry.npmjs.org/@material/floating-label/-/floating-label-15.0.0-canary.7f224ddd4.0.tgz", - "integrity": "sha512-0KMo5ijjYaEHPiZ2pCVIcbaTS2LycvH9zEhEMKwPPGssBCX7iz5ffYQFk7e5yrQand1r3jnQQgYfHAwtykArnQ==", - "license": "MIT", - "dependencies": { - "@material/animation": "15.0.0-canary.7f224ddd4.0", - "@material/base": "15.0.0-canary.7f224ddd4.0", - "@material/dom": "15.0.0-canary.7f224ddd4.0", - "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", - "@material/rtl": "15.0.0-canary.7f224ddd4.0", - "@material/theme": "15.0.0-canary.7f224ddd4.0", - "@material/typography": "15.0.0-canary.7f224ddd4.0", - "tslib": "^2.1.0" - } - }, - "node_modules/@material/focus-ring": { - "version": "15.0.0-canary.7f224ddd4.0", - "resolved": "https://registry.npmjs.org/@material/focus-ring/-/focus-ring-15.0.0-canary.7f224ddd4.0.tgz", - "integrity": "sha512-Jmg1nltq4J6S6A10EGMZnvufrvU3YTi+8R8ZD9lkSbun0Fm2TVdICQt/Auyi6An9zP66oQN6c31eqO6KfIPsDg==", - "license": "MIT", - "dependencies": { - "@material/dom": "15.0.0-canary.7f224ddd4.0", - "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", - "@material/rtl": "15.0.0-canary.7f224ddd4.0" - } - }, - "node_modules/@material/form-field": { - "version": "15.0.0-canary.7f224ddd4.0", - "resolved": "https://registry.npmjs.org/@material/form-field/-/form-field-15.0.0-canary.7f224ddd4.0.tgz", - "integrity": "sha512-fEPWgDQEPJ6WF7hNnIStxucHR9LE4DoDSMqCsGWS2Yu+NLZYLuCEecgR0UqQsl1EQdNRaFh8VH93KuxGd2hiPg==", - "license": "MIT", - "dependencies": { - "@material/base": "15.0.0-canary.7f224ddd4.0", - "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", - "@material/ripple": "15.0.0-canary.7f224ddd4.0", - "@material/rtl": "15.0.0-canary.7f224ddd4.0", - "@material/theme": "15.0.0-canary.7f224ddd4.0", - "@material/typography": "15.0.0-canary.7f224ddd4.0", - "tslib": "^2.1.0" - } - }, - "node_modules/@material/icon-button": { - "version": "15.0.0-canary.7f224ddd4.0", - "resolved": "https://registry.npmjs.org/@material/icon-button/-/icon-button-15.0.0-canary.7f224ddd4.0.tgz", - "integrity": "sha512-DcK7IL4ICY/DW+48YQZZs9g0U1kRaW0Wb0BxhvppDMYziHo/CTpFdle4gjyuTyRxPOdHQz5a97ru48Z9O4muTw==", - "license": "MIT", - "dependencies": { - "@material/base": "15.0.0-canary.7f224ddd4.0", - "@material/density": "15.0.0-canary.7f224ddd4.0", - "@material/dom": "15.0.0-canary.7f224ddd4.0", - "@material/elevation": "15.0.0-canary.7f224ddd4.0", - "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", - "@material/focus-ring": "15.0.0-canary.7f224ddd4.0", - "@material/ripple": "15.0.0-canary.7f224ddd4.0", - "@material/rtl": "15.0.0-canary.7f224ddd4.0", - "@material/theme": "15.0.0-canary.7f224ddd4.0", - "@material/touch-target": "15.0.0-canary.7f224ddd4.0", - "tslib": "^2.1.0" - } - }, - "node_modules/@material/image-list": { - "version": "15.0.0-canary.7f224ddd4.0", - "resolved": "https://registry.npmjs.org/@material/image-list/-/image-list-15.0.0-canary.7f224ddd4.0.tgz", - "integrity": "sha512-voMjG2p80XbjL1B2lmF65zO5gEgJOVKClLdqh4wbYzYfwY/SR9c8eLvlYG7DLdFaFBl/7gGxD8TvvZ329HUFPw==", - "license": "MIT", - "dependencies": { - "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", - "@material/shape": "15.0.0-canary.7f224ddd4.0", - "@material/theme": "15.0.0-canary.7f224ddd4.0", - "@material/typography": "15.0.0-canary.7f224ddd4.0", - "tslib": "^2.1.0" - } - }, - "node_modules/@material/layout-grid": { - "version": "15.0.0-canary.7f224ddd4.0", - "resolved": "https://registry.npmjs.org/@material/layout-grid/-/layout-grid-15.0.0-canary.7f224ddd4.0.tgz", - "integrity": "sha512-veDABLxMn2RmvfnUO2RUmC1OFfWr4cU+MrxKPoDD2hl3l3eDYv5fxws6r5T1JoSyXoaN+oEZpheS0+M9Ure8Pg==", - "license": "MIT", - "dependencies": { - "tslib": "^2.1.0" - } - }, - "node_modules/@material/line-ripple": { - "version": "15.0.0-canary.7f224ddd4.0", - "resolved": "https://registry.npmjs.org/@material/line-ripple/-/line-ripple-15.0.0-canary.7f224ddd4.0.tgz", - "integrity": "sha512-f60hVJhIU6I3/17Tqqzch1emUKEcfVVgHVqADbU14JD+oEIz429ZX9ksZ3VChoU3+eejFl+jVdZMLE/LrAuwpg==", - "license": "MIT", - "dependencies": { - "@material/animation": "15.0.0-canary.7f224ddd4.0", - "@material/base": "15.0.0-canary.7f224ddd4.0", - "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", - "@material/theme": "15.0.0-canary.7f224ddd4.0", - "tslib": "^2.1.0" - } - }, - "node_modules/@material/linear-progress": { - "version": "15.0.0-canary.7f224ddd4.0", - "resolved": "https://registry.npmjs.org/@material/linear-progress/-/linear-progress-15.0.0-canary.7f224ddd4.0.tgz", - "integrity": "sha512-pRDEwPQielDiC9Sc5XhCXrGxP8wWOnAO8sQlMebfBYHYqy5hhiIzibezS8CSaW4MFQFyXmCmpmqWlbqGYRmiyg==", - "license": "MIT", - "dependencies": { - "@material/animation": "15.0.0-canary.7f224ddd4.0", - "@material/base": "15.0.0-canary.7f224ddd4.0", - "@material/dom": "15.0.0-canary.7f224ddd4.0", - "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", - "@material/progress-indicator": "15.0.0-canary.7f224ddd4.0", - "@material/rtl": "15.0.0-canary.7f224ddd4.0", - "@material/theme": "15.0.0-canary.7f224ddd4.0", - "tslib": "^2.1.0" - } - }, - "node_modules/@material/list": { - "version": "15.0.0-canary.7f224ddd4.0", - "resolved": "https://registry.npmjs.org/@material/list/-/list-15.0.0-canary.7f224ddd4.0.tgz", - "integrity": "sha512-Is0NV91sJlXF5pOebYAtWLF4wU2MJDbYqztML/zQNENkQxDOvEXu3nWNb3YScMIYJJXvARO0Liur5K4yPagS1Q==", - "license": "MIT", - "dependencies": { - "@material/base": "15.0.0-canary.7f224ddd4.0", - "@material/density": "15.0.0-canary.7f224ddd4.0", - "@material/dom": "15.0.0-canary.7f224ddd4.0", - "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", - "@material/ripple": "15.0.0-canary.7f224ddd4.0", - "@material/rtl": "15.0.0-canary.7f224ddd4.0", - "@material/shape": "15.0.0-canary.7f224ddd4.0", - "@material/theme": "15.0.0-canary.7f224ddd4.0", - "@material/tokens": "15.0.0-canary.7f224ddd4.0", - "@material/typography": "15.0.0-canary.7f224ddd4.0", - "tslib": "^2.1.0" - } - }, - "node_modules/@material/menu": { - "version": "15.0.0-canary.7f224ddd4.0", - "resolved": "https://registry.npmjs.org/@material/menu/-/menu-15.0.0-canary.7f224ddd4.0.tgz", - "integrity": "sha512-D11QU1dXqLbh5X1zKlEhS3QWh0b5BPNXlafc5MXfkdJHhOiieb7LC9hMJhbrHtj24FadJ7evaFW/T2ugJbJNnQ==", - "license": "MIT", - "dependencies": { - "@material/base": "15.0.0-canary.7f224ddd4.0", - "@material/dom": "15.0.0-canary.7f224ddd4.0", - "@material/elevation": "15.0.0-canary.7f224ddd4.0", - "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", - "@material/list": "15.0.0-canary.7f224ddd4.0", - "@material/menu-surface": "15.0.0-canary.7f224ddd4.0", - "@material/ripple": "15.0.0-canary.7f224ddd4.0", - "@material/rtl": "15.0.0-canary.7f224ddd4.0", - "@material/shape": "15.0.0-canary.7f224ddd4.0", - "@material/theme": "15.0.0-canary.7f224ddd4.0", - "@material/tokens": "15.0.0-canary.7f224ddd4.0", - "tslib": "^2.1.0" - } - }, - "node_modules/@material/menu-surface": { - "version": "15.0.0-canary.7f224ddd4.0", - "resolved": "https://registry.npmjs.org/@material/menu-surface/-/menu-surface-15.0.0-canary.7f224ddd4.0.tgz", - "integrity": "sha512-7RZHvw0gbwppaAJ/Oh5SWmfAKJ62aw1IMB3+3MRwsb5PLoV666wInYa+zJfE4i7qBeOn904xqT2Nko5hY0ssrg==", - "license": "MIT", - "dependencies": { - "@material/animation": "15.0.0-canary.7f224ddd4.0", - "@material/base": "15.0.0-canary.7f224ddd4.0", - "@material/elevation": "15.0.0-canary.7f224ddd4.0", - "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", - "@material/rtl": "15.0.0-canary.7f224ddd4.0", - "@material/shape": "15.0.0-canary.7f224ddd4.0", - "@material/theme": "15.0.0-canary.7f224ddd4.0", - "tslib": "^2.1.0" - } - }, - "node_modules/@material/notched-outline": { - "version": "15.0.0-canary.7f224ddd4.0", - "resolved": "https://registry.npmjs.org/@material/notched-outline/-/notched-outline-15.0.0-canary.7f224ddd4.0.tgz", - "integrity": "sha512-Yg2usuKB2DKlKIBISbie9BFsOVuffF71xjbxPbybvqemxqUBd+bD5/t6H1fLE+F8/NCu5JMigho4ewUU+0RCiw==", - "license": "MIT", - "dependencies": { - "@material/base": "15.0.0-canary.7f224ddd4.0", - "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", - "@material/floating-label": "15.0.0-canary.7f224ddd4.0", - "@material/rtl": "15.0.0-canary.7f224ddd4.0", - "@material/shape": "15.0.0-canary.7f224ddd4.0", - "@material/theme": "15.0.0-canary.7f224ddd4.0", - "tslib": "^2.1.0" - } - }, - "node_modules/@material/progress-indicator": { - "version": "15.0.0-canary.7f224ddd4.0", - "resolved": "https://registry.npmjs.org/@material/progress-indicator/-/progress-indicator-15.0.0-canary.7f224ddd4.0.tgz", - "integrity": "sha512-UPbDjE5CqT+SqTs0mNFG6uFEw7wBlgYmh+noSkQ6ty/EURm8lF125dmi4dv4kW0+octonMXqkGtAoZwLIHKf/w==", - "license": "MIT", - "dependencies": { - "tslib": "^2.1.0" - } - }, - "node_modules/@material/radio": { - "version": "15.0.0-canary.7f224ddd4.0", - "resolved": "https://registry.npmjs.org/@material/radio/-/radio-15.0.0-canary.7f224ddd4.0.tgz", - "integrity": "sha512-wR1X0Sr0KmQLu6+YOFKAI84G3L6psqd7Kys5kfb8WKBM36zxO5HQXC5nJm/Y0rdn22ixzsIz2GBo0MNU4V4k1A==", - "license": "MIT", - "dependencies": { - "@material/animation": "15.0.0-canary.7f224ddd4.0", - "@material/base": "15.0.0-canary.7f224ddd4.0", - "@material/density": "15.0.0-canary.7f224ddd4.0", - "@material/dom": "15.0.0-canary.7f224ddd4.0", - "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", - "@material/focus-ring": "15.0.0-canary.7f224ddd4.0", - "@material/ripple": "15.0.0-canary.7f224ddd4.0", - "@material/theme": "15.0.0-canary.7f224ddd4.0", - "@material/touch-target": "15.0.0-canary.7f224ddd4.0", - "tslib": "^2.1.0" - } - }, - "node_modules/@material/ripple": { - "version": "15.0.0-canary.7f224ddd4.0", - "resolved": "https://registry.npmjs.org/@material/ripple/-/ripple-15.0.0-canary.7f224ddd4.0.tgz", - "integrity": "sha512-JqOsWM1f4aGdotP0rh1vZlPZTg6lZgh39FIYHFMfOwfhR+LAikUJ+37ciqZuewgzXB6iiRO6a8aUH6HR5SJYPg==", - "license": "MIT", - "dependencies": { - "@material/animation": "15.0.0-canary.7f224ddd4.0", - "@material/base": "15.0.0-canary.7f224ddd4.0", - "@material/dom": "15.0.0-canary.7f224ddd4.0", - "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", - "@material/rtl": "15.0.0-canary.7f224ddd4.0", - "@material/theme": "15.0.0-canary.7f224ddd4.0", - "tslib": "^2.1.0" - } - }, - "node_modules/@material/rtl": { - "version": "15.0.0-canary.7f224ddd4.0", - "resolved": "https://registry.npmjs.org/@material/rtl/-/rtl-15.0.0-canary.7f224ddd4.0.tgz", - "integrity": "sha512-UVf14qAtmPiaaZjuJtmN36HETyoKWmsZM/qn1L5ciR2URb8O035dFWnz4ZWFMmAYBno/L7JiZaCkPurv2ZNrGA==", - "license": "MIT", - "dependencies": { - "@material/theme": "15.0.0-canary.7f224ddd4.0", - "tslib": "^2.1.0" - } - }, - "node_modules/@material/segmented-button": { - "version": "15.0.0-canary.7f224ddd4.0", - "resolved": "https://registry.npmjs.org/@material/segmented-button/-/segmented-button-15.0.0-canary.7f224ddd4.0.tgz", - "integrity": "sha512-LCnVRUSAhELTKI/9hSvyvIvQIpPpqF29BV+O9yM4WoNNmNWqTulvuiv7grHZl6Z+kJuxSg4BGbsPxxb9dXozPg==", - "license": "MIT", - "dependencies": { - "@material/base": "15.0.0-canary.7f224ddd4.0", - "@material/elevation": "15.0.0-canary.7f224ddd4.0", - "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", - "@material/ripple": "15.0.0-canary.7f224ddd4.0", - "@material/theme": "15.0.0-canary.7f224ddd4.0", - "@material/touch-target": "15.0.0-canary.7f224ddd4.0", - "@material/typography": "15.0.0-canary.7f224ddd4.0", - "tslib": "^2.1.0" - } - }, - "node_modules/@material/select": { - "version": "15.0.0-canary.7f224ddd4.0", - "resolved": "https://registry.npmjs.org/@material/select/-/select-15.0.0-canary.7f224ddd4.0.tgz", - "integrity": "sha512-WioZtQEXRpglum0cMSzSqocnhsGRr+ZIhvKb3FlaNrTaK8H3Y4QA7rVjv3emRtrLOOjaT6/RiIaUMTo9AGzWQQ==", - "license": "MIT", - "dependencies": { - "@material/animation": "15.0.0-canary.7f224ddd4.0", - "@material/base": "15.0.0-canary.7f224ddd4.0", - "@material/density": "15.0.0-canary.7f224ddd4.0", - "@material/dom": "15.0.0-canary.7f224ddd4.0", - "@material/elevation": "15.0.0-canary.7f224ddd4.0", - "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", - "@material/floating-label": "15.0.0-canary.7f224ddd4.0", - "@material/line-ripple": "15.0.0-canary.7f224ddd4.0", - "@material/list": "15.0.0-canary.7f224ddd4.0", - "@material/menu": "15.0.0-canary.7f224ddd4.0", - "@material/menu-surface": "15.0.0-canary.7f224ddd4.0", - "@material/notched-outline": "15.0.0-canary.7f224ddd4.0", - "@material/ripple": "15.0.0-canary.7f224ddd4.0", - "@material/rtl": "15.0.0-canary.7f224ddd4.0", - "@material/shape": "15.0.0-canary.7f224ddd4.0", - "@material/theme": "15.0.0-canary.7f224ddd4.0", - "@material/tokens": "15.0.0-canary.7f224ddd4.0", - "@material/typography": "15.0.0-canary.7f224ddd4.0", - "tslib": "^2.1.0" - } - }, - "node_modules/@material/shape": { - "version": "15.0.0-canary.7f224ddd4.0", - "resolved": "https://registry.npmjs.org/@material/shape/-/shape-15.0.0-canary.7f224ddd4.0.tgz", - "integrity": "sha512-8z8l1W3+cymObunJoRhwFPKZ+FyECfJ4MJykNiaZq7XJFZkV6xNmqAVrrbQj93FtLsECn9g4PjjIomguVn/OEw==", - "license": "MIT", - "dependencies": { - "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", - "@material/rtl": "15.0.0-canary.7f224ddd4.0", - "@material/theme": "15.0.0-canary.7f224ddd4.0", - "tslib": "^2.1.0" - } - }, - "node_modules/@material/slider": { - "version": "15.0.0-canary.7f224ddd4.0", - "resolved": "https://registry.npmjs.org/@material/slider/-/slider-15.0.0-canary.7f224ddd4.0.tgz", - "integrity": "sha512-QU/WSaSWlLKQRqOhJrPgm29wqvvzRusMqwAcrCh1JTrCl+xwJ43q5WLDfjYhubeKtrEEgGu9tekkAiYfMG7EBw==", - "license": "MIT", - "dependencies": { - "@material/animation": "15.0.0-canary.7f224ddd4.0", - "@material/base": "15.0.0-canary.7f224ddd4.0", - "@material/dom": "15.0.0-canary.7f224ddd4.0", - "@material/elevation": "15.0.0-canary.7f224ddd4.0", - "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", - "@material/ripple": "15.0.0-canary.7f224ddd4.0", - "@material/rtl": "15.0.0-canary.7f224ddd4.0", - "@material/theme": "15.0.0-canary.7f224ddd4.0", - "@material/tokens": "15.0.0-canary.7f224ddd4.0", - "@material/typography": "15.0.0-canary.7f224ddd4.0", - "tslib": "^2.1.0" - } - }, - "node_modules/@material/snackbar": { - "version": "15.0.0-canary.7f224ddd4.0", - "resolved": "https://registry.npmjs.org/@material/snackbar/-/snackbar-15.0.0-canary.7f224ddd4.0.tgz", - "integrity": "sha512-sm7EbVKddaXpT/aXAYBdPoN0k8yeg9+dprgBUkrdqGzWJAeCkxb4fv2B3He88YiCtvkTz2KLY4CThPQBSEsMFQ==", - "license": "MIT", - "dependencies": { - "@material/animation": "15.0.0-canary.7f224ddd4.0", - "@material/base": "15.0.0-canary.7f224ddd4.0", - "@material/button": "15.0.0-canary.7f224ddd4.0", - "@material/dom": "15.0.0-canary.7f224ddd4.0", - "@material/elevation": "15.0.0-canary.7f224ddd4.0", - "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", - "@material/icon-button": "15.0.0-canary.7f224ddd4.0", - "@material/ripple": "15.0.0-canary.7f224ddd4.0", - "@material/rtl": "15.0.0-canary.7f224ddd4.0", - "@material/shape": "15.0.0-canary.7f224ddd4.0", - "@material/theme": "15.0.0-canary.7f224ddd4.0", - "@material/tokens": "15.0.0-canary.7f224ddd4.0", - "@material/typography": "15.0.0-canary.7f224ddd4.0", - "tslib": "^2.1.0" - } - }, - "node_modules/@material/switch": { - "version": "15.0.0-canary.7f224ddd4.0", - "resolved": "https://registry.npmjs.org/@material/switch/-/switch-15.0.0-canary.7f224ddd4.0.tgz", - "integrity": "sha512-lEDJfRvkVyyeHWIBfoxYjJVl+WlEAE2kZ/+6OqB1FW0OV8ftTODZGhHRSzjVBA1/p4FPuhAtKtoK9jTpa4AZjA==", - "license": "MIT", - "dependencies": { - "@material/animation": "15.0.0-canary.7f224ddd4.0", - "@material/base": "15.0.0-canary.7f224ddd4.0", - "@material/density": "15.0.0-canary.7f224ddd4.0", - "@material/dom": "15.0.0-canary.7f224ddd4.0", - "@material/elevation": "15.0.0-canary.7f224ddd4.0", - "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", - "@material/focus-ring": "15.0.0-canary.7f224ddd4.0", - "@material/ripple": "15.0.0-canary.7f224ddd4.0", - "@material/rtl": "15.0.0-canary.7f224ddd4.0", - "@material/shape": "15.0.0-canary.7f224ddd4.0", - "@material/theme": "15.0.0-canary.7f224ddd4.0", - "@material/tokens": "15.0.0-canary.7f224ddd4.0", - "safevalues": "^0.3.4", - "tslib": "^2.1.0" - } - }, - "node_modules/@material/tab": { - "version": "15.0.0-canary.7f224ddd4.0", - "resolved": "https://registry.npmjs.org/@material/tab/-/tab-15.0.0-canary.7f224ddd4.0.tgz", - "integrity": "sha512-E1xGACImyCLurhnizyOTCgOiVezce4HlBFAI6YhJo/AyVwjN2Dtas4ZLQMvvWWqpyhITNkeYdOchwCC1mrz3AQ==", - "license": "MIT", - "dependencies": { - "@material/base": "15.0.0-canary.7f224ddd4.0", - "@material/elevation": "15.0.0-canary.7f224ddd4.0", - "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", - "@material/focus-ring": "15.0.0-canary.7f224ddd4.0", - "@material/ripple": "15.0.0-canary.7f224ddd4.0", - "@material/rtl": "15.0.0-canary.7f224ddd4.0", - "@material/tab-indicator": "15.0.0-canary.7f224ddd4.0", - "@material/theme": "15.0.0-canary.7f224ddd4.0", - "@material/tokens": "15.0.0-canary.7f224ddd4.0", - "@material/typography": "15.0.0-canary.7f224ddd4.0", - "tslib": "^2.1.0" - } - }, - "node_modules/@material/tab-bar": { - "version": "15.0.0-canary.7f224ddd4.0", - "resolved": "https://registry.npmjs.org/@material/tab-bar/-/tab-bar-15.0.0-canary.7f224ddd4.0.tgz", - "integrity": "sha512-p1Asb2NzrcECvAQU3b2SYrpyJGyJLQWR+nXTYzDKE8WOpLIRCXap2audNqD7fvN/A20UJ1J8U01ptrvCkwJ4eA==", - "license": "MIT", - "dependencies": { - "@material/animation": "15.0.0-canary.7f224ddd4.0", - "@material/base": "15.0.0-canary.7f224ddd4.0", - "@material/density": "15.0.0-canary.7f224ddd4.0", - "@material/elevation": "15.0.0-canary.7f224ddd4.0", - "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", - "@material/tab": "15.0.0-canary.7f224ddd4.0", - "@material/tab-indicator": "15.0.0-canary.7f224ddd4.0", - "@material/tab-scroller": "15.0.0-canary.7f224ddd4.0", - "@material/theme": "15.0.0-canary.7f224ddd4.0", - "@material/tokens": "15.0.0-canary.7f224ddd4.0", - "@material/typography": "15.0.0-canary.7f224ddd4.0", - "tslib": "^2.1.0" - } - }, - "node_modules/@material/tab-indicator": { - "version": "15.0.0-canary.7f224ddd4.0", - "resolved": "https://registry.npmjs.org/@material/tab-indicator/-/tab-indicator-15.0.0-canary.7f224ddd4.0.tgz", - "integrity": "sha512-h9Td3MPqbs33spcPS7ecByRHraYgU4tNCZpZzZXw31RypjKvISDv/PS5wcA4RmWqNGih78T7xg4QIGsZg4Pk4w==", - "license": "MIT", - "dependencies": { - "@material/animation": "15.0.0-canary.7f224ddd4.0", - "@material/base": "15.0.0-canary.7f224ddd4.0", - "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", - "@material/theme": "15.0.0-canary.7f224ddd4.0", - "tslib": "^2.1.0" - } - }, - "node_modules/@material/tab-scroller": { - "version": "15.0.0-canary.7f224ddd4.0", - "resolved": "https://registry.npmjs.org/@material/tab-scroller/-/tab-scroller-15.0.0-canary.7f224ddd4.0.tgz", - "integrity": "sha512-LFeYNjQpdXecwECd8UaqHYbhscDCwhGln5Yh+3ctvcEgvmDPNjhKn/DL3sWprWvG8NAhP6sHMrsGhQFVdCWtTg==", - "license": "MIT", - "dependencies": { - "@material/animation": "15.0.0-canary.7f224ddd4.0", - "@material/base": "15.0.0-canary.7f224ddd4.0", - "@material/dom": "15.0.0-canary.7f224ddd4.0", - "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", - "@material/tab": "15.0.0-canary.7f224ddd4.0", - "tslib": "^2.1.0" - } - }, - "node_modules/@material/textfield": { - "version": "15.0.0-canary.7f224ddd4.0", - "resolved": "https://registry.npmjs.org/@material/textfield/-/textfield-15.0.0-canary.7f224ddd4.0.tgz", - "integrity": "sha512-AExmFvgE5nNF0UA4l2cSzPghtxSUQeeoyRjFLHLy+oAaE4eKZFrSy0zEpqPeWPQpEMDZk+6Y+6T3cOFYBeSvsw==", - "license": "MIT", - "dependencies": { - "@material/animation": "15.0.0-canary.7f224ddd4.0", - "@material/base": "15.0.0-canary.7f224ddd4.0", - "@material/density": "15.0.0-canary.7f224ddd4.0", - "@material/dom": "15.0.0-canary.7f224ddd4.0", - "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", - "@material/floating-label": "15.0.0-canary.7f224ddd4.0", - "@material/line-ripple": "15.0.0-canary.7f224ddd4.0", - "@material/notched-outline": "15.0.0-canary.7f224ddd4.0", - "@material/ripple": "15.0.0-canary.7f224ddd4.0", - "@material/rtl": "15.0.0-canary.7f224ddd4.0", - "@material/shape": "15.0.0-canary.7f224ddd4.0", - "@material/theme": "15.0.0-canary.7f224ddd4.0", - "@material/tokens": "15.0.0-canary.7f224ddd4.0", - "@material/typography": "15.0.0-canary.7f224ddd4.0", - "tslib": "^2.1.0" - } - }, - "node_modules/@material/theme": { - "version": "15.0.0-canary.7f224ddd4.0", - "resolved": "https://registry.npmjs.org/@material/theme/-/theme-15.0.0-canary.7f224ddd4.0.tgz", - "integrity": "sha512-hs45hJoE9yVnoVOcsN1jklyOa51U4lzWsEnQEuJTPOk2+0HqCQ0yv/q0InpSnm2i69fNSyZC60+8HADZGF8ugQ==", - "license": "MIT", - "dependencies": { - "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", - "tslib": "^2.1.0" - } - }, - "node_modules/@material/tokens": { - "version": "15.0.0-canary.7f224ddd4.0", - "resolved": "https://registry.npmjs.org/@material/tokens/-/tokens-15.0.0-canary.7f224ddd4.0.tgz", - "integrity": "sha512-r9TDoicmcT7FhUXC4eYMFnt9TZsz0G8T3wXvkKncLppYvZ517gPyD/1+yhuGfGOxAzxTrM66S/oEc1fFE2q4hw==", - "license": "MIT", - "dependencies": { - "@material/elevation": "15.0.0-canary.7f224ddd4.0" - } - }, - "node_modules/@material/tooltip": { - "version": "15.0.0-canary.7f224ddd4.0", - "resolved": "https://registry.npmjs.org/@material/tooltip/-/tooltip-15.0.0-canary.7f224ddd4.0.tgz", - "integrity": "sha512-8qNk3pmPLTnam3XYC1sZuplQXW9xLn4Z4MI3D+U17Q7pfNZfoOugGr+d2cLA9yWAEjVJYB0mj8Yu86+udo4N9w==", - "license": "MIT", - "dependencies": { - "@material/animation": "15.0.0-canary.7f224ddd4.0", - "@material/base": "15.0.0-canary.7f224ddd4.0", - "@material/button": "15.0.0-canary.7f224ddd4.0", - "@material/dom": "15.0.0-canary.7f224ddd4.0", - "@material/elevation": "15.0.0-canary.7f224ddd4.0", - "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", - "@material/rtl": "15.0.0-canary.7f224ddd4.0", - "@material/shape": "15.0.0-canary.7f224ddd4.0", - "@material/theme": "15.0.0-canary.7f224ddd4.0", - "@material/tokens": "15.0.0-canary.7f224ddd4.0", - "@material/typography": "15.0.0-canary.7f224ddd4.0", - "safevalues": "^0.3.4", - "tslib": "^2.1.0" - } - }, - "node_modules/@material/top-app-bar": { - "version": "15.0.0-canary.7f224ddd4.0", - "resolved": "https://registry.npmjs.org/@material/top-app-bar/-/top-app-bar-15.0.0-canary.7f224ddd4.0.tgz", - "integrity": "sha512-SARR5/ClYT4CLe9qAXakbr0i0cMY0V3V4pe3ElIJPfL2Z2c4wGR1mTR8m2LxU1MfGKK8aRoUdtfKaxWejp+eNA==", - "license": "MIT", - "dependencies": { - "@material/animation": "15.0.0-canary.7f224ddd4.0", - "@material/base": "15.0.0-canary.7f224ddd4.0", - "@material/elevation": "15.0.0-canary.7f224ddd4.0", - "@material/ripple": "15.0.0-canary.7f224ddd4.0", - "@material/rtl": "15.0.0-canary.7f224ddd4.0", - "@material/shape": "15.0.0-canary.7f224ddd4.0", - "@material/theme": "15.0.0-canary.7f224ddd4.0", - "@material/typography": "15.0.0-canary.7f224ddd4.0", - "tslib": "^2.1.0" - } - }, - "node_modules/@material/touch-target": { - "version": "15.0.0-canary.7f224ddd4.0", - "resolved": "https://registry.npmjs.org/@material/touch-target/-/touch-target-15.0.0-canary.7f224ddd4.0.tgz", - "integrity": "sha512-BJo/wFKHPYLGsRaIpd7vsQwKr02LtO2e89Psv0on/p0OephlNIgeB9dD9W+bQmaeZsZ6liKSKRl6wJWDiK71PA==", - "license": "MIT", - "dependencies": { - "@material/base": "15.0.0-canary.7f224ddd4.0", - "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", - "@material/rtl": "15.0.0-canary.7f224ddd4.0", - "@material/theme": "15.0.0-canary.7f224ddd4.0", - "tslib": "^2.1.0" - } - }, - "node_modules/@material/typography": { - "version": "15.0.0-canary.7f224ddd4.0", - "resolved": "https://registry.npmjs.org/@material/typography/-/typography-15.0.0-canary.7f224ddd4.0.tgz", - "integrity": "sha512-kBaZeCGD50iq1DeRRH5OM5Jl7Gdk+/NOfKArkY4ksBZvJiStJ7ACAhpvb8MEGm4s3jvDInQFLsDq3hL+SA79sQ==", - "license": "MIT", - "dependencies": { - "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", - "@material/theme": "15.0.0-canary.7f224ddd4.0", - "tslib": "^2.1.0" - } - }, "node_modules/@msgpackr-extract/msgpackr-extract-darwin-arm64": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-darwin-arm64/-/msgpackr-extract-darwin-arm64-3.0.3.tgz", @@ -16988,6 +15930,8 @@ "integrity": "sha512-xUXwsxNjwTQ8K3GnT4pCJm+xq3RUPQbmkYJTP5aFIfNIvbcc/4MUxgBaaRSZJ6yGJZiGSyYlM6MzwTsRk8SYCg==", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "engines": { "node": ">=12" }, @@ -18885,12 +17829,6 @@ "dev": true, "license": "MIT" }, - "node_modules/safevalues": { - "version": "0.3.4", - "resolved": "https://registry.npmjs.org/safevalues/-/safevalues-0.3.4.tgz", - "integrity": "sha512-LRneZZRXNgjzwG4bDQdOTSbze3fHm1EAKN/8bePxnlEZiBmkYEDggaHbuvHI9/hoqHbGfsEA7tWS9GhYHZBBsw==", - "license": "Apache-2.0" - }, "node_modules/sass": { "version": "1.77.6", "resolved": "https://registry.npmjs.org/sass/-/sass-1.77.6.tgz", diff --git a/package.json b/package.json index 0873577..e0de5b1 100644 --- a/package.json +++ b/package.json @@ -22,12 +22,12 @@ "private": true, "dependencies": { "@angular/animations": "^18.2.13", - "@angular/cdk": "^17.1.2", + "@angular/cdk": "^18.2.14", "@angular/common": "^18.2.13", "@angular/compiler": "^18.2.13", "@angular/core": "^18.2.13", "@angular/forms": "^18.2.13", - "@angular/material": "^17.1.2", + "@angular/material": "^18.2.14", "@angular/platform-browser": "^18.2.13", "@angular/platform-browser-dynamic": "^18.2.13", "@angular/router": "^18.2.13", @@ -39,7 +39,7 @@ "zone.js": "~0.14.3" }, "devDependencies": { - "@angular-builders/jest": "^17.0.0", + "@angular-builders/jest": "^18.0.0", "@angular-devkit/build-angular": "^18.2.20", "@angular-devkit/core": "^18.2.20", "@angular/cli": "^18.2.20", From c51e256a1326e9c88b67e31841a33b45c44c5418 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 27 Jun 2025 07:44:15 +0000 Subject: [PATCH 04/10] Upgrade Angular from v18 to v19 Co-authored-by: manekinekko <1699357+manekinekko@users.noreply.github.com> --- package-lock.json | 4704 +++++++++++-------- package.json | 32 +- src/app/app.component.ts | 7 +- src/app/dashboard/dashboard.component.ts | 7 +- src/app/thingy52/battery-level.component.ts | 13 +- src/app/thingy52/humidity.component.ts | 9 +- src/app/thingy52/stepcounter.component.ts | 9 +- src/app/thingy52/temperature.component.ts | 13 +- 8 files changed, 2841 insertions(+), 1953 deletions(-) diff --git a/package-lock.json b/package-lock.json index bc313fc..0a28c1e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,30 +8,30 @@ "name": "angular-web-bluetooth-starter", "version": "17.1.0", "dependencies": { - "@angular/animations": "^18.2.13", + "@angular/animations": "^19.2.14", "@angular/cdk": "^18.2.14", - "@angular/common": "^18.2.13", - "@angular/compiler": "^18.2.13", - "@angular/core": "^18.2.13", - "@angular/forms": "^18.2.13", + "@angular/common": "^19.2.14", + "@angular/compiler": "^19.2.14", + "@angular/core": "^19.2.14", + "@angular/forms": "^19.2.14", "@angular/material": "^18.2.14", - "@angular/platform-browser": "^18.2.13", - "@angular/platform-browser-dynamic": "^18.2.13", - "@angular/router": "^18.2.13", + "@angular/platform-browser": "^19.2.14", + "@angular/platform-browser-dynamic": "^19.2.14", + "@angular/router": "^19.2.14", "@types/web-bluetooth": "0.0.6", "rxjs": "~7.8.0", "smoothie": "^1.35.0", "ts-jest": "^29.0.5", "tslib": "^2.3.0", - "zone.js": "~0.14.3" + "zone.js": "~0.15.1" }, "devDependencies": { "@angular-builders/jest": "^18.0.0", - "@angular-devkit/build-angular": "^18.2.20", - "@angular-devkit/core": "^18.2.20", - "@angular/cli": "^18.2.20", - "@angular/compiler-cli": "^18.2.13", - "@angular/language-service": "^18.2.13", + "@angular-devkit/build-angular": "^19.2.15", + "@angular-devkit/core": "^19.2.15", + "@angular/cli": "^19.2.15", + "@angular/compiler-cli": "^19.2.14", + "@angular/language-service": "^19.2.14", "@compodoc/compodoc": "^1.1.11", "@types/jasmine": "~5.1.4", "@types/jasminewd2": "~2.0.8", @@ -46,7 +46,7 @@ "karma-coverage": "~2.2.0", "karma-jasmine": "~5.1.0", "karma-jasmine-html-reporter": "~2.1.0", - "ng-packagr": "^18.2.1", + "ng-packagr": "^19.2.2", "release-it": "^17.0.3", "typescript": "~5.5.4" } @@ -86,6 +86,89 @@ "node": "^14.20.0 || ^16.13.0 || >=18.10.0" } }, + "node_modules/@angular-builders/common/node_modules/@angular-devkit/core": { + "version": "18.2.20", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-18.2.20.tgz", + "integrity": "sha512-VNxI2e9EZQNqKYtUJ4u43QRJ9kObeyG9f69caxnj28cg4qim3H1vX/sglnodP8EsTIRbzwBKc884ebHWFdQJkQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "8.17.1", + "ajv-formats": "3.0.1", + "jsonc-parser": "3.3.1", + "picomatch": "4.0.2", + "rxjs": "7.8.1", + "source-map": "0.7.4" + }, + "engines": { + "node": "^18.19.1 || ^20.11.1 || >=22.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "peerDependencies": { + "chokidar": "^3.5.2" + }, + "peerDependenciesMeta": { + "chokidar": { + "optional": true + } + } + }, + "node_modules/@angular-builders/common/node_modules/ajv-formats": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-3.0.1.tgz", + "integrity": "sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/@angular-builders/common/node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/@angular-builders/common/node_modules/rxjs": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", + "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.1.0" + } + }, "node_modules/@angular-builders/jest": { "version": "18.0.0", "resolved": "https://registry.npmjs.org/@angular-builders/jest/-/jest-18.0.0.tgz", @@ -110,6 +193,79 @@ "jest": ">=29" } }, + "node_modules/@angular-builders/jest/node_modules/@angular-devkit/core": { + "version": "18.2.20", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-18.2.20.tgz", + "integrity": "sha512-VNxI2e9EZQNqKYtUJ4u43QRJ9kObeyG9f69caxnj28cg4qim3H1vX/sglnodP8EsTIRbzwBKc884ebHWFdQJkQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "8.17.1", + "ajv-formats": "3.0.1", + "jsonc-parser": "3.3.1", + "picomatch": "4.0.2", + "rxjs": "7.8.1", + "source-map": "0.7.4" + }, + "engines": { + "node": "^18.19.1 || ^20.11.1 || >=22.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "peerDependencies": { + "chokidar": "^3.5.2" + }, + "peerDependenciesMeta": { + "chokidar": { + "optional": true + } + } + }, + "node_modules/@angular-builders/jest/node_modules/ajv-formats": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-3.0.1.tgz", + "integrity": "sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/@angular-builders/jest/node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, "node_modules/@angular-builders/jest/node_modules/jest-preset-angular": { "version": "14.1.0", "resolved": "https://registry.npmjs.org/jest-preset-angular/-/jest-preset-angular-14.1.0.tgz", @@ -139,6 +295,16 @@ "typescript": ">=4.8" } }, + "node_modules/@angular-builders/jest/node_modules/rxjs": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", + "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.1.0" + } + }, "node_modules/@angular-devkit/architect": { "version": "0.1802.20", "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1802.20.tgz", @@ -155,6 +321,79 @@ "yarn": ">= 1.13.0" } }, + "node_modules/@angular-devkit/architect/node_modules/@angular-devkit/core": { + "version": "18.2.20", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-18.2.20.tgz", + "integrity": "sha512-VNxI2e9EZQNqKYtUJ4u43QRJ9kObeyG9f69caxnj28cg4qim3H1vX/sglnodP8EsTIRbzwBKc884ebHWFdQJkQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "8.17.1", + "ajv-formats": "3.0.1", + "jsonc-parser": "3.3.1", + "picomatch": "4.0.2", + "rxjs": "7.8.1", + "source-map": "0.7.4" + }, + "engines": { + "node": "^18.19.1 || ^20.11.1 || >=22.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "peerDependencies": { + "chokidar": "^3.5.2" + }, + "peerDependenciesMeta": { + "chokidar": { + "optional": true + } + } + }, + "node_modules/@angular-devkit/architect/node_modules/ajv-formats": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-3.0.1.tgz", + "integrity": "sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/@angular-devkit/architect/node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, "node_modules/@angular-devkit/architect/node_modules/rxjs": { "version": "7.8.1", "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", @@ -166,17 +405,17 @@ } }, "node_modules/@angular-devkit/build-angular": { - "version": "18.2.20", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-18.2.20.tgz", - "integrity": "sha512-wjWFSpu4PJgASB6ZkYMFspK1oLuzdyZhyjB14y+/5+qqoCRroFyaEhhOHfzqHF2dwH8+rOg6E2r4vkre94duPQ==", + "version": "19.2.15", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-19.2.15.tgz", + "integrity": "sha512-mqudAcyrSp/E7ZQdQoHfys0/nvQuwyJDaAzj3qL3HUStuUzb5ULNOj2f6sFBo+xYo+/WT8IzmzDN9DCqDgvFaA==", "dev": true, "license": "MIT", "dependencies": { "@ampproject/remapping": "2.3.0", - "@angular-devkit/architect": "0.1802.20", - "@angular-devkit/build-webpack": "0.1802.20", - "@angular-devkit/core": "18.2.20", - "@angular/build": "18.2.20", + "@angular-devkit/architect": "0.1902.15", + "@angular-devkit/build-webpack": "0.1902.15", + "@angular-devkit/core": "19.2.15", + "@angular/build": "19.2.15", "@babel/core": "7.26.10", "@babel/generator": "7.26.10", "@babel/helper-annotate-as-pure": "7.25.9", @@ -186,48 +425,43 @@ "@babel/plugin-transform-runtime": "7.26.10", "@babel/preset-env": "7.26.9", "@babel/runtime": "7.26.10", - "@discoveryjs/json-ext": "0.6.1", - "@ngtools/webpack": "18.2.20", + "@discoveryjs/json-ext": "0.6.3", + "@ngtools/webpack": "19.2.15", + "@vitejs/plugin-basic-ssl": "1.2.0", "ansi-colors": "4.1.3", "autoprefixer": "10.4.20", - "babel-loader": "9.1.3", + "babel-loader": "9.2.1", "browserslist": "^4.21.5", "copy-webpack-plugin": "12.0.2", - "critters": "0.0.24", "css-loader": "7.1.2", - "esbuild-wasm": "0.23.0", - "fast-glob": "3.3.2", + "esbuild-wasm": "0.25.4", + "fast-glob": "3.3.3", "http-proxy-middleware": "3.0.5", - "https-proxy-agent": "7.0.5", "istanbul-lib-instrument": "6.0.3", "jsonc-parser": "3.3.1", "karma-source-map-support": "1.4.0", - "less": "4.2.0", + "less": "4.2.2", "less-loader": "12.2.0", "license-webpack-plugin": "4.0.2", "loader-utils": "3.3.1", - "magic-string": "0.30.11", - "mini-css-extract-plugin": "2.9.0", - "mrmime": "2.0.0", + "mini-css-extract-plugin": "2.9.2", "open": "10.1.0", "ora": "5.4.1", - "parse5-html-rewriting-stream": "7.0.0", "picomatch": "4.0.2", - "piscina": "4.6.1", - "postcss": "8.4.41", + "piscina": "4.8.0", + "postcss": "8.5.2", "postcss-loader": "8.1.1", "resolve-url-loader": "5.0.0", "rxjs": "7.8.1", - "sass": "1.77.6", - "sass-loader": "16.0.0", - "semver": "7.6.3", + "sass": "1.85.0", + "sass-loader": "16.0.5", + "semver": "7.7.1", "source-map-loader": "5.0.0", "source-map-support": "0.5.21", - "terser": "5.31.6", + "terser": "5.39.0", "tree-kill": "1.2.2", - "tslib": "2.6.3", - "watchpack": "2.4.1", - "webpack": "5.94.0", + "tslib": "2.8.1", + "webpack": "5.98.0", "webpack-dev-middleware": "7.4.2", "webpack-dev-server": "5.2.2", "webpack-merge": "6.0.1", @@ -239,22 +473,23 @@ "yarn": ">= 1.13.0" }, "optionalDependencies": { - "esbuild": "0.23.0" + "esbuild": "0.25.4" }, "peerDependencies": { - "@angular/compiler-cli": "^18.0.0", - "@angular/localize": "^18.0.0", - "@angular/platform-server": "^18.0.0", - "@angular/service-worker": "^18.0.0", - "@web/test-runner": "^0.18.0", + "@angular/compiler-cli": "^19.0.0 || ^19.2.0-next.0", + "@angular/localize": "^19.0.0 || ^19.2.0-next.0", + "@angular/platform-server": "^19.0.0 || ^19.2.0-next.0", + "@angular/service-worker": "^19.0.0 || ^19.2.0-next.0", + "@angular/ssr": "^19.2.15", + "@web/test-runner": "^0.20.0", "browser-sync": "^3.0.2", "jest": "^29.5.0", "jest-environment-jsdom": "^29.5.0", "karma": "^6.3.0", - "ng-packagr": "^18.0.0", + "ng-packagr": "^19.0.0 || ^19.2.0-next.0", "protractor": "^7.0.0", - "tailwindcss": "^2.0.0 || ^3.0.0", - "typescript": ">=5.4 <5.6" + "tailwindcss": "^2.0.0 || ^3.0.0 || ^4.0.0", + "typescript": ">=5.5 <5.9" }, "peerDependenciesMeta": { "@angular/localize": { @@ -266,6 +501,9 @@ "@angular/service-worker": { "optional": true }, + "@angular/ssr": { + "optional": true + }, "@web/test-runner": { "optional": true }, @@ -292,6 +530,22 @@ } } }, + "node_modules/@angular-devkit/build-angular/node_modules/@angular-devkit/architect": { + "version": "0.1902.15", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1902.15.tgz", + "integrity": "sha512-RbqhStc6ZoRv57ZqLB36VOkBkAdU3nNezCvIs0AJV5V4+vLPMrb0hpIB0sF+9yMlMjWsolnRsj0/Fil+zQG3bw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@angular-devkit/core": "19.2.15", + "rxjs": "7.8.1" + }, + "engines": { + "node": "^18.19.1 || ^20.11.1 || >=22.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, "node_modules/@angular-devkit/build-angular/node_modules/istanbul-lib-instrument": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.3.tgz", @@ -309,17 +563,33 @@ "node": ">=10" } }, - "node_modules/@angular-devkit/build-angular/node_modules/picomatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", - "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", + "node_modules/@angular-devkit/build-angular/node_modules/postcss": { + "version": "8.5.2", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.2.tgz", + "integrity": "sha512-MjOadfU3Ys9KYoX0AdkBlFEF1Vx37uCCeN4ZHnmwm9FfpbsGWMZeBLMmmpY+6Ocqod7mkdZ0DT31OlbsFrLlkA==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.8", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" } }, "node_modules/@angular-devkit/build-angular/node_modules/rxjs": { @@ -332,21 +602,27 @@ "tslib": "^2.1.0" } }, - "node_modules/@angular-devkit/build-angular/node_modules/tslib": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", - "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==", + "node_modules/@angular-devkit/build-angular/node_modules/semver": { + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", "dev": true, - "license": "0BSD" + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } }, "node_modules/@angular-devkit/build-webpack": { - "version": "0.1802.20", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1802.20.tgz", - "integrity": "sha512-710EUKGXJ0HlETDOlkiFWA6Ddku0vdNumbPzi2gb5UnjFo297BIOHgHt77auDhpKj1qffHTvvoiA2UseOX85QA==", + "version": "0.1902.15", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1902.15.tgz", + "integrity": "sha512-pIfZeizWsViXx8bsMoBLZw7Tl7uFf7bM7hAfmNwk0bb0QGzx5k1BiW6IKWyaG+Dg6U4UCrlNpIiut2b78HwQZw==", "dev": true, "license": "MIT", "dependencies": { - "@angular-devkit/architect": "0.1802.20", + "@angular-devkit/architect": "0.1902.15", "rxjs": "7.8.1" }, "engines": { @@ -359,6 +635,22 @@ "webpack-dev-server": "^5.0.2" } }, + "node_modules/@angular-devkit/build-webpack/node_modules/@angular-devkit/architect": { + "version": "0.1902.15", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1902.15.tgz", + "integrity": "sha512-RbqhStc6ZoRv57ZqLB36VOkBkAdU3nNezCvIs0AJV5V4+vLPMrb0hpIB0sF+9yMlMjWsolnRsj0/Fil+zQG3bw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@angular-devkit/core": "19.2.15", + "rxjs": "7.8.1" + }, + "engines": { + "node": "^18.19.1 || ^20.11.1 || >=22.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, "node_modules/@angular-devkit/build-webpack/node_modules/rxjs": { "version": "7.8.1", "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", @@ -370,9 +662,9 @@ } }, "node_modules/@angular-devkit/core": { - "version": "18.2.20", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-18.2.20.tgz", - "integrity": "sha512-VNxI2e9EZQNqKYtUJ4u43QRJ9kObeyG9f69caxnj28cg4qim3H1vX/sglnodP8EsTIRbzwBKc884ebHWFdQJkQ==", + "version": "19.2.15", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-19.2.15.tgz", + "integrity": "sha512-pU2RZYX6vhd7uLSdLwPnuBcr0mXJSjp3EgOXKsrlQFQZevc+Qs+2JdXgIElnOT/aDqtRtriDmLlSbtdE8n3ZbA==", "dev": true, "license": "MIT", "dependencies": { @@ -389,7 +681,7 @@ "yarn": ">= 1.13.0" }, "peerDependencies": { - "chokidar": "^3.5.2" + "chokidar": "^4.0.0" }, "peerDependenciesMeta": { "chokidar": { @@ -397,23 +689,6 @@ } } }, - "node_modules/@angular-devkit/core/node_modules/ajv": { - "version": "8.17.1", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", - "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.3", - "fast-uri": "^3.0.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, "node_modules/@angular-devkit/core/node_modules/ajv-formats": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-3.0.1.tgz", @@ -432,19 +707,6 @@ } } }, - "node_modules/@angular-devkit/core/node_modules/picomatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", - "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, "node_modules/@angular-devkit/core/node_modules/rxjs": { "version": "7.8.1", "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", @@ -456,15 +718,15 @@ } }, "node_modules/@angular-devkit/schematics": { - "version": "18.2.20", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-18.2.20.tgz", - "integrity": "sha512-eKoFeWOxwheaGK+aguyTs9utxxmFsrI/aHQttiyhBy+HzmgX/E0grzx6ZpuipUpBA8lYMtxfTJ7AC12fGJMvFA==", + "version": "19.2.15", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-19.2.15.tgz", + "integrity": "sha512-kNOJ+3vekJJCQKWihNmxBkarJzNW09kP5a9E1SRNiQVNOUEeSwcRR0qYotM65nx821gNzjjhJXnAZ8OazWldrg==", "dev": true, "license": "MIT", "dependencies": { - "@angular-devkit/core": "18.2.20", + "@angular-devkit/core": "19.2.15", "jsonc-parser": "3.3.1", - "magic-string": "0.30.11", + "magic-string": "0.30.17", "ora": "5.4.1", "rxjs": "7.8.1" }, @@ -474,6 +736,16 @@ "yarn": ">= 1.13.0" } }, + "node_modules/@angular-devkit/schematics/node_modules/magic-string": { + "version": "0.30.17", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.17.tgz", + "integrity": "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0" + } + }, "node_modules/@angular-devkit/schematics/node_modules/rxjs": { "version": "7.8.1", "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", @@ -485,9 +757,9 @@ } }, "node_modules/@angular/animations": { - "version": "18.2.13", - "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-18.2.13.tgz", - "integrity": "sha512-rG5J5Ek5Hg+Tz2NjkNOaG6PupiNK/lPfophXpsR1t/nWujqnMWX2krahD/i6kgD+jNWNKCJCYSOVvCx/BHOtKA==", + "version": "19.2.14", + "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-19.2.14.tgz", + "integrity": "sha512-xhl8fLto5HHJdVj8Nb6EoBEiTAcXuWDYn1q5uHcGxyVH3kiwENWy/2OQXgCr2CuWo2e6hNUGzSLf/cjbsMNqEA==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -496,56 +768,65 @@ "node": "^18.19.1 || ^20.11.1 || >=22.0.0" }, "peerDependencies": { - "@angular/core": "18.2.13" + "@angular/common": "19.2.14", + "@angular/core": "19.2.14" } }, "node_modules/@angular/build": { - "version": "18.2.20", - "resolved": "https://registry.npmjs.org/@angular/build/-/build-18.2.20.tgz", - "integrity": "sha512-9VW/zSQoSwc9e5OBjtnroj9feacD2HgkSYx7TsfmDyefIlOCeNxbhkm83Px/4B8VG6kzZUBzLBJ4QULl2E1Y/Q==", + "version": "19.2.15", + "resolved": "https://registry.npmjs.org/@angular/build/-/build-19.2.15.tgz", + "integrity": "sha512-iE4fp4d5ALu702uoL6/YkjM2JlGEXZ5G+RVzq3W2jg/Ft6ISAQnRKB6mymtetDD6oD7i87e8uSu9kFVNBauX2w==", "dev": true, "license": "MIT", "dependencies": { "@ampproject/remapping": "2.3.0", - "@angular-devkit/architect": "0.1802.20", - "@babel/core": "7.25.2", - "@babel/helper-annotate-as-pure": "7.24.7", + "@angular-devkit/architect": "0.1902.15", + "@babel/core": "7.26.10", + "@babel/helper-annotate-as-pure": "7.25.9", "@babel/helper-split-export-declaration": "7.24.7", - "@babel/plugin-syntax-import-attributes": "7.24.7", - "@inquirer/confirm": "3.1.22", - "@vitejs/plugin-basic-ssl": "1.1.0", + "@babel/plugin-syntax-import-attributes": "7.26.0", + "@inquirer/confirm": "5.1.6", + "@vitejs/plugin-basic-ssl": "1.2.0", + "beasties": "0.3.2", "browserslist": "^4.23.0", - "critters": "0.0.24", - "esbuild": "0.23.0", - "fast-glob": "3.3.2", - "https-proxy-agent": "7.0.5", - "listr2": "8.2.4", - "lmdb": "3.0.13", - "magic-string": "0.30.11", - "mrmime": "2.0.0", + "esbuild": "0.25.4", + "fast-glob": "3.3.3", + "https-proxy-agent": "7.0.6", + "istanbul-lib-instrument": "6.0.3", + "listr2": "8.2.5", + "magic-string": "0.30.17", + "mrmime": "2.0.1", "parse5-html-rewriting-stream": "7.0.0", "picomatch": "4.0.2", - "piscina": "4.6.1", - "rollup": "4.22.4", - "sass": "1.77.6", - "semver": "7.6.3", - "vite": "~5.4.17", - "watchpack": "2.4.1" + "piscina": "4.8.0", + "rollup": "4.34.8", + "sass": "1.85.0", + "semver": "7.7.1", + "source-map-support": "0.5.21", + "vite": "6.2.7", + "watchpack": "2.4.2" }, "engines": { "node": "^18.19.1 || ^20.11.1 || >=22.0.0", "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", "yarn": ">= 1.13.0" }, + "optionalDependencies": { + "lmdb": "3.2.6" + }, "peerDependencies": { - "@angular/compiler-cli": "^18.0.0", - "@angular/localize": "^18.0.0", - "@angular/platform-server": "^18.0.0", - "@angular/service-worker": "^18.0.0", + "@angular/compiler": "^19.0.0 || ^19.2.0-next.0", + "@angular/compiler-cli": "^19.0.0 || ^19.2.0-next.0", + "@angular/localize": "^19.0.0 || ^19.2.0-next.0", + "@angular/platform-server": "^19.0.0 || ^19.2.0-next.0", + "@angular/service-worker": "^19.0.0 || ^19.2.0-next.0", + "@angular/ssr": "^19.2.15", + "karma": "^6.4.0", "less": "^4.2.0", + "ng-packagr": "^19.0.0 || ^19.2.0-next.0", "postcss": "^8.4.0", - "tailwindcss": "^2.0.0 || ^3.0.0", - "typescript": ">=5.4 <5.6" + "tailwindcss": "^2.0.0 || ^3.0.0 || ^4.0.0", + "typescript": ">=5.5 <5.9" }, "peerDependenciesMeta": { "@angular/localize": { @@ -557,9 +838,18 @@ "@angular/service-worker": { "optional": true }, + "@angular/ssr": { + "optional": true + }, + "karma": { + "optional": true + }, "less": { "optional": true }, + "ng-packagr": { + "optional": true + }, "postcss": { "optional": true }, @@ -568,94 +858,158 @@ } } }, - "node_modules/@angular/build/node_modules/@babel/core": { - "version": "7.25.2", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.25.2.tgz", - "integrity": "sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA==", + "node_modules/@angular/build/node_modules/@angular-devkit/architect": { + "version": "0.1902.15", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1902.15.tgz", + "integrity": "sha512-RbqhStc6ZoRv57ZqLB36VOkBkAdU3nNezCvIs0AJV5V4+vLPMrb0hpIB0sF+9yMlMjWsolnRsj0/Fil+zQG3bw==", "dev": true, "license": "MIT", "dependencies": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.24.7", - "@babel/generator": "^7.25.0", - "@babel/helper-compilation-targets": "^7.25.2", - "@babel/helper-module-transforms": "^7.25.2", - "@babel/helpers": "^7.25.0", - "@babel/parser": "^7.25.0", - "@babel/template": "^7.25.0", - "@babel/traverse": "^7.25.2", - "@babel/types": "^7.25.2", - "convert-source-map": "^2.0.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.3", - "semver": "^6.3.1" + "@angular-devkit/core": "19.2.15", + "rxjs": "7.8.1" }, "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } - }, - "node_modules/@angular/build/node_modules/@babel/core/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" + "node": "^18.19.1 || ^20.11.1 || >=22.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" } }, - "node_modules/@angular/build/node_modules/@babel/helper-annotate-as-pure": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.24.7.tgz", - "integrity": "sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg==", + "node_modules/@angular/build/node_modules/@babel/plugin-syntax-import-attributes": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.26.0.tgz", + "integrity": "sha512-e2dttdsJ1ZTpi3B9UYGLw41hifAubg19AtCu/2I/F1QNVclOBr1dYpTdmdyZ84Xiz43BS/tCUkMAZNLv12Pi+A==", "dev": true, "license": "MIT", "dependencies": { - "@babel/types": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@angular/build/node_modules/@babel/plugin-syntax-import-attributes": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.24.7.tgz", - "integrity": "sha512-hbX+lKKeUMGihnK8nvKqmXBInriT3GVjzXKFriV3YC6APGxMbP8RZNFwy91+hocLXq90Mta+HshoB31802bb8A==", + "node_modules/@angular/build/node_modules/istanbul-lib-instrument": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.3.tgz", + "integrity": "sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q==", "dev": true, - "license": "MIT", + "license": "BSD-3-Clause", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/core": "^7.23.9", + "@babel/parser": "^7.23.9", + "@istanbuljs/schema": "^0.1.3", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^7.5.4" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=10" } }, - "node_modules/@angular/build/node_modules/convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "node_modules/@angular/build/node_modules/magic-string": { + "version": "0.30.17", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.17.tgz", + "integrity": "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==", "dev": true, - "license": "MIT" + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0" + } }, - "node_modules/@angular/build/node_modules/picomatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", - "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", + "node_modules/@angular/build/node_modules/rxjs": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", + "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/@angular/build/node_modules/semver": { + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@angular/build/node_modules/vite": { + "version": "6.2.7", + "resolved": "https://registry.npmjs.org/vite/-/vite-6.2.7.tgz", + "integrity": "sha512-qg3LkeuinTrZoJHHF94coSaTfIPyBYoywp+ys4qu20oSJFbKMYoIJo0FWJT9q6Vp49l6z9IsJRbHdcGtiKbGoQ==", "dev": true, "license": "MIT", + "dependencies": { + "esbuild": "^0.25.0", + "postcss": "^8.5.3", + "rollup": "^4.30.1" + }, + "bin": { + "vite": "bin/vite.js" + }, "engines": { - "node": ">=12" + "node": "^18.0.0 || ^20.0.0 || >=22.0.0" }, "funding": { - "url": "https://github.com/sponsors/jonschlinkert" + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", + "jiti": ">=1.21.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "sass-embedded": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "jiti": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true + } } }, "node_modules/@angular/cdk": { @@ -676,27 +1030,27 @@ } }, "node_modules/@angular/cli": { - "version": "18.2.20", - "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-18.2.20.tgz", - "integrity": "sha512-uu8XM+vvVQxTgCJAAQtCu6aLErbdCh/xqYpawgTaoOjiDkyWonTC+iGUUy0AEk5no/pbg2TCoZZx0AXWM1yLVA==", + "version": "19.2.15", + "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-19.2.15.tgz", + "integrity": "sha512-YRIpARHWSOnWkHusUWTQgeUrPWMjWvtQrOkjWc6stF36z2KUzKMEng6EzUvH6sZolNSwVwOFpODEP0ut4aBkvQ==", "dev": true, "license": "MIT", "dependencies": { - "@angular-devkit/architect": "0.1802.20", - "@angular-devkit/core": "18.2.20", - "@angular-devkit/schematics": "18.2.20", - "@inquirer/prompts": "5.3.8", - "@listr2/prompt-adapter-inquirer": "2.0.15", - "@schematics/angular": "18.2.20", + "@angular-devkit/architect": "0.1902.15", + "@angular-devkit/core": "19.2.15", + "@angular-devkit/schematics": "19.2.15", + "@inquirer/prompts": "7.3.2", + "@listr2/prompt-adapter-inquirer": "2.0.18", + "@schematics/angular": "19.2.15", "@yarnpkg/lockfile": "1.1.0", - "ini": "4.1.3", + "ini": "5.0.0", "jsonc-parser": "3.3.1", - "listr2": "8.2.4", - "npm-package-arg": "11.0.3", - "npm-pick-manifest": "9.1.0", - "pacote": "18.0.6", - "resolve": "1.22.8", - "semver": "7.6.3", + "listr2": "8.2.5", + "npm-package-arg": "12.0.2", + "npm-pick-manifest": "10.0.0", + "pacote": "20.0.0", + "resolve": "1.22.10", + "semver": "7.7.1", "symbol-observable": "4.0.0", "yargs": "17.7.2" }, @@ -709,50 +1063,81 @@ "yarn": ">= 1.13.0" } }, - "node_modules/@angular/common": { - "version": "18.2.13", - "resolved": "https://registry.npmjs.org/@angular/common/-/common-18.2.13.tgz", - "integrity": "sha512-4ZqrNp1PoZo7VNvW+sbSc2CB2axP1sCH2wXl8B0wdjsj8JY1hF1OhuugwhpAHtGxqewed2kCXayE+ZJqSTV4jw==", + "node_modules/@angular/cli/node_modules/@angular-devkit/architect": { + "version": "0.1902.15", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1902.15.tgz", + "integrity": "sha512-RbqhStc6ZoRv57ZqLB36VOkBkAdU3nNezCvIs0AJV5V4+vLPMrb0hpIB0sF+9yMlMjWsolnRsj0/Fil+zQG3bw==", + "dev": true, "license": "MIT", "dependencies": { - "tslib": "^2.3.0" + "@angular-devkit/core": "19.2.15", + "rxjs": "7.8.1" }, "engines": { - "node": "^18.19.1 || ^20.11.1 || >=22.0.0" - }, - "peerDependencies": { - "@angular/core": "18.2.13", - "rxjs": "^6.5.3 || ^7.4.0" + "node": "^18.19.1 || ^20.11.1 || >=22.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" } }, - "node_modules/@angular/compiler": { - "version": "18.2.13", - "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-18.2.13.tgz", - "integrity": "sha512-TzWcrkopyjFF+WeDr2cRe8CcHjU72KfYV3Sm2TkBkcXrkYX5sDjGWrBGrG3hRB4e4okqchrOCvm1MiTdy2vKMA==", - "license": "MIT", + "node_modules/@angular/cli/node_modules/rxjs": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", + "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", + "dev": true, + "license": "Apache-2.0", "dependencies": { - "tslib": "^2.3.0" + "tslib": "^2.1.0" + } + }, + "node_modules/@angular/cli/node_modules/semver": { + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@angular/common": { + "version": "19.2.14", + "resolved": "https://registry.npmjs.org/@angular/common/-/common-19.2.14.tgz", + "integrity": "sha512-NcNklcuyqaTjOVGf7aru8APX9mjsnZ01gFZrn47BxHozhaR0EMRrotYQTdi8YdVjPkeYFYanVntSLfhyobq/jg==", + "license": "MIT", + "dependencies": { + "tslib": "^2.3.0" }, "engines": { "node": "^18.19.1 || ^20.11.1 || >=22.0.0" }, "peerDependencies": { - "@angular/core": "18.2.13" + "@angular/core": "19.2.14", + "rxjs": "^6.5.3 || ^7.4.0" + } + }, + "node_modules/@angular/compiler": { + "version": "19.2.14", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-19.2.14.tgz", + "integrity": "sha512-ZqJDYOdhgKpVGNq3+n/Gbxma8DVYElDsoRe0tvNtjkWBVdaOxdZZUqmJ3kdCBsqD/aqTRvRBu0KGo9s2fCChkA==", + "license": "MIT", + "dependencies": { + "tslib": "^2.3.0" }, - "peerDependenciesMeta": { - "@angular/core": { - "optional": true - } + "engines": { + "node": "^18.19.1 || ^20.11.1 || >=22.0.0" } }, "node_modules/@angular/compiler-cli": { - "version": "18.2.13", - "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-18.2.13.tgz", - "integrity": "sha512-DBSh4AQwkiJDSiVvJATRmjxf6wyUs9pwQLgaFdSlfuTRO+sdb0J2z1r3BYm8t0IqdoyXzdZq2YCH43EmyvD71g==", + "version": "19.2.14", + "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-19.2.14.tgz", + "integrity": "sha512-e9/h86ETjoIK2yTLE9aUeMCKujdg/du2pq7run/aINjop4RtnNOw+ZlSTUa6R65lP5CVwDup1kPytpAoifw8cA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/core": "7.25.2", + "@babel/core": "7.26.9", "@jridgewell/sourcemap-codec": "^1.4.14", "chokidar": "^4.0.0", "convert-source-map": "^1.5.1", @@ -770,27 +1155,27 @@ "node": "^18.19.1 || ^20.11.1 || >=22.0.0" }, "peerDependencies": { - "@angular/compiler": "18.2.13", - "typescript": ">=5.4 <5.6" + "@angular/compiler": "19.2.14", + "typescript": ">=5.5 <5.9" } }, "node_modules/@angular/compiler-cli/node_modules/@babel/core": { - "version": "7.25.2", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.25.2.tgz", - "integrity": "sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA==", + "version": "7.26.9", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.26.9.tgz", + "integrity": "sha512-lWBYIrF7qK5+GjY5Uy+/hEgp8OJWOD/rpy74GplYRhEauvbHDeFB8t5hPOZxCZ0Oxf4Cc36tK51/l3ymJysrKw==", "dev": true, "license": "MIT", "dependencies": { "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.24.7", - "@babel/generator": "^7.25.0", - "@babel/helper-compilation-targets": "^7.25.2", - "@babel/helper-module-transforms": "^7.25.2", - "@babel/helpers": "^7.25.0", - "@babel/parser": "^7.25.0", - "@babel/template": "^7.25.0", - "@babel/traverse": "^7.25.2", - "@babel/types": "^7.25.2", + "@babel/code-frame": "^7.26.2", + "@babel/generator": "^7.26.9", + "@babel/helper-compilation-targets": "^7.26.5", + "@babel/helper-module-transforms": "^7.26.0", + "@babel/helpers": "^7.26.9", + "@babel/parser": "^7.26.9", + "@babel/template": "^7.26.9", + "@babel/traverse": "^7.26.9", + "@babel/types": "^7.26.9", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -822,40 +1207,10 @@ "semver": "bin/semver.js" } }, - "node_modules/@angular/compiler-cli/node_modules/chokidar": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", - "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", - "dev": true, - "license": "MIT", - "dependencies": { - "readdirp": "^4.0.1" - }, - "engines": { - "node": ">= 14.16.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, - "node_modules/@angular/compiler-cli/node_modules/readdirp": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", - "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 14.18.0" - }, - "funding": { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - }, "node_modules/@angular/core": { - "version": "18.2.13", - "resolved": "https://registry.npmjs.org/@angular/core/-/core-18.2.13.tgz", - "integrity": "sha512-8mbWHMgO95OuFV1Ejy4oKmbe9NOJ3WazQf/f7wks8Bck7pcihd0IKhlPBNjFllbF5o+04EYSwFhEtvEgjMDClA==", + "version": "19.2.14", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-19.2.14.tgz", + "integrity": "sha512-EVErpW9tGqJ/wNcAN3G/ErH8pHCJ8mM1E6bsJ8UJIpDTZkpqqYjBMtZS9YWH5n3KwUd1tAkAB2w8FK125AjDUQ==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -865,13 +1220,13 @@ }, "peerDependencies": { "rxjs": "^6.5.3 || ^7.4.0", - "zone.js": "~0.14.10" + "zone.js": "~0.15.0" } }, "node_modules/@angular/forms": { - "version": "18.2.13", - "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-18.2.13.tgz", - "integrity": "sha512-A67D867fu3DSBhdLWWZl/F5pr7v2+dRM2u3U7ZJ0ewh4a+sv+0yqWdJW+a8xIoiHxS+btGEJL2qAKJiH+MCFfg==", + "version": "19.2.14", + "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-19.2.14.tgz", + "integrity": "sha512-hWtDOj2B0AuRTf+nkMJeodnFpDpmEK9OIhIv1YxcRe73ooaxrIdjgugkElO8I9Tj0E4/7m117ezhWDUkbqm1zA==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -880,16 +1235,16 @@ "node": "^18.19.1 || ^20.11.1 || >=22.0.0" }, "peerDependencies": { - "@angular/common": "18.2.13", - "@angular/core": "18.2.13", - "@angular/platform-browser": "18.2.13", + "@angular/common": "19.2.14", + "@angular/core": "19.2.14", + "@angular/platform-browser": "19.2.14", "rxjs": "^6.5.3 || ^7.4.0" } }, "node_modules/@angular/language-service": { - "version": "18.2.13", - "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-18.2.13.tgz", - "integrity": "sha512-4E4VJDrbOAxS69F9C1twQPbR9AjY47Qlz8+lwg5lJOyUJ4GoEThLbXKfadt/vIeYBwMJ7fIsYWXD0Dlmxh4k+w==", + "version": "19.2.14", + "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-19.2.14.tgz", + "integrity": "sha512-XgzZdBCe/obCrck5I6GIG4qSI9UGaOtbrvNuw0QAK0DySKaW5inRm6/QwCMPRmPkJBY0wLeYUVz//rtHpEjeTQ==", "dev": true, "license": "MIT", "engines": { @@ -915,9 +1270,9 @@ } }, "node_modules/@angular/platform-browser": { - "version": "18.2.13", - "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-18.2.13.tgz", - "integrity": "sha512-tu7ZzY6qD3ATdWFzcTcsAKe7M6cJeWbT/4/bF9unyGO3XBPcNYDKoiz10+7ap2PUd0fmPwvuvTvSNJiFEBnB8Q==", + "version": "19.2.14", + "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-19.2.14.tgz", + "integrity": "sha512-hzkT5nmA64oVBQl6PRjdL4dIFT1n7lfM9rm5cAoS+6LUUKRgiE2d421Kpn/Hz3jaCJfo+calMIdtSMIfUJBmww==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -926,9 +1281,9 @@ "node": "^18.19.1 || ^20.11.1 || >=22.0.0" }, "peerDependencies": { - "@angular/animations": "18.2.13", - "@angular/common": "18.2.13", - "@angular/core": "18.2.13" + "@angular/animations": "19.2.14", + "@angular/common": "19.2.14", + "@angular/core": "19.2.14" }, "peerDependenciesMeta": { "@angular/animations": { @@ -937,9 +1292,9 @@ } }, "node_modules/@angular/platform-browser-dynamic": { - "version": "18.2.13", - "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-18.2.13.tgz", - "integrity": "sha512-kbQCf9+8EpuJC7buBxhSiwBtXvjAwAKh6MznD6zd2pyCYqfY6gfRCZQRtK59IfgVtKmEONWI9grEyNIRoTmqJg==", + "version": "19.2.14", + "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-19.2.14.tgz", + "integrity": "sha512-Hfz0z1KDQmIdnFXVFCwCPykuIsHPkr1uW2aY396eARwZ6PK8i0Aadcm1ZOnpd3MR1bMyDrJo30VRS5kx89QWvA==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -948,16 +1303,16 @@ "node": "^18.19.1 || ^20.11.1 || >=22.0.0" }, "peerDependencies": { - "@angular/common": "18.2.13", - "@angular/compiler": "18.2.13", - "@angular/core": "18.2.13", - "@angular/platform-browser": "18.2.13" + "@angular/common": "19.2.14", + "@angular/compiler": "19.2.14", + "@angular/core": "19.2.14", + "@angular/platform-browser": "19.2.14" } }, "node_modules/@angular/router": { - "version": "18.2.13", - "resolved": "https://registry.npmjs.org/@angular/router/-/router-18.2.13.tgz", - "integrity": "sha512-VKmfgi/r/CkyBq9nChQ/ptmfu0JT/8ONnLVJ5H+SkFLRYJcIRyHLKjRihMCyVm6xM5yktOdCaW73NTQrFz7+bg==", + "version": "19.2.14", + "resolved": "https://registry.npmjs.org/@angular/router/-/router-19.2.14.tgz", + "integrity": "sha512-cBTWY9Jx7YhbmDYDb7Hqz4Q7UNIMlKTkdKToJd2pbhIXyoS+kHVQrySmyca+jgvYMjWnIjsAEa3dpje12D4mFw==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -966,9 +1321,9 @@ "node": "^18.19.1 || ^20.11.1 || >=22.0.0" }, "peerDependencies": { - "@angular/common": "18.2.13", - "@angular/core": "18.2.13", - "@angular/platform-browser": "18.2.13", + "@angular/common": "19.2.14", + "@angular/core": "19.2.14", + "@angular/platform-browser": "19.2.14", "rxjs": "^6.5.3 || ^7.4.0" } }, @@ -3136,23 +3491,6 @@ "semver": "bin/semver.js" } }, - "node_modules/@compodoc/compodoc/node_modules/ajv": { - "version": "8.17.1", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", - "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.3", - "fast-uri": "^3.0.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, "node_modules/@compodoc/compodoc/node_modules/ajv-formats": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-3.0.1.tgz", @@ -3185,36 +3523,6 @@ "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, - "node_modules/@compodoc/compodoc/node_modules/chokidar": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", - "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", - "dev": true, - "license": "MIT", - "dependencies": { - "readdirp": "^4.0.1" - }, - "engines": { - "node": ">= 14.16.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, - "node_modules/@compodoc/compodoc/node_modules/chokidar/node_modules/readdirp": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", - "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 14.18.0" - }, - "funding": { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - }, "node_modules/@compodoc/compodoc/node_modules/convert-source-map": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", @@ -3222,19 +3530,6 @@ "dev": true, "license": "MIT" }, - "node_modules/@compodoc/compodoc/node_modules/picomatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", - "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, "node_modules/@compodoc/compodoc/node_modules/rxjs": { "version": "7.8.1", "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", @@ -3287,6 +3582,31 @@ "node": ">=0.10.0" } }, + "node_modules/@compodoc/live-server/node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, "node_modules/@compodoc/live-server/node_modules/open": { "version": "8.4.0", "resolved": "https://registry.npmjs.org/open/-/open-8.4.0.tgz", @@ -3361,9 +3681,9 @@ } }, "node_modules/@discoveryjs/json-ext": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.6.1.tgz", - "integrity": "sha512-boghen8F0Q8D+0/Q1/1r6DUEieUJ8w2a1gIknExMSHBsJFOr2+0KUfHiVYBvucPwl3+RU5PFBK833FjFCh3BhA==", + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.6.3.tgz", + "integrity": "sha512-4B4OijXeVNOPZlYA2oEwWOTkzyltLao+xbotHQeqN++Rv27Y6s818+n2Qkp8q+Fxhn0t/5lA5X1Mxktud8eayQ==", "dev": true, "license": "MIT", "engines": { @@ -3371,9 +3691,9 @@ } }, "node_modules/@esbuild/aix-ppc64": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.23.0.tgz", - "integrity": "sha512-3sG8Zwa5fMcA9bgqB8AfWPQ+HFke6uD3h1s3RIwUNK8EG7a4buxvuFTs3j1IMs2NXAk9F30C/FF4vxRgQCcmoQ==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.4.tgz", + "integrity": "sha512-1VCICWypeQKhVbE9oW/sJaAmjLxhVqacdkvPLEjwlttjfwENRSClS8EjBz0KzRyFSCPDIkuXW34Je/vk7zdB7Q==", "cpu": [ "ppc64" ], @@ -3388,9 +3708,9 @@ } }, "node_modules/@esbuild/android-arm": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.23.0.tgz", - "integrity": "sha512-+KuOHTKKyIKgEEqKbGTK8W7mPp+hKinbMBeEnNzjJGyFcWsfrXjSTNluJHCY1RqhxFurdD8uNXQDei7qDlR6+g==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.4.tgz", + "integrity": "sha512-QNdQEps7DfFwE3hXiU4BZeOV68HHzYwGd0Nthhd3uCkkEKK7/R6MTgM0P7H7FAs5pU/DIWsviMmEGxEoxIZ+ZQ==", "cpu": [ "arm" ], @@ -3405,9 +3725,9 @@ } }, "node_modules/@esbuild/android-arm64": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.23.0.tgz", - "integrity": "sha512-EuHFUYkAVfU4qBdyivULuu03FhJO4IJN9PGuABGrFy4vUuzk91P2d+npxHcFdpUnfYKy0PuV+n6bKIpHOB3prQ==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.4.tgz", + "integrity": "sha512-bBy69pgfhMGtCnwpC/x5QhfxAz/cBgQ9enbtwjf6V9lnPI/hMyT9iWpR1arm0l3kttTr4L0KSLpKmLp/ilKS9A==", "cpu": [ "arm64" ], @@ -3422,9 +3742,9 @@ } }, "node_modules/@esbuild/android-x64": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.23.0.tgz", - "integrity": "sha512-WRrmKidLoKDl56LsbBMhzTTBxrsVwTKdNbKDalbEZr0tcsBgCLbEtoNthOW6PX942YiYq8HzEnb4yWQMLQuipQ==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.4.tgz", + "integrity": "sha512-TVhdVtQIFuVpIIR282btcGC2oGQoSfZfmBdTip2anCaVYcqWlZXGcdcKIUklfX2wj0JklNYgz39OBqh2cqXvcQ==", "cpu": [ "x64" ], @@ -3439,9 +3759,9 @@ } }, "node_modules/@esbuild/darwin-arm64": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.23.0.tgz", - "integrity": "sha512-YLntie/IdS31H54Ogdn+v50NuoWF5BDkEUFpiOChVa9UnKpftgwzZRrI4J132ETIi+D8n6xh9IviFV3eXdxfow==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.4.tgz", + "integrity": "sha512-Y1giCfM4nlHDWEfSckMzeWNdQS31BQGs9/rouw6Ub91tkK79aIMTH3q9xHvzH8d0wDru5Ci0kWB8b3up/nl16g==", "cpu": [ "arm64" ], @@ -3456,9 +3776,9 @@ } }, "node_modules/@esbuild/darwin-x64": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.23.0.tgz", - "integrity": "sha512-IMQ6eme4AfznElesHUPDZ+teuGwoRmVuuixu7sv92ZkdQcPbsNHzutd+rAfaBKo8YK3IrBEi9SLLKWJdEvJniQ==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.4.tgz", + "integrity": "sha512-CJsry8ZGM5VFVeyUYB3cdKpd/H69PYez4eJh1W/t38vzutdjEjtP7hB6eLKBoOdxcAlCtEYHzQ/PJ/oU9I4u0A==", "cpu": [ "x64" ], @@ -3473,9 +3793,9 @@ } }, "node_modules/@esbuild/freebsd-arm64": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.23.0.tgz", - "integrity": "sha512-0muYWCng5vqaxobq6LB3YNtevDFSAZGlgtLoAc81PjUfiFz36n4KMpwhtAd4he8ToSI3TGyuhyx5xmiWNYZFyw==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.4.tgz", + "integrity": "sha512-yYq+39NlTRzU2XmoPW4l5Ifpl9fqSk0nAJYM/V/WUGPEFfek1epLHJIkTQM6bBs1swApjO5nWgvr843g6TjxuQ==", "cpu": [ "arm64" ], @@ -3490,9 +3810,9 @@ } }, "node_modules/@esbuild/freebsd-x64": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.23.0.tgz", - "integrity": "sha512-XKDVu8IsD0/q3foBzsXGt/KjD/yTKBCIwOHE1XwiXmrRwrX6Hbnd5Eqn/WvDekddK21tfszBSrE/WMaZh+1buQ==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.4.tgz", + "integrity": "sha512-0FgvOJ6UUMflsHSPLzdfDnnBBVoCDtBTVyn/MrWloUNvq/5SFmh13l3dvgRPkDihRxb77Y17MbqbCAa2strMQQ==", "cpu": [ "x64" ], @@ -3507,9 +3827,9 @@ } }, "node_modules/@esbuild/linux-arm": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.23.0.tgz", - "integrity": "sha512-SEELSTEtOFu5LPykzA395Mc+54RMg1EUgXP+iw2SJ72+ooMwVsgfuwXo5Fn0wXNgWZsTVHwY2cg4Vi/bOD88qw==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.4.tgz", + "integrity": "sha512-kro4c0P85GMfFYqW4TWOpvmF8rFShbWGnrLqlzp4X1TNWjRY3JMYUfDCtOxPKOIY8B0WC8HN51hGP4I4hz4AaQ==", "cpu": [ "arm" ], @@ -3524,9 +3844,9 @@ } }, "node_modules/@esbuild/linux-arm64": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.23.0.tgz", - "integrity": "sha512-j1t5iG8jE7BhonbsEg5d9qOYcVZv/Rv6tghaXM/Ug9xahM0nX/H2gfu6X6z11QRTMT6+aywOMA8TDkhPo8aCGw==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.4.tgz", + "integrity": "sha512-+89UsQTfXdmjIvZS6nUnOOLoXnkUTB9hR5QAeLrQdzOSWZvNSAXAtcRDHWtqAUtAmv7ZM1WPOOeSxDzzzMogiQ==", "cpu": [ "arm64" ], @@ -3541,9 +3861,9 @@ } }, "node_modules/@esbuild/linux-ia32": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.23.0.tgz", - "integrity": "sha512-P7O5Tkh2NbgIm2R6x1zGJJsnacDzTFcRWZyTTMgFdVit6E98LTxO+v8LCCLWRvPrjdzXHx9FEOA8oAZPyApWUA==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.4.tgz", + "integrity": "sha512-yTEjoapy8UP3rv8dB0ip3AfMpRbyhSN3+hY8mo/i4QXFeDxmiYbEKp3ZRjBKcOP862Ua4b1PDfwlvbuwY7hIGQ==", "cpu": [ "ia32" ], @@ -3558,9 +3878,9 @@ } }, "node_modules/@esbuild/linux-loong64": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.23.0.tgz", - "integrity": "sha512-InQwepswq6urikQiIC/kkx412fqUZudBO4SYKu0N+tGhXRWUqAx+Q+341tFV6QdBifpjYgUndV1hhMq3WeJi7A==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.4.tgz", + "integrity": "sha512-NeqqYkrcGzFwi6CGRGNMOjWGGSYOpqwCjS9fvaUlX5s3zwOtn1qwg1s2iE2svBe4Q/YOG1q6875lcAoQK/F4VA==", "cpu": [ "loong64" ], @@ -3575,9 +3895,9 @@ } }, "node_modules/@esbuild/linux-mips64el": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.23.0.tgz", - "integrity": "sha512-J9rflLtqdYrxHv2FqXE2i1ELgNjT+JFURt/uDMoPQLcjWQA5wDKgQA4t/dTqGa88ZVECKaD0TctwsUfHbVoi4w==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.4.tgz", + "integrity": "sha512-IcvTlF9dtLrfL/M8WgNI/qJYBENP3ekgsHbYUIzEzq5XJzzVEV/fXY9WFPfEEXmu3ck2qJP8LG/p3Q8f7Zc2Xg==", "cpu": [ "mips64el" ], @@ -3592,9 +3912,9 @@ } }, "node_modules/@esbuild/linux-ppc64": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.23.0.tgz", - "integrity": "sha512-cShCXtEOVc5GxU0fM+dsFD10qZ5UpcQ8AM22bYj0u/yaAykWnqXJDpd77ublcX6vdDsWLuweeuSNZk4yUxZwtw==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.4.tgz", + "integrity": "sha512-HOy0aLTJTVtoTeGZh4HSXaO6M95qu4k5lJcH4gxv56iaycfz1S8GO/5Jh6X4Y1YiI0h7cRyLi+HixMR+88swag==", "cpu": [ "ppc64" ], @@ -3609,9 +3929,9 @@ } }, "node_modules/@esbuild/linux-riscv64": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.23.0.tgz", - "integrity": "sha512-HEtaN7Y5UB4tZPeQmgz/UhzoEyYftbMXrBCUjINGjh3uil+rB/QzzpMshz3cNUxqXN7Vr93zzVtpIDL99t9aRw==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.4.tgz", + "integrity": "sha512-i8JUDAufpz9jOzo4yIShCTcXzS07vEgWzyX3NH2G7LEFVgrLEhjwL3ajFE4fZI3I4ZgiM7JH3GQ7ReObROvSUA==", "cpu": [ "riscv64" ], @@ -3626,9 +3946,9 @@ } }, "node_modules/@esbuild/linux-s390x": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.23.0.tgz", - "integrity": "sha512-WDi3+NVAuyjg/Wxi+o5KPqRbZY0QhI9TjrEEm+8dmpY9Xir8+HE/HNx2JoLckhKbFopW0RdO2D72w8trZOV+Wg==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.4.tgz", + "integrity": "sha512-jFnu+6UbLlzIjPQpWCNh5QtrcNfMLjgIavnwPQAfoGx4q17ocOU9MsQ2QVvFxwQoWpZT8DvTLooTvmOQXkO51g==", "cpu": [ "s390x" ], @@ -3643,9 +3963,9 @@ } }, "node_modules/@esbuild/linux-x64": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.23.0.tgz", - "integrity": "sha512-a3pMQhUEJkITgAw6e0bWA+F+vFtCciMjW/LPtoj99MhVt+Mfb6bbL9hu2wmTZgNd994qTAEw+U/r6k3qHWWaOQ==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.4.tgz", + "integrity": "sha512-6e0cvXwzOnVWJHq+mskP8DNSrKBr1bULBvnFLpc1KY+d+irZSgZ02TGse5FsafKS5jg2e4pbvK6TPXaF/A6+CA==", "cpu": [ "x64" ], @@ -3659,10 +3979,27 @@ "node": ">=18" } }, + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.4.tgz", + "integrity": "sha512-vUnkBYxZW4hL/ie91hSqaSNjulOnYXE1VSLusnvHg2u3jewJBz3YzB9+oCw8DABeVqZGg94t9tyZFoHma8gWZQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, "node_modules/@esbuild/netbsd-x64": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.23.0.tgz", - "integrity": "sha512-cRK+YDem7lFTs2Q5nEv/HHc4LnrfBCbH5+JHu6wm2eP+d8OZNoSMYgPZJq78vqQ9g+9+nMuIsAO7skzphRXHyw==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.4.tgz", + "integrity": "sha512-XAg8pIQn5CzhOB8odIcAm42QsOfa98SBeKUdo4xa8OvX8LbMZqEtgeWE9P/Wxt7MlG2QqvjGths+nq48TrUiKw==", "cpu": [ "x64" ], @@ -3677,9 +4014,9 @@ } }, "node_modules/@esbuild/openbsd-arm64": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.23.0.tgz", - "integrity": "sha512-suXjq53gERueVWu0OKxzWqk7NxiUWSUlrxoZK7usiF50C6ipColGR5qie2496iKGYNLhDZkPxBI3erbnYkU0rQ==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.4.tgz", + "integrity": "sha512-Ct2WcFEANlFDtp1nVAXSNBPDxyU+j7+tId//iHXU2f/lN5AmO4zLyhDcpR5Cz1r08mVxzt3Jpyt4PmXQ1O6+7A==", "cpu": [ "arm64" ], @@ -3694,9 +4031,9 @@ } }, "node_modules/@esbuild/openbsd-x64": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.23.0.tgz", - "integrity": "sha512-6p3nHpby0DM/v15IFKMjAaayFhqnXV52aEmv1whZHX56pdkK+MEaLoQWj+H42ssFarP1PcomVhbsR4pkz09qBg==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.4.tgz", + "integrity": "sha512-xAGGhyOQ9Otm1Xu8NT1ifGLnA6M3sJxZ6ixylb+vIUVzvvd6GOALpwQrYrtlPouMqd/vSbgehz6HaVk4+7Afhw==", "cpu": [ "x64" ], @@ -3711,9 +4048,9 @@ } }, "node_modules/@esbuild/sunos-x64": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.23.0.tgz", - "integrity": "sha512-BFelBGfrBwk6LVrmFzCq1u1dZbG4zy/Kp93w2+y83Q5UGYF1d8sCzeLI9NXjKyujjBBniQa8R8PzLFAUrSM9OA==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.4.tgz", + "integrity": "sha512-Mw+tzy4pp6wZEK0+Lwr76pWLjrtjmJyUB23tHKqEDP74R3q95luY/bXqXZeYl4NYlvwOqoRKlInQialgCKy67Q==", "cpu": [ "x64" ], @@ -3728,9 +4065,9 @@ } }, "node_modules/@esbuild/win32-arm64": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.23.0.tgz", - "integrity": "sha512-lY6AC8p4Cnb7xYHuIxQ6iYPe6MfO2CC43XXKo9nBXDb35krYt7KGhQnOkRGar5psxYkircpCqfbNDB4uJbS2jQ==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.4.tgz", + "integrity": "sha512-AVUP428VQTSddguz9dO9ngb+E5aScyg7nOeJDrF1HPYu555gmza3bDGMPhmVXL8svDSoqPCsCPjb265yG/kLKQ==", "cpu": [ "arm64" ], @@ -3745,9 +4082,9 @@ } }, "node_modules/@esbuild/win32-ia32": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.23.0.tgz", - "integrity": "sha512-7L1bHlOTcO4ByvI7OXVI5pNN6HSu6pUQq9yodga8izeuB1KcT2UkHaH6118QJwopExPn0rMHIseCTx1CRo/uNA==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.4.tgz", + "integrity": "sha512-i1sW+1i+oWvQzSgfRcxxG2k4I9n3O9NRqy8U+uugaT2Dy7kLO9Y7wI72haOahxceMX8hZAzgGou1FhndRldxRg==", "cpu": [ "ia32" ], @@ -3762,9 +4099,9 @@ } }, "node_modules/@esbuild/win32-x64": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.23.0.tgz", - "integrity": "sha512-Arm+WgUFLUATuoxCJcahGuk6Yj9Pzxd6l11Zb/2aAuv5kWWvvfhLFo2fni4uSK5vzlUdCGZ/BdV5tH8klj8p8g==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.4.tgz", + "integrity": "sha512-nOT2vZNw6hJ+z43oP1SPea/G/6AbN6X+bGNhNuq8NtRHy4wsMhw765IKLNmnjek7GvjWBYQ8Q5VBoYTFg9y1UQ==", "cpu": [ "x64" ], @@ -3786,111 +4123,134 @@ "license": "ISC" }, "node_modules/@inquirer/checkbox": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/@inquirer/checkbox/-/checkbox-2.5.0.tgz", - "integrity": "sha512-sMgdETOfi2dUHT8r7TT1BTKOwNvdDGFDXYWtQ2J69SvlYNntk9I/gJe7r5yvMwwsuKnYbuRs3pNhx4tgNck5aA==", + "version": "4.1.8", + "resolved": "https://registry.npmjs.org/@inquirer/checkbox/-/checkbox-4.1.8.tgz", + "integrity": "sha512-d/QAsnwuHX2OPolxvYcgSj7A9DO9H6gVOy2DvBTx+P2LH2iRTo/RSGV3iwCzW024nP9hw98KIuDmdyhZQj1UQg==", "dev": true, "license": "MIT", "dependencies": { - "@inquirer/core": "^9.1.0", - "@inquirer/figures": "^1.0.5", - "@inquirer/type": "^1.5.3", + "@inquirer/core": "^10.1.13", + "@inquirer/figures": "^1.0.12", + "@inquirer/type": "^3.0.7", "ansi-escapes": "^4.3.2", "yoctocolors-cjs": "^2.1.2" }, "engines": { "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } } }, "node_modules/@inquirer/confirm": { - "version": "3.1.22", - "resolved": "https://registry.npmjs.org/@inquirer/confirm/-/confirm-3.1.22.tgz", - "integrity": "sha512-gsAKIOWBm2Q87CDfs9fEo7wJT3fwWIJfnDGMn9Qy74gBnNFOACDNfhUzovubbJjWnKLGBln7/NcSmZwj5DuEXg==", + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/@inquirer/confirm/-/confirm-5.1.6.tgz", + "integrity": "sha512-6ZXYK3M1XmaVBZX6FCfChgtponnL0R6I7k8Nu+kaoNkT828FVZTcca1MqmWQipaW2oNREQl5AaPCUOOCVNdRMw==", "dev": true, "license": "MIT", "dependencies": { - "@inquirer/core": "^9.0.10", - "@inquirer/type": "^1.5.2" + "@inquirer/core": "^10.1.7", + "@inquirer/type": "^3.0.4" }, "engines": { "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } } }, "node_modules/@inquirer/core": { - "version": "9.2.1", - "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-9.2.1.tgz", - "integrity": "sha512-F2VBt7W/mwqEU4bL0RnHNZmC/OxzNx9cOYxHqnXX3MP6ruYvZUZAW9imgN9+h/uBT/oP8Gh888J2OZSbjSeWcg==", + "version": "10.1.13", + "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-10.1.13.tgz", + "integrity": "sha512-1viSxebkYN2nJULlzCxES6G9/stgHSepZ9LqqfdIGPHj5OHhiBUXVS0a6R0bEC2A+VL4D9w6QB66ebCr6HGllA==", "dev": true, "license": "MIT", "dependencies": { - "@inquirer/figures": "^1.0.6", - "@inquirer/type": "^2.0.0", - "@types/mute-stream": "^0.0.4", - "@types/node": "^22.5.5", - "@types/wrap-ansi": "^3.0.0", + "@inquirer/figures": "^1.0.12", + "@inquirer/type": "^3.0.7", "ansi-escapes": "^4.3.2", "cli-width": "^4.1.0", - "mute-stream": "^1.0.0", + "mute-stream": "^2.0.0", "signal-exit": "^4.1.0", - "strip-ansi": "^6.0.1", "wrap-ansi": "^6.2.0", "yoctocolors-cjs": "^2.1.2" }, "engines": { "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } } }, - "node_modules/@inquirer/core/node_modules/@inquirer/type": { + "node_modules/@inquirer/core/node_modules/mute-stream": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-2.0.0.tgz", - "integrity": "sha512-XvJRx+2KR3YXyYtPUUy+qd9i7p+GO9Ko6VIIpWlBrpWwXDv8WLFeHTxz35CfQFUiBMLXlGHhGzys7lqit9gWag==", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-2.0.0.tgz", + "integrity": "sha512-WWdIxpyjEn+FhQJQQv9aQAYlHoNVdzIzUySNV1gHUPDSdZJ3yZn7pAAbQcV7B56Mvu881q9FZV+0Vx2xC44VWA==", "dev": true, - "license": "MIT", - "dependencies": { - "mute-stream": "^1.0.0" - }, + "license": "ISC", "engines": { - "node": ">=18" - } - }, - "node_modules/@inquirer/core/node_modules/@types/node": { - "version": "22.15.33", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.15.33.tgz", - "integrity": "sha512-wzoocdnnpSxZ+6CjW4ADCK1jVmd1S/J3ArNWfn8FDDQtRm8dkDg7TA+mvek2wNrfCgwuZxqEOiB9B1XCJ6+dbw==", - "dev": true, - "license": "MIT", - "dependencies": { - "undici-types": "~6.21.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/@inquirer/editor": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@inquirer/editor/-/editor-2.2.0.tgz", - "integrity": "sha512-9KHOpJ+dIL5SZli8lJ6xdaYLPPzB8xB9GZItg39MBybzhxA16vxmszmQFrRwbOA918WA2rvu8xhDEg/p6LXKbw==", + "version": "4.2.13", + "resolved": "https://registry.npmjs.org/@inquirer/editor/-/editor-4.2.13.tgz", + "integrity": "sha512-WbicD9SUQt/K8O5Vyk9iC2ojq5RHoCLK6itpp2fHsWe44VxxcA9z3GTWlvjSTGmMQpZr+lbVmrxdHcumJoLbMA==", "dev": true, "license": "MIT", "dependencies": { - "@inquirer/core": "^9.1.0", - "@inquirer/type": "^1.5.3", + "@inquirer/core": "^10.1.13", + "@inquirer/type": "^3.0.7", "external-editor": "^3.1.0" }, "engines": { "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } } }, "node_modules/@inquirer/expand": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@inquirer/expand/-/expand-2.3.0.tgz", - "integrity": "sha512-qnJsUcOGCSG1e5DTOErmv2BPQqrtT6uzqn1vI/aYGiPKq+FgslGZmtdnXbhuI7IlT7OByDoEEqdnhUnVR2hhLw==", + "version": "4.0.15", + "resolved": "https://registry.npmjs.org/@inquirer/expand/-/expand-4.0.15.tgz", + "integrity": "sha512-4Y+pbr/U9Qcvf+N/goHzPEXiHH8680lM3Dr3Y9h9FFw4gHS+zVpbj8LfbKWIb/jayIB4aSO4pWiBTrBYWkvi5A==", "dev": true, "license": "MIT", "dependencies": { - "@inquirer/core": "^9.1.0", - "@inquirer/type": "^1.5.3", + "@inquirer/core": "^10.1.13", + "@inquirer/type": "^3.0.7", "yoctocolors-cjs": "^2.1.2" }, "engines": { "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } } }, "node_modules/@inquirer/figures": { @@ -3904,129 +4264,190 @@ } }, "node_modules/@inquirer/input": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@inquirer/input/-/input-2.3.0.tgz", - "integrity": "sha512-XfnpCStx2xgh1LIRqPXrTNEEByqQWoxsWYzNRSEUxJ5c6EQlhMogJ3vHKu8aXuTacebtaZzMAHwEL0kAflKOBw==", + "version": "4.1.12", + "resolved": "https://registry.npmjs.org/@inquirer/input/-/input-4.1.12.tgz", + "integrity": "sha512-xJ6PFZpDjC+tC1P8ImGprgcsrzQRsUh9aH3IZixm1lAZFK49UGHxM3ltFfuInN2kPYNfyoPRh+tU4ftsjPLKqQ==", "dev": true, "license": "MIT", "dependencies": { - "@inquirer/core": "^9.1.0", - "@inquirer/type": "^1.5.3" + "@inquirer/core": "^10.1.13", + "@inquirer/type": "^3.0.7" }, "engines": { "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } } }, "node_modules/@inquirer/number": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@inquirer/number/-/number-1.1.0.tgz", - "integrity": "sha512-ilUnia/GZUtfSZy3YEErXLJ2Sljo/mf9fiKc08n18DdwdmDbOzRcTv65H1jjDvlsAuvdFXf4Sa/aL7iw/NanVA==", + "version": "3.0.15", + "resolved": "https://registry.npmjs.org/@inquirer/number/-/number-3.0.15.tgz", + "integrity": "sha512-xWg+iYfqdhRiM55MvqiTCleHzszpoigUpN5+t1OMcRkJrUrw7va3AzXaxvS+Ak7Gny0j2mFSTv2JJj8sMtbV2g==", "dev": true, "license": "MIT", "dependencies": { - "@inquirer/core": "^9.1.0", - "@inquirer/type": "^1.5.3" + "@inquirer/core": "^10.1.13", + "@inquirer/type": "^3.0.7" }, "engines": { "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } } }, "node_modules/@inquirer/password": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@inquirer/password/-/password-2.2.0.tgz", - "integrity": "sha512-5otqIpgsPYIshqhgtEwSspBQE40etouR8VIxzpJkv9i0dVHIpyhiivbkH9/dGiMLdyamT54YRdGJLfl8TFnLHg==", + "version": "4.0.15", + "resolved": "https://registry.npmjs.org/@inquirer/password/-/password-4.0.15.tgz", + "integrity": "sha512-75CT2p43DGEnfGTaqFpbDC2p2EEMrq0S+IRrf9iJvYreMy5mAWj087+mdKyLHapUEPLjN10mNvABpGbk8Wdraw==", "dev": true, "license": "MIT", "dependencies": { - "@inquirer/core": "^9.1.0", - "@inquirer/type": "^1.5.3", + "@inquirer/core": "^10.1.13", + "@inquirer/type": "^3.0.7", "ansi-escapes": "^4.3.2" }, "engines": { "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } } }, "node_modules/@inquirer/prompts": { - "version": "5.3.8", - "resolved": "https://registry.npmjs.org/@inquirer/prompts/-/prompts-5.3.8.tgz", - "integrity": "sha512-b2BudQY/Si4Y2a0PdZZL6BeJtl8llgeZa7U2j47aaJSCeAl1e4UI7y8a9bSkO3o/ZbZrgT5muy/34JbsjfIWxA==", + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/@inquirer/prompts/-/prompts-7.3.2.tgz", + "integrity": "sha512-G1ytyOoHh5BphmEBxSwALin3n1KGNYB6yImbICcRQdzXfOGbuJ9Jske/Of5Sebk339NSGGNfUshnzK8YWkTPsQ==", "dev": true, "license": "MIT", "dependencies": { - "@inquirer/checkbox": "^2.4.7", - "@inquirer/confirm": "^3.1.22", - "@inquirer/editor": "^2.1.22", - "@inquirer/expand": "^2.1.22", - "@inquirer/input": "^2.2.9", - "@inquirer/number": "^1.0.10", - "@inquirer/password": "^2.1.22", - "@inquirer/rawlist": "^2.2.4", - "@inquirer/search": "^1.0.7", - "@inquirer/select": "^2.4.7" + "@inquirer/checkbox": "^4.1.2", + "@inquirer/confirm": "^5.1.6", + "@inquirer/editor": "^4.2.7", + "@inquirer/expand": "^4.0.9", + "@inquirer/input": "^4.1.6", + "@inquirer/number": "^3.0.9", + "@inquirer/password": "^4.0.9", + "@inquirer/rawlist": "^4.0.9", + "@inquirer/search": "^3.0.9", + "@inquirer/select": "^4.0.9" }, "engines": { "node": ">=18" - } - }, - "node_modules/@inquirer/rawlist": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@inquirer/rawlist/-/rawlist-2.3.0.tgz", - "integrity": "sha512-zzfNuINhFF7OLAtGHfhwOW2TlYJyli7lOUoJUXw/uyklcwalV6WRXBXtFIicN8rTRK1XTiPWB4UY+YuW8dsnLQ==", - "dev": true, + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/rawlist": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/@inquirer/rawlist/-/rawlist-4.1.3.tgz", + "integrity": "sha512-7XrV//6kwYumNDSsvJIPeAqa8+p7GJh7H5kRuxirct2cgOcSWwwNGoXDRgpNFbY/MG2vQ4ccIWCi8+IXXyFMZA==", + "dev": true, "license": "MIT", "dependencies": { - "@inquirer/core": "^9.1.0", - "@inquirer/type": "^1.5.3", + "@inquirer/core": "^10.1.13", + "@inquirer/type": "^3.0.7", "yoctocolors-cjs": "^2.1.2" }, "engines": { "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } } }, "node_modules/@inquirer/search": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@inquirer/search/-/search-1.1.0.tgz", - "integrity": "sha512-h+/5LSj51dx7hp5xOn4QFnUaKeARwUCLs6mIhtkJ0JYPBLmEYjdHSYh7I6GrLg9LwpJ3xeX0FZgAG1q0QdCpVQ==", + "version": "3.0.15", + "resolved": "https://registry.npmjs.org/@inquirer/search/-/search-3.0.15.tgz", + "integrity": "sha512-YBMwPxYBrADqyvP4nNItpwkBnGGglAvCLVW8u4pRmmvOsHUtCAUIMbUrLX5B3tFL1/WsLGdQ2HNzkqswMs5Uaw==", "dev": true, "license": "MIT", "dependencies": { - "@inquirer/core": "^9.1.0", - "@inquirer/figures": "^1.0.5", - "@inquirer/type": "^1.5.3", + "@inquirer/core": "^10.1.13", + "@inquirer/figures": "^1.0.12", + "@inquirer/type": "^3.0.7", "yoctocolors-cjs": "^2.1.2" }, "engines": { "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } } }, "node_modules/@inquirer/select": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/@inquirer/select/-/select-2.5.0.tgz", - "integrity": "sha512-YmDobTItPP3WcEI86GvPo+T2sRHkxxOq/kXmsBjHS5BVXUgvgZ5AfJjkvQvZr03T81NnI3KrrRuMzeuYUQRFOA==", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/@inquirer/select/-/select-4.2.3.tgz", + "integrity": "sha512-OAGhXU0Cvh0PhLz9xTF/kx6g6x+sP+PcyTiLvCrewI99P3BBeexD+VbuwkNDvqGkk3y2h5ZiWLeRP7BFlhkUDg==", "dev": true, "license": "MIT", "dependencies": { - "@inquirer/core": "^9.1.0", - "@inquirer/figures": "^1.0.5", - "@inquirer/type": "^1.5.3", + "@inquirer/core": "^10.1.13", + "@inquirer/figures": "^1.0.12", + "@inquirer/type": "^3.0.7", "ansi-escapes": "^4.3.2", "yoctocolors-cjs": "^2.1.2" }, "engines": { "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } } }, "node_modules/@inquirer/type": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-1.5.5.tgz", - "integrity": "sha512-MzICLu4yS7V8AA61sANROZ9vT1H3ooca5dSmI1FjZkzq7o/koMsRfQSzRtFo+F3Ao4Sf1C0bpLKejpKB/+j6MA==", + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-3.0.7.tgz", + "integrity": "sha512-PfunHQcjwnju84L+ycmcMKB/pTPIngjUJvfnRhKY6FKPuYXlM4aQCb/nIdTFR6BEhMjFvngzvng/vBAJMZpLSA==", "dev": true, "license": "MIT", - "dependencies": { - "mute-stream": "^1.0.0" - }, "engines": { "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } } }, "node_modules/@isaacs/balanced-match": { @@ -4155,6 +4576,19 @@ "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, + "node_modules/@isaacs/fs-minipass": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@isaacs/fs-minipass/-/fs-minipass-4.0.1.tgz", + "integrity": "sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^7.0.4" + }, + "engines": { + "node": ">=18.0.0" + } + }, "node_modules/@istanbuljs/load-nyc-config": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", @@ -4682,25 +5116,38 @@ "license": "MIT" }, "node_modules/@listr2/prompt-adapter-inquirer": { - "version": "2.0.15", - "resolved": "https://registry.npmjs.org/@listr2/prompt-adapter-inquirer/-/prompt-adapter-inquirer-2.0.15.tgz", - "integrity": "sha512-MZrGem/Ujjd4cPTLYDfCZK2iKKeiO/8OX13S6jqxldLs0Prf2aGqVlJ77nMBqMv7fzqgXEgjrNHLXcKR8l9lOg==", + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/@listr2/prompt-adapter-inquirer/-/prompt-adapter-inquirer-2.0.18.tgz", + "integrity": "sha512-0hz44rAcrphyXcA8IS7EJ2SCoaBZD2u5goE8S/e+q/DL+dOGpqpcLidVOFeLG3VgML62SXmfRLAhWt0zL1oW4Q==", "dev": true, "license": "MIT", "dependencies": { - "@inquirer/type": "^1.5.1" + "@inquirer/type": "^1.5.5" }, "engines": { "node": ">=18.0.0" }, "peerDependencies": { - "@inquirer/prompts": ">= 3 < 6" + "@inquirer/prompts": ">= 3 < 8" + } + }, + "node_modules/@listr2/prompt-adapter-inquirer/node_modules/@inquirer/type": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-1.5.5.tgz", + "integrity": "sha512-MzICLu4yS7V8AA61sANROZ9vT1H3ooca5dSmI1FjZkzq7o/koMsRfQSzRtFo+F3Ao4Sf1C0bpLKejpKB/+j6MA==", + "dev": true, + "license": "MIT", + "dependencies": { + "mute-stream": "^1.0.0" + }, + "engines": { + "node": ">=18" } }, "node_modules/@lmdb/lmdb-darwin-arm64": { - "version": "3.0.13", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-arm64/-/lmdb-darwin-arm64-3.0.13.tgz", - "integrity": "sha512-uiKPB0Fv6WEEOZjruu9a6wnW/8jrjzlZbxXscMB8kuCJ1k6kHpcBnuvaAWcqhbI7rqX5GKziwWEdD+wi2gNLfA==", + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-arm64/-/lmdb-darwin-arm64-3.2.6.tgz", + "integrity": "sha512-yF/ih9EJJZc72psFQbwnn8mExIWfTnzWJg+N02hnpXtDPETYLmQswIMBn7+V88lfCaFrMozJsUvcEQIkEPU0Gg==", "cpu": [ "arm64" ], @@ -4712,9 +5159,9 @@ ] }, "node_modules/@lmdb/lmdb-darwin-x64": { - "version": "3.0.13", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-x64/-/lmdb-darwin-x64-3.0.13.tgz", - "integrity": "sha512-bEVIIfK5mSQoG1R19qA+fJOvCB+0wVGGnXHT3smchBVahYBdlPn2OsZZKzlHWfb1E+PhLBmYfqB5zQXFP7hJig==", + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-x64/-/lmdb-darwin-x64-3.2.6.tgz", + "integrity": "sha512-5BbCumsFLbCi586Bb1lTWQFkekdQUw8/t8cy++Uq251cl3hbDIGEwD9HAwh8H6IS2F6QA9KdKmO136LmipRNkg==", "cpu": [ "x64" ], @@ -4726,9 +5173,9 @@ ] }, "node_modules/@lmdb/lmdb-linux-arm": { - "version": "3.0.13", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-arm/-/lmdb-linux-arm-3.0.13.tgz", - "integrity": "sha512-Yml1KlMzOnXj/tnW7yX8U78iAzTk39aILYvCPbqeewAq1kSzl+w59k/fiVkTBfvDi/oW/5YRxL+Fq+Y1Fr1r2Q==", + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-arm/-/lmdb-linux-arm-3.2.6.tgz", + "integrity": "sha512-+6XgLpMb7HBoWxXj+bLbiiB4s0mRRcDPElnRS3LpWRzdYSe+gFk5MT/4RrVNqd2MESUDmb53NUXw1+BP69bjiQ==", "cpu": [ "arm" ], @@ -4740,9 +5187,9 @@ ] }, "node_modules/@lmdb/lmdb-linux-arm64": { - "version": "3.0.13", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-arm64/-/lmdb-linux-arm64-3.0.13.tgz", - "integrity": "sha512-afbVrsMgZ9dUTNUchFpj5VkmJRxvht/u335jUJ7o23YTbNbnpmXif3VKQGCtnjSh+CZaqm6N3CPG8KO3zwyZ1Q==", + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-arm64/-/lmdb-linux-arm64-3.2.6.tgz", + "integrity": "sha512-l5VmJamJ3nyMmeD1ANBQCQqy7do1ESaJQfKPSm2IG9/ADZryptTyCj8N6QaYgIWewqNUrcbdMkJajRQAt5Qjfg==", "cpu": [ "arm64" ], @@ -4754,9 +5201,9 @@ ] }, "node_modules/@lmdb/lmdb-linux-x64": { - "version": "3.0.13", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-x64/-/lmdb-linux-x64-3.0.13.tgz", - "integrity": "sha512-vOtxu0xC0SLdQ2WRXg8Qgd8T32ak4SPqk5zjItRszrJk2BdeXqfGxBJbP7o4aOvSPSmSSv46Lr1EP4HXU8v7Kg==", + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-x64/-/lmdb-linux-x64-3.2.6.tgz", + "integrity": "sha512-nDYT8qN9si5+onHYYaI4DiauDMx24OAiuZAUsEqrDy+ja/3EbpXPX/VAkMV8AEaQhy3xc4dRC+KcYIvOFefJ4Q==", "cpu": [ "x64" ], @@ -4768,9 +5215,9 @@ ] }, "node_modules/@lmdb/lmdb-win32-x64": { - "version": "3.0.13", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-win32-x64/-/lmdb-win32-x64-3.0.13.tgz", - "integrity": "sha512-UCrMJQY/gJnOl3XgbWRZZUvGGBuKy6i0YNSptgMzHBjs+QYDYR1Mt/RLTOPy4fzzves65O1EDmlL//OzEqoLlA==", + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-win32-x64/-/lmdb-win32-x64-3.2.6.tgz", + "integrity": "sha512-XlqVtILonQnG+9fH2N3Aytria7P/1fwDgDhl29rde96uH2sLB8CHORIf2PfuLVzFQJ7Uqp8py9AYwr3ZUCFfWg==", "cpu": [ "x64" ], @@ -4865,154 +5312,458 @@ "win32" ] }, - "node_modules/@ngtools/webpack": { - "version": "18.2.20", - "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-18.2.20.tgz", - "integrity": "sha512-6LscOXPMPZlS67aDPj6dkjT/RDySX4GLtk1JErzkUOco6pxsp8qeCzRWqjU63q/8OfZPYLCGIZKfXgXwBP9bgg==", + "node_modules/@napi-rs/nice": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice/-/nice-1.0.1.tgz", + "integrity": "sha512-zM0mVWSXE0a0h9aKACLwKmD6nHcRiKrPpCfvaKqG1CqDEyjEawId0ocXxVzPMCAm6kkWr2P025msfxXEnt8UGQ==", "dev": true, "license": "MIT", + "optional": true, "engines": { - "node": "^18.19.1 || ^20.11.1 || >=22.0.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" + "node": ">= 10" }, - "peerDependencies": { - "@angular/compiler-cli": "^18.0.0", - "typescript": ">=5.4 <5.6", - "webpack": "^5.54.0" - } - }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" + }, + "optionalDependencies": { + "@napi-rs/nice-android-arm-eabi": "1.0.1", + "@napi-rs/nice-android-arm64": "1.0.1", + "@napi-rs/nice-darwin-arm64": "1.0.1", + "@napi-rs/nice-darwin-x64": "1.0.1", + "@napi-rs/nice-freebsd-x64": "1.0.1", + "@napi-rs/nice-linux-arm-gnueabihf": "1.0.1", + "@napi-rs/nice-linux-arm64-gnu": "1.0.1", + "@napi-rs/nice-linux-arm64-musl": "1.0.1", + "@napi-rs/nice-linux-ppc64-gnu": "1.0.1", + "@napi-rs/nice-linux-riscv64-gnu": "1.0.1", + "@napi-rs/nice-linux-s390x-gnu": "1.0.1", + "@napi-rs/nice-linux-x64-gnu": "1.0.1", + "@napi-rs/nice-linux-x64-musl": "1.0.1", + "@napi-rs/nice-win32-arm64-msvc": "1.0.1", + "@napi-rs/nice-win32-ia32-msvc": "1.0.1", + "@napi-rs/nice-win32-x64-msvc": "1.0.1" + } + }, + "node_modules/@napi-rs/nice-android-arm-eabi": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-android-arm-eabi/-/nice-android-arm-eabi-1.0.1.tgz", + "integrity": "sha512-5qpvOu5IGwDo7MEKVqqyAxF90I6aLj4n07OzpARdgDRfz8UbBztTByBp0RC59r3J1Ij8uzYi6jI7r5Lws7nn6w==", + "cpu": [ + "arm" + ], "dev": true, "license": "MIT", - "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, + "optional": true, + "os": [ + "android" + ], "engines": { - "node": ">= 8" + "node": ">= 10" } }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "node_modules/@napi-rs/nice-android-arm64": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-android-arm64/-/nice-android-arm64-1.0.1.tgz", + "integrity": "sha512-GqvXL0P8fZ+mQqG1g0o4AO9hJjQaeYG84FRfZaYjyJtZZZcMjXW5TwkL8Y8UApheJgyE13TQ4YNUssQaTgTyvA==", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", + "optional": true, + "os": [ + "android" + ], "engines": { - "node": ">= 8" + "node": ">= 10" } }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "node_modules/@napi-rs/nice-darwin-arm64": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-darwin-arm64/-/nice-darwin-arm64-1.0.1.tgz", + "integrity": "sha512-91k3HEqUl2fsrz/sKkuEkscj6EAj3/eZNCLqzD2AA0TtVbkQi8nqxZCZDMkfklULmxLkMxuUdKe7RvG/T6s2AA==", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">= 8" + "node": ">= 10" } }, - "node_modules/@npmcli/agent": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/@npmcli/agent/-/agent-2.2.2.tgz", - "integrity": "sha512-OrcNPXdpSl9UX7qPVRWbmWMCSXrcDa2M9DvrbOTj7ao1S4PlqVFYv9/yLKMkrJKZ/V5A/kDBC690or307i26Og==", + "node_modules/@napi-rs/nice-darwin-x64": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-darwin-x64/-/nice-darwin-x64-1.0.1.tgz", + "integrity": "sha512-jXnMleYSIR/+TAN/p5u+NkCA7yidgswx5ftqzXdD5wgy/hNR92oerTXHc0jrlBisbd7DpzoaGY4cFD7Sm5GlgQ==", + "cpu": [ + "x64" + ], "dev": true, - "license": "ISC", - "dependencies": { - "agent-base": "^7.1.0", - "http-proxy-agent": "^7.0.0", - "https-proxy-agent": "^7.0.1", - "lru-cache": "^10.0.1", - "socks-proxy-agent": "^8.0.3" - }, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": ">= 10" } }, - "node_modules/@npmcli/agent/node_modules/http-proxy-agent": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", - "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", + "node_modules/@napi-rs/nice-freebsd-x64": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-freebsd-x64/-/nice-freebsd-x64-1.0.1.tgz", + "integrity": "sha512-j+iJ/ezONXRQsVIB/FJfwjeQXX7A2tf3gEXs4WUGFrJjpe/z2KB7sOv6zpkm08PofF36C9S7wTNuzHZ/Iiccfw==", + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", - "dependencies": { - "agent-base": "^7.1.0", - "debug": "^4.3.4" - }, + "optional": true, + "os": [ + "freebsd" + ], "engines": { - "node": ">= 14" + "node": ">= 10" } }, - "node_modules/@npmcli/agent/node_modules/lru-cache": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", - "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "node_modules/@napi-rs/nice-linux-arm-gnueabihf": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-arm-gnueabihf/-/nice-linux-arm-gnueabihf-1.0.1.tgz", + "integrity": "sha512-G8RgJ8FYXYkkSGQwywAUh84m946UTn6l03/vmEXBYNJxQJcD+I3B3k5jmjFG/OPiU8DfvxutOP8bi+F89MCV7Q==", + "cpu": [ + "arm" + ], "dev": true, - "license": "ISC" + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } }, - "node_modules/@npmcli/fs": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-3.1.1.tgz", - "integrity": "sha512-q9CRWjpHCMIh5sVyefoD1cA7PkvILqCZsnSOEUUivORLjxCO/Irmue2DprETiNgEqktDBZaM1Bi+jrarx1XdCg==", + "node_modules/@napi-rs/nice-linux-arm64-gnu": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-arm64-gnu/-/nice-linux-arm64-gnu-1.0.1.tgz", + "integrity": "sha512-IMDak59/W5JSab1oZvmNbrms3mHqcreaCeClUjwlwDr0m3BoR09ZiN8cKFBzuSlXgRdZ4PNqCYNeGQv7YMTjuA==", + "cpu": [ + "arm64" + ], "dev": true, - "license": "ISC", - "dependencies": { - "semver": "^7.3.5" - }, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">= 10" } }, - "node_modules/@npmcli/git": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-5.0.8.tgz", - "integrity": "sha512-liASfw5cqhjNW9UFd+ruwwdEf/lbOAQjLL2XY2dFW/bkJheXDYZgOyul/4gVvEV4BWkTXjYGmDqMw9uegdbJNQ==", + "node_modules/@napi-rs/nice-linux-arm64-musl": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-arm64-musl/-/nice-linux-arm64-musl-1.0.1.tgz", + "integrity": "sha512-wG8fa2VKuWM4CfjOjjRX9YLIbysSVV1S3Kgm2Fnc67ap/soHBeYZa6AGMeR5BJAylYRjnoVOzV19Cmkco3QEPw==", + "cpu": [ + "arm64" + ], "dev": true, - "license": "ISC", - "dependencies": { - "@npmcli/promise-spawn": "^7.0.0", - "ini": "^4.1.3", - "lru-cache": "^10.0.1", - "npm-pick-manifest": "^9.0.0", - "proc-log": "^4.0.0", - "promise-inflight": "^1.0.1", - "promise-retry": "^2.0.1", - "semver": "^7.3.5", - "which": "^4.0.0" - }, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": ">= 10" } }, - "node_modules/@npmcli/git/node_modules/isexe": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", - "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", + "node_modules/@napi-rs/nice-linux-ppc64-gnu": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-ppc64-gnu/-/nice-linux-ppc64-gnu-1.0.1.tgz", + "integrity": "sha512-lxQ9WrBf0IlNTCA9oS2jg/iAjQyTI6JHzABV664LLrLA/SIdD+I1i3Mjf7TsnoUbgopBcCuDztVLfJ0q9ubf6Q==", + "cpu": [ + "ppc64" + ], "dev": true, - "license": "ISC", + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=16" + "node": ">= 10" } }, - "node_modules/@npmcli/git/node_modules/lru-cache": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "node_modules/@napi-rs/nice-linux-riscv64-gnu": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-riscv64-gnu/-/nice-linux-riscv64-gnu-1.0.1.tgz", + "integrity": "sha512-3xs69dO8WSWBb13KBVex+yvxmUeEsdWexxibqskzoKaWx9AIqkMbWmE2npkazJoopPKX2ULKd8Fm9veEn0g4Ig==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-linux-s390x-gnu": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-s390x-gnu/-/nice-linux-s390x-gnu-1.0.1.tgz", + "integrity": "sha512-lMFI3i9rlW7hgToyAzTaEybQYGbQHDrpRkg+1gJWEpH0PLAQoZ8jiY0IzakLfNWnVda1eTYYlxxFYzW8Rqczkg==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-linux-x64-gnu": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-x64-gnu/-/nice-linux-x64-gnu-1.0.1.tgz", + "integrity": "sha512-XQAJs7DRN2GpLN6Fb+ZdGFeYZDdGl2Fn3TmFlqEL5JorgWKrQGRUrpGKbgZ25UeZPILuTKJ+OowG2avN8mThBA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-linux-x64-musl": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-x64-musl/-/nice-linux-x64-musl-1.0.1.tgz", + "integrity": "sha512-/rodHpRSgiI9o1faq9SZOp/o2QkKQg7T+DK0R5AkbnI/YxvAIEHf2cngjYzLMQSQgUhxym+LFr+UGZx4vK4QdQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-win32-arm64-msvc": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-win32-arm64-msvc/-/nice-win32-arm64-msvc-1.0.1.tgz", + "integrity": "sha512-rEcz9vZymaCB3OqEXoHnp9YViLct8ugF+6uO5McifTedjq4QMQs3DHz35xBEGhH3gJWEsXMUbzazkz5KNM5YUg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-win32-ia32-msvc": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-win32-ia32-msvc/-/nice-win32-ia32-msvc-1.0.1.tgz", + "integrity": "sha512-t7eBAyPUrWL8su3gDxw9xxxqNwZzAqKo0Szv3IjVQd1GpXXVkb6vBBQUuxfIYaXMzZLwlxRQ7uzM2vdUE9ULGw==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-win32-x64-msvc": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-win32-x64-msvc/-/nice-win32-x64-msvc-1.0.1.tgz", + "integrity": "sha512-JlF+uDcatt3St2ntBG8H02F1mM45i5SF9W+bIKiReVE6wiy3o16oBP/yxt+RZ+N6LbCImJXJ6bXNO2kn9AXicg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@ngtools/webpack": { + "version": "19.2.15", + "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-19.2.15.tgz", + "integrity": "sha512-H37nop/wWMkSgoU2VvrMzanHePdLRRrX52nC5tT2ZhH3qP25+PrnMyw11PoLDLv3iWXC68uB1AiKNIT+jiQbuQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.19.1 || ^20.11.1 || >=22.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "peerDependencies": { + "@angular/compiler-cli": "^19.0.0 || ^19.2.0-next.0", + "typescript": ">=5.5 <5.9", + "webpack": "^5.54.0" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@npmcli/agent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/agent/-/agent-3.0.0.tgz", + "integrity": "sha512-S79NdEgDQd/NGCay6TCoVzXSj74skRZIKJcpJjC5lOq34SZzyI6MqtiiWoiVWoVrTcGjNeC4ipbh1VIHlpfF5Q==", + "dev": true, + "license": "ISC", + "dependencies": { + "agent-base": "^7.1.0", + "http-proxy-agent": "^7.0.0", + "https-proxy-agent": "^7.0.1", + "lru-cache": "^10.0.1", + "socks-proxy-agent": "^8.0.3" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@npmcli/agent/node_modules/http-proxy-agent": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", + "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", + "dev": true, + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.0", + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/@npmcli/agent/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", "dev": true, "license": "ISC" }, - "node_modules/@npmcli/git/node_modules/which": { + "node_modules/@npmcli/fs": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/which/-/which-4.0.0.tgz", - "integrity": "sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-4.0.0.tgz", + "integrity": "sha512-/xGlezI6xfGO9NwuJlnwz/K14qD1kCSAGtacBHnGzeAIuJGazcp45KP5NuyARXoKb7cwulAGWVsbeSxdG/cb0Q==", + "dev": true, + "license": "ISC", + "dependencies": { + "semver": "^7.3.5" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@npmcli/git": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-6.0.3.tgz", + "integrity": "sha512-GUYESQlxZRAdhs3UhbB6pVRNUELQOHXwK9ruDkwmCv2aZ5y0SApQzUJCg02p3A7Ue2J5hxvlk1YI53c00NmRyQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "@npmcli/promise-spawn": "^8.0.0", + "ini": "^5.0.0", + "lru-cache": "^10.0.1", + "npm-pick-manifest": "^10.0.0", + "proc-log": "^5.0.0", + "promise-retry": "^2.0.1", + "semver": "^7.3.5", + "which": "^5.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@npmcli/git/node_modules/isexe": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", + "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=16" + } + }, + "node_modules/@npmcli/git/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/@npmcli/git/node_modules/which": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-5.0.0.tgz", + "integrity": "sha512-JEdGzHwwkrbWoGOlIHqQ5gtprKGOenpDHpxE9zVR1bWbOtYRyPPHMe9FaP6x61CmNaTThSkb0DAJte5jD+DmzQ==", "dev": true, "license": "ISC", "dependencies": { @@ -5022,53 +5773,53 @@ "node-which": "bin/which.js" }, "engines": { - "node": "^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/@npmcli/installed-package-contents": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@npmcli/installed-package-contents/-/installed-package-contents-2.1.0.tgz", - "integrity": "sha512-c8UuGLeZpm69BryRykLuKRyKFZYJsZSCT4aVY5ds4omyZqJ172ApzgfKJ5eV/r3HgLdUYgFVe54KSFVjKoe27w==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/installed-package-contents/-/installed-package-contents-3.0.0.tgz", + "integrity": "sha512-fkxoPuFGvxyrH+OQzyTkX2LUEamrF4jZSmxjAtPPHHGO0dqsQ8tTKjnIS8SAnPHdk2I03BDtSMR5K/4loKg79Q==", "dev": true, "license": "ISC", "dependencies": { - "npm-bundled": "^3.0.0", - "npm-normalize-package-bin": "^3.0.0" + "npm-bundled": "^4.0.0", + "npm-normalize-package-bin": "^4.0.0" }, "bin": { "installed-package-contents": "bin/index.js" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/@npmcli/node-gyp": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-3.0.0.tgz", - "integrity": "sha512-gp8pRXC2oOxu0DUE1/M3bYtb1b3/DbJ5aM113+XJBgfXdussRAsX0YOrOhdd8WvnAR6auDBvJomGAkLKA5ydxA==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-4.0.0.tgz", + "integrity": "sha512-+t5DZ6mO/QFh78PByMq1fGSAub/agLJZDRfJRMeOSNCt8s9YVlTjmGpIPwPhvXTGUIJk+WszlT0rQa1W33yzNA==", "dev": true, "license": "ISC", "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/@npmcli/package-json": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/@npmcli/package-json/-/package-json-5.2.1.tgz", - "integrity": "sha512-f7zYC6kQautXHvNbLEWgD/uGu1+xCn9izgqBfgItWSx22U0ZDekxN08A1vM8cTxj/cRVe0Q94Ode+tdoYmIOOQ==", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/@npmcli/package-json/-/package-json-6.2.0.tgz", + "integrity": "sha512-rCNLSB/JzNvot0SEyXqWZ7tX2B5dD2a1br2Dp0vSYVo5jh8Z0EZ7lS9TsZ1UtziddB1UfNUaMCc538/HztnJGA==", "dev": true, "license": "ISC", "dependencies": { - "@npmcli/git": "^5.0.0", + "@npmcli/git": "^6.0.0", "glob": "^10.2.2", - "hosted-git-info": "^7.0.0", - "json-parse-even-better-errors": "^3.0.0", - "normalize-package-data": "^6.0.0", - "proc-log": "^4.0.0", - "semver": "^7.5.3" + "hosted-git-info": "^8.0.0", + "json-parse-even-better-errors": "^4.0.0", + "proc-log": "^5.0.0", + "semver": "^7.5.3", + "validate-npm-package-license": "^3.0.4" }, "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/@npmcli/package-json/node_modules/brace-expansion": { @@ -5159,16 +5910,16 @@ } }, "node_modules/@npmcli/promise-spawn": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-7.0.2.tgz", - "integrity": "sha512-xhfYPXoV5Dy4UkY0D+v2KkwvnDfiA/8Mt3sWCGI/hM03NsYIH8ZaG6QzS9x7pje5vHZBZJ2v6VRFVTWACnqcmQ==", + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-8.0.2.tgz", + "integrity": "sha512-/bNJhjc+o6qL+Dwz/bqfTQClkEO5nTQ1ZEcdCkAQjhkZMHIh22LPG7fNh1enJP1NKWDqYiiABnjFCY7E0zHYtQ==", "dev": true, "license": "ISC", "dependencies": { - "which": "^4.0.0" + "which": "^5.0.0" }, "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/@npmcli/promise-spawn/node_modules/isexe": { @@ -5182,9 +5933,9 @@ } }, "node_modules/@npmcli/promise-spawn/node_modules/which": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/which/-/which-4.0.0.tgz", - "integrity": "sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-5.0.0.tgz", + "integrity": "sha512-JEdGzHwwkrbWoGOlIHqQ5gtprKGOenpDHpxE9zVR1bWbOtYRyPPHMe9FaP6x61CmNaTThSkb0DAJte5jD+DmzQ==", "dev": true, "license": "ISC", "dependencies": { @@ -5194,35 +5945,35 @@ "node-which": "bin/which.js" }, "engines": { - "node": "^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/@npmcli/redact": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@npmcli/redact/-/redact-2.0.1.tgz", - "integrity": "sha512-YgsR5jCQZhVmTJvjduTOIHph0L73pK8xwMVaDY0PatySqVM9AZj93jpoXYSJqfHFxFkN9dmqTw6OiqExsS3LPw==", + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/@npmcli/redact/-/redact-3.2.2.tgz", + "integrity": "sha512-7VmYAmk4csGv08QzrDKScdzn11jHPFGyqJW39FyPgPuAp3zIaUmuCo1yxw9aGs+NEJuTGQ9Gwqpt93vtJubucg==", "dev": true, "license": "ISC", "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/@npmcli/run-script": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-8.1.0.tgz", - "integrity": "sha512-y7efHHwghQfk28G2z3tlZ67pLG0XdfYbcVG26r7YIXALRsrVQcTq4/tdenSmdOrEsNahIYA/eh8aEVROWGFUDg==", + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-9.1.0.tgz", + "integrity": "sha512-aoNSbxtkePXUlbZB+anS1LqsJdctG5n3UVhfU47+CDdwMi6uNTBMF9gPcQRnqghQd2FGzcwwIFBruFMxjhBewg==", "dev": true, "license": "ISC", "dependencies": { - "@npmcli/node-gyp": "^3.0.0", - "@npmcli/package-json": "^5.0.0", - "@npmcli/promise-spawn": "^7.0.0", - "node-gyp": "^10.0.0", - "proc-log": "^4.0.0", - "which": "^4.0.0" + "@npmcli/node-gyp": "^4.0.0", + "@npmcli/package-json": "^6.0.0", + "@npmcli/promise-spawn": "^8.0.0", + "node-gyp": "^11.0.0", + "proc-log": "^5.0.0", + "which": "^5.0.0" }, "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/@npmcli/run-script/node_modules/isexe": { @@ -5236,9 +5987,9 @@ } }, "node_modules/@npmcli/run-script/node_modules/which": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/which/-/which-4.0.0.tgz", - "integrity": "sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-5.0.0.tgz", + "integrity": "sha512-JEdGzHwwkrbWoGOlIHqQ5gtprKGOenpDHpxE9zVR1bWbOtYRyPPHMe9FaP6x61CmNaTThSkb0DAJte5jD+DmzQ==", "dev": true, "license": "ISC", "dependencies": { @@ -5248,7 +5999,7 @@ "node-which": "bin/which.js" }, "engines": { - "node": "^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/@octokit/auth-token": { @@ -5389,34 +6140,366 @@ "once": "^1.4.0" }, "engines": { - "node": ">= 18" + "node": ">= 18" + } + }, + "node_modules/@octokit/rest": { + "version": "20.1.1", + "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-20.1.1.tgz", + "integrity": "sha512-MB4AYDsM5jhIHro/dq4ix1iWTLGToIGk6cWF5L6vanFaMble5jTX/UBQyiv05HsWnwUtY8JrfHy2LWfKwihqMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@octokit/core": "^5.0.2", + "@octokit/plugin-paginate-rest": "11.3.1", + "@octokit/plugin-request-log": "^4.0.0", + "@octokit/plugin-rest-endpoint-methods": "13.2.2" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/types": { + "version": "13.10.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.10.0.tgz", + "integrity": "sha512-ifLaO34EbbPj0Xgro4G5lP5asESjwHracYJvVaPIyXMuiuXLlhic3S47cBdTb+jfODkTE5YtGCLt3Ay3+J97sA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@octokit/openapi-types": "^24.2.0" + } + }, + "node_modules/@parcel/watcher": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.5.1.tgz", + "integrity": "sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "dependencies": { + "detect-libc": "^1.0.3", + "is-glob": "^4.0.3", + "micromatch": "^4.0.5", + "node-addon-api": "^7.0.0" + }, + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "@parcel/watcher-android-arm64": "2.5.1", + "@parcel/watcher-darwin-arm64": "2.5.1", + "@parcel/watcher-darwin-x64": "2.5.1", + "@parcel/watcher-freebsd-x64": "2.5.1", + "@parcel/watcher-linux-arm-glibc": "2.5.1", + "@parcel/watcher-linux-arm-musl": "2.5.1", + "@parcel/watcher-linux-arm64-glibc": "2.5.1", + "@parcel/watcher-linux-arm64-musl": "2.5.1", + "@parcel/watcher-linux-x64-glibc": "2.5.1", + "@parcel/watcher-linux-x64-musl": "2.5.1", + "@parcel/watcher-win32-arm64": "2.5.1", + "@parcel/watcher-win32-ia32": "2.5.1", + "@parcel/watcher-win32-x64": "2.5.1" + } + }, + "node_modules/@parcel/watcher-android-arm64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.1.tgz", + "integrity": "sha512-KF8+j9nNbUN8vzOFDpRMsaKBHZ/mcjEjMToVMJOhTozkDonQFFrRcfdLWn6yWKCmJKmdVxSgHiYvTCef4/qcBA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-darwin-arm64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.1.tgz", + "integrity": "sha512-eAzPv5osDmZyBhou8PoF4i6RQXAfeKL9tjb3QzYuccXFMQU0ruIc/POh30ePnaOyD1UXdlKguHBmsTs53tVoPw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-darwin-x64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.1.tgz", + "integrity": "sha512-1ZXDthrnNmwv10A0/3AJNZ9JGlzrF82i3gNQcWOzd7nJ8aj+ILyW1MTxVk35Db0u91oD5Nlk9MBiujMlwmeXZg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-freebsd-x64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.1.tgz", + "integrity": "sha512-SI4eljM7Flp9yPuKi8W0ird8TI/JK6CSxju3NojVI6BjHsTyK7zxA9urjVjEKJ5MBYC+bLmMcbAWlZ+rFkLpJQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm-glibc": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.1.tgz", + "integrity": "sha512-RCdZlEyTs8geyBkkcnPWvtXLY44BCeZKmGYRtSgtwwnHR4dxfHRG3gR99XdMEdQ7KeiDdasJwwvNSF5jKtDwdA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm-musl": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.1.tgz", + "integrity": "sha512-6E+m/Mm1t1yhB8X412stiKFG3XykmgdIOqhjWj+VL8oHkKABfu/gjFj8DvLrYVHSBNC+/u5PeNrujiSQ1zwd1Q==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm64-glibc": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.1.tgz", + "integrity": "sha512-LrGp+f02yU3BN9A+DGuY3v3bmnFUggAITBGriZHUREfNEzZh/GO06FF5u2kx8x+GBEUYfyTGamol4j3m9ANe8w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm64-musl": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.1.tgz", + "integrity": "sha512-cFOjABi92pMYRXS7AcQv9/M1YuKRw8SZniCDw0ssQb/noPkRzA+HBDkwmyOJYp5wXcsTrhxO0zq1U11cK9jsFg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-x64-glibc": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.1.tgz", + "integrity": "sha512-GcESn8NZySmfwlTsIur+49yDqSny2IhPeZfXunQi48DMugKeZ7uy1FX83pO0X22sHntJ4Ub+9k34XQCX+oHt2A==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-x64-musl": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.1.tgz", + "integrity": "sha512-n0E2EQbatQ3bXhcH2D1XIAANAcTZkQICBPVaxMeaCVBtOpBZpWJuf7LwyWPSBDITb7In8mqQgJ7gH8CILCURXg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-arm64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.1.tgz", + "integrity": "sha512-RFzklRvmc3PkjKjry3hLF9wD7ppR4AKcWNzH7kXR7GUe0Igb3Nz8fyPwtZCSquGrhU5HhUNDr/mKBqj7tqA2Vw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-ia32": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.1.tgz", + "integrity": "sha512-c2KkcVN+NJmuA7CGlaGD1qJh1cLfDnQsHjE89E60vUEMlqduHGCdCLJCID5geFVM0dOtA3ZiIO8BoEQmzQVfpQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-x64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.1.tgz", + "integrity": "sha512-9lHBdJITeNR++EvSQVUcaZoWupyHfXe1jZvGZ06O/5MflPcuPLtEphScIBL+AiCWBO46tDSHzWyD0uDmmZqsgA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/@octokit/rest": { - "version": "20.1.1", - "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-20.1.1.tgz", - "integrity": "sha512-MB4AYDsM5jhIHro/dq4ix1iWTLGToIGk6cWF5L6vanFaMble5jTX/UBQyiv05HsWnwUtY8JrfHy2LWfKwihqMw==", + "node_modules/@parcel/watcher/node_modules/detect-libc": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", + "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==", "dev": true, - "license": "MIT", - "dependencies": { - "@octokit/core": "^5.0.2", - "@octokit/plugin-paginate-rest": "11.3.1", - "@octokit/plugin-request-log": "^4.0.0", - "@octokit/plugin-rest-endpoint-methods": "13.2.2" + "license": "Apache-2.0", + "optional": true, + "bin": { + "detect-libc": "bin/detect-libc.js" }, "engines": { - "node": ">= 18" + "node": ">=0.10" } }, - "node_modules/@octokit/types": { - "version": "13.10.0", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.10.0.tgz", - "integrity": "sha512-ifLaO34EbbPj0Xgro4G5lP5asESjwHracYJvVaPIyXMuiuXLlhic3S47cBdTb+jfODkTE5YtGCLt3Ay3+J97sA==", + "node_modules/@parcel/watcher/node_modules/node-addon-api": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz", + "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==", "dev": true, "license": "MIT", - "dependencies": { - "@octokit/openapi-types": "^24.2.0" - } + "optional": true }, "node_modules/@pkgjs/parseargs": { "version": "0.11.0", @@ -5495,31 +6578,6 @@ } } }, - "node_modules/@rollup/plugin-node-resolve": { - "version": "15.3.1", - "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-15.3.1.tgz", - "integrity": "sha512-tgg6b91pAybXHJQMAAwW9VuWBO6Thi+q7BCNARLwSqlmsHz0XYURtGvh/AuwSADXSI4h/2uHbs7s4FzlZDGSGA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@rollup/pluginutils": "^5.0.1", - "@types/resolve": "1.20.2", - "deepmerge": "^4.2.2", - "is-module": "^1.0.0", - "resolve": "^1.22.1" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "rollup": "^2.78.0||^3.0.0||^4.0.0" - }, - "peerDependenciesMeta": { - "rollup": { - "optional": true - } - } - }, "node_modules/@rollup/pluginutils": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.2.0.tgz", @@ -5543,23 +6601,10 @@ } } }, - "node_modules/@rollup/pluginutils/node_modules/picomatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", - "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.22.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.22.4.tgz", - "integrity": "sha512-Fxamp4aEZnfPOcGA8KSNEohV8hX7zVHOemC8jVBoBUHu5zpJK/Eu3uJwt6BMgy9fkvzxDaurgj96F/NiLukF2w==", + "version": "4.34.8", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.34.8.tgz", + "integrity": "sha512-q217OSE8DTp8AFHuNHXo0Y86e1wtlfVrXiAlwkIvGRQv9zbc6mE3sjIVfwI8sYUyNxwOg0j/Vm1RKM04JcWLJw==", "cpu": [ "arm" ], @@ -5571,9 +6616,9 @@ ] }, "node_modules/@rollup/rollup-android-arm64": { - "version": "4.22.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.22.4.tgz", - "integrity": "sha512-VXoK5UMrgECLYaMuGuVTOx5kcuap1Jm8g/M83RnCHBKOqvPPmROFJGQaZhGccnsFtfXQ3XYa4/jMCJvZnbJBdA==", + "version": "4.34.8", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.34.8.tgz", + "integrity": "sha512-Gigjz7mNWaOL9wCggvoK3jEIUUbGul656opstjaUSGC3eT0BM7PofdAJaBfPFWWkXNVAXbaQtC99OCg4sJv70Q==", "cpu": [ "arm64" ], @@ -5585,9 +6630,9 @@ ] }, "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.22.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.22.4.tgz", - "integrity": "sha512-xMM9ORBqu81jyMKCDP+SZDhnX2QEVQzTcC6G18KlTQEzWK8r/oNZtKuZaCcHhnsa6fEeOBionoyl5JsAbE/36Q==", + "version": "4.34.8", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.34.8.tgz", + "integrity": "sha512-02rVdZ5tgdUNRxIUrFdcMBZQoaPMrxtwSb+/hOfBdqkatYHR3lZ2A2EGyHq2sGOd0Owk80oV3snlDASC24He3Q==", "cpu": [ "arm64" ], @@ -5599,9 +6644,9 @@ ] }, "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.22.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.22.4.tgz", - "integrity": "sha512-aJJyYKQwbHuhTUrjWjxEvGnNNBCnmpHDvrb8JFDbeSH3m2XdHcxDd3jthAzvmoI8w/kSjd2y0udT+4okADsZIw==", + "version": "4.34.8", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.34.8.tgz", + "integrity": "sha512-qIP/elwR/tq/dYRx3lgwK31jkZvMiD6qUtOycLhTzCvrjbZ3LjQnEM9rNhSGpbLXVJYQ3rq39A6Re0h9tU2ynw==", "cpu": [ "x64" ], @@ -5612,10 +6657,38 @@ "darwin" ] }, + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.34.8", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.34.8.tgz", + "integrity": "sha512-IQNVXL9iY6NniYbTaOKdrlVP3XIqazBgJOVkddzJlqnCpRi/yAeSOa8PLcECFSQochzqApIOE1GHNu3pCz+BDA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.34.8", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.34.8.tgz", + "integrity": "sha512-TYXcHghgnCqYFiE3FT5QwXtOZqDj5GmaFNTNt3jNC+vh22dc/ukG2cG+pi75QO4kACohZzidsq7yKTKwq/Jq7Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.22.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.22.4.tgz", - "integrity": "sha512-j63YtCIRAzbO+gC2L9dWXRh5BFetsv0j0va0Wi9epXDgU/XUi5dJKo4USTttVyK7fGw2nPWK0PbAvyliz50SCQ==", + "version": "4.34.8", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.34.8.tgz", + "integrity": "sha512-A4iphFGNkWRd+5m3VIGuqHnG3MVnqKe7Al57u9mwgbyZ2/xF9Jio72MaY7xxh+Y87VAHmGQr73qoKL9HPbXj1g==", "cpu": [ "arm" ], @@ -5627,9 +6700,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.22.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.22.4.tgz", - "integrity": "sha512-dJnWUgwWBX1YBRsuKKMOlXCzh2Wu1mlHzv20TpqEsfdZLb3WoJW2kIEsGwLkroYf24IrPAvOT/ZQ2OYMV6vlrg==", + "version": "4.34.8", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.34.8.tgz", + "integrity": "sha512-S0lqKLfTm5u+QTxlFiAnb2J/2dgQqRy/XvziPtDd1rKZFXHTyYLoVL58M/XFwDI01AQCDIevGLbQrMAtdyanpA==", "cpu": [ "arm" ], @@ -5641,9 +6714,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.22.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.22.4.tgz", - "integrity": "sha512-AdPRoNi3NKVLolCN/Sp4F4N1d98c4SBnHMKoLuiG6RXgoZ4sllseuGioszumnPGmPM2O7qaAX/IJdeDU8f26Aw==", + "version": "4.34.8", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.34.8.tgz", + "integrity": "sha512-jpz9YOuPiSkL4G4pqKrus0pn9aYwpImGkosRKwNi+sJSkz+WU3anZe6hi73StLOQdfXYXC7hUfsQlTnjMd3s1A==", "cpu": [ "arm64" ], @@ -5655,9 +6728,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.22.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.22.4.tgz", - "integrity": "sha512-Gl0AxBtDg8uoAn5CCqQDMqAx22Wx22pjDOjBdmG0VIWX3qUBHzYmOKh8KXHL4UpogfJ14G4wk16EQogF+v8hmA==", + "version": "4.34.8", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.34.8.tgz", + "integrity": "sha512-KdSfaROOUJXgTVxJNAZ3KwkRc5nggDk+06P6lgi1HLv1hskgvxHUKZ4xtwHkVYJ1Rep4GNo+uEfycCRRxht7+Q==", "cpu": [ "arm64" ], @@ -5668,10 +6741,24 @@ "linux" ] }, + "node_modules/@rollup/rollup-linux-loongarch64-gnu": { + "version": "4.34.8", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.34.8.tgz", + "integrity": "sha512-NyF4gcxwkMFRjgXBM6g2lkT58OWztZvw5KkV2K0qqSnUEqCVcqdh2jN4gQrTn/YUpAcNKyFHfoOZEer9nwo6uQ==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { - "version": "4.22.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.22.4.tgz", - "integrity": "sha512-3aVCK9xfWW1oGQpTsYJJPF6bfpWfhbRnhdlyhak2ZiyFLDaayz0EP5j9V1RVLAAxlmWKTDfS9wyRyY3hvhPoOg==", + "version": "4.34.8", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.34.8.tgz", + "integrity": "sha512-LMJc999GkhGvktHU85zNTDImZVUCJ1z/MbAJTnviiWmmjyckP5aQsHtcujMjpNdMZPT2rQEDBlJfubhs3jsMfw==", "cpu": [ "ppc64" ], @@ -5683,9 +6770,9 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.22.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.22.4.tgz", - "integrity": "sha512-ePYIir6VYnhgv2C5Xe9u+ico4t8sZWXschR6fMgoPUK31yQu7hTEJb7bCqivHECwIClJfKgE7zYsh1qTP3WHUA==", + "version": "4.34.8", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.34.8.tgz", + "integrity": "sha512-xAQCAHPj8nJq1PI3z8CIZzXuXCstquz7cIOL73HHdXiRcKk8Ywwqtx2wrIy23EcTn4aZ2fLJNBB8d0tQENPCmw==", "cpu": [ "riscv64" ], @@ -5696,10 +6783,25 @@ "linux" ] }, + "node_modules/@rollup/rollup-linux-riscv64-musl": { + "version": "4.44.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.44.1.tgz", + "integrity": "sha512-ppn5llVGgrZw7yxbIm8TTvtj1EoPgYUAbfw0uDjIOzzoqlZlZrLJ/KuiE7uf5EpTpCTrNt1EdtzF0naMm0wGYg==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true + }, "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.22.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.22.4.tgz", - "integrity": "sha512-GqFJ9wLlbB9daxhVlrTe61vJtEY99/xB3C8e4ULVsVfflcpmR6c8UZXjtkMA6FhNONhj2eA5Tk9uAVw5orEs4Q==", + "version": "4.34.8", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.34.8.tgz", + "integrity": "sha512-DdePVk1NDEuc3fOe3dPPTb+rjMtuFw89gw6gVWxQFAuEqqSdDKnrwzZHrUYdac7A7dXl9Q2Vflxpme15gUWQFA==", "cpu": [ "s390x" ], @@ -5711,9 +6813,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.22.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.22.4.tgz", - "integrity": "sha512-87v0ol2sH9GE3cLQLNEy0K/R0pz1nvg76o8M5nhMR0+Q+BBGLnb35P0fVz4CQxHYXaAOhE8HhlkaZfsdUOlHwg==", + "version": "4.34.8", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.34.8.tgz", + "integrity": "sha512-8y7ED8gjxITUltTUEJLQdgpbPh1sUQ0kMTmufRF/Ns5tI9TNMNlhWtmPKKHCU0SilX+3MJkZ0zERYYGIVBYHIA==", "cpu": [ "x64" ], @@ -5725,9 +6827,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.22.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.22.4.tgz", - "integrity": "sha512-UV6FZMUgePDZrFjrNGIWzDo/vABebuXBhJEqrHxrGiU6HikPy0Z3LfdtciIttEUQfuDdCn8fqh7wiFJjCNwO+g==", + "version": "4.34.8", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.34.8.tgz", + "integrity": "sha512-SCXcP0ZpGFIe7Ge+McxY5zKxiEI5ra+GT3QRxL0pMMtxPfpyLAKleZODi1zdRHkz5/BhueUrYtYVgubqe9JBNQ==", "cpu": [ "x64" ], @@ -5739,9 +6841,9 @@ ] }, "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.22.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.22.4.tgz", - "integrity": "sha512-BjI+NVVEGAXjGWYHz/vv0pBqfGoUH0IGZ0cICTn7kB9PyjrATSkX+8WkguNjWoj2qSr1im/+tTGRaY+4/PdcQw==", + "version": "4.34.8", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.34.8.tgz", + "integrity": "sha512-YHYsgzZgFJzTRbth4h7Or0m5O74Yda+hLin0irAIobkLQFRQd1qWmnoVfwmKm9TXIZVAD0nZ+GEb2ICicLyCnQ==", "cpu": [ "arm64" ], @@ -5753,9 +6855,9 @@ ] }, "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.22.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.22.4.tgz", - "integrity": "sha512-SiWG/1TuUdPvYmzmYnmd3IEifzR61Tragkbx9D3+R8mzQqDBz8v+BvZNDlkiTtI9T15KYZhP0ehn3Dld4n9J5g==", + "version": "4.34.8", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.34.8.tgz", + "integrity": "sha512-r3NRQrXkHr4uWy5TOjTpTYojR9XmF0j/RYgKCef+Ag46FWUTltm5ziticv8LdNsDMehjJ543x/+TJAek/xBA2w==", "cpu": [ "ia32" ], @@ -5767,9 +6869,9 @@ ] }, "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.22.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.22.4.tgz", - "integrity": "sha512-j8pPKp53/lq9lMXN57S8cFz0MynJk8OWNuUnXct/9KCpKU7DgU3bYMJhwWmcqC0UU29p8Lr0/7KEVcaM6bf47Q==", + "version": "4.34.8", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.34.8.tgz", + "integrity": "sha512-U0FaE5O1BCpZSeE6gBl3c5ObhePQSfk9vDRToMmTkbhCOgW4jqvtS5LGyQ76L1fH8sM0keRp4uDTsbjiUyjk0g==", "cpu": [ "x64" ], @@ -5801,14 +6903,14 @@ } }, "node_modules/@schematics/angular": { - "version": "18.2.20", - "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-18.2.20.tgz", - "integrity": "sha512-32bJycGtePm8X994hGl9PChBVgw9bbc+ehDpxeeaIZzcFHWlM06+cJu8Jr2FA8SASg3TwdnEybxFiYS14884OQ==", + "version": "19.2.15", + "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-19.2.15.tgz", + "integrity": "sha512-dz/eoFQKG09POSygpEDdlCehFIMo35HUM2rVV8lx9PfQEibpbGwl1NNQYEbqwVjTyCyD/ILyIXCWPE+EfTnG4g==", "dev": true, "license": "MIT", "dependencies": { - "@angular-devkit/core": "18.2.20", - "@angular-devkit/schematics": "18.2.20", + "@angular-devkit/core": "19.2.15", + "@angular-devkit/schematics": "19.2.15", "jsonc-parser": "3.3.1" }, "engines": { @@ -5818,32 +6920,32 @@ } }, "node_modules/@sigstore/bundle": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/@sigstore/bundle/-/bundle-2.3.2.tgz", - "integrity": "sha512-wueKWDk70QixNLB363yHc2D2ItTgYiMTdPwK8D9dKQMR3ZQ0c35IxP5xnwQ8cNLoCgCRcHf14kE+CLIvNX1zmA==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@sigstore/bundle/-/bundle-3.1.0.tgz", + "integrity": "sha512-Mm1E3/CmDDCz3nDhFKTuYdB47EdRFRQMOE/EAbiG1MJW77/w1b3P7Qx7JSrVJs8PfwOLOVcKQCHErIwCTyPbag==", "dev": true, "license": "Apache-2.0", "dependencies": { - "@sigstore/protobuf-specs": "^0.3.2" + "@sigstore/protobuf-specs": "^0.4.0" }, "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/@sigstore/core": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@sigstore/core/-/core-1.1.0.tgz", - "integrity": "sha512-JzBqdVIyqm2FRQCulY6nbQzMpJJpSiJ8XXWMhtOX9eKgaXXpfNOF53lzQEjIydlStnd/eFtuC1dW4VYdD93oRg==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@sigstore/core/-/core-2.0.0.tgz", + "integrity": "sha512-nYxaSb/MtlSI+JWcwTHQxyNmWeWrUXJJ/G4liLrGG7+tS4vAz6LF3xRXqLH6wPIVUoZQel2Fs4ddLx4NCpiIYg==", "dev": true, "license": "Apache-2.0", "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/@sigstore/protobuf-specs": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@sigstore/protobuf-specs/-/protobuf-specs-0.3.3.tgz", - "integrity": "sha512-RpacQhBlwpBWd7KEJsRKcBQalbV28fvkxwTOJIqhIuDysMMaJW47V4OqW30iJB9uRpqOSxxEAQFdr8tTattReQ==", + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@sigstore/protobuf-specs/-/protobuf-specs-0.4.3.tgz", + "integrity": "sha512-fk2zjD9117RL9BjqEwF7fwv7Q/P9yGsMV4MUJZ/DocaQJ6+3pKr+syBq1owU5Q5qGw5CUbXzm+4yJ2JVRDQeSA==", "dev": true, "license": "Apache-2.0", "engines": { @@ -5851,50 +6953,50 @@ } }, "node_modules/@sigstore/sign": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/@sigstore/sign/-/sign-2.3.2.tgz", - "integrity": "sha512-5Vz5dPVuunIIvC5vBb0APwo7qKA4G9yM48kPWJT+OEERs40md5GoUR1yedwpekWZ4m0Hhw44m6zU+ObsON+iDA==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@sigstore/sign/-/sign-3.1.0.tgz", + "integrity": "sha512-knzjmaOHOov1Ur7N/z4B1oPqZ0QX5geUfhrVaqVlu+hl0EAoL4o+l0MSULINcD5GCWe3Z0+YJO8ues6vFlW0Yw==", "dev": true, "license": "Apache-2.0", "dependencies": { - "@sigstore/bundle": "^2.3.2", - "@sigstore/core": "^1.0.0", - "@sigstore/protobuf-specs": "^0.3.2", - "make-fetch-happen": "^13.0.1", - "proc-log": "^4.2.0", + "@sigstore/bundle": "^3.1.0", + "@sigstore/core": "^2.0.0", + "@sigstore/protobuf-specs": "^0.4.0", + "make-fetch-happen": "^14.0.2", + "proc-log": "^5.0.0", "promise-retry": "^2.0.1" }, "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/@sigstore/tuf": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/@sigstore/tuf/-/tuf-2.3.4.tgz", - "integrity": "sha512-44vtsveTPUpqhm9NCrbU8CWLe3Vck2HO1PNLw7RIajbB7xhtn5RBPm1VNSCMwqGYHhDsBJG8gDF0q4lgydsJvw==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@sigstore/tuf/-/tuf-3.1.1.tgz", + "integrity": "sha512-eFFvlcBIoGwVkkwmTi/vEQFSva3xs5Ot3WmBcjgjVdiaoelBLQaQ/ZBfhlG0MnG0cmTYScPpk7eDdGDWUcFUmg==", "dev": true, "license": "Apache-2.0", "dependencies": { - "@sigstore/protobuf-specs": "^0.3.2", - "tuf-js": "^2.2.1" + "@sigstore/protobuf-specs": "^0.4.1", + "tuf-js": "^3.0.1" }, "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/@sigstore/verify": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@sigstore/verify/-/verify-1.2.1.tgz", - "integrity": "sha512-8iKx79/F73DKbGfRf7+t4dqrc0bRr0thdPrxAtCKWRm/F0tG71i6O1rvlnScncJLLBZHn3h8M3c1BSUAb9yu8g==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@sigstore/verify/-/verify-2.1.1.tgz", + "integrity": "sha512-hVJD77oT67aowHxwT4+M6PGOp+E2LtLdTK3+FC0lBO9T7sYwItDMXZ7Z07IDCvR1M717a4axbIWckrW67KMP/w==", "dev": true, "license": "Apache-2.0", "dependencies": { - "@sigstore/bundle": "^2.3.2", - "@sigstore/core": "^1.1.0", - "@sigstore/protobuf-specs": "^0.3.2" + "@sigstore/bundle": "^3.1.0", + "@sigstore/core": "^2.0.0", + "@sigstore/protobuf-specs": "^0.4.1" }, "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/@sinclair/typebox": { @@ -6071,17 +7173,17 @@ } }, "node_modules/@tufjs/models": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@tufjs/models/-/models-2.0.1.tgz", - "integrity": "sha512-92F7/SFyufn4DXsha9+QfKnN03JGqtMFMXgSHbZOo8JG59WkTni7UzAouNQDf7AuP9OAMxVOPQcqG3sB7w+kkg==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@tufjs/models/-/models-3.0.1.tgz", + "integrity": "sha512-UUYHISyhCU3ZgN8yaear3cGATHb3SMuKHsQ/nVbHXcmnBf+LzQ/cQfhNG+rfaSHgqGKNEm2cOCLVLELStUQ1JA==", "dev": true, "license": "MIT", "dependencies": { "@tufjs/canonical-json": "2.0.0", - "minimatch": "^9.0.4" + "minimatch": "^9.0.5" }, "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/@tufjs/models/node_modules/brace-expansion": { @@ -6203,6 +7305,28 @@ "@types/node": "*" } }, + "node_modules/@types/eslint": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-9.6.1.tgz", + "integrity": "sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "node_modules/@types/eslint-scope": { + "version": "3.7.7", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", + "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, "node_modules/@types/estree": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", @@ -6340,16 +7464,6 @@ "dev": true, "license": "MIT" }, - "node_modules/@types/mute-stream": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/@types/mute-stream/-/mute-stream-0.0.4.tgz", - "integrity": "sha512-CPM9nzrCPPJHQNA9keH9CVkVI+WR5kMa+7XEs5jcGQ0VoAGnLv242w8lIVgwAEfmE4oufJRaTc9PNLQl0ioAow==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, "node_modules/@types/node": { "version": "20.19.1", "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.1.tgz", @@ -6383,13 +7497,6 @@ "dev": true, "license": "MIT" }, - "node_modules/@types/resolve": { - "version": "1.20.2", - "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.20.2.tgz", - "integrity": "sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==", - "dev": true, - "license": "MIT" - }, "node_modules/@types/retry": { "version": "0.12.2", "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.2.tgz", @@ -6459,13 +7566,6 @@ "integrity": "sha512-S/Dhk1sMzYZMNNXvG1CHKz1X+HbabMf2l+FkdRStcvvuQVVlMvq0nPd/fQ3skniRKj0LqBPy19in3JN/XsB6Qg==", "license": "MIT" }, - "node_modules/@types/wrap-ansi": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/wrap-ansi/-/wrap-ansi-3.0.0.tgz", - "integrity": "sha512-ltIpx+kM7g/MLRZfkbL7EsCEjfzCcScLpkg37eXEtx5kmrAKBkTJwd1GIAjDSL8wTpM6Hzn5YO4pSb91BEwu1g==", - "dev": true, - "license": "MIT" - }, "node_modules/@types/ws": { "version": "8.18.1", "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.18.1.tgz", @@ -6492,16 +7592,16 @@ "license": "MIT" }, "node_modules/@vitejs/plugin-basic-ssl": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@vitejs/plugin-basic-ssl/-/plugin-basic-ssl-1.1.0.tgz", - "integrity": "sha512-wO4Dk/rm8u7RNhOf95ZzcEmC9rYOncYgvq4z3duaJrCgjN8BxAnDVyndanfcJZ0O6XZzHz6Q0hTimxTg8Y9g/A==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-basic-ssl/-/plugin-basic-ssl-1.2.0.tgz", + "integrity": "sha512-mkQnxTkcldAzIsomk1UuLfAu9n+kpQ3JbHcpCp7d2Oo6ITtji8pHS3QToOWjhPFvNQSnhlkAjmGbhv2QvwO/7Q==", "dev": true, "license": "MIT", "engines": { - "node": ">=14.6.0" + "node": ">=14.21.3" }, "peerDependencies": { - "vite": "^3.0.0 || ^4.0.0 || ^5.0.0" + "vite": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0" } }, "node_modules/@webassemblyjs/ast": { @@ -6695,13 +7795,13 @@ "license": "BSD-3-Clause" }, "node_modules/abbrev": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-2.0.0.tgz", - "integrity": "sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-3.0.1.tgz", + "integrity": "sha512-AO2ac6pjRB3SJmGJo+v5/aK6Omggp6fsLrs6wN9bd35ulu4cCwaAU9+7ZhXjeqHVkaHThLuzH0nZr0YpCDhygg==", "dev": true, "license": "ISC", "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/accepts": { @@ -6752,16 +7852,6 @@ "acorn-walk": "^8.0.2" } }, - "node_modules/acorn-import-attributes": { - "version": "1.9.5", - "resolved": "https://registry.npmjs.org/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz", - "integrity": "sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "acorn": "^8" - } - }, "node_modules/acorn-walk": { "version": "8.3.4", "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.4.tgz", @@ -6814,31 +7904,17 @@ "node": ">= 14" } }, - "node_modules/aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", - "dev": true, - "license": "MIT", - "dependencies": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", "dev": true, "license": "MIT", "dependencies": { - "fast-deep-equal": "^3.1.1", + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" + "require-from-string": "^2.0.2" }, "funding": { "type": "github", @@ -7144,9 +8220,9 @@ } }, "node_modules/babel-loader": { - "version": "9.1.3", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-9.1.3.tgz", - "integrity": "sha512-xG3ST4DglodGf8qSwv0MdeWLhrDsw/32QMdTO5T1ZIp9gQur0HkCyFs7Awskr10JKXFXwpAhiCuYX5oGXnRGbw==", + "version": "9.2.1", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-9.2.1.tgz", + "integrity": "sha512-fqe8naHt46e0yIdkjUZYqddSXfej3AHajX+CSO5X7oy0EmPc6o5Xh+RClNoHjnieWz9AW4kZxW9yyFMhVB1QLA==", "dev": true, "license": "MIT", "dependencies": { @@ -7360,6 +8436,59 @@ "dev": true, "license": "MIT" }, + "node_modules/beasties": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/beasties/-/beasties-0.3.2.tgz", + "integrity": "sha512-p4AF8uYzm9Fwu8m/hSVTCPXrRBPmB34hQpHsec2KOaR9CZmgoU8IOv4Cvwq4hgz2p4hLMNbsdNl5XeA6XbAQwA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "css-select": "^5.1.0", + "css-what": "^6.1.0", + "dom-serializer": "^2.0.0", + "domhandler": "^5.0.3", + "htmlparser2": "^10.0.0", + "picocolors": "^1.1.1", + "postcss": "^8.4.49", + "postcss-media-query-parser": "^0.2.3" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/beasties/node_modules/entities": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", + "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/beasties/node_modules/htmlparser2": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-10.0.0.tgz", + "integrity": "sha512-TwAZM+zE5Tq3lrEHvOlvwgj1XLWQCtaaibSN11Q+gGBAS7Y1uZSWwXXRe4iF6OXnaq1riyQAPFOBtYc77Mxq0g==", + "dev": true, + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "MIT", + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.2.1", + "entities": "^6.0.0" + } + }, "node_modules/before-after-hook": { "version": "2.2.3", "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.3.tgz", @@ -7771,13 +8900,13 @@ } }, "node_modules/cacache": { - "version": "18.0.4", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-18.0.4.tgz", - "integrity": "sha512-B+L5iIa9mgcjLbliir2th36yEwPftrzteHYujzsx3dFP/31GCHcIeS8f5MGd80odLOjaOvSpU3EEAmRQptkxLQ==", + "version": "19.0.1", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-19.0.1.tgz", + "integrity": "sha512-hdsUxulXCi5STId78vRVYEtDAjq99ICAUktLTeTYsLoTE6Z8dS0c8pWNCxwdrk9YfJeobDZc2Y186hD/5ZQgFQ==", "dev": true, "license": "ISC", "dependencies": { - "@npmcli/fs": "^3.1.0", + "@npmcli/fs": "^4.0.0", "fs-minipass": "^3.0.0", "glob": "^10.2.2", "lru-cache": "^10.0.1", @@ -7785,13 +8914,13 @@ "minipass-collect": "^2.0.1", "minipass-flush": "^1.0.5", "minipass-pipeline": "^1.2.4", - "p-map": "^4.0.0", - "ssri": "^10.0.0", - "tar": "^6.1.11", - "unique-filename": "^3.0.0" + "p-map": "^7.0.2", + "ssri": "^12.0.0", + "tar": "^7.4.3", + "unique-filename": "^4.0.0" }, "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/cacache/node_modules/brace-expansion": { @@ -7804,6 +8933,16 @@ "balanced-match": "^1.0.0" } }, + "node_modules/cacache/node_modules/chownr": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-3.0.0.tgz", + "integrity": "sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=18" + } + }, "node_modules/cacache/node_modules/glob": { "version": "10.4.5", "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", @@ -7864,6 +9003,22 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/cacache/node_modules/mkdirp": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-3.0.1.tgz", + "integrity": "sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==", + "dev": true, + "license": "MIT", + "bin": { + "mkdirp": "dist/cjs/src/bin.js" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/cacache/node_modules/path-scurry": { "version": "1.11.1", "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", @@ -7875,10 +9030,38 @@ "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" }, "engines": { - "node": ">=16 || 14 >=14.18" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/cacache/node_modules/tar": { + "version": "7.4.3", + "resolved": "https://registry.npmjs.org/tar/-/tar-7.4.3.tgz", + "integrity": "sha512-5S7Va8hKfV7W5U6g3aYxXmlPoZVAwUMy9AOKyF2fVuZa2UD3qZjg578OrLRt8PcNN1PleVaL/5/yYATNL0ICUw==", + "dev": true, + "license": "ISC", + "dependencies": { + "@isaacs/fs-minipass": "^4.0.0", + "chownr": "^3.0.0", + "minipass": "^7.1.2", + "minizlib": "^3.0.1", + "mkdirp": "^3.0.1", + "yallist": "^5.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/cacache/node_modules/yallist": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-5.0.0.tgz", + "integrity": "sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=18" } }, "node_modules/call-bind-apply-helpers": { @@ -8032,28 +9215,33 @@ } }, "node_modules/chokidar": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", - "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", + "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", "dev": true, "license": "MIT", "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" + "readdirp": "^4.0.1" }, "engines": { - "node": ">= 8.10.0" + "node": ">= 14.16.0" }, "funding": { "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/chokidar/node_modules/readdirp": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", + "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 14.18.0" }, - "optionalDependencies": { - "fsevents": "~2.3.2" + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" } }, "node_modules/chownr": { @@ -8097,16 +9285,6 @@ "integrity": "sha512-9z8TZaGM1pfswYeXrUpzPrkx8UnWYdhJclsiYMm6x/w5+nN+8Tf/LnAgfLGQCm59qAOxU8WwHEq2vNwF6i4j+Q==", "license": "MIT" }, - "node_modules/clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, "node_modules/cli-boxes": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-3.0.0.tgz", @@ -8450,6 +9628,16 @@ "dev": true, "license": "MIT" }, + "node_modules/compression/node_modules/negotiator": { + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.4.tgz", + "integrity": "sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, "node_modules/compression/node_modules/safe-buffer": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", @@ -8786,23 +9974,6 @@ "devOptional": true, "license": "MIT" }, - "node_modules/critters": { - "version": "0.0.24", - "resolved": "https://registry.npmjs.org/critters/-/critters-0.0.24.tgz", - "integrity": "sha512-Oyqew0FGM0wYUSNqR0L6AteO5MpMoUU0rhKRieXeiKs+PmRTxiJMyaunYB2KF6fQ3dzChXKCpbFOEJx3OQ1v/Q==", - "deprecated": "Ownership of Critters has moved to the Nuxt team, who will be maintaining the project going forward. If you'd like to keep using Critters, please switch to the actively-maintained fork at https://github.com/danielroe/beasties", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "chalk": "^4.1.0", - "css-select": "^5.1.0", - "dom-serializer": "^2.0.0", - "domhandler": "^5.0.2", - "htmlparser2": "^8.0.2", - "postcss": "^8.4.23", - "postcss-media-query-parser": "^0.2.3" - } - }, "node_modules/cross-spawn": { "version": "7.0.6", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", @@ -9154,6 +10325,7 @@ "integrity": "sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==", "dev": true, "license": "Apache-2.0", + "optional": true, "engines": { "node": ">=8" } @@ -9705,9 +10877,9 @@ "license": "MIT" }, "node_modules/esbuild": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.23.0.tgz", - "integrity": "sha512-1lvV17H2bMYda/WaFb2jLPeHU3zml2k4/yagNMG8Q/YtfMjCwEUZa2eXXMgZTVSL5q1n4H7sQ0X6CdJDqqeCFA==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.4.tgz", + "integrity": "sha512-8pgjLUcUjcgDg+2Q4NYXnPbo/vncAY4UmyaCm0jZevERqCHZIaWwdJHkf8XQtu4AxSKCdvrUbT0XUr1IdZzI8Q==", "dev": true, "hasInstallScript": true, "license": "MIT", @@ -9718,36 +10890,37 @@ "node": ">=18" }, "optionalDependencies": { - "@esbuild/aix-ppc64": "0.23.0", - "@esbuild/android-arm": "0.23.0", - "@esbuild/android-arm64": "0.23.0", - "@esbuild/android-x64": "0.23.0", - "@esbuild/darwin-arm64": "0.23.0", - "@esbuild/darwin-x64": "0.23.0", - "@esbuild/freebsd-arm64": "0.23.0", - "@esbuild/freebsd-x64": "0.23.0", - "@esbuild/linux-arm": "0.23.0", - "@esbuild/linux-arm64": "0.23.0", - "@esbuild/linux-ia32": "0.23.0", - "@esbuild/linux-loong64": "0.23.0", - "@esbuild/linux-mips64el": "0.23.0", - "@esbuild/linux-ppc64": "0.23.0", - "@esbuild/linux-riscv64": "0.23.0", - "@esbuild/linux-s390x": "0.23.0", - "@esbuild/linux-x64": "0.23.0", - "@esbuild/netbsd-x64": "0.23.0", - "@esbuild/openbsd-arm64": "0.23.0", - "@esbuild/openbsd-x64": "0.23.0", - "@esbuild/sunos-x64": "0.23.0", - "@esbuild/win32-arm64": "0.23.0", - "@esbuild/win32-ia32": "0.23.0", - "@esbuild/win32-x64": "0.23.0" + "@esbuild/aix-ppc64": "0.25.4", + "@esbuild/android-arm": "0.25.4", + "@esbuild/android-arm64": "0.25.4", + "@esbuild/android-x64": "0.25.4", + "@esbuild/darwin-arm64": "0.25.4", + "@esbuild/darwin-x64": "0.25.4", + "@esbuild/freebsd-arm64": "0.25.4", + "@esbuild/freebsd-x64": "0.25.4", + "@esbuild/linux-arm": "0.25.4", + "@esbuild/linux-arm64": "0.25.4", + "@esbuild/linux-ia32": "0.25.4", + "@esbuild/linux-loong64": "0.25.4", + "@esbuild/linux-mips64el": "0.25.4", + "@esbuild/linux-ppc64": "0.25.4", + "@esbuild/linux-riscv64": "0.25.4", + "@esbuild/linux-s390x": "0.25.4", + "@esbuild/linux-x64": "0.25.4", + "@esbuild/netbsd-arm64": "0.25.4", + "@esbuild/netbsd-x64": "0.25.4", + "@esbuild/openbsd-arm64": "0.25.4", + "@esbuild/openbsd-x64": "0.25.4", + "@esbuild/sunos-x64": "0.25.4", + "@esbuild/win32-arm64": "0.25.4", + "@esbuild/win32-ia32": "0.25.4", + "@esbuild/win32-x64": "0.25.4" } }, "node_modules/esbuild-wasm": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/esbuild-wasm/-/esbuild-wasm-0.23.0.tgz", - "integrity": "sha512-6jP8UmWy6R6TUUV8bMuC3ZyZ6lZKI56x0tkxyCIqWwRRJ/DgeQKneh/Oid5EoGoPFLrGNkz47ZEtWAYuiY/u9g==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/esbuild-wasm/-/esbuild-wasm-0.25.4.tgz", + "integrity": "sha512-2HlCS6rNvKWaSKhWaG/YIyRsTsL3gUrMP2ToZMBIjw9LM7vVcIs+rz8kE2vExvTJgvM8OKPqNpcHawY/BQc/qQ==", "dev": true, "license": "MIT", "bin": { @@ -10247,9 +11420,9 @@ "license": "MIT" }, "node_modules/fast-glob": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", - "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", + "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", "dev": true, "license": "MIT", "dependencies": { @@ -10257,7 +11430,7 @@ "@nodelib/fs.walk": "^1.2.3", "glob-parent": "^5.1.2", "merge2": "^1.3.0", - "micromatch": "^4.0.4" + "micromatch": "^4.0.8" }, "engines": { "node": ">=8.6.0" @@ -10838,23 +12011,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/globby/node_modules/fast-glob": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", - "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.8" - }, - "engines": { - "node": ">=8.6.0" - } - }, "node_modules/globby/node_modules/ignore": { "version": "7.0.5", "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", @@ -10997,16 +12153,16 @@ } }, "node_modules/hosted-git-info": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-7.0.2.tgz", - "integrity": "sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-8.1.0.tgz", + "integrity": "sha512-Rw/B2DNQaPBICNXEm8balFz9a6WpZrkCGpcWFpy7nCj+NyhSdqXipmfvtmWt9xGfp0wZnBxB+iVpLmQMYt47Tw==", "dev": true, "license": "ISC", "dependencies": { "lru-cache": "^10.0.1" }, "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/hosted-git-info/node_modules/lru-cache": { @@ -11257,13 +12413,13 @@ } }, "node_modules/https-proxy-agent": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.5.tgz", - "integrity": "sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw==", + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", + "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", "dev": true, "license": "MIT", "dependencies": { - "agent-base": "^7.0.2", + "agent-base": "^7.1.2", "debug": "4" }, "engines": { @@ -11371,16 +12527,16 @@ } }, "node_modules/ignore-walk": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-6.0.5.tgz", - "integrity": "sha512-VuuG0wCnjhnylG1ABXT3dAuIpTNDs/G8jlpmwXY03fXoXy/8ZK8/T+hMzt8L4WnrLCJgdybqgPagnF/f97cg3A==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-7.0.0.tgz", + "integrity": "sha512-T4gbf83A4NH95zvhVYZc+qWocBBGlpzUXLPGurJggw/WIOwicfXJChLDP/iBZnN5WqROSu5Bm3hhle4z8a8YGQ==", "dev": true, "license": "ISC", "dependencies": { "minimatch": "^9.0.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/ignore-walk/node_modules/brace-expansion": { @@ -11424,9 +12580,9 @@ } }, "node_modules/immutable": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.7.tgz", - "integrity": "sha512-1hqclzwYwjRDFLjcFxOM5AYkkG0rpFPpr1RLPMEuGczoS7YA8gLhy8SWXYRAA/XwfEHpfo3cw5JGioS32fnMRw==", + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-5.1.3.tgz", + "integrity": "sha512-+chQdDfvscSF1SJqv2gn4SRO2ZyS3xL3r7IW/wWEEzrzLisnOlKiQu5ytC/BVNcS15C39WT2Hg/bjKjDMcu+zg==", "dev": true, "license": "MIT" }, @@ -11497,16 +12653,6 @@ "node": ">=0.8.19" } }, - "node_modules/indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", @@ -11525,13 +12671,13 @@ "license": "ISC" }, "node_modules/ini": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/ini/-/ini-4.1.3.tgz", - "integrity": "sha512-X7rqawQBvfdjS10YU1y1YVreA3SsLrW9dX2CewP2EbBJM4ypVNLDkO5y04gejPwKIY9lR+7r9gn3rFPt/kmWFg==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ini/-/ini-5.0.0.tgz", + "integrity": "sha512-+N0ngpO3e7cRUWOJAS7qw0IZIVc6XPrW4MlFBdD066F2L4k1L6ker3hLqSq7iXxU5tgS4WGkIUElWn5vogAEnw==", "dev": true, "license": "ISC", "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/injection-js": { @@ -11754,20 +12900,6 @@ "node": ">=8" } }, - "node_modules/is-lambda": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz", - "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/is-module": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", - "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==", - "dev": true, - "license": "MIT" - }, "node_modules/is-network-error": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-network-error/-/is-network-error-1.1.0.tgz", @@ -13001,13 +14133,13 @@ } }, "node_modules/json-parse-even-better-errors": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.2.tgz", - "integrity": "sha512-fi0NG4bPjCHunUJffmLd0gxssIgkNmArMvis4iNah6Owg1MCJjWhEcDLmsK6iGkJq3tHwbDkTlce70/tmXN4cQ==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-4.0.0.tgz", + "integrity": "sha512-lR4MXjGNgkJc7tkQ97kb2nuEMnNCyU//XYVH0MKTGcXEiSudQ5MKGKen3C5QubYy0vmq+JGitUg92uuywGEwIA==", "dev": true, "license": "MIT", "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/json-schema-traverse": { @@ -13197,6 +14329,31 @@ "source-map-support": "^0.5.5" } }, + "node_modules/karma/node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, "node_modules/karma/node_modules/cliui": { "version": "7.0.4", "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", @@ -13377,9 +14534,9 @@ } }, "node_modules/less": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/less/-/less-4.2.0.tgz", - "integrity": "sha512-P3b3HJDBtSzsXUl0im2L7gTO5Ubg8mEN6G8qoTS77iXxXX4Hvu4Qj540PZDvQ8V6DmX6iXo98k7Md0Cm1PrLaA==", + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/less/-/less-4.2.2.tgz", + "integrity": "sha512-tkuLHQlvWUTeQ3doAqnHbNn8T6WX1KA8yvbKG9x4VtKtIjHsVKQZCH11zRgAfbDAXC2UNIg/K9BYAAcEzUIrNg==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -13515,9 +14672,9 @@ "license": "MIT" }, "node_modules/listr2": { - "version": "8.2.4", - "resolved": "https://registry.npmjs.org/listr2/-/listr2-8.2.4.tgz", - "integrity": "sha512-opevsywziHd3zHCVQGAj8zu+Z3yHNkkoYhWIGnq54RrCVwLz0MozotJEDnKsIBLvkfLGN6BLOyAeRrYI0pKA4g==", + "version": "8.2.5", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-8.2.5.tgz", + "integrity": "sha512-iyAZCeyD+c1gPyE9qpFu8af0Y+MRtmKOncdGoA2S5EY8iFq99dmmvkNnHiWo+pj0s7yH7l3KPIgee77tKpXPWQ==", "dev": true, "license": "MIT", "dependencies": { @@ -13625,29 +14782,30 @@ } }, "node_modules/lmdb": { - "version": "3.0.13", - "resolved": "https://registry.npmjs.org/lmdb/-/lmdb-3.0.13.tgz", - "integrity": "sha512-UGe+BbaSUQtAMZobTb4nHvFMrmvuAQKSeaqAX2meTEQjfsbpl5sxdHD8T72OnwD4GU9uwNhYXIVe4QGs8N9Zyw==", + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/lmdb/-/lmdb-3.2.6.tgz", + "integrity": "sha512-SuHqzPl7mYStna8WRotY8XX/EUZBjjv3QyKIByeCLFfC9uXT/OIHByEcA07PzbMfQAM0KYJtLgtpMRlIe5dErQ==", "dev": true, "hasInstallScript": true, "license": "MIT", + "optional": true, "dependencies": { - "msgpackr": "^1.10.2", + "msgpackr": "^1.11.2", "node-addon-api": "^6.1.0", "node-gyp-build-optional-packages": "5.2.2", - "ordered-binary": "^1.4.1", + "ordered-binary": "^1.5.3", "weak-lru-cache": "^1.2.2" }, "bin": { "download-lmdb-prebuilds": "bin/download-prebuilds.js" }, "optionalDependencies": { - "@lmdb/lmdb-darwin-arm64": "3.0.13", - "@lmdb/lmdb-darwin-x64": "3.0.13", - "@lmdb/lmdb-linux-arm": "3.0.13", - "@lmdb/lmdb-linux-arm64": "3.0.13", - "@lmdb/lmdb-linux-x64": "3.0.13", - "@lmdb/lmdb-win32-x64": "3.0.13" + "@lmdb/lmdb-darwin-arm64": "3.2.6", + "@lmdb/lmdb-darwin-x64": "3.2.6", + "@lmdb/lmdb-linux-arm": "3.2.6", + "@lmdb/lmdb-linux-arm64": "3.2.6", + "@lmdb/lmdb-linux-x64": "3.2.6", + "@lmdb/lmdb-win32-x64": "3.2.6" } }, "node_modules/loader-runner": { @@ -14056,27 +15214,26 @@ "license": "ISC" }, "node_modules/make-fetch-happen": { - "version": "13.0.1", - "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-13.0.1.tgz", - "integrity": "sha512-cKTUFc/rbKUd/9meOvgrpJ2WrNzymt6jfRDdwg5UCnVzv9dTpEj9JS5m3wtziXVCjluIXyL8pcaukYqezIzZQA==", + "version": "14.0.3", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-14.0.3.tgz", + "integrity": "sha512-QMjGbFTP0blj97EeidG5hk/QhKQ3T4ICckQGLgz38QF7Vgbk6e6FTARN8KhKxyBbWn8R0HU+bnw8aSoFPD4qtQ==", "dev": true, "license": "ISC", "dependencies": { - "@npmcli/agent": "^2.0.0", - "cacache": "^18.0.0", + "@npmcli/agent": "^3.0.0", + "cacache": "^19.0.1", "http-cache-semantics": "^4.1.1", - "is-lambda": "^1.0.1", "minipass": "^7.0.2", - "minipass-fetch": "^3.0.0", + "minipass-fetch": "^4.0.0", "minipass-flush": "^1.0.5", "minipass-pipeline": "^1.2.4", - "negotiator": "^0.6.3", - "proc-log": "^4.2.0", + "negotiator": "^1.0.0", + "proc-log": "^5.0.0", "promise-retry": "^2.0.1", - "ssri": "^10.0.0" + "ssri": "^12.0.0" }, "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/makeerror": { @@ -14268,9 +15425,9 @@ } }, "node_modules/mini-css-extract-plugin": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.9.0.tgz", - "integrity": "sha512-Zs1YsZVfemekSZG+44vBsYTLQORkPMwnlv+aehcxK/NLKC+EGhDB39/YePYYqx/sTk6NnYpuqikhSn7+JIevTA==", + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.9.2.tgz", + "integrity": "sha512-GJuACcS//jtq4kCtd5ii/M0SZf7OZRH+BxdqXZHaJfb8TJiVl+NgQRPwiYt2EuqeSkNydn/7vP+bcE27C5mb9w==", "dev": true, "license": "MIT", "dependencies": { @@ -14345,18 +15502,18 @@ } }, "node_modules/minipass-fetch": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-3.0.5.tgz", - "integrity": "sha512-2N8elDQAtSnFV0Dk7gt15KHsS0Fyz6CbYZ360h0WTYV1Ty46li3rAXVOQj1THMNLdmrD9Vt5pBPtWtVkpwGBqg==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-4.0.1.tgz", + "integrity": "sha512-j7U11C5HXigVuutxebFadoYBbd7VSdZWggSe64NVdvWNBqGAiXPL2QVCehjmw7lY1oF9gOllYbORh+hiNgfPgQ==", "dev": true, "license": "MIT", "dependencies": { "minipass": "^7.0.3", "minipass-sized": "^1.0.3", - "minizlib": "^2.1.2" + "minizlib": "^3.0.1" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" }, "optionalDependencies": { "encoding": "^0.1.13" @@ -14462,39 +15619,18 @@ "license": "ISC" }, "node_modules/minizlib": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", - "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-3.0.2.tgz", + "integrity": "sha512-oG62iEk+CYt5Xj2YqI5Xi9xWUeZhDI8jjQmC5oThVH5JGCTgIjr7ciJDzC7MBzYd//WvR1OTmP5Q38Q8ShQtVA==", "dev": true, "license": "MIT", "dependencies": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/minizlib/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" + "minipass": "^7.1.2" }, "engines": { - "node": ">=8" + "node": ">= 18" } }, - "node_modules/minizlib/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, - "license": "ISC" - }, "node_modules/mkdirp": { "version": "0.5.6", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", @@ -14553,9 +15689,9 @@ "license": "MIT" }, "node_modules/mrmime": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.0.tgz", - "integrity": "sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.1.tgz", + "integrity": "sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==", "dev": true, "license": "MIT", "engines": { @@ -14574,6 +15710,7 @@ "integrity": "sha512-uaff7RG9VIC4jacFW9xzL3jc0iM32DNHe4jYVycBcjUePT/Klnfj7pqtWJt9khvDFizmjN2TlYniYmSS2LIaZg==", "dev": true, "license": "MIT", + "optional": true, "optionalDependencies": { "msgpackr-extract": "^3.0.2" } @@ -14683,9 +15820,9 @@ } }, "node_modules/negotiator": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.4.tgz", - "integrity": "sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-1.0.0.tgz", + "integrity": "sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==", "dev": true, "license": "MIT", "engines": { @@ -14749,34 +15886,32 @@ } }, "node_modules/ng-packagr": { - "version": "18.2.1", - "resolved": "https://registry.npmjs.org/ng-packagr/-/ng-packagr-18.2.1.tgz", - "integrity": "sha512-dy9ZDpZb3QpAz+Y/m8VAu7ctr2VrnRU3gmQwJagnNybVJtCsKn3lZA3IW7Z7GTLoG5IALSPouiCgiB/C8ozv7w==", + "version": "19.2.2", + "resolved": "https://registry.npmjs.org/ng-packagr/-/ng-packagr-19.2.2.tgz", + "integrity": "sha512-dFuwFsDJMBSd1YtmLLcX5bNNUCQUlRqgf34aXA+79PmkOP+0eF8GP2949wq3+jMjmFTNm80Oo8IUYiSLwklKCQ==", "dev": true, "license": "MIT", "dependencies": { "@rollup/plugin-json": "^6.1.0", - "@rollup/plugin-node-resolve": "^15.2.3", - "@rollup/wasm-node": "^4.18.0", - "ajv": "^8.12.0", + "@rollup/wasm-node": "^4.24.0", + "ajv": "^8.17.1", "ansi-colors": "^4.1.3", "browserslist": "^4.22.1", - "cacache": "^18.0.0", - "chokidar": "^3.5.3", - "commander": "^12.0.0", + "chokidar": "^4.0.1", + "commander": "^13.0.0", "convert-source-map": "^2.0.0", "dependency-graph": "^1.0.0", - "esbuild": "^0.23.0", - "fast-glob": "^3.3.1", + "esbuild": "^0.25.0", + "fast-glob": "^3.3.2", "find-cache-dir": "^3.3.2", "injection-js": "^2.4.0", - "jsonc-parser": "^3.2.0", + "jsonc-parser": "^3.3.1", "less": "^4.2.0", "ora": "^5.1.0", - "piscina": "^4.4.0", - "postcss": "^8.4.31", + "piscina": "^4.7.0", + "postcss": "^8.4.47", "rxjs": "^7.8.1", - "sass": "^1.69.5" + "sass": "^1.81.0" }, "bin": { "ng-packagr": "cli/main.js" @@ -14785,13 +15920,13 @@ "node": "^18.19.1 || >=20.11.1" }, "optionalDependencies": { - "rollup": "^4.18.0" + "rollup": "^4.24.0" }, "peerDependencies": { - "@angular/compiler-cli": "^18.0.0 || ^18.2.0-next.0", - "tailwindcss": "^2.0.0 || ^3.0.0", + "@angular/compiler-cli": "^19.0.0 || ^19.1.0-next.0 || ^19.2.0-next.0", + "tailwindcss": "^2.0.0 || ^3.0.0 || ^4.0.0", "tslib": "^2.3.0", - "typescript": ">=5.4 <5.6" + "typescript": ">=5.5 <5.9" }, "peerDependenciesMeta": { "tailwindcss": { @@ -14799,6 +15934,16 @@ } } }, + "node_modules/ng-packagr/node_modules/commander": { + "version": "13.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-13.1.0.tgz", + "integrity": "sha512-/rFeCpNJQbhSZjGVwO9RFV3xPqbnERS8MmIQzCtD/zl6gpJuV/bMLuN92oG3F7d8oDEHHRrujSXNUr8fpjntKw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, "node_modules/ng-packagr/node_modules/convert-source-map": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", @@ -14863,36 +16008,13 @@ "semver": "bin/semver.js" } }, - "node_modules/nice-napi": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/nice-napi/-/nice-napi-1.0.2.tgz", - "integrity": "sha512-px/KnJAJZf5RuBGcfD+Sp2pAKq0ytz8j+1NehvgIGFkvtvFrDM3T8E4x/JJODXK9WZow8RRGrbA9QQ3hs+pDhA==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "optional": true, - "os": [ - "!win32" - ], - "dependencies": { - "node-addon-api": "^3.0.0", - "node-gyp-build": "^4.2.2" - } - }, - "node_modules/nice-napi/node_modules/node-addon-api": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.2.1.tgz", - "integrity": "sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==", - "dev": true, - "license": "MIT", - "optional": true - }, "node_modules/node-addon-api": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-6.1.0.tgz", "integrity": "sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==", "dev": true, - "license": "MIT" + "license": "MIT", + "optional": true }, "node_modules/node-forge": { "version": "1.3.1", @@ -14905,41 +16027,28 @@ } }, "node_modules/node-gyp": { - "version": "10.3.1", - "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-10.3.1.tgz", - "integrity": "sha512-Pp3nFHBThHzVtNY7U6JfPjvT/DTE8+o/4xKsLQtBoU+j2HLsGlhcfzflAoUreaJbNmYnX+LlLi0qjV8kpyO6xQ==", + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-11.2.0.tgz", + "integrity": "sha512-T0S1zqskVUSxcsSTkAsLc7xCycrRYmtDHadDinzocrThjyQCn5kMlEBSj6H4qDbgsIOSLmmlRIeb0lZXj+UArA==", "dev": true, "license": "MIT", "dependencies": { "env-paths": "^2.2.0", "exponential-backoff": "^3.1.1", - "glob": "^10.3.10", "graceful-fs": "^4.2.6", - "make-fetch-happen": "^13.0.0", - "nopt": "^7.0.0", - "proc-log": "^4.1.0", + "make-fetch-happen": "^14.0.3", + "nopt": "^8.0.0", + "proc-log": "^5.0.0", "semver": "^7.3.5", - "tar": "^6.2.1", - "which": "^4.0.0" + "tar": "^7.4.3", + "tinyglobby": "^0.2.12", + "which": "^5.0.0" }, "bin": { "node-gyp": "bin/node-gyp.js" }, "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, - "node_modules/node-gyp-build": { - "version": "4.8.4", - "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.8.4.tgz", - "integrity": "sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ==", - "dev": true, - "license": "MIT", - "optional": true, - "bin": { - "node-gyp-build": "bin.js", - "node-gyp-build-optional": "optional.js", - "node-gyp-build-test": "build-test.js" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/node-gyp-build-optional-packages": { @@ -14947,45 +16056,25 @@ "resolved": "https://registry.npmjs.org/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.2.2.tgz", "integrity": "sha512-s+w+rBWnpTMwSFbaE0UXsRlg7hU4FjekKU4eyAih5T8nJuNZT1nNsskXpxmeqSK9UzkBl6UgRlnKc8hz8IEqOw==", "dev": true, - "license": "MIT", - "dependencies": { - "detect-libc": "^2.0.1" - }, - "bin": { - "node-gyp-build-optional-packages": "bin.js", - "node-gyp-build-optional-packages-optional": "optional.js", - "node-gyp-build-optional-packages-test": "build-test.js" - } - }, - "node_modules/node-gyp/node_modules/brace-expansion": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", - "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/node-gyp/node_modules/glob": { - "version": "10.4.5", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", - "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", - "dev": true, - "license": "ISC", - "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^3.1.2", - "minimatch": "^9.0.4", - "minipass": "^7.1.2", - "package-json-from-dist": "^1.0.0", - "path-scurry": "^1.11.1" + "license": "MIT", + "optional": true, + "dependencies": { + "detect-libc": "^2.0.1" }, "bin": { - "glob": "dist/esm/bin.mjs" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node-gyp-build-optional-packages": "bin.js", + "node-gyp-build-optional-packages-optional": "optional.js", + "node-gyp-build-optional-packages-test": "build-test.js" + } + }, + "node_modules/node-gyp/node_modules/chownr": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-3.0.0.tgz", + "integrity": "sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=18" } }, "node_modules/node-gyp/node_modules/isexe": { @@ -14998,66 +16087,44 @@ "node": ">=16" } }, - "node_modules/node-gyp/node_modules/jackspeak": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", - "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", - "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "@isaacs/cliui": "^8.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - }, - "optionalDependencies": { - "@pkgjs/parseargs": "^0.11.0" - } - }, - "node_modules/node-gyp/node_modules/lru-cache": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", - "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/node-gyp/node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "node_modules/node-gyp/node_modules/mkdirp": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-3.0.1.tgz", + "integrity": "sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==", "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" + "license": "MIT", + "bin": { + "mkdirp": "dist/cjs/src/bin.js" }, "engines": { - "node": ">=16 || 14 >=14.17" + "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/node-gyp/node_modules/path-scurry": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", - "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "node_modules/node-gyp/node_modules/tar": { + "version": "7.4.3", + "resolved": "https://registry.npmjs.org/tar/-/tar-7.4.3.tgz", + "integrity": "sha512-5S7Va8hKfV7W5U6g3aYxXmlPoZVAwUMy9AOKyF2fVuZa2UD3qZjg578OrLRt8PcNN1PleVaL/5/yYATNL0ICUw==", "dev": true, - "license": "BlueOak-1.0.0", + "license": "ISC", "dependencies": { - "lru-cache": "^10.2.0", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + "@isaacs/fs-minipass": "^4.0.0", + "chownr": "^3.0.0", + "minipass": "^7.1.2", + "minizlib": "^3.0.1", + "mkdirp": "^3.0.1", + "yallist": "^5.0.0" }, "engines": { - "node": ">=16 || 14 >=14.18" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">=18" } }, "node_modules/node-gyp/node_modules/which": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/which/-/which-4.0.0.tgz", - "integrity": "sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-5.0.0.tgz", + "integrity": "sha512-JEdGzHwwkrbWoGOlIHqQ5gtprKGOenpDHpxE9zVR1bWbOtYRyPPHMe9FaP6x61CmNaTThSkb0DAJte5jD+DmzQ==", "dev": true, "license": "ISC", "dependencies": { @@ -15067,7 +16134,17 @@ "node-which": "bin/which.js" }, "engines": { - "node": "^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/node-gyp/node_modules/yallist": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-5.0.0.tgz", + "integrity": "sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=18" } }, "node_modules/node-int64": { @@ -15083,34 +16160,19 @@ "license": "MIT" }, "node_modules/nopt": { - "version": "7.2.1", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-7.2.1.tgz", - "integrity": "sha512-taM24ViiimT/XntxbPyJQzCG+p4EKOpgD3mxFwW38mGjVUrfERQOeY4EDHjdnptttfHuHQXFx+lTP08Q+mLa/w==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-8.1.0.tgz", + "integrity": "sha512-ieGu42u/Qsa4TFktmaKEwM6MQH0pOWnaB3htzh0JRtx84+Mebc0cbZYN5bC+6WTZ4+77xrL9Pn5m7CV6VIkV7A==", "dev": true, "license": "ISC", "dependencies": { - "abbrev": "^2.0.0" + "abbrev": "^3.0.0" }, "bin": { "nopt": "bin/nopt.js" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/normalize-package-data": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-6.0.2.tgz", - "integrity": "sha512-V6gygoYb/5EmNI+MEGrWkC+e6+Rr7mTmfHrxDbLzxQogBkgzo76rkok0Am6thgSF7Mv2nLOajAJj5vDJZEFn7g==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "hosted-git-info": "^7.0.0", - "semver": "^7.3.5", - "validate-npm-package-license": "^3.0.4" - }, - "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/normalize-path": { @@ -15133,104 +16195,104 @@ } }, "node_modules/npm-bundled": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-3.0.1.tgz", - "integrity": "sha512-+AvaheE/ww1JEwRHOrn4WHNzOxGtVp+adrg2AeZS/7KuxGUYFuBta98wYpfHBbJp6Tg6j1NKSEVHNcfZzJHQwQ==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-4.0.0.tgz", + "integrity": "sha512-IxaQZDMsqfQ2Lz37VvyyEtKLe8FsRZuysmedy/N06TU1RyVppYKXrO4xIhR0F+7ubIBox6Q7nir6fQI3ej39iA==", "dev": true, "license": "ISC", "dependencies": { - "npm-normalize-package-bin": "^3.0.0" + "npm-normalize-package-bin": "^4.0.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm-install-checks": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-6.3.0.tgz", - "integrity": "sha512-W29RiK/xtpCGqn6f3ixfRYGk+zRyr+Ew9F2E20BfXxT5/euLdA/Nm7fO7OeTGuAmTs30cpgInyJ0cYe708YTZw==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-7.1.1.tgz", + "integrity": "sha512-u6DCwbow5ynAX5BdiHQ9qvexme4U3qHW3MWe5NqH+NeBm0LbiH6zvGjNNew1fY+AZZUtVHbOPF3j7mJxbUzpXg==", "dev": true, "license": "BSD-2-Clause", "dependencies": { "semver": "^7.1.1" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm-normalize-package-bin": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-3.0.1.tgz", - "integrity": "sha512-dMxCf+zZ+3zeQZXKxmyuCKlIDPGuv8EF940xbkC4kQVDTtqoh6rJFO+JTKSA6/Rwi0getWmtuy4Itup0AMcaDQ==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-4.0.0.tgz", + "integrity": "sha512-TZKxPvItzai9kN9H/TkmCtx/ZN/hvr3vUycjlfmH0ootY9yFBzNOpiXAdIn1Iteqsvk4lQn6B5PTrt+n6h8k/w==", "dev": true, "license": "ISC", "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm-package-arg": { - "version": "11.0.3", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-11.0.3.tgz", - "integrity": "sha512-sHGJy8sOC1YraBywpzQlIKBE4pBbGbiF95U6Auspzyem956E0+FtDtsx1ZxlOJkQCZ1AFXAY/yuvtFYrOxF+Bw==", + "version": "12.0.2", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-12.0.2.tgz", + "integrity": "sha512-f1NpFjNI9O4VbKMOlA5QoBq/vSQPORHcTZ2feJpFkTHJ9eQkdlmZEKSjcAhxTGInC7RlEyScT9ui67NaOsjFWA==", "dev": true, "license": "ISC", "dependencies": { - "hosted-git-info": "^7.0.0", - "proc-log": "^4.0.0", + "hosted-git-info": "^8.0.0", + "proc-log": "^5.0.0", "semver": "^7.3.5", - "validate-npm-package-name": "^5.0.0" + "validate-npm-package-name": "^6.0.0" }, "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm-packlist": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-8.0.2.tgz", - "integrity": "sha512-shYrPFIS/JLP4oQmAwDyk5HcyysKW8/JLTEA32S0Z5TzvpaeeX2yMFfoK1fjEBnCBvVyIB/Jj/GBFdm0wsgzbA==", + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-9.0.0.tgz", + "integrity": "sha512-8qSayfmHJQTx3nJWYbbUmflpyarbLMBc6LCAjYsiGtXxDB68HaZpb8re6zeaLGxZzDuMdhsg70jryJe+RrItVQ==", "dev": true, "license": "ISC", "dependencies": { - "ignore-walk": "^6.0.4" + "ignore-walk": "^7.0.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm-pick-manifest": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-9.1.0.tgz", - "integrity": "sha512-nkc+3pIIhqHVQr085X9d2JzPzLyjzQS96zbruppqC9aZRm/x8xx6xhI98gHtsfELP2bE+loHq8ZaHFHhe+NauA==", + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-10.0.0.tgz", + "integrity": "sha512-r4fFa4FqYY8xaM7fHecQ9Z2nE9hgNfJR+EmoKv0+chvzWkBcORX3r0FpTByP+CbOVJDladMXnPQGVN8PBLGuTQ==", "dev": true, "license": "ISC", "dependencies": { - "npm-install-checks": "^6.0.0", - "npm-normalize-package-bin": "^3.0.0", - "npm-package-arg": "^11.0.0", + "npm-install-checks": "^7.1.0", + "npm-normalize-package-bin": "^4.0.0", + "npm-package-arg": "^12.0.0", "semver": "^7.3.5" }, "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm-registry-fetch": { - "version": "17.1.0", - "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-17.1.0.tgz", - "integrity": "sha512-5+bKQRH0J1xG1uZ1zMNvxW0VEyoNWgJpY9UDuluPFLKDfJ9u2JmmjmTJV1srBGQOROfdBMiVvnH2Zvpbm+xkVA==", + "version": "18.0.2", + "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-18.0.2.tgz", + "integrity": "sha512-LeVMZBBVy+oQb5R6FDV9OlJCcWDU+al10oKpe+nsvcHnG24Z3uM3SvJYKfGJlfGjVU8v9liejCrUR/M5HO5NEQ==", "dev": true, "license": "ISC", "dependencies": { - "@npmcli/redact": "^2.0.0", + "@npmcli/redact": "^3.0.0", "jsonparse": "^1.3.1", - "make-fetch-happen": "^13.0.0", + "make-fetch-happen": "^14.0.0", "minipass": "^7.0.2", - "minipass-fetch": "^3.0.0", - "minizlib": "^2.1.2", - "npm-package-arg": "^11.0.0", - "proc-log": "^4.0.0" + "minipass-fetch": "^4.0.0", + "minizlib": "^3.0.1", + "npm-package-arg": "^12.0.0", + "proc-log": "^5.0.0" }, "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm-run-path": { @@ -15429,7 +16491,8 @@ "resolved": "https://registry.npmjs.org/ordered-binary/-/ordered-binary-1.6.0.tgz", "integrity": "sha512-IQh2aMfMIDbPjI/8a3Edr+PiOpcsB7yo8NdW7aHWVaoR/pcDldunMvnnwbk/auPGqmKeAdxtZl7MHX/QmPwhvQ==", "dev": true, - "license": "MIT" + "license": "MIT", + "optional": true }, "node_modules/os-name": { "version": "4.0.1", @@ -15501,16 +16564,13 @@ } }, "node_modules/p-map": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", - "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-7.0.3.tgz", + "integrity": "sha512-VkndIv2fIB99swvQoA65bm+fsmt6UNdGeIB0oxBs+WhAhdh08QA04JXpI7rbB9r08/nkbysKoya9rtDERYOYMA==", "dev": true, "license": "MIT", - "dependencies": { - "aggregate-error": "^3.0.0" - }, "engines": { - "node": ">=10" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -15587,20 +16647,6 @@ "node": ">= 14" } }, - "node_modules/pac-proxy-agent/node_modules/https-proxy-agent": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", - "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", - "dev": true, - "license": "MIT", - "dependencies": { - "agent-base": "^7.1.2", - "debug": "4" - }, - "engines": { - "node": ">= 14" - } - }, "node_modules/pac-resolver": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-7.0.1.tgz", @@ -15642,35 +16688,35 @@ "license": "BlueOak-1.0.0" }, "node_modules/pacote": { - "version": "18.0.6", - "resolved": "https://registry.npmjs.org/pacote/-/pacote-18.0.6.tgz", - "integrity": "sha512-+eK3G27SMwsB8kLIuj4h1FUhHtwiEUo21Tw8wNjmvdlpOEr613edv+8FUsTj/4F/VN5ywGE19X18N7CC2EJk6A==", + "version": "20.0.0", + "resolved": "https://registry.npmjs.org/pacote/-/pacote-20.0.0.tgz", + "integrity": "sha512-pRjC5UFwZCgx9kUFDVM9YEahv4guZ1nSLqwmWiLUnDbGsjs+U5w7z6Uc8HNR1a6x8qnu5y9xtGE6D1uAuYz+0A==", "dev": true, "license": "ISC", "dependencies": { - "@npmcli/git": "^5.0.0", - "@npmcli/installed-package-contents": "^2.0.1", - "@npmcli/package-json": "^5.1.0", - "@npmcli/promise-spawn": "^7.0.0", - "@npmcli/run-script": "^8.0.0", - "cacache": "^18.0.0", + "@npmcli/git": "^6.0.0", + "@npmcli/installed-package-contents": "^3.0.0", + "@npmcli/package-json": "^6.0.0", + "@npmcli/promise-spawn": "^8.0.0", + "@npmcli/run-script": "^9.0.0", + "cacache": "^19.0.0", "fs-minipass": "^3.0.0", "minipass": "^7.0.2", - "npm-package-arg": "^11.0.0", - "npm-packlist": "^8.0.0", - "npm-pick-manifest": "^9.0.0", - "npm-registry-fetch": "^17.0.0", - "proc-log": "^4.0.0", + "npm-package-arg": "^12.0.0", + "npm-packlist": "^9.0.0", + "npm-pick-manifest": "^10.0.0", + "npm-registry-fetch": "^18.0.0", + "proc-log": "^5.0.0", "promise-retry": "^2.0.1", - "sigstore": "^2.2.0", - "ssri": "^10.0.0", + "sigstore": "^3.0.0", + "ssri": "^12.0.0", "tar": "^6.1.11" }, "bin": { "pacote": "bin/index.js" }, "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/parent-module": { @@ -15925,13 +16971,11 @@ "license": "ISC" }, "node_modules/picomatch": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.1.tgz", - "integrity": "sha512-xUXwsxNjwTQ8K3GnT4pCJm+xq3RUPQbmkYJTP5aFIfNIvbcc/4MUxgBaaRSZJ6yGJZiGSyYlM6MzwTsRk8SYCg==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", + "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", "dev": true, "license": "MIT", - "optional": true, - "peer": true, "engines": { "node": ">=12" }, @@ -15960,13 +17004,13 @@ } }, "node_modules/piscina": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/piscina/-/piscina-4.6.1.tgz", - "integrity": "sha512-z30AwWGtQE+Apr+2WBZensP2lIvwoaMcOPkQlIEmSGMJNUvaYACylPYrQM6wSdUNJlnDVMSpLv7xTMJqlVshOA==", + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/piscina/-/piscina-4.8.0.tgz", + "integrity": "sha512-EZJb+ZxDrQf3dihsUL7p42pjNyrNIFJCrRHPMgxu/svsj+P3xS3fuEWp7k2+rfsavfl1N0G29b1HGs7J0m8rZA==", "dev": true, "license": "MIT", "optionalDependencies": { - "nice-napi": "^1.0.2" + "@napi-rs/nice": "^1.0.1" } }, "node_modules/pkg-dir": { @@ -16074,9 +17118,9 @@ } }, "node_modules/postcss": { - "version": "8.4.41", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.41.tgz", - "integrity": "sha512-TesUflQ0WKZqAvg52PWL6kHgLKP6xB6heTOdoYM0Wt2UHyxNa4K25EZZMgKns3BH1RLVbZCREPpLY0rhnNoHVQ==", + "version": "8.5.6", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", + "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", "dev": true, "funding": [ { @@ -16094,9 +17138,9 @@ ], "license": "MIT", "dependencies": { - "nanoid": "^3.3.7", - "picocolors": "^1.0.1", - "source-map-js": "^1.2.0" + "nanoid": "^3.3.11", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" }, "engines": { "node": "^10 || ^12 || >=14" @@ -16262,13 +17306,13 @@ } }, "node_modules/proc-log": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-4.2.0.tgz", - "integrity": "sha512-g8+OnU/L2v+wyiVK+D5fA34J7EH8jZ8DDlvwhRCMxmMj7UCBvxiO1mGeN+36JXIKF4zevU4kRBd8lVgG9vLelA==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-5.0.0.tgz", + "integrity": "sha512-Azwzvl90HaF0aCz1JrDdXQykFakSSNPaPoiZ9fm5qJIMHioDZEi7OAdRwSm6rSoPtY3Qutnm3L7ogmg3dc+wbQ==", "dev": true, "license": "ISC", "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/process-nextick-args": { @@ -16278,13 +17322,6 @@ "dev": true, "license": "MIT" }, - "node_modules/promise-inflight": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", - "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==", - "dev": true, - "license": "ISC" - }, "node_modules/promise-retry": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", @@ -16394,20 +17431,6 @@ "node": ">= 14" } }, - "node_modules/proxy-agent/node_modules/https-proxy-agent": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", - "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", - "dev": true, - "license": "MIT", - "dependencies": { - "agent-base": "^7.1.2", - "debug": "4" - }, - "engines": { - "node": ">= 14" - } - }, "node_modules/proxy-agent/node_modules/lru-cache": { "version": "7.18.3", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", @@ -17509,18 +18532,21 @@ "license": "MIT" }, "node_modules/resolve": { - "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "version": "1.22.10", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", + "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", "license": "MIT", "dependencies": { - "is-core-module": "^2.13.0", + "is-core-module": "^2.16.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { "resolve": "bin/resolve" }, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -17699,13 +18725,13 @@ } }, "node_modules/rollup": { - "version": "4.22.4", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.22.4.tgz", - "integrity": "sha512-vD8HJ5raRcWOyymsR6Z3o6+RzfEPCnVLMFJ6vRslO1jt4LO6dUo5Qnpg7y4RkZFM2DMe3WUirkI5c16onjrc6A==", + "version": "4.34.8", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.34.8.tgz", + "integrity": "sha512-489gTVMzAYdiZHFVA/ig/iYFllCcWFHMvUHI1rpFmkoUtRlQxqh6/yiNqnYibjMZ2b/+FUQwldG+aLsEt6bglQ==", "dev": true, "license": "MIT", "dependencies": { - "@types/estree": "1.0.5" + "@types/estree": "1.0.6" }, "bin": { "rollup": "dist/bin/rollup" @@ -17715,29 +18741,32 @@ "npm": ">=8.0.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.22.4", - "@rollup/rollup-android-arm64": "4.22.4", - "@rollup/rollup-darwin-arm64": "4.22.4", - "@rollup/rollup-darwin-x64": "4.22.4", - "@rollup/rollup-linux-arm-gnueabihf": "4.22.4", - "@rollup/rollup-linux-arm-musleabihf": "4.22.4", - "@rollup/rollup-linux-arm64-gnu": "4.22.4", - "@rollup/rollup-linux-arm64-musl": "4.22.4", - "@rollup/rollup-linux-powerpc64le-gnu": "4.22.4", - "@rollup/rollup-linux-riscv64-gnu": "4.22.4", - "@rollup/rollup-linux-s390x-gnu": "4.22.4", - "@rollup/rollup-linux-x64-gnu": "4.22.4", - "@rollup/rollup-linux-x64-musl": "4.22.4", - "@rollup/rollup-win32-arm64-msvc": "4.22.4", - "@rollup/rollup-win32-ia32-msvc": "4.22.4", - "@rollup/rollup-win32-x64-msvc": "4.22.4", + "@rollup/rollup-android-arm-eabi": "4.34.8", + "@rollup/rollup-android-arm64": "4.34.8", + "@rollup/rollup-darwin-arm64": "4.34.8", + "@rollup/rollup-darwin-x64": "4.34.8", + "@rollup/rollup-freebsd-arm64": "4.34.8", + "@rollup/rollup-freebsd-x64": "4.34.8", + "@rollup/rollup-linux-arm-gnueabihf": "4.34.8", + "@rollup/rollup-linux-arm-musleabihf": "4.34.8", + "@rollup/rollup-linux-arm64-gnu": "4.34.8", + "@rollup/rollup-linux-arm64-musl": "4.34.8", + "@rollup/rollup-linux-loongarch64-gnu": "4.34.8", + "@rollup/rollup-linux-powerpc64le-gnu": "4.34.8", + "@rollup/rollup-linux-riscv64-gnu": "4.34.8", + "@rollup/rollup-linux-s390x-gnu": "4.34.8", + "@rollup/rollup-linux-x64-gnu": "4.34.8", + "@rollup/rollup-linux-x64-musl": "4.34.8", + "@rollup/rollup-win32-arm64-msvc": "4.34.8", + "@rollup/rollup-win32-ia32-msvc": "4.34.8", + "@rollup/rollup-win32-x64-msvc": "4.34.8", "fsevents": "~2.3.2" } }, "node_modules/rollup/node_modules/@types/estree": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", - "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", + "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", "dev": true, "license": "MIT" }, @@ -17830,14 +18859,14 @@ "license": "MIT" }, "node_modules/sass": { - "version": "1.77.6", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.77.6.tgz", - "integrity": "sha512-ByXE1oLD79GVq9Ht1PeHWCPMPB8XHpBuz1r85oByKHjZY6qV6rWnQovQzXJXuQ/XyE1Oj3iPk3lo28uzaRA2/Q==", + "version": "1.85.0", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.85.0.tgz", + "integrity": "sha512-3ToiC1xZ1Y8aU7+CkgCI/tqyuPXEmYGJXO7H4uqp0xkLXUqp88rQQ4j1HmP37xSJLbCJPaIiv+cT1y+grssrww==", "dev": true, "license": "MIT", "dependencies": { - "chokidar": ">=3.0.0 <4.0.0", - "immutable": "^4.0.0", + "chokidar": "^4.0.0", + "immutable": "^5.0.2", "source-map-js": ">=0.6.2 <2.0.0" }, "bin": { @@ -17845,12 +18874,15 @@ }, "engines": { "node": ">=14.0.0" + }, + "optionalDependencies": { + "@parcel/watcher": "^2.4.1" } }, "node_modules/sass-loader": { - "version": "16.0.0", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-16.0.0.tgz", - "integrity": "sha512-n13Z+3rU9A177dk4888czcVFiC8CL9dii4qpXWUg3YIIgZEvi9TCFKjOQcbK0kJM7DJu9VucrZFddvNfYCPwtw==", + "version": "16.0.5", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-16.0.5.tgz", + "integrity": "sha512-oL+CMBXrj6BZ/zOq4os+UECPL+bWqt6OAC6DWS8Ln8GZRcMDjlJ4JC3FBDuHJdYaFWIdKNIBYmtZtK2MaMkNIw==", "dev": true, "license": "MIT", "dependencies": { @@ -18448,21 +19480,21 @@ } }, "node_modules/sigstore": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/sigstore/-/sigstore-2.3.1.tgz", - "integrity": "sha512-8G+/XDU8wNsJOQS5ysDVO0Etg9/2uA5gR9l4ZwijjlwxBcrU6RPfwi2+jJmbP+Ap1Hlp/nVAaEO4Fj22/SL2gQ==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/sigstore/-/sigstore-3.1.0.tgz", + "integrity": "sha512-ZpzWAFHIFqyFE56dXqgX/DkDRZdz+rRcjoIk/RQU4IX0wiCv1l8S7ZrXDHcCc+uaf+6o7w3h2l3g6GYG5TKN9Q==", "dev": true, "license": "Apache-2.0", "dependencies": { - "@sigstore/bundle": "^2.3.2", - "@sigstore/core": "^1.0.0", - "@sigstore/protobuf-specs": "^0.3.2", - "@sigstore/sign": "^2.3.2", - "@sigstore/tuf": "^2.3.4", - "@sigstore/verify": "^1.2.1" + "@sigstore/bundle": "^3.1.0", + "@sigstore/core": "^2.0.0", + "@sigstore/protobuf-specs": "^0.4.0", + "@sigstore/sign": "^3.1.0", + "@sigstore/tuf": "^3.1.0", + "@sigstore/verify": "^2.1.0" }, "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/sisteransi": { @@ -18879,16 +19911,16 @@ "license": "BSD-3-Clause" }, "node_modules/ssri": { - "version": "10.0.6", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.6.tgz", - "integrity": "sha512-MGrFH9Z4NP9Iyhqn16sDtBpRRNJ0Y2hNa6D65h736fVSaPCHr4DM4sWUNvVaSuC+0OBGhwsrydQwmgfg5LncqQ==", + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-12.0.0.tgz", + "integrity": "sha512-S7iGNosepx9RadX82oimUkvr0Ct7IjJbEbs4mJcTxst8um95J3sDYU1RBEOvdu6oL1Wek2ODI5i4MAw+dZ6cAQ==", "dev": true, "license": "ISC", "dependencies": { "minipass": "^7.0.3" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/stack-utils": { @@ -19255,6 +20287,33 @@ "node": ">=8" } }, + "node_modules/tar/node_modules/minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "dev": true, + "license": "MIT", + "dependencies": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/tar/node_modules/minizlib/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/tar/node_modules/mkdirp": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", @@ -19276,9 +20335,9 @@ "license": "ISC" }, "node_modules/terser": { - "version": "5.31.6", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.31.6.tgz", - "integrity": "sha512-PQ4DAriWzKj+qgehQ7LK5bQqCFNMmlhjR2PFFLuqGCpuCAauxemVBWwWOxo3UIwWQx8+Pr61Df++r76wDmkQBg==", + "version": "5.39.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.39.0.tgz", + "integrity": "sha512-LBAhFyLho16harJoWMg/nZsQYgTrg5jXOn2nCYjRUcZZEdE3qa2zb8QEDRUGVZBW4rlazf2fxkg8tztybTaqWw==", "dev": true, "license": "BSD-2-Clause", "dependencies": { @@ -19484,19 +20543,6 @@ "url": "https://github.com/sponsors/SuperchupuDev" } }, - "node_modules/tinyglobby/node_modules/picomatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", - "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, "node_modules/tmp": { "version": "0.0.33", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", @@ -19787,18 +20833,18 @@ "license": "0BSD" }, "node_modules/tuf-js": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tuf-js/-/tuf-js-2.2.1.tgz", - "integrity": "sha512-GwIJau9XaA8nLVbUXsN3IlFi7WmQ48gBUrl3FTkkL/XLu/POhBzfmX9hd33FNMX1qAsfl6ozO1iMmW9NC8YniA==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/tuf-js/-/tuf-js-3.0.1.tgz", + "integrity": "sha512-+68OP1ZzSF84rTckf3FA95vJ1Zlx/uaXyiiKyPd1pA4rZNkpEvDAKmsu1xUSmbF/chCRYgZ6UZkDwC7PmzmAyA==", "dev": true, "license": "MIT", "dependencies": { - "@tufjs/models": "2.0.1", - "debug": "^4.3.4", - "make-fetch-happen": "^13.0.1" + "@tufjs/models": "3.0.1", + "debug": "^4.3.6", + "make-fetch-happen": "^14.0.1" }, "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/type-detect": { @@ -19961,29 +21007,29 @@ } }, "node_modules/unique-filename": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-3.0.0.tgz", - "integrity": "sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-4.0.0.tgz", + "integrity": "sha512-XSnEewXmQ+veP7xX2dS5Q4yZAvO40cBN2MWkJ7D/6sW4Dg6wYBNwM1Vrnz1FhH5AdeLIlUXRI9e28z1YZi71NQ==", "dev": true, "license": "ISC", "dependencies": { - "unique-slug": "^4.0.0" + "unique-slug": "^5.0.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/unique-slug": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-4.0.0.tgz", - "integrity": "sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-5.0.0.tgz", + "integrity": "sha512-9OdaqO5kwqR+1kVgHAhsp5vPNU0hnxRa26rBFNfNgM7M6pNtgzeBn3s/xbyCQL3dcjzOatcef6UUHpB/6MaETg==", "dev": true, "license": "ISC", "dependencies": { "imurmurhash": "^0.1.4" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/universal-user-agent": { @@ -20094,31 +21140,11 @@ "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", "dev": true, "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/uri-js/node_modules/punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "dev": true, - "license": "MIT", + "bin": { + "semver": "bin/semver.js" + }, "engines": { - "node": ">=6" + "node": ">=10" } }, "node_modules/url-join": { @@ -20212,13 +21238,13 @@ } }, "node_modules/validate-npm-package-name": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-5.0.1.tgz", - "integrity": "sha512-OljLrQ9SQdOUqTaQxqL5dEfZWrXExyyWsozYlAWFawPVNuD83igl7uJD2RTkNMbniIYgt8l81eCJGIdQF7avLQ==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-6.0.1.tgz", + "integrity": "sha512-OaI//3H0J7ZkR1OqlhGA8cA+Cbk/2xFOQpJOt5+s27/ta9eZwpeervh4Mxh4w0im/kdgktowaqVNR7QOrUd7Yg==", "dev": true, "license": "ISC", "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/vary": { @@ -20247,21 +21273,25 @@ } }, "node_modules/vite": { - "version": "5.4.19", - "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.19.tgz", - "integrity": "sha512-qO3aKv3HoQC8QKiNSTuUM1l9o/XX3+c+VTgLHbJWHZGeTPVAg2XwazI9UWzoxjIJCGCV2zU60uqMzjeLZuULqA==", + "version": "6.3.5", + "resolved": "https://registry.npmjs.org/vite/-/vite-6.3.5.tgz", + "integrity": "sha512-cZn6NDFE7wdTpINgs++ZJ4N49W2vRp8LCKrn3Ob1kYNtOo21vfDoaV5GzBfLU4MovSAB8uNRm4jgzVQZ+mBzPQ==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { - "esbuild": "^0.21.3", - "postcss": "^8.4.43", - "rollup": "^4.20.0" + "esbuild": "^0.25.0", + "fdir": "^6.4.4", + "picomatch": "^4.0.2", + "postcss": "^8.5.3", + "rollup": "^4.34.9", + "tinyglobby": "^0.2.13" }, "bin": { "vite": "bin/vite.js" }, "engines": { - "node": "^18.0.0 || >=20.0.0" + "node": "^18.0.0 || ^20.0.0 || >=22.0.0" }, "funding": { "url": "https://github.com/vitejs/vite?sponsor=1" @@ -20270,19 +21300,25 @@ "fsevents": "~2.3.3" }, "peerDependencies": { - "@types/node": "^18.0.0 || >=20.0.0", + "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", + "jiti": ">=1.21.0", "less": "*", "lightningcss": "^1.21.0", "sass": "*", "sass-embedded": "*", "stylus": "*", "sugarss": "*", - "terser": "^5.4.0" + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" }, "peerDependenciesMeta": { "@types/node": { "optional": true }, + "jiti": { + "optional": true + }, "less": { "optional": true }, @@ -20303,30 +21339,19 @@ }, "terser": { "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true } } }, - "node_modules/vite/node_modules/@esbuild/aix-ppc64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz", - "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==", - "cpu": [ - "ppc64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "aix" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/android-arm": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz", - "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==", + "node_modules/vite/node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.44.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.44.1.tgz", + "integrity": "sha512-JAcBr1+fgqx20m7Fwe1DxPUl/hPkee6jA6Pl7n1v2EFiktAHenTaXl5aIFjUIEsfn9w3HE4gK1lEgNGMzBDs1w==", "cpu": [ "arm" ], @@ -20336,14 +21361,12 @@ "os": [ "android" ], - "engines": { - "node": ">=12" - } + "peer": true }, - "node_modules/vite/node_modules/@esbuild/android-arm64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz", - "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==", + "node_modules/vite/node_modules/@rollup/rollup-android-arm64": { + "version": "4.44.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.44.1.tgz", + "integrity": "sha512-RurZetXqTu4p+G0ChbnkwBuAtwAbIwJkycw1n6GvlGlBuS4u5qlr5opix8cBAYFJgaY05TWtM+LaoFggUmbZEQ==", "cpu": [ "arm64" ], @@ -20353,31 +21376,12 @@ "os": [ "android" ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/android-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz", - "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } + "peer": true }, - "node_modules/vite/node_modules/@esbuild/darwin-arm64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz", - "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==", + "node_modules/vite/node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.44.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.44.1.tgz", + "integrity": "sha512-fM/xPesi7g2M7chk37LOnmnSTHLG/v2ggWqKj3CCA1rMA4mm5KVBT1fNoswbo1JhPuNNZrVwpTvlCVggv8A2zg==", "cpu": [ "arm64" ], @@ -20387,14 +21391,12 @@ "os": [ "darwin" ], - "engines": { - "node": ">=12" - } + "peer": true }, - "node_modules/vite/node_modules/@esbuild/darwin-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz", - "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==", + "node_modules/vite/node_modules/@rollup/rollup-darwin-x64": { + "version": "4.44.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.44.1.tgz", + "integrity": "sha512-gDnWk57urJrkrHQ2WVx9TSVTH7lSlU7E3AFqiko+bgjlh78aJ88/3nycMax52VIVjIm3ObXnDL2H00e/xzoipw==", "cpu": [ "x64" ], @@ -20404,14 +21406,12 @@ "os": [ "darwin" ], - "engines": { - "node": ">=12" - } + "peer": true }, - "node_modules/vite/node_modules/@esbuild/freebsd-arm64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz", - "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==", + "node_modules/vite/node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.44.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.44.1.tgz", + "integrity": "sha512-wnFQmJ/zPThM5zEGcnDcCJeYJgtSLjh1d//WuHzhf6zT3Md1BvvhJnWoy+HECKu2bMxaIcfWiu3bJgx6z4g2XA==", "cpu": [ "arm64" ], @@ -20421,14 +21421,12 @@ "os": [ "freebsd" ], - "engines": { - "node": ">=12" - } + "peer": true }, - "node_modules/vite/node_modules/@esbuild/freebsd-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz", - "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==", + "node_modules/vite/node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.44.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.44.1.tgz", + "integrity": "sha512-uBmIxoJ4493YATvU2c0upGz87f99e3wop7TJgOA/bXMFd2SvKCI7xkxY/5k50bv7J6dw1SXT4MQBQSLn8Bb/Uw==", "cpu": [ "x64" ], @@ -20438,14 +21436,12 @@ "os": [ "freebsd" ], - "engines": { - "node": ">=12" - } + "peer": true }, - "node_modules/vite/node_modules/@esbuild/linux-arm": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz", - "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==", + "node_modules/vite/node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.44.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.44.1.tgz", + "integrity": "sha512-n0edDmSHlXFhrlmTK7XBuwKlG5MbS7yleS1cQ9nn4kIeW+dJH+ExqNgQ0RrFRew8Y+0V/x6C5IjsHrJmiHtkxQ==", "cpu": [ "arm" ], @@ -20455,16 +21451,14 @@ "os": [ "linux" ], - "engines": { - "node": ">=12" - } + "peer": true }, - "node_modules/vite/node_modules/@esbuild/linux-arm64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz", - "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==", + "node_modules/vite/node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.44.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.44.1.tgz", + "integrity": "sha512-8WVUPy3FtAsKSpyk21kV52HCxB+me6YkbkFHATzC2Yd3yuqHwy2lbFL4alJOLXKljoRw08Zk8/xEj89cLQ/4Nw==", "cpu": [ - "arm64" + "arm" ], "dev": true, "license": "MIT", @@ -20472,16 +21466,14 @@ "os": [ "linux" ], - "engines": { - "node": ">=12" - } + "peer": true }, - "node_modules/vite/node_modules/@esbuild/linux-ia32": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz", - "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==", + "node_modules/vite/node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.44.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.44.1.tgz", + "integrity": "sha512-yuktAOaeOgorWDeFJggjuCkMGeITfqvPgkIXhDqsfKX8J3jGyxdDZgBV/2kj/2DyPaLiX6bPdjJDTu9RB8lUPQ==", "cpu": [ - "ia32" + "arm64" ], "dev": true, "license": "MIT", @@ -20489,16 +21481,14 @@ "os": [ "linux" ], - "engines": { - "node": ">=12" - } + "peer": true }, - "node_modules/vite/node_modules/@esbuild/linux-loong64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz", - "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==", + "node_modules/vite/node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.44.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.44.1.tgz", + "integrity": "sha512-W+GBM4ifET1Plw8pdVaecwUgxmiH23CfAUj32u8knq0JPFyK4weRy6H7ooxYFD19YxBulL0Ktsflg5XS7+7u9g==", "cpu": [ - "loong64" + "arm64" ], "dev": true, "license": "MIT", @@ -20506,16 +21496,14 @@ "os": [ "linux" ], - "engines": { - "node": ">=12" - } + "peer": true }, - "node_modules/vite/node_modules/@esbuild/linux-mips64el": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz", - "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==", + "node_modules/vite/node_modules/@rollup/rollup-linux-loongarch64-gnu": { + "version": "4.44.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.44.1.tgz", + "integrity": "sha512-1zqnUEMWp9WrGVuVak6jWTl4fEtrVKfZY7CvcBmUUpxAJ7WcSowPSAWIKa/0o5mBL/Ij50SIf9tuirGx63Ovew==", "cpu": [ - "mips64el" + "loong64" ], "dev": true, "license": "MIT", @@ -20523,14 +21511,12 @@ "os": [ "linux" ], - "engines": { - "node": ">=12" - } + "peer": true }, - "node_modules/vite/node_modules/@esbuild/linux-ppc64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz", - "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==", + "node_modules/vite/node_modules/@rollup/rollup-linux-powerpc64le-gnu": { + "version": "4.44.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.44.1.tgz", + "integrity": "sha512-Rl3JKaRu0LHIx7ExBAAnf0JcOQetQffaw34T8vLlg9b1IhzcBgaIdnvEbbsZq9uZp3uAH+JkHd20Nwn0h9zPjA==", "cpu": [ "ppc64" ], @@ -20540,14 +21526,12 @@ "os": [ "linux" ], - "engines": { - "node": ">=12" - } + "peer": true }, - "node_modules/vite/node_modules/@esbuild/linux-riscv64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz", - "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==", + "node_modules/vite/node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.44.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.44.1.tgz", + "integrity": "sha512-j5akelU3snyL6K3N/iX7otLBIl347fGwmd95U5gS/7z6T4ftK288jKq3A5lcFKcx7wwzb5rgNvAg3ZbV4BqUSw==", "cpu": [ "riscv64" ], @@ -20557,14 +21541,12 @@ "os": [ "linux" ], - "engines": { - "node": ">=12" - } + "peer": true }, - "node_modules/vite/node_modules/@esbuild/linux-s390x": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz", - "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==", + "node_modules/vite/node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.44.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.44.1.tgz", + "integrity": "sha512-Hu6hEdix0oxtUma99jSP7xbvjkUM/ycke/AQQ4EC5g7jNRLLIwjcNwaUy95ZKBJJwg1ZowsclNnjYqzN4zwkAw==", "cpu": [ "s390x" ], @@ -20574,14 +21556,12 @@ "os": [ "linux" ], - "engines": { - "node": ">=12" - } + "peer": true }, - "node_modules/vite/node_modules/@esbuild/linux-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz", - "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==", + "node_modules/vite/node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.44.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.44.1.tgz", + "integrity": "sha512-EtnsrmZGomz9WxK1bR5079zee3+7a+AdFlghyd6VbAjgRJDbTANJ9dcPIPAi76uG05micpEL+gPGmAKYTschQw==", "cpu": [ "x64" ], @@ -20591,48 +21571,12 @@ "os": [ "linux" ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/netbsd-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz", - "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/openbsd-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz", - "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=12" - } + "peer": true }, - "node_modules/vite/node_modules/@esbuild/sunos-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz", - "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==", + "node_modules/vite/node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.44.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.44.1.tgz", + "integrity": "sha512-iAS4p+J1az6Usn0f8xhgL4PaU878KEtutP4hqw52I4IO6AGoyOkHCxcc4bqufv1tQLdDWFx8lR9YlwxKuv3/3g==", "cpu": [ "x64" ], @@ -20640,16 +21584,14 @@ "license": "MIT", "optional": true, "os": [ - "sunos" + "linux" ], - "engines": { - "node": ">=12" - } + "peer": true }, - "node_modules/vite/node_modules/@esbuild/win32-arm64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz", - "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==", + "node_modules/vite/node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.44.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.44.1.tgz", + "integrity": "sha512-NtSJVKcXwcqozOl+FwI41OH3OApDyLk3kqTJgx8+gp6On9ZEt5mYhIsKNPGuaZr3p9T6NWPKGU/03Vw4CNU9qg==", "cpu": [ "arm64" ], @@ -20659,14 +21601,12 @@ "os": [ "win32" ], - "engines": { - "node": ">=12" - } + "peer": true }, - "node_modules/vite/node_modules/@esbuild/win32-ia32": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz", - "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==", + "node_modules/vite/node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.44.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.44.1.tgz", + "integrity": "sha512-JYA3qvCOLXSsnTR3oiyGws1Dm0YTuxAAeaYGVlGpUsHqloPcFjPg+X0Fj2qODGLNwQOAcCiQmHub/V007kiH5A==", "cpu": [ "ia32" ], @@ -20676,14 +21616,12 @@ "os": [ "win32" ], - "engines": { - "node": ">=12" - } + "peer": true }, - "node_modules/vite/node_modules/@esbuild/win32-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz", - "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==", + "node_modules/vite/node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.44.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.44.1.tgz", + "integrity": "sha512-J8o22LuF0kTe7m+8PvW9wk3/bRq5+mRo5Dqo6+vXb7otCm3TPhYOJqOaQtGU9YMWQSL3krMnoOxMr0+9E6F3Ug==", "cpu": [ "x64" ], @@ -20693,76 +21631,47 @@ "os": [ "win32" ], - "engines": { - "node": ">=12" - } + "peer": true }, - "node_modules/vite/node_modules/esbuild": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz", - "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==", + "node_modules/vite/node_modules/rollup": { + "version": "4.44.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.44.1.tgz", + "integrity": "sha512-x8H8aPvD+xbl0Do8oez5f5o8eMS3trfCghc4HhLAnCkj7Vl0d1JWGs0UF/D886zLW2rOj2QymV/JcSSsw+XDNg==", "dev": true, - "hasInstallScript": true, "license": "MIT", + "peer": true, + "dependencies": { + "@types/estree": "1.0.8" + }, "bin": { - "esbuild": "bin/esbuild" + "rollup": "dist/bin/rollup" }, "engines": { - "node": ">=12" + "node": ">=18.0.0", + "npm": ">=8.0.0" }, "optionalDependencies": { - "@esbuild/aix-ppc64": "0.21.5", - "@esbuild/android-arm": "0.21.5", - "@esbuild/android-arm64": "0.21.5", - "@esbuild/android-x64": "0.21.5", - "@esbuild/darwin-arm64": "0.21.5", - "@esbuild/darwin-x64": "0.21.5", - "@esbuild/freebsd-arm64": "0.21.5", - "@esbuild/freebsd-x64": "0.21.5", - "@esbuild/linux-arm": "0.21.5", - "@esbuild/linux-arm64": "0.21.5", - "@esbuild/linux-ia32": "0.21.5", - "@esbuild/linux-loong64": "0.21.5", - "@esbuild/linux-mips64el": "0.21.5", - "@esbuild/linux-ppc64": "0.21.5", - "@esbuild/linux-riscv64": "0.21.5", - "@esbuild/linux-s390x": "0.21.5", - "@esbuild/linux-x64": "0.21.5", - "@esbuild/netbsd-x64": "0.21.5", - "@esbuild/openbsd-x64": "0.21.5", - "@esbuild/sunos-x64": "0.21.5", - "@esbuild/win32-arm64": "0.21.5", - "@esbuild/win32-ia32": "0.21.5", - "@esbuild/win32-x64": "0.21.5" - } - }, - "node_modules/vite/node_modules/postcss": { - "version": "8.5.6", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", - "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "nanoid": "^3.3.11", - "picocolors": "^1.1.1", - "source-map-js": "^1.2.1" - }, - "engines": { - "node": "^10 || ^12 || >=14" + "@rollup/rollup-android-arm-eabi": "4.44.1", + "@rollup/rollup-android-arm64": "4.44.1", + "@rollup/rollup-darwin-arm64": "4.44.1", + "@rollup/rollup-darwin-x64": "4.44.1", + "@rollup/rollup-freebsd-arm64": "4.44.1", + "@rollup/rollup-freebsd-x64": "4.44.1", + "@rollup/rollup-linux-arm-gnueabihf": "4.44.1", + "@rollup/rollup-linux-arm-musleabihf": "4.44.1", + "@rollup/rollup-linux-arm64-gnu": "4.44.1", + "@rollup/rollup-linux-arm64-musl": "4.44.1", + "@rollup/rollup-linux-loongarch64-gnu": "4.44.1", + "@rollup/rollup-linux-powerpc64le-gnu": "4.44.1", + "@rollup/rollup-linux-riscv64-gnu": "4.44.1", + "@rollup/rollup-linux-riscv64-musl": "4.44.1", + "@rollup/rollup-linux-s390x-gnu": "4.44.1", + "@rollup/rollup-linux-x64-gnu": "4.44.1", + "@rollup/rollup-linux-x64-musl": "4.44.1", + "@rollup/rollup-win32-arm64-msvc": "4.44.1", + "@rollup/rollup-win32-ia32-msvc": "4.44.1", + "@rollup/rollup-win32-x64-msvc": "4.44.1", + "fsevents": "~2.3.2" } }, "node_modules/void-elements": { @@ -20798,9 +21707,9 @@ } }, "node_modules/watchpack": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.1.tgz", - "integrity": "sha512-8wrBCMtVhqcXP2Sup1ctSkga6uc2Bx0IIvKyT7yTFier5AXHooSI+QyQQAtTb7+E0IUCCKyTFmXqdqgum2XWGg==", + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.2.tgz", + "integrity": "sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw==", "dev": true, "license": "MIT", "dependencies": { @@ -20836,7 +21745,8 @@ "resolved": "https://registry.npmjs.org/weak-lru-cache/-/weak-lru-cache-1.2.2.tgz", "integrity": "sha512-DEAoo25RfSYMuTGc9vPJzZcZullwIqRDSI9LOy+fkCJPi6hykCnfKaXTuPBDuXAUcqHXyOgFtHNp/kB2FjYHbw==", "dev": true, - "license": "MIT" + "license": "MIT", + "optional": true }, "node_modules/webidl-conversions": { "version": "7.0.0", @@ -20849,19 +21759,19 @@ } }, "node_modules/webpack": { - "version": "5.94.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.94.0.tgz", - "integrity": "sha512-KcsGn50VT+06JH/iunZJedYGUJS5FGjow8wb9c0v5n1Om8O1g4L6LjtfxwlXIATopoQu+vOXXa7gYisWxCoPyg==", + "version": "5.98.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.98.0.tgz", + "integrity": "sha512-UFynvx+gM44Gv9qFgj0acCQK2VE1CtdfwFdimkapco3hlPCJ/zeq73n2yVKimVbtm+TnApIugGhLJnkU6gjYXA==", "dev": true, "license": "MIT", "dependencies": { - "@types/estree": "^1.0.5", - "@webassemblyjs/ast": "^1.12.1", - "@webassemblyjs/wasm-edit": "^1.12.1", - "@webassemblyjs/wasm-parser": "^1.12.1", - "acorn": "^8.7.1", - "acorn-import-attributes": "^1.9.5", - "browserslist": "^4.21.10", + "@types/eslint-scope": "^3.7.7", + "@types/estree": "^1.0.6", + "@webassemblyjs/ast": "^1.14.1", + "@webassemblyjs/wasm-edit": "^1.14.1", + "@webassemblyjs/wasm-parser": "^1.14.1", + "acorn": "^8.14.0", + "browserslist": "^4.24.0", "chrome-trace-event": "^1.0.2", "enhanced-resolve": "^5.17.1", "es-module-lexer": "^1.2.1", @@ -20873,9 +21783,9 @@ "loader-runner": "^4.2.0", "mime-types": "^2.1.27", "neo-async": "^2.6.2", - "schema-utils": "^3.2.0", + "schema-utils": "^4.3.0", "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.3.10", + "terser-webpack-plugin": "^5.3.11", "watchpack": "^2.4.1", "webpack-sources": "^3.2.3" }, @@ -20996,6 +21906,31 @@ } } }, + "node_modules/webpack-dev-server/node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, "node_modules/webpack-dev-server/node_modules/http-proxy-middleware": { "version": "2.0.9", "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.9.tgz", @@ -21068,33 +22003,6 @@ } } }, - "node_modules/webpack/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/webpack/node_modules/ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "ajv": "^6.9.1" - } - }, "node_modules/webpack/node_modules/json-parse-even-better-errors": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", @@ -21102,32 +22010,6 @@ "dev": true, "license": "MIT" }, - "node_modules/webpack/node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true, - "license": "MIT" - }, - "node_modules/webpack/node_modules/schema-utils": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", - "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, "node_modules/webpack/node_modules/watchpack": { "version": "2.4.4", "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.4.tgz", @@ -21592,9 +22474,9 @@ } }, "node_modules/zone.js": { - "version": "0.14.10", - "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.14.10.tgz", - "integrity": "sha512-YGAhaO7J5ywOXW6InXNlLmfU194F8lVgu7bRntUF3TiG8Y3nBK0x1UJJuHUP/e8IyihkjCYqhCScpSwnlaSRkQ==", + "version": "0.15.1", + "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.15.1.tgz", + "integrity": "sha512-XE96n56IQpJM7NAoXswY3XRLcWFW83xe0BiAOeMD7K5k5xecOeul3Qcpx6GqEeeHNkW5DWL5zOyTbEfB4eti8w==", "license": "MIT" } } diff --git a/package.json b/package.json index e0de5b1..f994f0d 100644 --- a/package.json +++ b/package.json @@ -21,30 +21,30 @@ }, "private": true, "dependencies": { - "@angular/animations": "^18.2.13", + "@angular/animations": "^19.2.14", "@angular/cdk": "^18.2.14", - "@angular/common": "^18.2.13", - "@angular/compiler": "^18.2.13", - "@angular/core": "^18.2.13", - "@angular/forms": "^18.2.13", + "@angular/common": "^19.2.14", + "@angular/compiler": "^19.2.14", + "@angular/core": "^19.2.14", + "@angular/forms": "^19.2.14", "@angular/material": "^18.2.14", - "@angular/platform-browser": "^18.2.13", - "@angular/platform-browser-dynamic": "^18.2.13", - "@angular/router": "^18.2.13", + "@angular/platform-browser": "^19.2.14", + "@angular/platform-browser-dynamic": "^19.2.14", + "@angular/router": "^19.2.14", "@types/web-bluetooth": "0.0.6", "rxjs": "~7.8.0", "smoothie": "^1.35.0", "ts-jest": "^29.0.5", "tslib": "^2.3.0", - "zone.js": "~0.14.3" + "zone.js": "~0.15.1" }, "devDependencies": { - "@angular-builders/jest": "^18.0.0", - "@angular-devkit/build-angular": "^18.2.20", - "@angular-devkit/core": "^18.2.20", - "@angular/cli": "^18.2.20", - "@angular/compiler-cli": "^18.2.13", - "@angular/language-service": "^18.2.13", + "@angular-builders/jest": "^19.0.0", + "@angular-devkit/build-angular": "^19.2.15", + "@angular-devkit/core": "^19.2.15", + "@angular/cli": "^19.2.15", + "@angular/compiler-cli": "^19.2.14", + "@angular/language-service": "^19.2.14", "@compodoc/compodoc": "^1.1.11", "@types/jasmine": "~5.1.4", "@types/jasminewd2": "~2.0.8", @@ -59,7 +59,7 @@ "karma-coverage": "~2.2.0", "karma-jasmine": "~5.1.0", "karma-jasmine-html-reporter": "~2.1.0", - "ng-packagr": "^18.2.1", + "ng-packagr": "^19.2.2", "release-it": "^17.0.3", "typescript": "~5.5.4" } diff --git a/src/app/app.component.ts b/src/app/app.component.ts index 9af4a31..18020b8 100644 --- a/src/app/app.component.ts +++ b/src/app/app.component.ts @@ -1,9 +1,10 @@ import { Component } from '@angular/core'; @Component({ - selector: 'ble-root', - template: ` + selector: 'ble-root', + template: ` - ` + `, + standalone: false }) export class AppComponent {} diff --git a/src/app/dashboard/dashboard.component.ts b/src/app/dashboard/dashboard.component.ts index 13bf9eb..6a5cba3 100644 --- a/src/app/dashboard/dashboard.component.ts +++ b/src/app/dashboard/dashboard.component.ts @@ -1,9 +1,10 @@ import { Component } from '@angular/core'; @Component({ - selector: 'ble-dashboard', - templateUrl: './dashboard.component.html', - styleUrls: ['./dashboard.component.css'], + selector: 'ble-dashboard', + templateUrl: './dashboard.component.html', + styleUrls: ['./dashboard.component.css'], + standalone: false }) export class DashboardComponent { diff --git a/src/app/thingy52/battery-level.component.ts b/src/app/thingy52/battery-level.component.ts index e018c76..928ec20 100644 --- a/src/app/thingy52/battery-level.component.ts +++ b/src/app/thingy52/battery-level.component.ts @@ -28,8 +28,8 @@ const PROVIDERS = [ ]; @Component({ - selector: 'ble-battery-level', - template: ` + selector: 'ble-battery-level', + template: ` {{ value || '000' }}% battery_charging_full `, - styles: [ - ` + styles: [ + ` :host { display: flex; justify-content: center; @@ -69,8 +69,9 @@ const PROVIDERS = [ bottom: 255px; } `, - ], - providers: PROVIDERS, + ], + providers: PROVIDERS, + standalone: false }) export class BatteryLevelComponent implements OnInit, OnDestroy { value = 0; diff --git a/src/app/thingy52/humidity.component.ts b/src/app/thingy52/humidity.component.ts index 5a6acf6..30ee979 100644 --- a/src/app/thingy52/humidity.component.ts +++ b/src/app/thingy52/humidity.component.ts @@ -21,18 +21,19 @@ const PROVIDERS = [{ }]; @Component({ - selector: 'ble-humidity', - template: ` + selector: 'ble-humidity', + template: ` `, - styles: [` + styles: [` :host { display: block; } canvas { margin-left: -16px; }`], - providers: PROVIDERS + providers: PROVIDERS, + standalone: false }) export class HumidityComponent implements OnInit, OnDestroy { series: TimeSeries | null = null; diff --git a/src/app/thingy52/stepcounter.component.ts b/src/app/thingy52/stepcounter.component.ts index c55a9d2..8cc741b 100644 --- a/src/app/thingy52/stepcounter.component.ts +++ b/src/app/thingy52/stepcounter.component.ts @@ -20,12 +20,12 @@ const PROVIDERS = [{ }]; @Component({ - selector: 'ble-stepcounter', - template: ` + selector: 'ble-stepcounter', + template: ` {{ value || "000" }} directions_walk `, - styles: [` + styles: [` :host { display: block; } @@ -43,7 +43,8 @@ const PROVIDERS = [{ width: 100%; height: 100%; }`], - providers: PROVIDERS + providers: PROVIDERS, + standalone: false }) export class StepCounterComponent implements OnInit, OnDestroy { valuesSubscription: Subscription | null = null; diff --git a/src/app/thingy52/temperature.component.ts b/src/app/thingy52/temperature.component.ts index bef2125..82f7beb 100644 --- a/src/app/thingy52/temperature.component.ts +++ b/src/app/thingy52/temperature.component.ts @@ -34,10 +34,10 @@ const PROVIDERS = [ ]; @Component({ - selector: 'ble-temperature', - template: ` `, - styles: [ - ` + selector: 'ble-temperature', + template: ` `, + styles: [ + ` :host { display: block; } @@ -45,8 +45,9 @@ const PROVIDERS = [ margin-left: -16px; } `, - ], - providers: PROVIDERS, + ], + providers: PROVIDERS, + standalone: false }) export class TemperatureComponent implements OnInit, OnDestroy { series: TimeSeries | null = null; From 5db16f2dbc35a8dfd267efdb46e491851332804b Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 27 Jun 2025 07:45:14 +0000 Subject: [PATCH 05/10] Update Angular Material and CDK to v19 Co-authored-by: manekinekko <1699357+manekinekko@users.noreply.github.com> --- package-lock.json | 431 ++++++---------------------------------------- package.json | 4 +- 2 files changed, 56 insertions(+), 379 deletions(-) diff --git a/package-lock.json b/package-lock.json index 0a28c1e..679facf 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,12 +9,12 @@ "version": "17.1.0", "dependencies": { "@angular/animations": "^19.2.14", - "@angular/cdk": "^18.2.14", + "@angular/cdk": "^19.2.19", "@angular/common": "^19.2.14", "@angular/compiler": "^19.2.14", "@angular/core": "^19.2.14", "@angular/forms": "^19.2.14", - "@angular/material": "^18.2.14", + "@angular/material": "^19.2.19", "@angular/platform-browser": "^19.2.14", "@angular/platform-browser-dynamic": "^19.2.14", "@angular/router": "^19.2.14", @@ -26,7 +26,7 @@ "zone.js": "~0.15.1" }, "devDependencies": { - "@angular-builders/jest": "^18.0.0", + "@angular-builders/jest": "^19.0.0", "@angular-devkit/build-angular": "^19.2.15", "@angular-devkit/core": "^19.2.15", "@angular/cli": "^19.2.15", @@ -72,213 +72,57 @@ } }, "node_modules/@angular-builders/common": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@angular-builders/common/-/common-2.0.0.tgz", - "integrity": "sha512-O5YJc++DtJVJhqA/OomRKN2jGYzvU/YXtfrPAqcA9Is3Ob5jvV0L0JHSAjSw/KaLvk/FjBIqoRVcYdLp5LKddA==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@angular-builders/common/-/common-3.0.1.tgz", + "integrity": "sha512-AIIqWtlr3sc2+CTEOqbDsrpVvkT6ijfYzvzPk1HLFrcP9Y2tYLXVFc+gGThlE+e1Om0pKminXcINEqm3J/yY5g==", "dev": true, "license": "MIT", "dependencies": { - "@angular-devkit/core": "^18.0.0", + "@angular-devkit/core": "^19.0.0", "ts-node": "^10.0.0", "tsconfig-paths": "^4.1.0" }, "engines": { - "node": "^14.20.0 || ^16.13.0 || >=18.10.0" - } - }, - "node_modules/@angular-builders/common/node_modules/@angular-devkit/core": { - "version": "18.2.20", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-18.2.20.tgz", - "integrity": "sha512-VNxI2e9EZQNqKYtUJ4u43QRJ9kObeyG9f69caxnj28cg4qim3H1vX/sglnodP8EsTIRbzwBKc884ebHWFdQJkQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ajv": "8.17.1", - "ajv-formats": "3.0.1", - "jsonc-parser": "3.3.1", - "picomatch": "4.0.2", - "rxjs": "7.8.1", - "source-map": "0.7.4" - }, - "engines": { - "node": "^18.19.1 || ^20.11.1 || >=22.0.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" - }, - "peerDependencies": { - "chokidar": "^3.5.2" - }, - "peerDependenciesMeta": { - "chokidar": { - "optional": true - } - } - }, - "node_modules/@angular-builders/common/node_modules/ajv-formats": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-3.0.1.tgz", - "integrity": "sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ajv": "^8.0.0" - }, - "peerDependencies": { - "ajv": "^8.0.0" - }, - "peerDependenciesMeta": { - "ajv": { - "optional": true - } - } - }, - "node_modules/@angular-builders/common/node_modules/chokidar": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", - "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", - "dev": true, - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/@angular-builders/common/node_modules/rxjs": { - "version": "7.8.1", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", - "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.1.0" + "node": "^18.19.1 || ^20.11.1 || >=22.0.0" } }, "node_modules/@angular-builders/jest": { - "version": "18.0.0", - "resolved": "https://registry.npmjs.org/@angular-builders/jest/-/jest-18.0.0.tgz", - "integrity": "sha512-nPNWMlV1ryjir6CC8dY8f6yaNe0lM1VJwbvYM99HmJSeRo+1IwouQQGUjRM/2Dx4OMAmL4EAPh7Ud2nr3Gj/FA==", + "version": "19.0.1", + "resolved": "https://registry.npmjs.org/@angular-builders/jest/-/jest-19.0.1.tgz", + "integrity": "sha512-mi4HMQkyb1Z+pPRIKt70Uk/EBoDUirPqhv3xlz1/WpPqpxXz8y+Y3ffutot4JJDmzJw2p4h3x2hh6D3Kbocraw==", "dev": true, "license": "MIT", "dependencies": { - "@angular-builders/common": "2.0.0", - "@angular-devkit/architect": ">=0.1800.0 < 0.1900.0", - "@angular-devkit/core": "^18.0.0", - "jest-preset-angular": "14.1.0", + "@angular-builders/common": "3.0.1", + "@angular-devkit/architect": ">=0.1900.0 < 0.2000.0", + "@angular-devkit/core": "^19.0.0", + "jest-preset-angular": "14.5.4", "lodash": "^4.17.15" }, "engines": { - "node": "^14.20.0 || ^16.13.0 || >=18.10.0" + "node": "^18.19.1 || ^20.11.1 || >=22.0.0" }, "peerDependencies": { - "@angular-devkit/build-angular": "^18.0.0", - "@angular/compiler-cli": "^18.0.0", - "@angular/core": "^18.0.0", - "@angular/platform-browser-dynamic": "^18.0.0", + "@angular-devkit/build-angular": "^19.0.0", + "@angular/compiler-cli": "^19.0.0", + "@angular/core": "^19.0.0", + "@angular/platform-browser-dynamic": "^19.0.0", "jest": ">=29" } }, - "node_modules/@angular-builders/jest/node_modules/@angular-devkit/core": { - "version": "18.2.20", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-18.2.20.tgz", - "integrity": "sha512-VNxI2e9EZQNqKYtUJ4u43QRJ9kObeyG9f69caxnj28cg4qim3H1vX/sglnodP8EsTIRbzwBKc884ebHWFdQJkQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ajv": "8.17.1", - "ajv-formats": "3.0.1", - "jsonc-parser": "3.3.1", - "picomatch": "4.0.2", - "rxjs": "7.8.1", - "source-map": "0.7.4" - }, - "engines": { - "node": "^18.19.1 || ^20.11.1 || >=22.0.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" - }, - "peerDependencies": { - "chokidar": "^3.5.2" - }, - "peerDependenciesMeta": { - "chokidar": { - "optional": true - } - } - }, - "node_modules/@angular-builders/jest/node_modules/ajv-formats": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-3.0.1.tgz", - "integrity": "sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ajv": "^8.0.0" - }, - "peerDependencies": { - "ajv": "^8.0.0" - }, - "peerDependenciesMeta": { - "ajv": { - "optional": true - } - } - }, - "node_modules/@angular-builders/jest/node_modules/chokidar": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", - "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", - "dev": true, - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, "node_modules/@angular-builders/jest/node_modules/jest-preset-angular": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/jest-preset-angular/-/jest-preset-angular-14.1.0.tgz", - "integrity": "sha512-UJwPtpsAMl30UtBjHW0Ai0hhoKsNURC1dXH5tSYjumUsWR7iDke+oBEykz7uXv4rN+PWgeNIqkxo4KHQjOITlw==", + "version": "14.5.4", + "resolved": "https://registry.npmjs.org/jest-preset-angular/-/jest-preset-angular-14.5.4.tgz", + "integrity": "sha512-vbil9qTrZljzVJNsDIxEhWVb4r6BQumXEgIHCAVkHJjpF1fYkIB4bczPAe58lBZH2gKeRHBSj8/IoGpGBI1qiQ==", "dev": true, "license": "MIT", "dependencies": { "bs-logger": "^0.2.6", "esbuild-wasm": ">=0.15.13", - "jest-environment-jsdom": "^29.0.0", - "jest-util": "^29.0.0", - "pretty-format": "^29.0.0", - "ts-jest": "^29.0.0" + "jest-environment-jsdom": "^29.7.0", + "jest-util": "^29.7.0", + "pretty-format": "^29.7.0", + "ts-jest": "^29.3.0" }, "engines": { "node": "^14.15.0 || >=16.10.0" @@ -287,32 +131,27 @@ "esbuild": ">=0.15.13" }, "peerDependencies": { - "@angular-devkit/build-angular": ">=15.0.0 <19.0.0", - "@angular/compiler-cli": ">=15.0.0 <19.0.0", - "@angular/core": ">=15.0.0 <19.0.0", - "@angular/platform-browser-dynamic": ">=15.0.0 <19.0.0", + "@angular/compiler-cli": ">=15.0.0 <20.0.0", + "@angular/core": ">=15.0.0 <20.0.0", + "@angular/platform-browser-dynamic": ">=15.0.0 <20.0.0", "jest": "^29.0.0", + "jsdom": ">=20.0.0", "typescript": ">=4.8" - } - }, - "node_modules/@angular-builders/jest/node_modules/rxjs": { - "version": "7.8.1", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", - "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.1.0" + }, + "peerDependenciesMeta": { + "jsdom": { + "optional": true + } } }, "node_modules/@angular-devkit/architect": { - "version": "0.1802.20", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1802.20.tgz", - "integrity": "sha512-nNUv2541/X4V0vtT2F6wCT+/GAY8v+J8MRMh8kGBVdyV9EdtSTWxHAvE1WhX5uE7VUCNegDfElxvAR9Vq8qSig==", + "version": "0.1902.15", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1902.15.tgz", + "integrity": "sha512-RbqhStc6ZoRv57ZqLB36VOkBkAdU3nNezCvIs0AJV5V4+vLPMrb0hpIB0sF+9yMlMjWsolnRsj0/Fil+zQG3bw==", "dev": true, "license": "MIT", "dependencies": { - "@angular-devkit/core": "18.2.20", + "@angular-devkit/core": "19.2.15", "rxjs": "7.8.1" }, "engines": { @@ -321,79 +160,6 @@ "yarn": ">= 1.13.0" } }, - "node_modules/@angular-devkit/architect/node_modules/@angular-devkit/core": { - "version": "18.2.20", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-18.2.20.tgz", - "integrity": "sha512-VNxI2e9EZQNqKYtUJ4u43QRJ9kObeyG9f69caxnj28cg4qim3H1vX/sglnodP8EsTIRbzwBKc884ebHWFdQJkQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ajv": "8.17.1", - "ajv-formats": "3.0.1", - "jsonc-parser": "3.3.1", - "picomatch": "4.0.2", - "rxjs": "7.8.1", - "source-map": "0.7.4" - }, - "engines": { - "node": "^18.19.1 || ^20.11.1 || >=22.0.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" - }, - "peerDependencies": { - "chokidar": "^3.5.2" - }, - "peerDependenciesMeta": { - "chokidar": { - "optional": true - } - } - }, - "node_modules/@angular-devkit/architect/node_modules/ajv-formats": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-3.0.1.tgz", - "integrity": "sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ajv": "^8.0.0" - }, - "peerDependencies": { - "ajv": "^8.0.0" - }, - "peerDependenciesMeta": { - "ajv": { - "optional": true - } - } - }, - "node_modules/@angular-devkit/architect/node_modules/chokidar": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", - "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", - "dev": true, - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, "node_modules/@angular-devkit/architect/node_modules/rxjs": { "version": "7.8.1", "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", @@ -530,22 +296,6 @@ } } }, - "node_modules/@angular-devkit/build-angular/node_modules/@angular-devkit/architect": { - "version": "0.1902.15", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1902.15.tgz", - "integrity": "sha512-RbqhStc6ZoRv57ZqLB36VOkBkAdU3nNezCvIs0AJV5V4+vLPMrb0hpIB0sF+9yMlMjWsolnRsj0/Fil+zQG3bw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@angular-devkit/core": "19.2.15", - "rxjs": "7.8.1" - }, - "engines": { - "node": "^18.19.1 || ^20.11.1 || >=22.0.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" - } - }, "node_modules/@angular-devkit/build-angular/node_modules/istanbul-lib-instrument": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.3.tgz", @@ -635,22 +385,6 @@ "webpack-dev-server": "^5.0.2" } }, - "node_modules/@angular-devkit/build-webpack/node_modules/@angular-devkit/architect": { - "version": "0.1902.15", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1902.15.tgz", - "integrity": "sha512-RbqhStc6ZoRv57ZqLB36VOkBkAdU3nNezCvIs0AJV5V4+vLPMrb0hpIB0sF+9yMlMjWsolnRsj0/Fil+zQG3bw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@angular-devkit/core": "19.2.15", - "rxjs": "7.8.1" - }, - "engines": { - "node": "^18.19.1 || ^20.11.1 || >=22.0.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" - } - }, "node_modules/@angular-devkit/build-webpack/node_modules/rxjs": { "version": "7.8.1", "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", @@ -858,22 +592,6 @@ } } }, - "node_modules/@angular/build/node_modules/@angular-devkit/architect": { - "version": "0.1902.15", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1902.15.tgz", - "integrity": "sha512-RbqhStc6ZoRv57ZqLB36VOkBkAdU3nNezCvIs0AJV5V4+vLPMrb0hpIB0sF+9yMlMjWsolnRsj0/Fil+zQG3bw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@angular-devkit/core": "19.2.15", - "rxjs": "7.8.1" - }, - "engines": { - "node": "^18.19.1 || ^20.11.1 || >=22.0.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" - } - }, "node_modules/@angular/build/node_modules/@babel/plugin-syntax-import-attributes": { "version": "7.26.0", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.26.0.tgz", @@ -917,16 +635,6 @@ "@jridgewell/sourcemap-codec": "^1.5.0" } }, - "node_modules/@angular/build/node_modules/rxjs": { - "version": "7.8.1", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", - "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.1.0" - } - }, "node_modules/@angular/build/node_modules/semver": { "version": "7.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", @@ -1013,19 +721,17 @@ } }, "node_modules/@angular/cdk": { - "version": "18.2.14", - "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-18.2.14.tgz", - "integrity": "sha512-vDyOh1lwjfVk9OqoroZAP8pf3xxKUvyl+TVR8nJxL4c5fOfUFkD7l94HaanqKSRwJcI2xiztuu92IVoHn8T33Q==", + "version": "19.2.19", + "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-19.2.19.tgz", + "integrity": "sha512-PCpJagurPBqciqcq4Z8+3OtKLb7rSl4w/qBJoIMua8CgnrjvA1i+SWawhdtfI1zlY8FSwhzLwXV0CmWWfFzQPg==", "license": "MIT", "dependencies": { + "parse5": "^7.1.2", "tslib": "^2.3.0" }, - "optionalDependencies": { - "parse5": "^7.1.2" - }, "peerDependencies": { - "@angular/common": "^18.0.0 || ^19.0.0", - "@angular/core": "^18.0.0 || ^19.0.0", + "@angular/common": "^19.0.0 || ^20.0.0", + "@angular/core": "^19.0.0 || ^20.0.0", "rxjs": "^6.5.3 || ^7.4.0" } }, @@ -1063,32 +769,6 @@ "yarn": ">= 1.13.0" } }, - "node_modules/@angular/cli/node_modules/@angular-devkit/architect": { - "version": "0.1902.15", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1902.15.tgz", - "integrity": "sha512-RbqhStc6ZoRv57ZqLB36VOkBkAdU3nNezCvIs0AJV5V4+vLPMrb0hpIB0sF+9yMlMjWsolnRsj0/Fil+zQG3bw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@angular-devkit/core": "19.2.15", - "rxjs": "7.8.1" - }, - "engines": { - "node": "^18.19.1 || ^20.11.1 || >=22.0.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" - } - }, - "node_modules/@angular/cli/node_modules/rxjs": { - "version": "7.8.1", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", - "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.1.0" - } - }, "node_modules/@angular/cli/node_modules/semver": { "version": "7.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", @@ -1252,20 +932,19 @@ } }, "node_modules/@angular/material": { - "version": "18.2.14", - "resolved": "https://registry.npmjs.org/@angular/material/-/material-18.2.14.tgz", - "integrity": "sha512-28pxzJP49Mymt664WnCtPkKeg7kXUsQKTKGf/Kl95rNTEdTJLbnlcc8wV0rT0yQNR7kXgpfBnG7h0ETLv/iu5Q==", + "version": "19.2.19", + "resolved": "https://registry.npmjs.org/@angular/material/-/material-19.2.19.tgz", + "integrity": "sha512-auIE6JUzTIA3LyYklh9J/T7u64crmphxUBgAa0zcOMDog6SYfwbNe9YeLQqua5ek4OUAOdK/BHHfVl5W5iaUoQ==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" }, "peerDependencies": { - "@angular/animations": "^18.0.0 || ^19.0.0", - "@angular/cdk": "18.2.14", - "@angular/common": "^18.0.0 || ^19.0.0", - "@angular/core": "^18.0.0 || ^19.0.0", - "@angular/forms": "^18.0.0 || ^19.0.0", - "@angular/platform-browser": "^18.0.0 || ^19.0.0", + "@angular/cdk": "19.2.19", + "@angular/common": "^19.0.0 || ^20.0.0", + "@angular/core": "^19.0.0 || ^20.0.0", + "@angular/forms": "^19.0.0 || ^20.0.0", + "@angular/platform-browser": "^19.0.0 || ^20.0.0", "rxjs": "^6.5.3 || ^7.4.0" } }, @@ -16790,7 +16469,6 @@ "version": "7.3.0", "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.3.0.tgz", "integrity": "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==", - "devOptional": true, "license": "MIT", "dependencies": { "entities": "^6.0.0" @@ -16845,7 +16523,6 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", - "devOptional": true, "license": "BSD-2-Clause", "engines": { "node": ">=0.12" diff --git a/package.json b/package.json index f994f0d..4bfb72c 100644 --- a/package.json +++ b/package.json @@ -22,12 +22,12 @@ "private": true, "dependencies": { "@angular/animations": "^19.2.14", - "@angular/cdk": "^18.2.14", + "@angular/cdk": "^19.2.19", "@angular/common": "^19.2.14", "@angular/compiler": "^19.2.14", "@angular/core": "^19.2.14", "@angular/forms": "^19.2.14", - "@angular/material": "^18.2.14", + "@angular/material": "^19.2.19", "@angular/platform-browser": "^19.2.14", "@angular/platform-browser-dynamic": "^19.2.14", "@angular/router": "^19.2.14", From 8de58bd2e2930b13b31a5474b1e70d418677f2d7 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 27 Jun 2025 07:46:38 +0000 Subject: [PATCH 06/10] Upgrade Angular from v19 to v20 Co-authored-by: manekinekko <1699357+manekinekko@users.noreply.github.com> --- angular.json | 26 + package-lock.json | 3445 ++++++++++++++++++++++++++------------------- package.json | 32 +- tsconfig.json | 2 +- 4 files changed, 2033 insertions(+), 1472 deletions(-) diff --git a/angular.json b/angular.json index 1c0e340..357e567 100644 --- a/angular.json +++ b/angular.json @@ -131,5 +131,31 @@ }, "cli": { "analytics": "6c503e91-213a-464d-801c-5af37e13087c" + }, + "schematics": { + "@schematics/angular:component": { + "type": "component" + }, + "@schematics/angular:directive": { + "type": "directive" + }, + "@schematics/angular:service": { + "type": "service" + }, + "@schematics/angular:guard": { + "typeSeparator": "." + }, + "@schematics/angular:interceptor": { + "typeSeparator": "." + }, + "@schematics/angular:module": { + "typeSeparator": "." + }, + "@schematics/angular:pipe": { + "typeSeparator": "." + }, + "@schematics/angular:resolver": { + "typeSeparator": "." + } } } diff --git a/package-lock.json b/package-lock.json index 679facf..cd21bc5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,16 +8,16 @@ "name": "angular-web-bluetooth-starter", "version": "17.1.0", "dependencies": { - "@angular/animations": "^19.2.14", + "@angular/animations": "^20.0.5", "@angular/cdk": "^19.2.19", - "@angular/common": "^19.2.14", - "@angular/compiler": "^19.2.14", - "@angular/core": "^19.2.14", - "@angular/forms": "^19.2.14", + "@angular/common": "^20.0.5", + "@angular/compiler": "^20.0.5", + "@angular/core": "^20.0.5", + "@angular/forms": "^20.0.5", "@angular/material": "^19.2.19", - "@angular/platform-browser": "^19.2.14", - "@angular/platform-browser-dynamic": "^19.2.14", - "@angular/router": "^19.2.14", + "@angular/platform-browser": "^20.0.5", + "@angular/platform-browser-dynamic": "^20.0.5", + "@angular/router": "^20.0.5", "@types/web-bluetooth": "0.0.6", "rxjs": "~7.8.0", "smoothie": "^1.35.0", @@ -27,11 +27,11 @@ }, "devDependencies": { "@angular-builders/jest": "^19.0.0", - "@angular-devkit/build-angular": "^19.2.15", - "@angular-devkit/core": "^19.2.15", - "@angular/cli": "^19.2.15", - "@angular/compiler-cli": "^19.2.14", - "@angular/language-service": "^19.2.14", + "@angular-devkit/build-angular": "^20.0.4", + "@angular-devkit/core": "^20.0.4", + "@angular/cli": "^20.0.4", + "@angular/compiler-cli": "^20.0.5", + "@angular/language-service": "^20.0.5", "@compodoc/compodoc": "^1.1.11", "@types/jasmine": "~5.1.4", "@types/jasminewd2": "~2.0.8", @@ -46,9 +46,9 @@ "karma-coverage": "~2.2.0", "karma-jasmine": "~5.1.0", "karma-jasmine-html-reporter": "~2.1.0", - "ng-packagr": "^19.2.2", + "ng-packagr": "^20.0.1", "release-it": "^17.0.3", - "typescript": "~5.5.4" + "typescript": "~5.8.3" } }, "node_modules/@aduh95/viz.js": { @@ -86,6 +86,62 @@ "node": "^18.19.1 || ^20.11.1 || >=22.0.0" } }, + "node_modules/@angular-builders/common/node_modules/@angular-devkit/core": { + "version": "19.2.15", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-19.2.15.tgz", + "integrity": "sha512-pU2RZYX6vhd7uLSdLwPnuBcr0mXJSjp3EgOXKsrlQFQZevc+Qs+2JdXgIElnOT/aDqtRtriDmLlSbtdE8n3ZbA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "8.17.1", + "ajv-formats": "3.0.1", + "jsonc-parser": "3.3.1", + "picomatch": "4.0.2", + "rxjs": "7.8.1", + "source-map": "0.7.4" + }, + "engines": { + "node": "^18.19.1 || ^20.11.1 || >=22.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "peerDependencies": { + "chokidar": "^4.0.0" + }, + "peerDependenciesMeta": { + "chokidar": { + "optional": true + } + } + }, + "node_modules/@angular-builders/common/node_modules/ajv-formats": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-3.0.1.tgz", + "integrity": "sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/@angular-builders/common/node_modules/rxjs": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", + "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.1.0" + } + }, "node_modules/@angular-builders/jest": { "version": "19.0.1", "resolved": "https://registry.npmjs.org/@angular-builders/jest/-/jest-19.0.1.tgz", @@ -110,6 +166,52 @@ "jest": ">=29" } }, + "node_modules/@angular-builders/jest/node_modules/@angular-devkit/core": { + "version": "19.2.15", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-19.2.15.tgz", + "integrity": "sha512-pU2RZYX6vhd7uLSdLwPnuBcr0mXJSjp3EgOXKsrlQFQZevc+Qs+2JdXgIElnOT/aDqtRtriDmLlSbtdE8n3ZbA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "8.17.1", + "ajv-formats": "3.0.1", + "jsonc-parser": "3.3.1", + "picomatch": "4.0.2", + "rxjs": "7.8.1", + "source-map": "0.7.4" + }, + "engines": { + "node": "^18.19.1 || ^20.11.1 || >=22.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "peerDependencies": { + "chokidar": "^4.0.0" + }, + "peerDependenciesMeta": { + "chokidar": { + "optional": true + } + } + }, + "node_modules/@angular-builders/jest/node_modules/ajv-formats": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-3.0.1.tgz", + "integrity": "sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, "node_modules/@angular-builders/jest/node_modules/jest-preset-angular": { "version": "14.5.4", "resolved": "https://registry.npmjs.org/jest-preset-angular/-/jest-preset-angular-14.5.4.tgz", @@ -144,6 +246,16 @@ } } }, + "node_modules/@angular-builders/jest/node_modules/rxjs": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", + "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.1.0" + } + }, "node_modules/@angular-devkit/architect": { "version": "0.1902.15", "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1902.15.tgz", @@ -160,6 +272,52 @@ "yarn": ">= 1.13.0" } }, + "node_modules/@angular-devkit/architect/node_modules/@angular-devkit/core": { + "version": "19.2.15", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-19.2.15.tgz", + "integrity": "sha512-pU2RZYX6vhd7uLSdLwPnuBcr0mXJSjp3EgOXKsrlQFQZevc+Qs+2JdXgIElnOT/aDqtRtriDmLlSbtdE8n3ZbA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "8.17.1", + "ajv-formats": "3.0.1", + "jsonc-parser": "3.3.1", + "picomatch": "4.0.2", + "rxjs": "7.8.1", + "source-map": "0.7.4" + }, + "engines": { + "node": "^18.19.1 || ^20.11.1 || >=22.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "peerDependencies": { + "chokidar": "^4.0.0" + }, + "peerDependenciesMeta": { + "chokidar": { + "optional": true + } + } + }, + "node_modules/@angular-devkit/architect/node_modules/ajv-formats": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-3.0.1.tgz", + "integrity": "sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, "node_modules/@angular-devkit/architect/node_modules/rxjs": { "version": "7.8.1", "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", @@ -171,96 +329,104 @@ } }, "node_modules/@angular-devkit/build-angular": { - "version": "19.2.15", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-19.2.15.tgz", - "integrity": "sha512-mqudAcyrSp/E7ZQdQoHfys0/nvQuwyJDaAzj3qL3HUStuUzb5ULNOj2f6sFBo+xYo+/WT8IzmzDN9DCqDgvFaA==", + "version": "20.0.4", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-20.0.4.tgz", + "integrity": "sha512-YUf9hRAd//yu44vGMnET1ajmUMXwSz0t4rOajDj5yb57sYS9eYu912K2pWfDNDNJncOshtpklvBqUDngDNcPDw==", "dev": true, "license": "MIT", "dependencies": { "@ampproject/remapping": "2.3.0", - "@angular-devkit/architect": "0.1902.15", - "@angular-devkit/build-webpack": "0.1902.15", - "@angular-devkit/core": "19.2.15", - "@angular/build": "19.2.15", - "@babel/core": "7.26.10", - "@babel/generator": "7.26.10", - "@babel/helper-annotate-as-pure": "7.25.9", + "@angular-devkit/architect": "0.2000.4", + "@angular-devkit/build-webpack": "0.2000.4", + "@angular-devkit/core": "20.0.4", + "@angular/build": "20.0.4", + "@babel/core": "7.27.1", + "@babel/generator": "7.27.1", + "@babel/helper-annotate-as-pure": "7.27.1", "@babel/helper-split-export-declaration": "7.24.7", - "@babel/plugin-transform-async-generator-functions": "7.26.8", - "@babel/plugin-transform-async-to-generator": "7.25.9", - "@babel/plugin-transform-runtime": "7.26.10", - "@babel/preset-env": "7.26.9", - "@babel/runtime": "7.26.10", + "@babel/plugin-transform-async-generator-functions": "7.27.1", + "@babel/plugin-transform-async-to-generator": "7.27.1", + "@babel/plugin-transform-runtime": "7.27.1", + "@babel/preset-env": "7.27.2", + "@babel/runtime": "7.27.1", "@discoveryjs/json-ext": "0.6.3", - "@ngtools/webpack": "19.2.15", - "@vitejs/plugin-basic-ssl": "1.2.0", + "@ngtools/webpack": "20.0.4", + "@vitejs/plugin-basic-ssl": "2.0.0", "ansi-colors": "4.1.3", - "autoprefixer": "10.4.20", - "babel-loader": "9.2.1", + "autoprefixer": "10.4.21", + "babel-loader": "10.0.0", "browserslist": "^4.21.5", - "copy-webpack-plugin": "12.0.2", + "copy-webpack-plugin": "13.0.0", "css-loader": "7.1.2", - "esbuild-wasm": "0.25.4", + "esbuild-wasm": "0.25.5", "fast-glob": "3.3.3", "http-proxy-middleware": "3.0.5", "istanbul-lib-instrument": "6.0.3", "jsonc-parser": "3.3.1", "karma-source-map-support": "1.4.0", - "less": "4.2.2", - "less-loader": "12.2.0", + "less": "4.3.0", + "less-loader": "12.3.0", "license-webpack-plugin": "4.0.2", "loader-utils": "3.3.1", "mini-css-extract-plugin": "2.9.2", - "open": "10.1.0", - "ora": "5.4.1", + "open": "10.1.2", + "ora": "8.2.0", "picomatch": "4.0.2", - "piscina": "4.8.0", - "postcss": "8.5.2", + "piscina": "5.1.1", + "postcss": "8.5.3", "postcss-loader": "8.1.1", "resolve-url-loader": "5.0.0", - "rxjs": "7.8.1", - "sass": "1.85.0", + "rxjs": "7.8.2", + "sass": "1.88.0", "sass-loader": "16.0.5", - "semver": "7.7.1", + "semver": "7.7.2", "source-map-loader": "5.0.0", "source-map-support": "0.5.21", - "terser": "5.39.0", + "terser": "5.39.1", "tree-kill": "1.2.2", "tslib": "2.8.1", - "webpack": "5.98.0", + "webpack": "5.99.8", "webpack-dev-middleware": "7.4.2", - "webpack-dev-server": "5.2.2", + "webpack-dev-server": "5.2.1", "webpack-merge": "6.0.1", "webpack-subresource-integrity": "5.1.0" }, "engines": { - "node": "^18.19.1 || ^20.11.1 || >=22.0.0", + "node": "^20.19.0 || ^22.12.0 || >=24.0.0", "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", "yarn": ">= 1.13.0" }, "optionalDependencies": { - "esbuild": "0.25.4" + "esbuild": "0.25.5" }, "peerDependencies": { - "@angular/compiler-cli": "^19.0.0 || ^19.2.0-next.0", - "@angular/localize": "^19.0.0 || ^19.2.0-next.0", - "@angular/platform-server": "^19.0.0 || ^19.2.0-next.0", - "@angular/service-worker": "^19.0.0 || ^19.2.0-next.0", - "@angular/ssr": "^19.2.15", + "@angular/compiler-cli": "^20.0.0", + "@angular/core": "^20.0.0", + "@angular/localize": "^20.0.0", + "@angular/platform-browser": "^20.0.0", + "@angular/platform-server": "^20.0.0", + "@angular/service-worker": "^20.0.0", + "@angular/ssr": "^20.0.4", "@web/test-runner": "^0.20.0", "browser-sync": "^3.0.2", "jest": "^29.5.0", "jest-environment-jsdom": "^29.5.0", "karma": "^6.3.0", - "ng-packagr": "^19.0.0 || ^19.2.0-next.0", + "ng-packagr": "^20.0.0", "protractor": "^7.0.0", "tailwindcss": "^2.0.0 || ^3.0.0 || ^4.0.0", - "typescript": ">=5.5 <5.9" + "typescript": ">=5.8 <5.9" }, "peerDependenciesMeta": { + "@angular/core": { + "optional": true + }, "@angular/localize": { "optional": true }, + "@angular/platform-browser": { + "optional": true + }, "@angular/platform-server": { "optional": true }, @@ -296,178 +462,577 @@ } } }, - "node_modules/@angular-devkit/build-angular/node_modules/istanbul-lib-instrument": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.3.tgz", - "integrity": "sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q==", + "node_modules/@angular-devkit/build-angular/node_modules/@angular-devkit/architect": { + "version": "0.2000.4", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.2000.4.tgz", + "integrity": "sha512-pg+EPv/j17ybCoYiKjeRCebkE5CeD009xC6XJfugBmui6CcCQ5UAN82ibBhL869PXR7xCboylcRxlFfcBmvCpA==", "dev": true, - "license": "BSD-3-Clause", + "license": "MIT", "dependencies": { - "@babel/core": "^7.23.9", - "@babel/parser": "^7.23.9", - "@istanbuljs/schema": "^0.1.3", - "istanbul-lib-coverage": "^3.2.0", - "semver": "^7.5.4" + "@angular-devkit/core": "20.0.4", + "rxjs": "7.8.2" }, "engines": { - "node": ">=10" + "node": "^20.19.0 || ^22.12.0 || >=24.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" } }, - "node_modules/@angular-devkit/build-angular/node_modules/postcss": { - "version": "8.5.2", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.2.tgz", - "integrity": "sha512-MjOadfU3Ys9KYoX0AdkBlFEF1Vx37uCCeN4ZHnmwm9FfpbsGWMZeBLMmmpY+6Ocqod7mkdZ0DT31OlbsFrLlkA==", + "node_modules/@angular-devkit/build-angular/node_modules/@babel/core": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.27.1.tgz", + "integrity": "sha512-IaaGWsQqfsQWVLqMn9OB92MNN7zukfVA4s7KKAI0KfrrDsZ0yhi5uV4baBuLuN7n3vsZpwP8asPPcVwApxvjBQ==", "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], "license": "MIT", "dependencies": { - "nanoid": "^3.3.8", - "picocolors": "^1.1.1", - "source-map-js": "^1.2.1" + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.27.1", + "@babel/generator": "^7.27.1", + "@babel/helper-compilation-targets": "^7.27.1", + "@babel/helper-module-transforms": "^7.27.1", + "@babel/helpers": "^7.27.1", + "@babel/parser": "^7.27.1", + "@babel/template": "^7.27.1", + "@babel/traverse": "^7.27.1", + "@babel/types": "^7.27.1", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" }, "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/@angular-devkit/build-angular/node_modules/rxjs": { - "version": "7.8.1", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", - "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.1.0" + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" } }, - "node_modules/@angular-devkit/build-angular/node_modules/semver": { - "version": "7.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", - "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "node_modules/@angular-devkit/build-angular/node_modules/@babel/core/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, "license": "ISC", "bin": { "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" } }, - "node_modules/@angular-devkit/build-webpack": { - "version": "0.1902.15", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1902.15.tgz", - "integrity": "sha512-pIfZeizWsViXx8bsMoBLZw7Tl7uFf7bM7hAfmNwk0bb0QGzx5k1BiW6IKWyaG+Dg6U4UCrlNpIiut2b78HwQZw==", + "node_modules/@angular-devkit/build-angular/node_modules/ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", "dev": true, "license": "MIT", - "dependencies": { - "@angular-devkit/architect": "0.1902.15", - "rxjs": "7.8.1" - }, "engines": { - "node": "^18.19.1 || ^20.11.1 || >=22.0.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" + "node": ">=12" }, - "peerDependencies": { - "webpack": "^5.30.0", - "webpack-dev-server": "^5.0.2" + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, - "node_modules/@angular-devkit/build-webpack/node_modules/rxjs": { - "version": "7.8.1", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", - "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", + "node_modules/@angular-devkit/build-angular/node_modules/chalk": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.4.1.tgz", + "integrity": "sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==", "dev": true, - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.1.0" - } - }, - "node_modules/@angular-devkit/core": { - "version": "19.2.15", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-19.2.15.tgz", - "integrity": "sha512-pU2RZYX6vhd7uLSdLwPnuBcr0mXJSjp3EgOXKsrlQFQZevc+Qs+2JdXgIElnOT/aDqtRtriDmLlSbtdE8n3ZbA==", + "license": "MIT", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/cli-cursor": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-5.0.0.tgz", + "integrity": "sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==", + "dev": true, + "license": "MIT", + "dependencies": { + "restore-cursor": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@angular-devkit/build-angular/node_modules/define-lazy-prop": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", + "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/emoji-regex": { + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.4.0.tgz", + "integrity": "sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@angular-devkit/build-angular/node_modules/is-interactive": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-2.0.0.tgz", + "integrity": "sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/is-unicode-supported": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-2.1.0.tgz", + "integrity": "sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/is-wsl": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.0.tgz", + "integrity": "sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-inside-container": "^1.0.0" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/istanbul-lib-instrument": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.3.tgz", + "integrity": "sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@babel/core": "^7.23.9", + "@babel/parser": "^7.23.9", + "@istanbuljs/schema": "^0.1.3", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^7.5.4" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/log-symbols": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-6.0.0.tgz", + "integrity": "sha512-i24m8rpwhmPIS4zscNzK6MSEhk0DUWa/8iYQWxhffV8jkI4Phvs3F+quL5xvS0gdQR0FyTCMMH33Y78dDTzzIw==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^5.3.0", + "is-unicode-supported": "^1.3.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/log-symbols/node_modules/is-unicode-supported": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-1.3.0.tgz", + "integrity": "sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/onetime": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-7.0.0.tgz", + "integrity": "sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "mimic-function": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/open": { + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/open/-/open-10.1.2.tgz", + "integrity": "sha512-cxN6aIDPz6rm8hbebcP7vrQNhvRcveZoJU72Y7vskh4oIm+BZwBECnx5nTmrlres1Qapvx27Qo1Auukpf8PKXw==", + "dev": true, + "license": "MIT", + "dependencies": { + "default-browser": "^5.2.1", + "define-lazy-prop": "^3.0.0", + "is-inside-container": "^1.0.0", + "is-wsl": "^3.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/ora": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/ora/-/ora-8.2.0.tgz", + "integrity": "sha512-weP+BZ8MVNnlCm8c0Qdc1WSWq4Qn7I+9CJGm7Qali6g44e/PUzbjNqJX5NJ9ljlNMosfJvg1fKEGILklK9cwnw==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^5.3.0", + "cli-cursor": "^5.0.0", + "cli-spinners": "^2.9.2", + "is-interactive": "^2.0.0", + "is-unicode-supported": "^2.0.0", + "log-symbols": "^6.0.0", + "stdin-discarder": "^0.2.2", + "string-width": "^7.2.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/postcss": { + "version": "8.5.3", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.3.tgz", + "integrity": "sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.8", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/restore-cursor": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-5.1.0.tgz", + "integrity": "sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==", + "dev": true, + "license": "MIT", + "dependencies": { + "onetime": "^7.0.0", + "signal-exit": "^4.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/semver": { + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/string-width": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", + "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/@angular-devkit/build-webpack": { + "version": "0.2000.4", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.2000.4.tgz", + "integrity": "sha512-ZdYSzuDJOIXzuzr3JuriAXWjjVH335K7sLF1udyd1BUeDkKjRNOrrd0Zfo8eraMgbMfEdjApf+UGzTBgU0euMA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@angular-devkit/architect": "0.2000.4", + "rxjs": "7.8.2" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "peerDependencies": { + "webpack": "^5.30.0", + "webpack-dev-server": "^5.0.2" + } + }, + "node_modules/@angular-devkit/build-webpack/node_modules/@angular-devkit/architect": { + "version": "0.2000.4", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.2000.4.tgz", + "integrity": "sha512-pg+EPv/j17ybCoYiKjeRCebkE5CeD009xC6XJfugBmui6CcCQ5UAN82ibBhL869PXR7xCboylcRxlFfcBmvCpA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@angular-devkit/core": "20.0.4", + "rxjs": "7.8.2" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, + "node_modules/@angular-devkit/core": { + "version": "20.0.4", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-20.0.4.tgz", + "integrity": "sha512-GmHBOEhdZn0Xh8JAdmnbSXtEMoAEqakEFy1JZmwuUo5e6uuuEp5xQY4O3MO0UQBVjYT+Wz8KNfonTvY91t/lNQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "8.17.1", + "ajv-formats": "3.0.1", + "jsonc-parser": "3.3.1", + "picomatch": "4.0.2", + "rxjs": "7.8.2", + "source-map": "0.7.4" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "peerDependencies": { + "chokidar": "^4.0.0" + }, + "peerDependenciesMeta": { + "chokidar": { + "optional": true + } + } + }, + "node_modules/@angular-devkit/core/node_modules/ajv-formats": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-3.0.1.tgz", + "integrity": "sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/@angular-devkit/schematics": { + "version": "20.0.4", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-20.0.4.tgz", + "integrity": "sha512-NADJed7h4KYSqbbw91AKFvFp+CsDuPUBzuMrck38R0ql0ZeaLKJtwT+IQFs7Hb6bmE4xn1i0+Z/p7v8q6ZRrKw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@angular-devkit/core": "20.0.4", + "jsonc-parser": "3.3.1", + "magic-string": "0.30.17", + "ora": "8.2.0", + "rxjs": "7.8.2" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, + "node_modules/@angular-devkit/schematics/node_modules/ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/@angular-devkit/schematics/node_modules/chalk": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.4.1.tgz", + "integrity": "sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@angular-devkit/schematics/node_modules/cli-cursor": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-5.0.0.tgz", + "integrity": "sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==", "dev": true, "license": "MIT", "dependencies": { - "ajv": "8.17.1", - "ajv-formats": "3.0.1", - "jsonc-parser": "3.3.1", - "picomatch": "4.0.2", - "rxjs": "7.8.1", - "source-map": "0.7.4" + "restore-cursor": "^5.0.0" }, "engines": { - "node": "^18.19.1 || ^20.11.1 || >=22.0.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" - }, - "peerDependencies": { - "chokidar": "^4.0.0" + "node": ">=18" }, - "peerDependenciesMeta": { - "chokidar": { - "optional": true - } + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@angular-devkit/core/node_modules/ajv-formats": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-3.0.1.tgz", - "integrity": "sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==", + "node_modules/@angular-devkit/schematics/node_modules/emoji-regex": { + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.4.0.tgz", + "integrity": "sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@angular-devkit/schematics/node_modules/is-interactive": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-2.0.0.tgz", + "integrity": "sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==", "dev": true, "license": "MIT", - "dependencies": { - "ajv": "^8.0.0" - }, - "peerDependencies": { - "ajv": "^8.0.0" + "engines": { + "node": ">=12" }, - "peerDependenciesMeta": { - "ajv": { - "optional": true - } + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@angular-devkit/core/node_modules/rxjs": { - "version": "7.8.1", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", - "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", + "node_modules/@angular-devkit/schematics/node_modules/is-unicode-supported": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-2.1.0.tgz", + "integrity": "sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==", "dev": true, - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.1.0" + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@angular-devkit/schematics": { - "version": "19.2.15", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-19.2.15.tgz", - "integrity": "sha512-kNOJ+3vekJJCQKWihNmxBkarJzNW09kP5a9E1SRNiQVNOUEeSwcRR0qYotM65nx821gNzjjhJXnAZ8OazWldrg==", + "node_modules/@angular-devkit/schematics/node_modules/log-symbols": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-6.0.0.tgz", + "integrity": "sha512-i24m8rpwhmPIS4zscNzK6MSEhk0DUWa/8iYQWxhffV8jkI4Phvs3F+quL5xvS0gdQR0FyTCMMH33Y78dDTzzIw==", "dev": true, "license": "MIT", "dependencies": { - "@angular-devkit/core": "19.2.15", - "jsonc-parser": "3.3.1", - "magic-string": "0.30.17", - "ora": "5.4.1", - "rxjs": "7.8.1" + "chalk": "^5.3.0", + "is-unicode-supported": "^1.3.0" }, "engines": { - "node": "^18.19.1 || ^20.11.1 || >=22.0.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@angular-devkit/schematics/node_modules/log-symbols/node_modules/is-unicode-supported": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-1.3.0.tgz", + "integrity": "sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/@angular-devkit/schematics/node_modules/magic-string": { @@ -480,92 +1045,183 @@ "@jridgewell/sourcemap-codec": "^1.5.0" } }, - "node_modules/@angular-devkit/schematics/node_modules/rxjs": { - "version": "7.8.1", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", - "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", + "node_modules/@angular-devkit/schematics/node_modules/onetime": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-7.0.0.tgz", + "integrity": "sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "tslib": "^2.1.0" + "mimic-function": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@angular-devkit/schematics/node_modules/ora": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/ora/-/ora-8.2.0.tgz", + "integrity": "sha512-weP+BZ8MVNnlCm8c0Qdc1WSWq4Qn7I+9CJGm7Qali6g44e/PUzbjNqJX5NJ9ljlNMosfJvg1fKEGILklK9cwnw==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^5.3.0", + "cli-cursor": "^5.0.0", + "cli-spinners": "^2.9.2", + "is-interactive": "^2.0.0", + "is-unicode-supported": "^2.0.0", + "log-symbols": "^6.0.0", + "stdin-discarder": "^0.2.2", + "string-width": "^7.2.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@angular-devkit/schematics/node_modules/restore-cursor": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-5.1.0.tgz", + "integrity": "sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==", + "dev": true, + "license": "MIT", + "dependencies": { + "onetime": "^7.0.0", + "signal-exit": "^4.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@angular-devkit/schematics/node_modules/string-width": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", + "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@angular-devkit/schematics/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, "node_modules/@angular/animations": { - "version": "19.2.14", - "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-19.2.14.tgz", - "integrity": "sha512-xhl8fLto5HHJdVj8Nb6EoBEiTAcXuWDYn1q5uHcGxyVH3kiwENWy/2OQXgCr2CuWo2e6hNUGzSLf/cjbsMNqEA==", + "version": "20.0.5", + "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-20.0.5.tgz", + "integrity": "sha512-v8dzr2tnju7Sa7XUhMY6yTJpRV3isMqP3mnOjrul2kkEY870a1tZ7VI7xp0qTx36086/+nzXAvOvOItmRkUaaQ==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" }, "engines": { - "node": "^18.19.1 || ^20.11.1 || >=22.0.0" + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" }, "peerDependencies": { - "@angular/common": "19.2.14", - "@angular/core": "19.2.14" + "@angular/common": "20.0.5", + "@angular/core": "20.0.5" } }, "node_modules/@angular/build": { - "version": "19.2.15", - "resolved": "https://registry.npmjs.org/@angular/build/-/build-19.2.15.tgz", - "integrity": "sha512-iE4fp4d5ALu702uoL6/YkjM2JlGEXZ5G+RVzq3W2jg/Ft6ISAQnRKB6mymtetDD6oD7i87e8uSu9kFVNBauX2w==", + "version": "20.0.4", + "resolved": "https://registry.npmjs.org/@angular/build/-/build-20.0.4.tgz", + "integrity": "sha512-SIYLg2st05Q5hgFrxwj6L4i9j2j2JNWYoYgacXp+mw9YVhFiC02Ymbakc9fq+3+sWlm0XTX5JgrupV2ac1ytNQ==", "dev": true, "license": "MIT", "dependencies": { "@ampproject/remapping": "2.3.0", - "@angular-devkit/architect": "0.1902.15", - "@babel/core": "7.26.10", - "@babel/helper-annotate-as-pure": "7.25.9", + "@angular-devkit/architect": "0.2000.4", + "@babel/core": "7.27.1", + "@babel/helper-annotate-as-pure": "7.27.1", "@babel/helper-split-export-declaration": "7.24.7", - "@babel/plugin-syntax-import-attributes": "7.26.0", - "@inquirer/confirm": "5.1.6", - "@vitejs/plugin-basic-ssl": "1.2.0", - "beasties": "0.3.2", + "@inquirer/confirm": "5.1.10", + "@vitejs/plugin-basic-ssl": "2.0.0", + "beasties": "0.3.4", "browserslist": "^4.23.0", - "esbuild": "0.25.4", - "fast-glob": "3.3.3", + "esbuild": "0.25.5", "https-proxy-agent": "7.0.6", "istanbul-lib-instrument": "6.0.3", - "listr2": "8.2.5", + "jsonc-parser": "3.3.1", + "listr2": "8.3.3", "magic-string": "0.30.17", "mrmime": "2.0.1", - "parse5-html-rewriting-stream": "7.0.0", + "parse5-html-rewriting-stream": "7.1.0", "picomatch": "4.0.2", - "piscina": "4.8.0", - "rollup": "4.34.8", - "sass": "1.85.0", - "semver": "7.7.1", + "piscina": "5.1.1", + "rollup": "4.40.2", + "sass": "1.88.0", + "semver": "7.7.2", "source-map-support": "0.5.21", - "vite": "6.2.7", + "tinyglobby": "0.2.13", + "vite": "6.3.5", "watchpack": "2.4.2" }, "engines": { - "node": "^18.19.1 || ^20.11.1 || >=22.0.0", + "node": "^20.19.0 || ^22.12.0 || >=24.0.0", "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", "yarn": ">= 1.13.0" }, "optionalDependencies": { - "lmdb": "3.2.6" + "lmdb": "3.3.0" }, "peerDependencies": { - "@angular/compiler": "^19.0.0 || ^19.2.0-next.0", - "@angular/compiler-cli": "^19.0.0 || ^19.2.0-next.0", - "@angular/localize": "^19.0.0 || ^19.2.0-next.0", - "@angular/platform-server": "^19.0.0 || ^19.2.0-next.0", - "@angular/service-worker": "^19.0.0 || ^19.2.0-next.0", - "@angular/ssr": "^19.2.15", + "@angular/compiler": "^20.0.0", + "@angular/compiler-cli": "^20.0.0", + "@angular/core": "^20.0.0", + "@angular/localize": "^20.0.0", + "@angular/platform-browser": "^20.0.0", + "@angular/platform-server": "^20.0.0", + "@angular/service-worker": "^20.0.0", + "@angular/ssr": "^20.0.4", "karma": "^6.4.0", "less": "^4.2.0", - "ng-packagr": "^19.0.0 || ^19.2.0-next.0", + "ng-packagr": "^20.0.0", "postcss": "^8.4.0", "tailwindcss": "^2.0.0 || ^3.0.0 || ^4.0.0", - "typescript": ">=5.5 <5.9" + "tslib": "^2.3.0", + "typescript": ">=5.8 <5.9", + "vitest": "^3.1.1" }, "peerDependenciesMeta": { + "@angular/core": { + "optional": true + }, "@angular/localize": { "optional": true }, + "@angular/platform-browser": { + "optional": true + }, "@angular/platform-server": { "optional": true }, @@ -589,25 +1245,76 @@ }, "tailwindcss": { "optional": true + }, + "vitest": { + "optional": true } } }, - "node_modules/@angular/build/node_modules/@babel/plugin-syntax-import-attributes": { - "version": "7.26.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.26.0.tgz", - "integrity": "sha512-e2dttdsJ1ZTpi3B9UYGLw41hifAubg19AtCu/2I/F1QNVclOBr1dYpTdmdyZ84Xiz43BS/tCUkMAZNLv12Pi+A==", + "node_modules/@angular/build/node_modules/@angular-devkit/architect": { + "version": "0.2000.4", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.2000.4.tgz", + "integrity": "sha512-pg+EPv/j17ybCoYiKjeRCebkE5CeD009xC6XJfugBmui6CcCQ5UAN82ibBhL869PXR7xCboylcRxlFfcBmvCpA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@angular-devkit/core": "20.0.4", + "rxjs": "7.8.2" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, + "node_modules/@angular/build/node_modules/@babel/core": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.27.1.tgz", + "integrity": "sha512-IaaGWsQqfsQWVLqMn9OB92MNN7zukfVA4s7KKAI0KfrrDsZ0yhi5uV4baBuLuN7n3vsZpwP8asPPcVwApxvjBQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.27.1", + "@babel/generator": "^7.27.1", + "@babel/helper-compilation-targets": "^7.27.1", + "@babel/helper-module-transforms": "^7.27.1", + "@babel/helpers": "^7.27.1", + "@babel/parser": "^7.27.1", + "@babel/template": "^7.27.1", + "@babel/traverse": "^7.27.1", + "@babel/types": "^7.27.1", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" }, "engines": { "node": ">=6.9.0" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@angular/build/node_modules/@babel/core/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" } }, + "node_modules/@angular/build/node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true, + "license": "MIT" + }, "node_modules/@angular/build/node_modules/istanbul-lib-instrument": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.3.tgz", @@ -636,9 +1343,9 @@ } }, "node_modules/@angular/build/node_modules/semver": { - "version": "7.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", - "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", "dev": true, "license": "ISC", "bin": { @@ -648,76 +1355,21 @@ "node": ">=10" } }, - "node_modules/@angular/build/node_modules/vite": { - "version": "6.2.7", - "resolved": "https://registry.npmjs.org/vite/-/vite-6.2.7.tgz", - "integrity": "sha512-qg3LkeuinTrZoJHHF94coSaTfIPyBYoywp+ys4qu20oSJFbKMYoIJo0FWJT9q6Vp49l6z9IsJRbHdcGtiKbGoQ==", + "node_modules/@angular/build/node_modules/tinyglobby": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.13.tgz", + "integrity": "sha512-mEwzpUgrLySlveBwEVDMKk5B57bhLPYovRfPAXD5gA/98Opn0rCDj3GtLwFvCvH5RK9uPCExUROW5NjDwvqkxw==", "dev": true, "license": "MIT", - "dependencies": { - "esbuild": "^0.25.0", - "postcss": "^8.5.3", - "rollup": "^4.30.1" - }, - "bin": { - "vite": "bin/vite.js" - }, - "engines": { - "node": "^18.0.0 || ^20.0.0 || >=22.0.0" - }, - "funding": { - "url": "https://github.com/vitejs/vite?sponsor=1" - }, - "optionalDependencies": { - "fsevents": "~2.3.3" + "dependencies": { + "fdir": "^6.4.4", + "picomatch": "^4.0.2" }, - "peerDependencies": { - "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", - "jiti": ">=1.21.0", - "less": "*", - "lightningcss": "^1.21.0", - "sass": "*", - "sass-embedded": "*", - "stylus": "*", - "sugarss": "*", - "terser": "^5.16.0", - "tsx": "^4.8.1", - "yaml": "^2.4.2" + "engines": { + "node": ">=12.0.0" }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - }, - "jiti": { - "optional": true - }, - "less": { - "optional": true - }, - "lightningcss": { - "optional": true - }, - "sass": { - "optional": true - }, - "sass-embedded": { - "optional": true - }, - "stylus": { - "optional": true - }, - "sugarss": { - "optional": true - }, - "terser": { - "optional": true - }, - "tsx": { - "optional": true - }, - "yaml": { - "optional": true - } + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" } }, "node_modules/@angular/cdk": { @@ -736,43 +1388,58 @@ } }, "node_modules/@angular/cli": { - "version": "19.2.15", - "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-19.2.15.tgz", - "integrity": "sha512-YRIpARHWSOnWkHusUWTQgeUrPWMjWvtQrOkjWc6stF36z2KUzKMEng6EzUvH6sZolNSwVwOFpODEP0ut4aBkvQ==", + "version": "20.0.4", + "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-20.0.4.tgz", + "integrity": "sha512-WG0TxDODciNU93AjENph4v7nBowMTGRI8VwIPitPstthez7oViugnXbsPoti5wfSjPweGawMSf6fgqOTx1+yKQ==", "dev": true, "license": "MIT", "dependencies": { - "@angular-devkit/architect": "0.1902.15", - "@angular-devkit/core": "19.2.15", - "@angular-devkit/schematics": "19.2.15", - "@inquirer/prompts": "7.3.2", - "@listr2/prompt-adapter-inquirer": "2.0.18", - "@schematics/angular": "19.2.15", + "@angular-devkit/architect": "0.2000.4", + "@angular-devkit/core": "20.0.4", + "@angular-devkit/schematics": "20.0.4", + "@inquirer/prompts": "7.5.1", + "@listr2/prompt-adapter-inquirer": "2.0.22", + "@schematics/angular": "20.0.4", "@yarnpkg/lockfile": "1.1.0", "ini": "5.0.0", "jsonc-parser": "3.3.1", - "listr2": "8.2.5", + "listr2": "8.3.3", "npm-package-arg": "12.0.2", "npm-pick-manifest": "10.0.0", - "pacote": "20.0.0", + "pacote": "21.0.0", "resolve": "1.22.10", - "semver": "7.7.1", - "symbol-observable": "4.0.0", + "semver": "7.7.2", "yargs": "17.7.2" }, "bin": { "ng": "bin/ng.js" }, "engines": { - "node": "^18.19.1 || ^20.11.1 || >=22.0.0", + "node": "^20.19.0 || ^22.12.0 || >=24.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, + "node_modules/@angular/cli/node_modules/@angular-devkit/architect": { + "version": "0.2000.4", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.2000.4.tgz", + "integrity": "sha512-pg+EPv/j17ybCoYiKjeRCebkE5CeD009xC6XJfugBmui6CcCQ5UAN82ibBhL869PXR7xCboylcRxlFfcBmvCpA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@angular-devkit/core": "20.0.4", + "rxjs": "7.8.2" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0", "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", "yarn": ">= 1.13.0" } }, "node_modules/@angular/cli/node_modules/semver": { - "version": "7.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", - "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", "dev": true, "license": "ISC", "bin": { @@ -783,152 +1450,245 @@ } }, "node_modules/@angular/common": { - "version": "19.2.14", - "resolved": "https://registry.npmjs.org/@angular/common/-/common-19.2.14.tgz", - "integrity": "sha512-NcNklcuyqaTjOVGf7aru8APX9mjsnZ01gFZrn47BxHozhaR0EMRrotYQTdi8YdVjPkeYFYanVntSLfhyobq/jg==", + "version": "20.0.5", + "resolved": "https://registry.npmjs.org/@angular/common/-/common-20.0.5.tgz", + "integrity": "sha512-R7SQaOVYjVnrGHOq2RnuPn0pGofGVTDgy5EoHzF8ulb5MG/d7GFwCaMgfAbp3/Cw1CJzP2ZB54O8x9SMuqExyg==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" }, "engines": { - "node": "^18.19.1 || ^20.11.1 || >=22.0.0" + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" }, "peerDependencies": { - "@angular/core": "19.2.14", + "@angular/core": "20.0.5", "rxjs": "^6.5.3 || ^7.4.0" } }, "node_modules/@angular/compiler": { - "version": "19.2.14", - "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-19.2.14.tgz", - "integrity": "sha512-ZqJDYOdhgKpVGNq3+n/Gbxma8DVYElDsoRe0tvNtjkWBVdaOxdZZUqmJ3kdCBsqD/aqTRvRBu0KGo9s2fCChkA==", + "version": "20.0.5", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-20.0.5.tgz", + "integrity": "sha512-eHHnh+wIUC+8mfmlPnkzVfonQCA3LAbPWgYpvEQtBh0/R3cZBN6tmOxWQB8IuLu+cZ0eXS/a14mqHJp3c3u7Hg==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" }, "engines": { - "node": "^18.19.1 || ^20.11.1 || >=22.0.0" + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" } }, "node_modules/@angular/compiler-cli": { - "version": "19.2.14", - "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-19.2.14.tgz", - "integrity": "sha512-e9/h86ETjoIK2yTLE9aUeMCKujdg/du2pq7run/aINjop4RtnNOw+ZlSTUa6R65lP5CVwDup1kPytpAoifw8cA==", + "version": "20.0.5", + "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-20.0.5.tgz", + "integrity": "sha512-v0DSeUU7cid7jqfK9RTkyhbZGNIiOyxRYeaqZMsu4UiYGwABIanM7lOcX++OYapfWj/TEPky+5wtbV8ScqAxiw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/core": "7.26.9", + "@babel/core": "7.27.4", "@jridgewell/sourcemap-codec": "^1.4.14", "chokidar": "^4.0.0", "convert-source-map": "^1.5.1", "reflect-metadata": "^0.2.0", "semver": "^7.0.0", "tslib": "^2.3.0", - "yargs": "^17.2.1" + "yargs": "^18.0.0" }, "bin": { "ng-xi18n": "bundles/src/bin/ng_xi18n.js", - "ngc": "bundles/src/bin/ngc.js", - "ngcc": "bundles/ngcc/index.js" + "ngc": "bundles/src/bin/ngc.js" }, "engines": { - "node": "^18.19.1 || ^20.11.1 || >=22.0.0" + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" }, "peerDependencies": { - "@angular/compiler": "19.2.14", - "typescript": ">=5.5 <5.9" + "@angular/compiler": "20.0.5", + "typescript": ">=5.8 <5.9" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@angular/compiler-cli/node_modules/@babel/core": { - "version": "7.26.9", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.26.9.tgz", - "integrity": "sha512-lWBYIrF7qK5+GjY5Uy+/hEgp8OJWOD/rpy74GplYRhEauvbHDeFB8t5hPOZxCZ0Oxf4Cc36tK51/l3ymJysrKw==", + "node_modules/@angular/compiler-cli/node_modules/ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", "dev": true, "license": "MIT", - "dependencies": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.26.2", - "@babel/generator": "^7.26.9", - "@babel/helper-compilation-targets": "^7.26.5", - "@babel/helper-module-transforms": "^7.26.0", - "@babel/helpers": "^7.26.9", - "@babel/parser": "^7.26.9", - "@babel/template": "^7.26.9", - "@babel/traverse": "^7.26.9", - "@babel/types": "^7.26.9", - "convert-source-map": "^2.0.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.3", - "semver": "^6.3.1" + "engines": { + "node": ">=12" }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/@angular/compiler-cli/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "license": "MIT", "engines": { - "node": ">=6.9.0" + "node": ">=12" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@angular/compiler-cli/node_modules/@babel/core/node_modules/convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "node_modules/@angular/compiler-cli/node_modules/cliui": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-9.0.1.tgz", + "integrity": "sha512-k7ndgKhwoQveBL+/1tqGJYNz097I7WOvwbmmU2AR5+magtbjPWQTS1C5vzGkBC8Ym8UWRzfKUzUUqFLypY4Q+w==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^7.2.0", + "strip-ansi": "^7.1.0", + "wrap-ansi": "^9.0.0" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@angular/compiler-cli/node_modules/emoji-regex": { + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.4.0.tgz", + "integrity": "sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==", "dev": true, "license": "MIT" }, - "node_modules/@angular/compiler-cli/node_modules/@babel/core/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "node_modules/@angular/compiler-cli/node_modules/string-width": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", + "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@angular/compiler-cli/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/@angular/compiler-cli/node_modules/wrap-ansi": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.0.tgz", + "integrity": "sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.2.1", + "string-width": "^7.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/@angular/compiler-cli/node_modules/yargs": { + "version": "18.0.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-18.0.0.tgz", + "integrity": "sha512-4UEqdc2RYGHZc7Doyqkrqiln3p9X2DZVxaGbwhn2pi7MrRagKaOcIKe8L3OxYcbhXLgLFUS3zAYuQjKBQgmuNg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^9.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "string-width": "^7.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^22.0.0" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=23" + } + }, + "node_modules/@angular/compiler-cli/node_modules/yargs-parser": { + "version": "22.0.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-22.0.0.tgz", + "integrity": "sha512-rwu/ClNdSMpkSrUb+d6BRsSkLUq1fmfsY6TOpYzTwvwkg1/NRG85KBy3kq++A8LKQwX6lsu+aWad+2khvuXrqw==", "dev": true, "license": "ISC", - "bin": { - "semver": "bin/semver.js" + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=23" } }, "node_modules/@angular/core": { - "version": "19.2.14", - "resolved": "https://registry.npmjs.org/@angular/core/-/core-19.2.14.tgz", - "integrity": "sha512-EVErpW9tGqJ/wNcAN3G/ErH8pHCJ8mM1E6bsJ8UJIpDTZkpqqYjBMtZS9YWH5n3KwUd1tAkAB2w8FK125AjDUQ==", + "version": "20.0.5", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-20.0.5.tgz", + "integrity": "sha512-r7YQXZvKPAMUXeo3psKTZxyYJrwidTwDPrzxMX3EGqZxv0eDnMPWCxH2y0O2X4BT0Nm1iAqx3zhGrSFc0vD60Q==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" }, "engines": { - "node": "^18.19.1 || ^20.11.1 || >=22.0.0" + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" }, "peerDependencies": { + "@angular/compiler": "20.0.5", "rxjs": "^6.5.3 || ^7.4.0", "zone.js": "~0.15.0" + }, + "peerDependenciesMeta": { + "@angular/compiler": { + "optional": true + }, + "zone.js": { + "optional": true + } } }, "node_modules/@angular/forms": { - "version": "19.2.14", - "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-19.2.14.tgz", - "integrity": "sha512-hWtDOj2B0AuRTf+nkMJeodnFpDpmEK9OIhIv1YxcRe73ooaxrIdjgugkElO8I9Tj0E4/7m117ezhWDUkbqm1zA==", + "version": "20.0.5", + "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-20.0.5.tgz", + "integrity": "sha512-zoS0SaNUZBPtDfmr/edd3cHa9Z+vvPs8UXKMo9/i4YezWCskkZmW5qIJwISYJt4DHnHWoznlGBB9BQX8HgmQRw==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" }, "engines": { - "node": "^18.19.1 || ^20.11.1 || >=22.0.0" + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" }, "peerDependencies": { - "@angular/common": "19.2.14", - "@angular/core": "19.2.14", - "@angular/platform-browser": "19.2.14", + "@angular/common": "20.0.5", + "@angular/core": "20.0.5", + "@angular/platform-browser": "20.0.5", "rxjs": "^6.5.3 || ^7.4.0" } }, "node_modules/@angular/language-service": { - "version": "19.2.14", - "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-19.2.14.tgz", - "integrity": "sha512-XgzZdBCe/obCrck5I6GIG4qSI9UGaOtbrvNuw0QAK0DySKaW5inRm6/QwCMPRmPkJBY0wLeYUVz//rtHpEjeTQ==", + "version": "20.0.5", + "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-20.0.5.tgz", + "integrity": "sha512-ZFH1sT9+P0FmOhuMGF3qywlDaV594sHoYMetmLAqq+l0a91hJ9qYWoc5lhiaQ1/+MdHXlns/67zGeEUeSP8ssQ==", "dev": true, "license": "MIT", "engines": { - "node": "^18.19.1 || ^20.11.1 || >=22.0.0" + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" } }, "node_modules/@angular/material": { @@ -949,20 +1709,20 @@ } }, "node_modules/@angular/platform-browser": { - "version": "19.2.14", - "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-19.2.14.tgz", - "integrity": "sha512-hzkT5nmA64oVBQl6PRjdL4dIFT1n7lfM9rm5cAoS+6LUUKRgiE2d421Kpn/Hz3jaCJfo+calMIdtSMIfUJBmww==", + "version": "20.0.5", + "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-20.0.5.tgz", + "integrity": "sha512-gE3C5/ZAXdAlBFvvX/crboIy5skbV5mtxRoEULwf7xF9WJLlYzY3w+PCRHV6/Z21UJ3ikCcbaaowBx378FYhQg==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" }, "engines": { - "node": "^18.19.1 || ^20.11.1 || >=22.0.0" + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" }, "peerDependencies": { - "@angular/animations": "19.2.14", - "@angular/common": "19.2.14", - "@angular/core": "19.2.14" + "@angular/animations": "20.0.5", + "@angular/common": "20.0.5", + "@angular/core": "20.0.5" }, "peerDependenciesMeta": { "@angular/animations": { @@ -971,38 +1731,38 @@ } }, "node_modules/@angular/platform-browser-dynamic": { - "version": "19.2.14", - "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-19.2.14.tgz", - "integrity": "sha512-Hfz0z1KDQmIdnFXVFCwCPykuIsHPkr1uW2aY396eARwZ6PK8i0Aadcm1ZOnpd3MR1bMyDrJo30VRS5kx89QWvA==", + "version": "20.0.5", + "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-20.0.5.tgz", + "integrity": "sha512-uGkHndCWqQyhjcDziC93R5CwQBKa+Xvk0s02ia8LJwVz7iIu/bLO34vos0HM9d250W4TNZbuVFmMhJDJWCq3uQ==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" }, "engines": { - "node": "^18.19.1 || ^20.11.1 || >=22.0.0" + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" }, "peerDependencies": { - "@angular/common": "19.2.14", - "@angular/compiler": "19.2.14", - "@angular/core": "19.2.14", - "@angular/platform-browser": "19.2.14" + "@angular/common": "20.0.5", + "@angular/compiler": "20.0.5", + "@angular/core": "20.0.5", + "@angular/platform-browser": "20.0.5" } }, "node_modules/@angular/router": { - "version": "19.2.14", - "resolved": "https://registry.npmjs.org/@angular/router/-/router-19.2.14.tgz", - "integrity": "sha512-cBTWY9Jx7YhbmDYDb7Hqz4Q7UNIMlKTkdKToJd2pbhIXyoS+kHVQrySmyca+jgvYMjWnIjsAEa3dpje12D4mFw==", + "version": "20.0.5", + "resolved": "https://registry.npmjs.org/@angular/router/-/router-20.0.5.tgz", + "integrity": "sha512-GqBxrjov6p6riqDmn+hD2FWk5JSXR638/UhWCZe+XORoOmV/gWgND1HaHPa7f/UvM422yrPEkIsFNMr7bwLmkA==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" }, "engines": { - "node": "^18.19.1 || ^20.11.1 || >=22.0.0" + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" }, "peerDependencies": { - "@angular/common": "19.2.14", - "@angular/core": "19.2.14", - "@angular/platform-browser": "19.2.14", + "@angular/common": "20.0.5", + "@angular/core": "20.0.5", + "@angular/platform-browser": "20.0.5", "rxjs": "^6.5.3 || ^7.4.0" } }, @@ -1030,21 +1790,21 @@ } }, "node_modules/@babel/core": { - "version": "7.26.10", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.26.10.tgz", - "integrity": "sha512-vMqyb7XCDMPvJFFOaT9kxtiRh42GwlZEg1/uIgtZshS5a/8OaduUfCi7kynKgc3Tw/6Uo2D+db9qBttghhmxwQ==", + "version": "7.27.4", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.27.4.tgz", + "integrity": "sha512-bXYxrXFubeYdvB0NhD/NBB3Qi6aZeV20GOWVI47t2dkecCEoneR4NPVcb7abpXDEvejgrUfFtG6vG/zxAKmg+g==", "license": "MIT", "dependencies": { "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.26.2", - "@babel/generator": "^7.26.10", - "@babel/helper-compilation-targets": "^7.26.5", - "@babel/helper-module-transforms": "^7.26.0", - "@babel/helpers": "^7.26.10", - "@babel/parser": "^7.26.10", - "@babel/template": "^7.26.9", - "@babel/traverse": "^7.26.10", - "@babel/types": "^7.26.10", + "@babel/code-frame": "^7.27.1", + "@babel/generator": "^7.27.3", + "@babel/helper-compilation-targets": "^7.27.2", + "@babel/helper-module-transforms": "^7.27.3", + "@babel/helpers": "^7.27.4", + "@babel/parser": "^7.27.4", + "@babel/template": "^7.27.2", + "@babel/traverse": "^7.27.4", + "@babel/types": "^7.27.3", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -1059,6 +1819,22 @@ "url": "https://opencollective.com/babel" } }, + "node_modules/@babel/core/node_modules/@babel/generator": { + "version": "7.27.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.27.5.tgz", + "integrity": "sha512-ZGhA37l0e/g2s1Cnzdix0O3aLYm66eF8aufiVteOgnwxgnRP8GoyMj7VWsgWnQbVKXyge7hqrFh2K2TQM6t1Hw==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.27.5", + "@babel/types": "^7.27.3", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", + "jsesc": "^3.0.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@babel/core/node_modules/convert-source-map": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", @@ -1075,13 +1851,13 @@ } }, "node_modules/@babel/generator": { - "version": "7.26.10", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.26.10.tgz", - "integrity": "sha512-rRHT8siFIXQrAYOYqZQVsAr8vJ+cBNqcVAY6m5V8/4QqzaPl+zDBe6cLEPRDuNOUf3ww8RfJVlOyQMoSI+5Ang==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.27.1.tgz", + "integrity": "sha512-UnJfnIpc/+JO0/+KRVQNGU+y5taA5vCbwN8+azkX6beii/ZF+enZJSOKo11ZSzGJjlNfJHfQtmQT8H+9TXPG2w==", "license": "MIT", "dependencies": { - "@babel/parser": "^7.26.10", - "@babel/types": "^7.26.10", + "@babel/parser": "^7.27.1", + "@babel/types": "^7.27.1", "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.25", "jsesc": "^3.0.2" @@ -1091,13 +1867,13 @@ } }, "node_modules/@babel/helper-annotate-as-pure": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.25.9.tgz", - "integrity": "sha512-gv7320KBUFJz1RnylIg5WWYPRXKZ884AGkYpgpWW02TH66Dl+HaC1t1CKd0z3R4b6hdYEcmrNZHUmfCP+1u3/g==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.1.tgz", + "integrity": "sha512-WnuuDILl9oOBbKnb4L+DyODx7iC47XfzmNCpTttFsSp6hTG7XZxu60+4IO+2/hPfcGOoKbFiwoI/+zwARbNQow==", "dev": true, "license": "MIT", "dependencies": { - "@babel/types": "^7.25.9" + "@babel/types": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1812,15 +2588,15 @@ } }, "node_modules/@babel/plugin-transform-async-generator-functions": { - "version": "7.26.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.26.8.tgz", - "integrity": "sha512-He9Ej2X7tNf2zdKMAGOsmg2MrFc+hfoAhd3po4cWfo/NWjzEAKa0oQruj1ROVUdl0e6fb6/kE/G3SSxE0lRJOg==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.27.1.tgz", + "integrity": "sha512-eST9RrwlpaoJBDHShc+DS2SG4ATTi2MYNb4OxYkf3n+7eb49LWpnS+HSpVfW4x927qQwgk8A2hGNVaajAEw0EA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.26.5", - "@babel/helper-remap-async-to-generator": "^7.25.9", - "@babel/traverse": "^7.26.8" + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-remap-async-to-generator": "^7.27.1", + "@babel/traverse": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1830,15 +2606,15 @@ } }, "node_modules/@babel/plugin-transform-async-to-generator": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.25.9.tgz", - "integrity": "sha512-NT7Ejn7Z/LjUH0Gv5KsBCxh7BH3fbLTV0ptHvpeMvrt3cPThHfJfst9Wrb7S8EvJ7vRTFI7z+VAvFVEQn/m5zQ==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.27.1.tgz", + "integrity": "sha512-NREkZsZVJS4xmTr8qzE5y8AfIPqsdQfRuUiLRTEzb7Qii8iFWCyDKaUV2c0rCuh4ljDZ98ALHP/PetiBV2nddA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-module-imports": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9", - "@babel/helper-remap-async-to-generator": "^7.25.9" + "@babel/helper-module-imports": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-remap-async-to-generator": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -2513,14 +3289,14 @@ } }, "node_modules/@babel/plugin-transform-runtime": { - "version": "7.26.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.26.10.tgz", - "integrity": "sha512-NWaL2qG6HRpONTnj4JvDU6th4jYeZOJgu3QhmFTCihib0ermtOJqktA5BduGm3suhhVe9EMP9c9+mfJ/I9slqw==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.27.1.tgz", + "integrity": "sha512-TqGF3desVsTcp3WrJGj4HfKokfCXCLcHpt4PJF0D8/iT6LPd9RS82Upw3KPeyr6B22Lfd3DO8MVrmp0oRkUDdw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-module-imports": "^7.25.9", - "@babel/helper-plugin-utils": "^7.26.5", + "@babel/helper-module-imports": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1", "babel-plugin-polyfill-corejs2": "^0.4.10", "babel-plugin-polyfill-corejs3": "^0.11.0", "babel-plugin-polyfill-regenerator": "^0.6.1", @@ -2692,75 +3468,75 @@ } }, "node_modules/@babel/preset-env": { - "version": "7.26.9", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.26.9.tgz", - "integrity": "sha512-vX3qPGE8sEKEAZCWk05k3cpTAE3/nOYca++JA+Rd0z2NCNzabmYvEiSShKzm10zdquOIAVXsy2Ei/DTW34KlKQ==", + "version": "7.27.2", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.27.2.tgz", + "integrity": "sha512-Ma4zSuYSlGNRlCLO+EAzLnCmJK2vdstgv+n7aUP+/IKZrOfWHOJVdSJtuub8RzHTj3ahD37k5OKJWvzf16TQyQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.26.8", - "@babel/helper-compilation-targets": "^7.26.5", - "@babel/helper-plugin-utils": "^7.26.5", - "@babel/helper-validator-option": "^7.25.9", - "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.25.9", - "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.25.9", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.25.9", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.25.9", - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.25.9", + "@babel/compat-data": "^7.27.2", + "@babel/helper-compilation-targets": "^7.27.2", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-validator-option": "^7.27.1", + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.27.1", + "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.27.1", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.27.1", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.27.1", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.27.1", "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", - "@babel/plugin-syntax-import-assertions": "^7.26.0", - "@babel/plugin-syntax-import-attributes": "^7.26.0", + "@babel/plugin-syntax-import-assertions": "^7.27.1", + "@babel/plugin-syntax-import-attributes": "^7.27.1", "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", - "@babel/plugin-transform-arrow-functions": "^7.25.9", - "@babel/plugin-transform-async-generator-functions": "^7.26.8", - "@babel/plugin-transform-async-to-generator": "^7.25.9", - "@babel/plugin-transform-block-scoped-functions": "^7.26.5", - "@babel/plugin-transform-block-scoping": "^7.25.9", - "@babel/plugin-transform-class-properties": "^7.25.9", - "@babel/plugin-transform-class-static-block": "^7.26.0", - "@babel/plugin-transform-classes": "^7.25.9", - "@babel/plugin-transform-computed-properties": "^7.25.9", - "@babel/plugin-transform-destructuring": "^7.25.9", - "@babel/plugin-transform-dotall-regex": "^7.25.9", - "@babel/plugin-transform-duplicate-keys": "^7.25.9", - "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.25.9", - "@babel/plugin-transform-dynamic-import": "^7.25.9", - "@babel/plugin-transform-exponentiation-operator": "^7.26.3", - "@babel/plugin-transform-export-namespace-from": "^7.25.9", - "@babel/plugin-transform-for-of": "^7.26.9", - "@babel/plugin-transform-function-name": "^7.25.9", - "@babel/plugin-transform-json-strings": "^7.25.9", - "@babel/plugin-transform-literals": "^7.25.9", - "@babel/plugin-transform-logical-assignment-operators": "^7.25.9", - "@babel/plugin-transform-member-expression-literals": "^7.25.9", - "@babel/plugin-transform-modules-amd": "^7.25.9", - "@babel/plugin-transform-modules-commonjs": "^7.26.3", - "@babel/plugin-transform-modules-systemjs": "^7.25.9", - "@babel/plugin-transform-modules-umd": "^7.25.9", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.25.9", - "@babel/plugin-transform-new-target": "^7.25.9", - "@babel/plugin-transform-nullish-coalescing-operator": "^7.26.6", - "@babel/plugin-transform-numeric-separator": "^7.25.9", - "@babel/plugin-transform-object-rest-spread": "^7.25.9", - "@babel/plugin-transform-object-super": "^7.25.9", - "@babel/plugin-transform-optional-catch-binding": "^7.25.9", - "@babel/plugin-transform-optional-chaining": "^7.25.9", - "@babel/plugin-transform-parameters": "^7.25.9", - "@babel/plugin-transform-private-methods": "^7.25.9", - "@babel/plugin-transform-private-property-in-object": "^7.25.9", - "@babel/plugin-transform-property-literals": "^7.25.9", - "@babel/plugin-transform-regenerator": "^7.25.9", - "@babel/plugin-transform-regexp-modifiers": "^7.26.0", - "@babel/plugin-transform-reserved-words": "^7.25.9", - "@babel/plugin-transform-shorthand-properties": "^7.25.9", - "@babel/plugin-transform-spread": "^7.25.9", - "@babel/plugin-transform-sticky-regex": "^7.25.9", - "@babel/plugin-transform-template-literals": "^7.26.8", - "@babel/plugin-transform-typeof-symbol": "^7.26.7", - "@babel/plugin-transform-unicode-escapes": "^7.25.9", - "@babel/plugin-transform-unicode-property-regex": "^7.25.9", - "@babel/plugin-transform-unicode-regex": "^7.25.9", - "@babel/plugin-transform-unicode-sets-regex": "^7.25.9", + "@babel/plugin-transform-arrow-functions": "^7.27.1", + "@babel/plugin-transform-async-generator-functions": "^7.27.1", + "@babel/plugin-transform-async-to-generator": "^7.27.1", + "@babel/plugin-transform-block-scoped-functions": "^7.27.1", + "@babel/plugin-transform-block-scoping": "^7.27.1", + "@babel/plugin-transform-class-properties": "^7.27.1", + "@babel/plugin-transform-class-static-block": "^7.27.1", + "@babel/plugin-transform-classes": "^7.27.1", + "@babel/plugin-transform-computed-properties": "^7.27.1", + "@babel/plugin-transform-destructuring": "^7.27.1", + "@babel/plugin-transform-dotall-regex": "^7.27.1", + "@babel/plugin-transform-duplicate-keys": "^7.27.1", + "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.27.1", + "@babel/plugin-transform-dynamic-import": "^7.27.1", + "@babel/plugin-transform-exponentiation-operator": "^7.27.1", + "@babel/plugin-transform-export-namespace-from": "^7.27.1", + "@babel/plugin-transform-for-of": "^7.27.1", + "@babel/plugin-transform-function-name": "^7.27.1", + "@babel/plugin-transform-json-strings": "^7.27.1", + "@babel/plugin-transform-literals": "^7.27.1", + "@babel/plugin-transform-logical-assignment-operators": "^7.27.1", + "@babel/plugin-transform-member-expression-literals": "^7.27.1", + "@babel/plugin-transform-modules-amd": "^7.27.1", + "@babel/plugin-transform-modules-commonjs": "^7.27.1", + "@babel/plugin-transform-modules-systemjs": "^7.27.1", + "@babel/plugin-transform-modules-umd": "^7.27.1", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.27.1", + "@babel/plugin-transform-new-target": "^7.27.1", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.27.1", + "@babel/plugin-transform-numeric-separator": "^7.27.1", + "@babel/plugin-transform-object-rest-spread": "^7.27.2", + "@babel/plugin-transform-object-super": "^7.27.1", + "@babel/plugin-transform-optional-catch-binding": "^7.27.1", + "@babel/plugin-transform-optional-chaining": "^7.27.1", + "@babel/plugin-transform-parameters": "^7.27.1", + "@babel/plugin-transform-private-methods": "^7.27.1", + "@babel/plugin-transform-private-property-in-object": "^7.27.1", + "@babel/plugin-transform-property-literals": "^7.27.1", + "@babel/plugin-transform-regenerator": "^7.27.1", + "@babel/plugin-transform-regexp-modifiers": "^7.27.1", + "@babel/plugin-transform-reserved-words": "^7.27.1", + "@babel/plugin-transform-shorthand-properties": "^7.27.1", + "@babel/plugin-transform-spread": "^7.27.1", + "@babel/plugin-transform-sticky-regex": "^7.27.1", + "@babel/plugin-transform-template-literals": "^7.27.1", + "@babel/plugin-transform-typeof-symbol": "^7.27.1", + "@babel/plugin-transform-unicode-escapes": "^7.27.1", + "@babel/plugin-transform-unicode-property-regex": "^7.27.1", + "@babel/plugin-transform-unicode-regex": "^7.27.1", + "@babel/plugin-transform-unicode-sets-regex": "^7.27.1", "@babel/preset-modules": "0.1.6-no-external-plugins", "babel-plugin-polyfill-corejs2": "^0.4.10", "babel-plugin-polyfill-corejs3": "^0.11.0", @@ -2801,14 +3577,11 @@ } }, "node_modules/@babel/runtime": { - "version": "7.26.10", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.26.10.tgz", - "integrity": "sha512-2WJMeRQPHKSPemqk/awGrAiuFfzBmOIPXKizAsVhWH9YJqLZ0H+HS4c8loHGgW6utJ3E/ejXQUsiGaQy2NZ9Fw==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.27.1.tgz", + "integrity": "sha512-1x3D2xEk2fRo3PAhwQwu5UubzgiVWSXTBfWpVd2Mx2AzRqJuDJCsgaDVZ7HB5iGzDW1Hl1sWN2mFyKjmR9uAog==", "dev": true, "license": "MIT", - "dependencies": { - "regenerator-runtime": "^0.14.0" - }, "engines": { "node": ">=6.9.0" } @@ -3370,9 +4143,9 @@ } }, "node_modules/@esbuild/aix-ppc64": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.4.tgz", - "integrity": "sha512-1VCICWypeQKhVbE9oW/sJaAmjLxhVqacdkvPLEjwlttjfwENRSClS8EjBz0KzRyFSCPDIkuXW34Je/vk7zdB7Q==", + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.5.tgz", + "integrity": "sha512-9o3TMmpmftaCMepOdA5k/yDw8SfInyzWWTjYTFCX3kPSDJMROQTb8jg+h9Cnwnmm1vOzvxN7gIfB5V2ewpjtGA==", "cpu": [ "ppc64" ], @@ -3387,9 +4160,9 @@ } }, "node_modules/@esbuild/android-arm": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.4.tgz", - "integrity": "sha512-QNdQEps7DfFwE3hXiU4BZeOV68HHzYwGd0Nthhd3uCkkEKK7/R6MTgM0P7H7FAs5pU/DIWsviMmEGxEoxIZ+ZQ==", + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.5.tgz", + "integrity": "sha512-AdJKSPeEHgi7/ZhuIPtcQKr5RQdo6OO2IL87JkianiMYMPbCtot9fxPbrMiBADOWWm3T2si9stAiVsGbTQFkbA==", "cpu": [ "arm" ], @@ -3404,9 +4177,9 @@ } }, "node_modules/@esbuild/android-arm64": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.4.tgz", - "integrity": "sha512-bBy69pgfhMGtCnwpC/x5QhfxAz/cBgQ9enbtwjf6V9lnPI/hMyT9iWpR1arm0l3kttTr4L0KSLpKmLp/ilKS9A==", + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.5.tgz", + "integrity": "sha512-VGzGhj4lJO+TVGV1v8ntCZWJktV7SGCs3Pn1GRWI1SBFtRALoomm8k5E9Pmwg3HOAal2VDc2F9+PM/rEY6oIDg==", "cpu": [ "arm64" ], @@ -3421,9 +4194,9 @@ } }, "node_modules/@esbuild/android-x64": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.4.tgz", - "integrity": "sha512-TVhdVtQIFuVpIIR282btcGC2oGQoSfZfmBdTip2anCaVYcqWlZXGcdcKIUklfX2wj0JklNYgz39OBqh2cqXvcQ==", + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.5.tgz", + "integrity": "sha512-D2GyJT1kjvO//drbRT3Hib9XPwQeWd9vZoBJn+bu/lVsOZ13cqNdDeqIF/xQ5/VmWvMduP6AmXvylO/PIc2isw==", "cpu": [ "x64" ], @@ -3438,9 +4211,9 @@ } }, "node_modules/@esbuild/darwin-arm64": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.4.tgz", - "integrity": "sha512-Y1giCfM4nlHDWEfSckMzeWNdQS31BQGs9/rouw6Ub91tkK79aIMTH3q9xHvzH8d0wDru5Ci0kWB8b3up/nl16g==", + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.5.tgz", + "integrity": "sha512-GtaBgammVvdF7aPIgH2jxMDdivezgFu6iKpmT+48+F8Hhg5J/sfnDieg0aeG/jfSvkYQU2/pceFPDKlqZzwnfQ==", "cpu": [ "arm64" ], @@ -3455,9 +4228,9 @@ } }, "node_modules/@esbuild/darwin-x64": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.4.tgz", - "integrity": "sha512-CJsry8ZGM5VFVeyUYB3cdKpd/H69PYez4eJh1W/t38vzutdjEjtP7hB6eLKBoOdxcAlCtEYHzQ/PJ/oU9I4u0A==", + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.5.tgz", + "integrity": "sha512-1iT4FVL0dJ76/q1wd7XDsXrSW+oLoquptvh4CLR4kITDtqi2e/xwXwdCVH8hVHU43wgJdsq7Gxuzcs6Iq/7bxQ==", "cpu": [ "x64" ], @@ -3472,9 +4245,9 @@ } }, "node_modules/@esbuild/freebsd-arm64": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.4.tgz", - "integrity": "sha512-yYq+39NlTRzU2XmoPW4l5Ifpl9fqSk0nAJYM/V/WUGPEFfek1epLHJIkTQM6bBs1swApjO5nWgvr843g6TjxuQ==", + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.5.tgz", + "integrity": "sha512-nk4tGP3JThz4La38Uy/gzyXtpkPW8zSAmoUhK9xKKXdBCzKODMc2adkB2+8om9BDYugz+uGV7sLmpTYzvmz6Sw==", "cpu": [ "arm64" ], @@ -3489,9 +4262,9 @@ } }, "node_modules/@esbuild/freebsd-x64": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.4.tgz", - "integrity": "sha512-0FgvOJ6UUMflsHSPLzdfDnnBBVoCDtBTVyn/MrWloUNvq/5SFmh13l3dvgRPkDihRxb77Y17MbqbCAa2strMQQ==", + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.5.tgz", + "integrity": "sha512-PrikaNjiXdR2laW6OIjlbeuCPrPaAl0IwPIaRv+SMV8CiM8i2LqVUHFC1+8eORgWyY7yhQY+2U2fA55mBzReaw==", "cpu": [ "x64" ], @@ -3506,9 +4279,9 @@ } }, "node_modules/@esbuild/linux-arm": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.4.tgz", - "integrity": "sha512-kro4c0P85GMfFYqW4TWOpvmF8rFShbWGnrLqlzp4X1TNWjRY3JMYUfDCtOxPKOIY8B0WC8HN51hGP4I4hz4AaQ==", + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.5.tgz", + "integrity": "sha512-cPzojwW2okgh7ZlRpcBEtsX7WBuqbLrNXqLU89GxWbNt6uIg78ET82qifUy3W6OVww6ZWobWub5oqZOVtwolfw==", "cpu": [ "arm" ], @@ -3523,9 +4296,9 @@ } }, "node_modules/@esbuild/linux-arm64": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.4.tgz", - "integrity": "sha512-+89UsQTfXdmjIvZS6nUnOOLoXnkUTB9hR5QAeLrQdzOSWZvNSAXAtcRDHWtqAUtAmv7ZM1WPOOeSxDzzzMogiQ==", + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.5.tgz", + "integrity": "sha512-Z9kfb1v6ZlGbWj8EJk9T6czVEjjq2ntSYLY2cw6pAZl4oKtfgQuS4HOq41M/BcoLPzrUbNd+R4BXFyH//nHxVg==", "cpu": [ "arm64" ], @@ -3540,9 +4313,9 @@ } }, "node_modules/@esbuild/linux-ia32": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.4.tgz", - "integrity": "sha512-yTEjoapy8UP3rv8dB0ip3AfMpRbyhSN3+hY8mo/i4QXFeDxmiYbEKp3ZRjBKcOP862Ua4b1PDfwlvbuwY7hIGQ==", + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.5.tgz", + "integrity": "sha512-sQ7l00M8bSv36GLV95BVAdhJ2QsIbCuCjh/uYrWiMQSUuV+LpXwIqhgJDcvMTj+VsQmqAHL2yYaasENvJ7CDKA==", "cpu": [ "ia32" ], @@ -3557,9 +4330,9 @@ } }, "node_modules/@esbuild/linux-loong64": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.4.tgz", - "integrity": "sha512-NeqqYkrcGzFwi6CGRGNMOjWGGSYOpqwCjS9fvaUlX5s3zwOtn1qwg1s2iE2svBe4Q/YOG1q6875lcAoQK/F4VA==", + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.5.tgz", + "integrity": "sha512-0ur7ae16hDUC4OL5iEnDb0tZHDxYmuQyhKhsPBV8f99f6Z9KQM02g33f93rNH5A30agMS46u2HP6qTdEt6Q1kg==", "cpu": [ "loong64" ], @@ -3574,9 +4347,9 @@ } }, "node_modules/@esbuild/linux-mips64el": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.4.tgz", - "integrity": "sha512-IcvTlF9dtLrfL/M8WgNI/qJYBENP3ekgsHbYUIzEzq5XJzzVEV/fXY9WFPfEEXmu3ck2qJP8LG/p3Q8f7Zc2Xg==", + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.5.tgz", + "integrity": "sha512-kB/66P1OsHO5zLz0i6X0RxlQ+3cu0mkxS3TKFvkb5lin6uwZ/ttOkP3Z8lfR9mJOBk14ZwZ9182SIIWFGNmqmg==", "cpu": [ "mips64el" ], @@ -3591,9 +4364,9 @@ } }, "node_modules/@esbuild/linux-ppc64": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.4.tgz", - "integrity": "sha512-HOy0aLTJTVtoTeGZh4HSXaO6M95qu4k5lJcH4gxv56iaycfz1S8GO/5Jh6X4Y1YiI0h7cRyLi+HixMR+88swag==", + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.5.tgz", + "integrity": "sha512-UZCmJ7r9X2fe2D6jBmkLBMQetXPXIsZjQJCjgwpVDz+YMcS6oFR27alkgGv3Oqkv07bxdvw7fyB71/olceJhkQ==", "cpu": [ "ppc64" ], @@ -3608,9 +4381,9 @@ } }, "node_modules/@esbuild/linux-riscv64": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.4.tgz", - "integrity": "sha512-i8JUDAufpz9jOzo4yIShCTcXzS07vEgWzyX3NH2G7LEFVgrLEhjwL3ajFE4fZI3I4ZgiM7JH3GQ7ReObROvSUA==", + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.5.tgz", + "integrity": "sha512-kTxwu4mLyeOlsVIFPfQo+fQJAV9mh24xL+y+Bm6ej067sYANjyEw1dNHmvoqxJUCMnkBdKpvOn0Ahql6+4VyeA==", "cpu": [ "riscv64" ], @@ -3625,9 +4398,9 @@ } }, "node_modules/@esbuild/linux-s390x": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.4.tgz", - "integrity": "sha512-jFnu+6UbLlzIjPQpWCNh5QtrcNfMLjgIavnwPQAfoGx4q17ocOU9MsQ2QVvFxwQoWpZT8DvTLooTvmOQXkO51g==", + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.5.tgz", + "integrity": "sha512-K2dSKTKfmdh78uJ3NcWFiqyRrimfdinS5ErLSn3vluHNeHVnBAFWC8a4X5N+7FgVE1EjXS1QDZbpqZBjfrqMTQ==", "cpu": [ "s390x" ], @@ -3642,9 +4415,9 @@ } }, "node_modules/@esbuild/linux-x64": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.4.tgz", - "integrity": "sha512-6e0cvXwzOnVWJHq+mskP8DNSrKBr1bULBvnFLpc1KY+d+irZSgZ02TGse5FsafKS5jg2e4pbvK6TPXaF/A6+CA==", + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.5.tgz", + "integrity": "sha512-uhj8N2obKTE6pSZ+aMUbqq+1nXxNjZIIjCjGLfsWvVpy7gKCOL6rsY1MhRh9zLtUtAI7vpgLMK6DxjO8Qm9lJw==", "cpu": [ "x64" ], @@ -3659,9 +4432,9 @@ } }, "node_modules/@esbuild/netbsd-arm64": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.4.tgz", - "integrity": "sha512-vUnkBYxZW4hL/ie91hSqaSNjulOnYXE1VSLusnvHg2u3jewJBz3YzB9+oCw8DABeVqZGg94t9tyZFoHma8gWZQ==", + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.5.tgz", + "integrity": "sha512-pwHtMP9viAy1oHPvgxtOv+OkduK5ugofNTVDilIzBLpoWAM16r7b/mxBvfpuQDpRQFMfuVr5aLcn4yveGvBZvw==", "cpu": [ "arm64" ], @@ -3676,9 +4449,9 @@ } }, "node_modules/@esbuild/netbsd-x64": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.4.tgz", - "integrity": "sha512-XAg8pIQn5CzhOB8odIcAm42QsOfa98SBeKUdo4xa8OvX8LbMZqEtgeWE9P/Wxt7MlG2QqvjGths+nq48TrUiKw==", + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.5.tgz", + "integrity": "sha512-WOb5fKrvVTRMfWFNCroYWWklbnXH0Q5rZppjq0vQIdlsQKuw6mdSihwSo4RV/YdQ5UCKKvBy7/0ZZYLBZKIbwQ==", "cpu": [ "x64" ], @@ -3693,9 +4466,9 @@ } }, "node_modules/@esbuild/openbsd-arm64": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.4.tgz", - "integrity": "sha512-Ct2WcFEANlFDtp1nVAXSNBPDxyU+j7+tId//iHXU2f/lN5AmO4zLyhDcpR5Cz1r08mVxzt3Jpyt4PmXQ1O6+7A==", + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.5.tgz", + "integrity": "sha512-7A208+uQKgTxHd0G0uqZO8UjK2R0DDb4fDmERtARjSHWxqMTye4Erz4zZafx7Di9Cv+lNHYuncAkiGFySoD+Mw==", "cpu": [ "arm64" ], @@ -3710,9 +4483,9 @@ } }, "node_modules/@esbuild/openbsd-x64": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.4.tgz", - "integrity": "sha512-xAGGhyOQ9Otm1Xu8NT1ifGLnA6M3sJxZ6ixylb+vIUVzvvd6GOALpwQrYrtlPouMqd/vSbgehz6HaVk4+7Afhw==", + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.5.tgz", + "integrity": "sha512-G4hE405ErTWraiZ8UiSoesH8DaCsMm0Cay4fsFWOOUcz8b8rC6uCvnagr+gnioEjWn0wC+o1/TAHt+It+MpIMg==", "cpu": [ "x64" ], @@ -3727,9 +4500,9 @@ } }, "node_modules/@esbuild/sunos-x64": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.4.tgz", - "integrity": "sha512-Mw+tzy4pp6wZEK0+Lwr76pWLjrtjmJyUB23tHKqEDP74R3q95luY/bXqXZeYl4NYlvwOqoRKlInQialgCKy67Q==", + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.5.tgz", + "integrity": "sha512-l+azKShMy7FxzY0Rj4RCt5VD/q8mG/e+mDivgspo+yL8zW7qEwctQ6YqKX34DTEleFAvCIUviCFX1SDZRSyMQA==", "cpu": [ "x64" ], @@ -3744,9 +4517,9 @@ } }, "node_modules/@esbuild/win32-arm64": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.4.tgz", - "integrity": "sha512-AVUP428VQTSddguz9dO9ngb+E5aScyg7nOeJDrF1HPYu555gmza3bDGMPhmVXL8svDSoqPCsCPjb265yG/kLKQ==", + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.5.tgz", + "integrity": "sha512-O2S7SNZzdcFG7eFKgvwUEZ2VG9D/sn/eIiz8XRZ1Q/DO5a3s76Xv0mdBzVM5j5R639lXQmPmSo0iRpHqUUrsxw==", "cpu": [ "arm64" ], @@ -3761,9 +4534,9 @@ } }, "node_modules/@esbuild/win32-ia32": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.4.tgz", - "integrity": "sha512-i1sW+1i+oWvQzSgfRcxxG2k4I9n3O9NRqy8U+uugaT2Dy7kLO9Y7wI72haOahxceMX8hZAzgGou1FhndRldxRg==", + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.5.tgz", + "integrity": "sha512-onOJ02pqs9h1iMJ1PQphR+VZv8qBMQ77Klcsqv9CNW2w6yLqoURLcgERAIurY6QE63bbLuqgP9ATqajFLK5AMQ==", "cpu": [ "ia32" ], @@ -3778,9 +4551,9 @@ } }, "node_modules/@esbuild/win32-x64": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.4.tgz", - "integrity": "sha512-nOT2vZNw6hJ+z43oP1SPea/G/6AbN6X+bGNhNuq8NtRHy4wsMhw765IKLNmnjek7GvjWBYQ8Q5VBoYTFg9y1UQ==", + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.5.tgz", + "integrity": "sha512-TXv6YnJ8ZMVdX+SXWVBo/0p8LTcrUYngpWjvm91TMjjBQii7Oz11Lw5lbDV5Y0TzuhSJHwiH4hEtC1I42mMS0g==", "cpu": [ "x64" ], @@ -3827,14 +4600,14 @@ } }, "node_modules/@inquirer/confirm": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/@inquirer/confirm/-/confirm-5.1.6.tgz", - "integrity": "sha512-6ZXYK3M1XmaVBZX6FCfChgtponnL0R6I7k8Nu+kaoNkT828FVZTcca1MqmWQipaW2oNREQl5AaPCUOOCVNdRMw==", + "version": "5.1.10", + "resolved": "https://registry.npmjs.org/@inquirer/confirm/-/confirm-5.1.10.tgz", + "integrity": "sha512-FxbQ9giWxUWKUk2O5XZ6PduVnH2CZ/fmMKMBkH71MHJvWr7WL5AHKevhzF1L5uYWB2P548o1RzVxrNd3dpmk6g==", "dev": true, "license": "MIT", "dependencies": { - "@inquirer/core": "^10.1.7", - "@inquirer/type": "^3.0.4" + "@inquirer/core": "^10.1.11", + "@inquirer/type": "^3.0.6" }, "engines": { "node": ">=18" @@ -4010,22 +4783,22 @@ } }, "node_modules/@inquirer/prompts": { - "version": "7.3.2", - "resolved": "https://registry.npmjs.org/@inquirer/prompts/-/prompts-7.3.2.tgz", - "integrity": "sha512-G1ytyOoHh5BphmEBxSwALin3n1KGNYB6yImbICcRQdzXfOGbuJ9Jske/Of5Sebk339NSGGNfUshnzK8YWkTPsQ==", + "version": "7.5.1", + "resolved": "https://registry.npmjs.org/@inquirer/prompts/-/prompts-7.5.1.tgz", + "integrity": "sha512-5AOrZPf2/GxZ+SDRZ5WFplCA2TAQgK3OYrXCYmJL5NaTu4ECcoWFlfUZuw7Es++6Njv7iu/8vpYJhuzxUH76Vg==", "dev": true, "license": "MIT", "dependencies": { - "@inquirer/checkbox": "^4.1.2", - "@inquirer/confirm": "^5.1.6", - "@inquirer/editor": "^4.2.7", - "@inquirer/expand": "^4.0.9", - "@inquirer/input": "^4.1.6", - "@inquirer/number": "^3.0.9", - "@inquirer/password": "^4.0.9", - "@inquirer/rawlist": "^4.0.9", - "@inquirer/search": "^3.0.9", - "@inquirer/select": "^4.0.9" + "@inquirer/checkbox": "^4.1.6", + "@inquirer/confirm": "^5.1.10", + "@inquirer/editor": "^4.2.11", + "@inquirer/expand": "^4.0.13", + "@inquirer/input": "^4.1.10", + "@inquirer/number": "^3.0.13", + "@inquirer/password": "^4.0.13", + "@inquirer/rawlist": "^4.1.1", + "@inquirer/search": "^3.0.13", + "@inquirer/select": "^4.2.1" }, "engines": { "node": ">=18" @@ -4795,9 +5568,9 @@ "license": "MIT" }, "node_modules/@listr2/prompt-adapter-inquirer": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/@listr2/prompt-adapter-inquirer/-/prompt-adapter-inquirer-2.0.18.tgz", - "integrity": "sha512-0hz44rAcrphyXcA8IS7EJ2SCoaBZD2u5goE8S/e+q/DL+dOGpqpcLidVOFeLG3VgML62SXmfRLAhWt0zL1oW4Q==", + "version": "2.0.22", + "resolved": "https://registry.npmjs.org/@listr2/prompt-adapter-inquirer/-/prompt-adapter-inquirer-2.0.22.tgz", + "integrity": "sha512-hV36ZoY+xKL6pYOt1nPNnkciFkn89KZwqLhAFzJvYysAvL5uBQdiADZx/8bIDXIukzzwG0QlPYolgMzQUtKgpQ==", "dev": true, "license": "MIT", "dependencies": { @@ -4824,9 +5597,9 @@ } }, "node_modules/@lmdb/lmdb-darwin-arm64": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-arm64/-/lmdb-darwin-arm64-3.2.6.tgz", - "integrity": "sha512-yF/ih9EJJZc72psFQbwnn8mExIWfTnzWJg+N02hnpXtDPETYLmQswIMBn7+V88lfCaFrMozJsUvcEQIkEPU0Gg==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-arm64/-/lmdb-darwin-arm64-3.3.0.tgz", + "integrity": "sha512-LipbQobyEfQtu8WixasaFUZZ+JCGlho4OWwWIQ5ol0rB1RKkcZvypu7sS1CBvofBGVAa3vbOh8IOGQMrbmL5dg==", "cpu": [ "arm64" ], @@ -4838,9 +5611,9 @@ ] }, "node_modules/@lmdb/lmdb-darwin-x64": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-x64/-/lmdb-darwin-x64-3.2.6.tgz", - "integrity": "sha512-5BbCumsFLbCi586Bb1lTWQFkekdQUw8/t8cy++Uq251cl3hbDIGEwD9HAwh8H6IS2F6QA9KdKmO136LmipRNkg==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-x64/-/lmdb-darwin-x64-3.3.0.tgz", + "integrity": "sha512-yA+9P+ZeA3vg76BLXWeUomIAjxfmSmR2eg8fueHXDg5Xe1Xmkl9JCKuHXUhtJ+mMVcH12d5k4kJBLbyXTadfGQ==", "cpu": [ "x64" ], @@ -4852,9 +5625,9 @@ ] }, "node_modules/@lmdb/lmdb-linux-arm": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-arm/-/lmdb-linux-arm-3.2.6.tgz", - "integrity": "sha512-+6XgLpMb7HBoWxXj+bLbiiB4s0mRRcDPElnRS3LpWRzdYSe+gFk5MT/4RrVNqd2MESUDmb53NUXw1+BP69bjiQ==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-arm/-/lmdb-linux-arm-3.3.0.tgz", + "integrity": "sha512-EDYrW9kle+8wI19JCj/PhRnGoCN9bked5cdOPdo1wdgH/HzjgoLPFTn9DHlZccgTEVhp3O+bpWXdN/rWySVvjw==", "cpu": [ "arm" ], @@ -4866,11 +5639,25 @@ ] }, "node_modules/@lmdb/lmdb-linux-arm64": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-arm64/-/lmdb-linux-arm64-3.2.6.tgz", - "integrity": "sha512-l5VmJamJ3nyMmeD1ANBQCQqy7do1ESaJQfKPSm2IG9/ADZryptTyCj8N6QaYgIWewqNUrcbdMkJajRQAt5Qjfg==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-arm64/-/lmdb-linux-arm64-3.3.0.tgz", + "integrity": "sha512-OeWvSgjXXZ/zmtLqqL78I3910F6UYpUubmsUU+iBHo6nTtjkpXms95rJtGrjkWQqwswKBD7xSMplbYC4LEsiPA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@lmdb/lmdb-linux-x64": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-x64/-/lmdb-linux-x64-3.3.0.tgz", + "integrity": "sha512-wDd02mt5ScX4+xd6g78zKBr6ojpgCJCTrllCAabjgap5FzuETqOqaQfKhO+tJuGWv/J5q+GIds6uY7rNFueOxg==", "cpu": [ - "arm64" + "x64" ], "dev": true, "license": "MIT", @@ -4879,24 +5666,24 @@ "linux" ] }, - "node_modules/@lmdb/lmdb-linux-x64": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-x64/-/lmdb-linux-x64-3.2.6.tgz", - "integrity": "sha512-nDYT8qN9si5+onHYYaI4DiauDMx24OAiuZAUsEqrDy+ja/3EbpXPX/VAkMV8AEaQhy3xc4dRC+KcYIvOFefJ4Q==", + "node_modules/@lmdb/lmdb-win32-arm64": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-win32-arm64/-/lmdb-win32-arm64-3.3.0.tgz", + "integrity": "sha512-COotWhHJgzXULLiEjOgWQwqig6PoA+6ji6W+sDl6M1HhMXWIymEVHGs0edsVSNtsNSCAWMxJgR3asv6FNX/2EA==", "cpu": [ - "x64" + "arm64" ], "dev": true, "license": "MIT", "optional": true, "os": [ - "linux" + "win32" ] }, "node_modules/@lmdb/lmdb-win32-x64": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-win32-x64/-/lmdb-win32-x64-3.2.6.tgz", - "integrity": "sha512-XlqVtILonQnG+9fH2N3Aytria7P/1fwDgDhl29rde96uH2sLB8CHORIf2PfuLVzFQJ7Uqp8py9AYwr3ZUCFfWg==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-win32-x64/-/lmdb-win32-x64-3.3.0.tgz", + "integrity": "sha512-kqUgQH+l8HDbkAapx+aoko7Ez4X4DqkIraOqY/k0QY5EN/iialVlFpBUXh4wFXzirdmEVjbIUMrceUh0Kh8LeA==", "cpu": [ "x64" ], @@ -5297,19 +6084,19 @@ } }, "node_modules/@ngtools/webpack": { - "version": "19.2.15", - "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-19.2.15.tgz", - "integrity": "sha512-H37nop/wWMkSgoU2VvrMzanHePdLRRrX52nC5tT2ZhH3qP25+PrnMyw11PoLDLv3iWXC68uB1AiKNIT+jiQbuQ==", + "version": "20.0.4", + "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-20.0.4.tgz", + "integrity": "sha512-GFke8NcaFW62d1KXd4DkKbEw4mSsjJsMGmeHkBe5LPWS6zRIAZULo0fk/qV94IZ8INDbqY2k1WoxvStg7pHTsg==", "dev": true, "license": "MIT", "engines": { - "node": "^18.19.1 || ^20.11.1 || >=22.0.0", + "node": "^20.19.0 || ^22.12.0 || >=24.0.0", "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", "yarn": ">= 1.13.0" }, "peerDependencies": { - "@angular/compiler-cli": "^19.0.0 || ^19.2.0-next.0", - "typescript": ">=5.5 <5.9", + "@angular/compiler-cli": "^20.0.0", + "typescript": ">=5.8 <5.9", "webpack": "^5.54.0" } }, @@ -6281,9 +7068,9 @@ } }, "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.34.8.tgz", - "integrity": "sha512-q217OSE8DTp8AFHuNHXo0Y86e1wtlfVrXiAlwkIvGRQv9zbc6mE3sjIVfwI8sYUyNxwOg0j/Vm1RKM04JcWLJw==", + "version": "4.40.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.40.2.tgz", + "integrity": "sha512-JkdNEq+DFxZfUwxvB58tHMHBHVgX23ew41g1OQinthJ+ryhdRk67O31S7sYw8u2lTjHUPFxwar07BBt1KHp/hg==", "cpu": [ "arm" ], @@ -6295,9 +7082,9 @@ ] }, "node_modules/@rollup/rollup-android-arm64": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.34.8.tgz", - "integrity": "sha512-Gigjz7mNWaOL9wCggvoK3jEIUUbGul656opstjaUSGC3eT0BM7PofdAJaBfPFWWkXNVAXbaQtC99OCg4sJv70Q==", + "version": "4.40.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.40.2.tgz", + "integrity": "sha512-13unNoZ8NzUmnndhPTkWPWbX3vtHodYmy+I9kuLxN+F+l+x3LdVF7UCu8TWVMt1POHLh6oDHhnOA04n8oJZhBw==", "cpu": [ "arm64" ], @@ -6309,9 +7096,9 @@ ] }, "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.34.8.tgz", - "integrity": "sha512-02rVdZ5tgdUNRxIUrFdcMBZQoaPMrxtwSb+/hOfBdqkatYHR3lZ2A2EGyHq2sGOd0Owk80oV3snlDASC24He3Q==", + "version": "4.40.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.40.2.tgz", + "integrity": "sha512-Gzf1Hn2Aoe8VZzevHostPX23U7N5+4D36WJNHK88NZHCJr7aVMG4fadqkIf72eqVPGjGc0HJHNuUaUcxiR+N/w==", "cpu": [ "arm64" ], @@ -6323,9 +7110,9 @@ ] }, "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.34.8.tgz", - "integrity": "sha512-qIP/elwR/tq/dYRx3lgwK31jkZvMiD6qUtOycLhTzCvrjbZ3LjQnEM9rNhSGpbLXVJYQ3rq39A6Re0h9tU2ynw==", + "version": "4.40.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.40.2.tgz", + "integrity": "sha512-47N4hxa01a4x6XnJoskMKTS8XZ0CZMd8YTbINbi+w03A2w4j1RTlnGHOz/P0+Bg1LaVL6ufZyNprSg+fW5nYQQ==", "cpu": [ "x64" ], @@ -6337,9 +7124,9 @@ ] }, "node_modules/@rollup/rollup-freebsd-arm64": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.34.8.tgz", - "integrity": "sha512-IQNVXL9iY6NniYbTaOKdrlVP3XIqazBgJOVkddzJlqnCpRi/yAeSOa8PLcECFSQochzqApIOE1GHNu3pCz+BDA==", + "version": "4.40.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.40.2.tgz", + "integrity": "sha512-8t6aL4MD+rXSHHZUR1z19+9OFJ2rl1wGKvckN47XFRVO+QL/dUSpKA2SLRo4vMg7ELA8pzGpC+W9OEd1Z/ZqoQ==", "cpu": [ "arm64" ], @@ -6351,9 +7138,9 @@ ] }, "node_modules/@rollup/rollup-freebsd-x64": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.34.8.tgz", - "integrity": "sha512-TYXcHghgnCqYFiE3FT5QwXtOZqDj5GmaFNTNt3jNC+vh22dc/ukG2cG+pi75QO4kACohZzidsq7yKTKwq/Jq7Q==", + "version": "4.40.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.40.2.tgz", + "integrity": "sha512-C+AyHBzfpsOEYRFjztcYUFsH4S7UsE9cDtHCtma5BK8+ydOZYgMmWg1d/4KBytQspJCld8ZIujFMAdKG1xyr4Q==", "cpu": [ "x64" ], @@ -6365,9 +7152,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.34.8.tgz", - "integrity": "sha512-A4iphFGNkWRd+5m3VIGuqHnG3MVnqKe7Al57u9mwgbyZ2/xF9Jio72MaY7xxh+Y87VAHmGQr73qoKL9HPbXj1g==", + "version": "4.40.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.40.2.tgz", + "integrity": "sha512-de6TFZYIvJwRNjmW3+gaXiZ2DaWL5D5yGmSYzkdzjBDS3W+B9JQ48oZEsmMvemqjtAFzE16DIBLqd6IQQRuG9Q==", "cpu": [ "arm" ], @@ -6379,9 +7166,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.34.8.tgz", - "integrity": "sha512-S0lqKLfTm5u+QTxlFiAnb2J/2dgQqRy/XvziPtDd1rKZFXHTyYLoVL58M/XFwDI01AQCDIevGLbQrMAtdyanpA==", + "version": "4.40.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.40.2.tgz", + "integrity": "sha512-urjaEZubdIkacKc930hUDOfQPysezKla/O9qV+O89enqsqUmQm8Xj8O/vh0gHg4LYfv7Y7UsE3QjzLQzDYN1qg==", "cpu": [ "arm" ], @@ -6393,9 +7180,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.34.8.tgz", - "integrity": "sha512-jpz9YOuPiSkL4G4pqKrus0pn9aYwpImGkosRKwNi+sJSkz+WU3anZe6hi73StLOQdfXYXC7hUfsQlTnjMd3s1A==", + "version": "4.40.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.40.2.tgz", + "integrity": "sha512-KlE8IC0HFOC33taNt1zR8qNlBYHj31qGT1UqWqtvR/+NuCVhfufAq9fxO8BMFC22Wu0rxOwGVWxtCMvZVLmhQg==", "cpu": [ "arm64" ], @@ -6407,9 +7194,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.34.8.tgz", - "integrity": "sha512-KdSfaROOUJXgTVxJNAZ3KwkRc5nggDk+06P6lgi1HLv1hskgvxHUKZ4xtwHkVYJ1Rep4GNo+uEfycCRRxht7+Q==", + "version": "4.40.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.40.2.tgz", + "integrity": "sha512-j8CgxvfM0kbnhu4XgjnCWJQyyBOeBI1Zq91Z850aUddUmPeQvuAy6OiMdPS46gNFgy8gN1xkYyLgwLYZG3rBOg==", "cpu": [ "arm64" ], @@ -6421,9 +7208,9 @@ ] }, "node_modules/@rollup/rollup-linux-loongarch64-gnu": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.34.8.tgz", - "integrity": "sha512-NyF4gcxwkMFRjgXBM6g2lkT58OWztZvw5KkV2K0qqSnUEqCVcqdh2jN4gQrTn/YUpAcNKyFHfoOZEer9nwo6uQ==", + "version": "4.40.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.40.2.tgz", + "integrity": "sha512-Ybc/1qUampKuRF4tQXc7G7QY9YRyeVSykfK36Y5Qc5dmrIxwFhrOzqaVTNoZygqZ1ZieSWTibfFhQ5qK8jpWxw==", "cpu": [ "loong64" ], @@ -6435,9 +7222,9 @@ ] }, "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.34.8.tgz", - "integrity": "sha512-LMJc999GkhGvktHU85zNTDImZVUCJ1z/MbAJTnviiWmmjyckP5aQsHtcujMjpNdMZPT2rQEDBlJfubhs3jsMfw==", + "version": "4.40.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.40.2.tgz", + "integrity": "sha512-3FCIrnrt03CCsZqSYAOW/k9n625pjpuMzVfeI+ZBUSDT3MVIFDSPfSUgIl9FqUftxcUXInvFah79hE1c9abD+Q==", "cpu": [ "ppc64" ], @@ -6449,9 +7236,9 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.34.8.tgz", - "integrity": "sha512-xAQCAHPj8nJq1PI3z8CIZzXuXCstquz7cIOL73HHdXiRcKk8Ywwqtx2wrIy23EcTn4aZ2fLJNBB8d0tQENPCmw==", + "version": "4.40.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.40.2.tgz", + "integrity": "sha512-QNU7BFHEvHMp2ESSY3SozIkBPaPBDTsfVNGx3Xhv+TdvWXFGOSH2NJvhD1zKAT6AyuuErJgbdvaJhYVhVqrWTg==", "cpu": [ "riscv64" ], @@ -6463,9 +7250,9 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-musl": { - "version": "4.44.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.44.1.tgz", - "integrity": "sha512-ppn5llVGgrZw7yxbIm8TTvtj1EoPgYUAbfw0uDjIOzzoqlZlZrLJ/KuiE7uf5EpTpCTrNt1EdtzF0naMm0wGYg==", + "version": "4.40.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.40.2.tgz", + "integrity": "sha512-5W6vNYkhgfh7URiXTO1E9a0cy4fSgfE4+Hl5agb/U1sa0kjOLMLC1wObxwKxecE17j0URxuTrYZZME4/VH57Hg==", "cpu": [ "riscv64" ], @@ -6474,13 +7261,12 @@ "optional": true, "os": [ "linux" - ], - "peer": true + ] }, "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.34.8.tgz", - "integrity": "sha512-DdePVk1NDEuc3fOe3dPPTb+rjMtuFw89gw6gVWxQFAuEqqSdDKnrwzZHrUYdac7A7dXl9Q2Vflxpme15gUWQFA==", + "version": "4.40.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.40.2.tgz", + "integrity": "sha512-B7LKIz+0+p348JoAL4X/YxGx9zOx3sR+o6Hj15Y3aaApNfAshK8+mWZEf759DXfRLeL2vg5LYJBB7DdcleYCoQ==", "cpu": [ "s390x" ], @@ -6492,9 +7278,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.34.8.tgz", - "integrity": "sha512-8y7ED8gjxITUltTUEJLQdgpbPh1sUQ0kMTmufRF/Ns5tI9TNMNlhWtmPKKHCU0SilX+3MJkZ0zERYYGIVBYHIA==", + "version": "4.40.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.40.2.tgz", + "integrity": "sha512-lG7Xa+BmBNwpjmVUbmyKxdQJ3Q6whHjMjzQplOs5Z+Gj7mxPtWakGHqzMqNER68G67kmCX9qX57aRsW5V0VOng==", "cpu": [ "x64" ], @@ -6506,9 +7292,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.34.8.tgz", - "integrity": "sha512-SCXcP0ZpGFIe7Ge+McxY5zKxiEI5ra+GT3QRxL0pMMtxPfpyLAKleZODi1zdRHkz5/BhueUrYtYVgubqe9JBNQ==", + "version": "4.40.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.40.2.tgz", + "integrity": "sha512-tD46wKHd+KJvsmije4bUskNuvWKFcTOIM9tZ/RrmIvcXnbi0YK/cKS9FzFtAm7Oxi2EhV5N2OpfFB348vSQRXA==", "cpu": [ "x64" ], @@ -6520,9 +7306,9 @@ ] }, "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.34.8.tgz", - "integrity": "sha512-YHYsgzZgFJzTRbth4h7Or0m5O74Yda+hLin0irAIobkLQFRQd1qWmnoVfwmKm9TXIZVAD0nZ+GEb2ICicLyCnQ==", + "version": "4.40.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.40.2.tgz", + "integrity": "sha512-Bjv/HG8RRWLNkXwQQemdsWw4Mg+IJ29LK+bJPW2SCzPKOUaMmPEppQlu/Fqk1d7+DX3V7JbFdbkh/NMmurT6Pg==", "cpu": [ "arm64" ], @@ -6534,9 +7320,9 @@ ] }, "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.34.8.tgz", - "integrity": "sha512-r3NRQrXkHr4uWy5TOjTpTYojR9XmF0j/RYgKCef+Ag46FWUTltm5ziticv8LdNsDMehjJ543x/+TJAek/xBA2w==", + "version": "4.40.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.40.2.tgz", + "integrity": "sha512-dt1llVSGEsGKvzeIO76HToiYPNPYPkmjhMHhP00T9S4rDern8P2ZWvWAQUEJ+R1UdMWJ/42i/QqJ2WV765GZcA==", "cpu": [ "ia32" ], @@ -6548,9 +7334,9 @@ ] }, "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.34.8.tgz", - "integrity": "sha512-U0FaE5O1BCpZSeE6gBl3c5ObhePQSfk9vDRToMmTkbhCOgW4jqvtS5LGyQ76L1fH8sM0keRp4uDTsbjiUyjk0g==", + "version": "4.40.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.40.2.tgz", + "integrity": "sha512-bwspbWB04XJpeElvsp+DCylKfF4trJDa2Y9Go8O6A7YLX2LIKGcNK/CYImJN6ZP4DcuOHB4Utl3iCbnR62DudA==", "cpu": [ "x64" ], @@ -6582,18 +7368,18 @@ } }, "node_modules/@schematics/angular": { - "version": "19.2.15", - "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-19.2.15.tgz", - "integrity": "sha512-dz/eoFQKG09POSygpEDdlCehFIMo35HUM2rVV8lx9PfQEibpbGwl1NNQYEbqwVjTyCyD/ILyIXCWPE+EfTnG4g==", + "version": "20.0.4", + "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-20.0.4.tgz", + "integrity": "sha512-cQw0ATQW/GTcYo5wmzMJrKlQsafNKeL3vduV6q0rILfp8P3OnJk7CtlWf9sfZnpEo0PNu28viMts3/p7ZUS8nQ==", "dev": true, "license": "MIT", "dependencies": { - "@angular-devkit/core": "19.2.15", - "@angular-devkit/schematics": "19.2.15", + "@angular-devkit/core": "20.0.4", + "@angular-devkit/schematics": "20.0.4", "jsonc-parser": "3.3.1" }, "engines": { - "node": "^18.19.1 || ^20.11.1 || >=22.0.0", + "node": "^20.19.0 || ^22.12.0 || >=24.0.0", "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", "yarn": ">= 1.13.0" } @@ -7271,16 +8057,16 @@ "license": "MIT" }, "node_modules/@vitejs/plugin-basic-ssl": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@vitejs/plugin-basic-ssl/-/plugin-basic-ssl-1.2.0.tgz", - "integrity": "sha512-mkQnxTkcldAzIsomk1UuLfAu9n+kpQ3JbHcpCp7d2Oo6ITtji8pHS3QToOWjhPFvNQSnhlkAjmGbhv2QvwO/7Q==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-basic-ssl/-/plugin-basic-ssl-2.0.0.tgz", + "integrity": "sha512-gc9Tjg8bUxBVSTzeWT3Njc0Cl3PakHFKdNfABnZWiUgbxqmHDEn7uECv3fHVylxoYgNzAcmU7ZrILz+BwSo3sA==", "dev": true, "license": "MIT", "engines": { - "node": ">=14.21.3" + "node": "^18.0.0 || ^20.0.0 || >=22.0.0" }, "peerDependencies": { - "vite": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0" + "vite": "^6.0.0" } }, "node_modules/@webassemblyjs/ast": { @@ -7831,9 +8617,9 @@ } }, "node_modules/autoprefixer": { - "version": "10.4.20", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.20.tgz", - "integrity": "sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==", + "version": "10.4.21", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.21.tgz", + "integrity": "sha512-O+A6LWV5LDHSJD3LjHYoNi4VLsj/Whi7k6zG12xTYaU4cQ8oxQGckXNX8cRHK5yOZ/ppVHe0ZBXGzSV9jXdVbQ==", "dev": true, "funding": [ { @@ -7851,11 +8637,11 @@ ], "license": "MIT", "dependencies": { - "browserslist": "^4.23.3", - "caniuse-lite": "^1.0.30001646", + "browserslist": "^4.24.4", + "caniuse-lite": "^1.0.30001702", "fraction.js": "^4.3.7", "normalize-range": "^0.1.2", - "picocolors": "^1.0.1", + "picocolors": "^1.1.1", "postcss-value-parser": "^4.2.0" }, "bin": { @@ -7899,21 +8685,69 @@ } }, "node_modules/babel-loader": { - "version": "9.2.1", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-9.2.1.tgz", - "integrity": "sha512-fqe8naHt46e0yIdkjUZYqddSXfej3AHajX+CSO5X7oy0EmPc6o5Xh+RClNoHjnieWz9AW4kZxW9yyFMhVB1QLA==", + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-10.0.0.tgz", + "integrity": "sha512-z8jt+EdS61AMw22nSfoNJAZ0vrtmhPRVi6ghL3rCeRZI8cdNYFiV5xeV3HbE7rlZZNmGH8BVccwWt8/ED0QOHA==", "dev": true, "license": "MIT", "dependencies": { - "find-cache-dir": "^4.0.0", - "schema-utils": "^4.0.0" + "find-up": "^5.0.0" }, "engines": { - "node": ">= 14.15.0" + "node": "^18.20.0 || ^20.10.0 || >=22.0.0" }, "peerDependencies": { "@babel/core": "^7.12.0", - "webpack": ">=5" + "webpack": ">=5.61.0" + } + }, + "node_modules/babel-loader/node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/babel-loader/node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/babel-loader/node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/babel-plugin-istanbul": { @@ -8116,9 +8950,9 @@ "license": "MIT" }, "node_modules/beasties": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/beasties/-/beasties-0.3.2.tgz", - "integrity": "sha512-p4AF8uYzm9Fwu8m/hSVTCPXrRBPmB34hQpHsec2KOaR9CZmgoU8IOv4Cvwq4hgz2p4hLMNbsdNl5XeA6XbAQwA==", + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/beasties/-/beasties-0.3.4.tgz", + "integrity": "sha512-NmzN1zN1cvGccXFyZ73335+ASXwBlVWcUPssiUDIlFdfyatHPRRufjCd5w8oPaQPvVnf9ELklaCGb1gi9FBwIw==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -9251,13 +10085,6 @@ "dev": true, "license": "ISC" }, - "node_modules/commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", - "dev": true, - "license": "MIT" - }, "node_modules/compressible": { "version": "2.0.18", "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", @@ -9506,18 +10333,17 @@ } }, "node_modules/copy-webpack-plugin": { - "version": "12.0.2", - "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-12.0.2.tgz", - "integrity": "sha512-SNwdBeHyII+rWvee/bTnAYyO8vfVdcSTud4EIb6jcZ8inLeWucJE0DnxXQBjlQ5zlteuuvooGQy3LIyGxhvlOA==", + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-13.0.0.tgz", + "integrity": "sha512-FgR/h5a6hzJqATDGd9YG41SeDViH+0bkHn6WNXCi5zKAZkeESeSxLySSsFLHqLEVCh0E+rITmCf0dusXWYukeQ==", "dev": true, "license": "MIT", "dependencies": { - "fast-glob": "^3.3.2", "glob-parent": "^6.0.1", - "globby": "^14.0.0", "normalize-path": "^3.0.0", "schema-utils": "^4.2.0", - "serialize-javascript": "^6.0.2" + "serialize-javascript": "^6.0.2", + "tinyglobby": "^0.2.12" }, "engines": { "node": ">= 18.12.0" @@ -10556,9 +11382,9 @@ "license": "MIT" }, "node_modules/esbuild": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.4.tgz", - "integrity": "sha512-8pgjLUcUjcgDg+2Q4NYXnPbo/vncAY4UmyaCm0jZevERqCHZIaWwdJHkf8XQtu4AxSKCdvrUbT0XUr1IdZzI8Q==", + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.5.tgz", + "integrity": "sha512-P8OtKZRv/5J5hhz0cUAdu/cLuPIKXpQl1R9pZtvmHWQvrAUVd0UNIPT4IB4W3rNOqVO0rlqHmCIbSwxh/c9yUQ==", "dev": true, "hasInstallScript": true, "license": "MIT", @@ -10569,37 +11395,37 @@ "node": ">=18" }, "optionalDependencies": { - "@esbuild/aix-ppc64": "0.25.4", - "@esbuild/android-arm": "0.25.4", - "@esbuild/android-arm64": "0.25.4", - "@esbuild/android-x64": "0.25.4", - "@esbuild/darwin-arm64": "0.25.4", - "@esbuild/darwin-x64": "0.25.4", - "@esbuild/freebsd-arm64": "0.25.4", - "@esbuild/freebsd-x64": "0.25.4", - "@esbuild/linux-arm": "0.25.4", - "@esbuild/linux-arm64": "0.25.4", - "@esbuild/linux-ia32": "0.25.4", - "@esbuild/linux-loong64": "0.25.4", - "@esbuild/linux-mips64el": "0.25.4", - "@esbuild/linux-ppc64": "0.25.4", - "@esbuild/linux-riscv64": "0.25.4", - "@esbuild/linux-s390x": "0.25.4", - "@esbuild/linux-x64": "0.25.4", - "@esbuild/netbsd-arm64": "0.25.4", - "@esbuild/netbsd-x64": "0.25.4", - "@esbuild/openbsd-arm64": "0.25.4", - "@esbuild/openbsd-x64": "0.25.4", - "@esbuild/sunos-x64": "0.25.4", - "@esbuild/win32-arm64": "0.25.4", - "@esbuild/win32-ia32": "0.25.4", - "@esbuild/win32-x64": "0.25.4" + "@esbuild/aix-ppc64": "0.25.5", + "@esbuild/android-arm": "0.25.5", + "@esbuild/android-arm64": "0.25.5", + "@esbuild/android-x64": "0.25.5", + "@esbuild/darwin-arm64": "0.25.5", + "@esbuild/darwin-x64": "0.25.5", + "@esbuild/freebsd-arm64": "0.25.5", + "@esbuild/freebsd-x64": "0.25.5", + "@esbuild/linux-arm": "0.25.5", + "@esbuild/linux-arm64": "0.25.5", + "@esbuild/linux-ia32": "0.25.5", + "@esbuild/linux-loong64": "0.25.5", + "@esbuild/linux-mips64el": "0.25.5", + "@esbuild/linux-ppc64": "0.25.5", + "@esbuild/linux-riscv64": "0.25.5", + "@esbuild/linux-s390x": "0.25.5", + "@esbuild/linux-x64": "0.25.5", + "@esbuild/netbsd-arm64": "0.25.5", + "@esbuild/netbsd-x64": "0.25.5", + "@esbuild/openbsd-arm64": "0.25.5", + "@esbuild/openbsd-x64": "0.25.5", + "@esbuild/sunos-x64": "0.25.5", + "@esbuild/win32-arm64": "0.25.5", + "@esbuild/win32-ia32": "0.25.5", + "@esbuild/win32-x64": "0.25.5" } }, "node_modules/esbuild-wasm": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/esbuild-wasm/-/esbuild-wasm-0.25.4.tgz", - "integrity": "sha512-2HlCS6rNvKWaSKhWaG/YIyRsTsL3gUrMP2ToZMBIjw9LM7vVcIs+rz8kE2vExvTJgvM8OKPqNpcHawY/BQc/qQ==", + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/esbuild-wasm/-/esbuild-wasm-0.25.5.tgz", + "integrity": "sha512-V/rbdOws2gDcnCAECfPrajhuafI0WY4WumUgc8ZHwOLnvmM0doLQ+dqvVFI2qkVxQsvo6880aC9IjpyDqcwwTw==", "dev": true, "license": "MIT", "bin": { @@ -11263,18 +12089,18 @@ "dev": true, "license": "MIT" }, - "node_modules/find-cache-dir": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-4.0.0.tgz", - "integrity": "sha512-9ZonPT4ZAK4a+1pUPVPZJapbi7O5qbbJPdYw/NOQWZZbVLdDTYM3A4R9z/DpAM08IDaFGsvPgiGZ82WEwUDWjg==", + "node_modules/find-cache-directory": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/find-cache-directory/-/find-cache-directory-6.0.0.tgz", + "integrity": "sha512-CvFd5ivA6HcSHbD+59P7CyzINHXzwhuQK8RY7CxJZtgDSAtRlHiCaQpZQ2lMR/WRyUIEmzUvL6G2AGurMfegZA==", "dev": true, "license": "MIT", "dependencies": { "common-path-prefix": "^3.0.0", - "pkg-dir": "^7.0.0" + "pkg-dir": "^8.0.0" }, "engines": { - "node": ">=14.16" + "node": ">=20" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -11293,6 +12119,19 @@ "node": ">=8" } }, + "node_modules/find-up-simple": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/find-up-simple/-/find-up-simple-1.0.1.tgz", + "integrity": "sha512-afd4O7zpqHeRyg4PfDQsXmlDe2PfdHtJt6Akt8jOWaApLOZk5JXs6VMR29lz03pRe9mpykrRCYIYxaJYcfpncQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/flat": { "version": "5.0.2", "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", @@ -11669,50 +12508,6 @@ "node": ">=4" } }, - "node_modules/globby": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-14.1.0.tgz", - "integrity": "sha512-0Ia46fDOaT7k4og1PDW4YbodWWr3scS2vAr2lTbsplOt2WkKp0vQbkI9wKis/T5LV/dqPjO3bpS/z6GTJB82LA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@sindresorhus/merge-streams": "^2.1.0", - "fast-glob": "^3.3.3", - "ignore": "^7.0.3", - "path-type": "^6.0.0", - "slash": "^5.1.0", - "unicorn-magic": "^0.3.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/globby/node_modules/ignore": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", - "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "node_modules/globby/node_modules/unicorn-magic": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.3.0.tgz", - "integrity": "sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/gopd": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", @@ -14213,9 +15008,9 @@ } }, "node_modules/less": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/less/-/less-4.2.2.tgz", - "integrity": "sha512-tkuLHQlvWUTeQ3doAqnHbNn8T6WX1KA8yvbKG9x4VtKtIjHsVKQZCH11zRgAfbDAXC2UNIg/K9BYAAcEzUIrNg==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/less/-/less-4.3.0.tgz", + "integrity": "sha512-X9RyH9fvemArzfdP8Pi3irr7lor2Ok4rOttDXBhlwDg+wKQsXOXgHWduAJE1EsF7JJx0w0bcO6BC6tCKKYnXKA==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -14227,7 +15022,7 @@ "lessc": "bin/lessc" }, "engines": { - "node": ">=6" + "node": ">=14" }, "optionalDependencies": { "errno": "^0.1.1", @@ -14240,9 +15035,9 @@ } }, "node_modules/less-loader": { - "version": "12.2.0", - "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-12.2.0.tgz", - "integrity": "sha512-MYUxjSQSBUQmowc0l5nPieOYwMzGPUaTzB6inNW/bdPEG9zOL3eAAD1Qw5ZxSPk7we5dMojHwNODYMV1hq4EVg==", + "version": "12.3.0", + "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-12.3.0.tgz", + "integrity": "sha512-0M6+uYulvYIWs52y0LqN4+QM9TqWAohYSNTo4htE8Z7Cn3G/qQMEmktfHmyJT23k+20kU9zHH2wrfFXkxNLtVw==", "dev": true, "license": "MIT", "engines": { @@ -14351,9 +15146,9 @@ "license": "MIT" }, "node_modules/listr2": { - "version": "8.2.5", - "resolved": "https://registry.npmjs.org/listr2/-/listr2-8.2.5.tgz", - "integrity": "sha512-iyAZCeyD+c1gPyE9qpFu8af0Y+MRtmKOncdGoA2S5EY8iFq99dmmvkNnHiWo+pj0s7yH7l3KPIgee77tKpXPWQ==", + "version": "8.3.3", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-8.3.3.tgz", + "integrity": "sha512-LWzX2KsqcB1wqQ4AHgYb4RsDXauQiqhjLk+6hjbaeHG4zpjjVAB6wC/gz6X0l+Du1cN3pUB5ZlrvTbhGSNnUQQ==", "dev": true, "license": "MIT", "dependencies": { @@ -14461,9 +15256,9 @@ } }, "node_modules/lmdb": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/lmdb/-/lmdb-3.2.6.tgz", - "integrity": "sha512-SuHqzPl7mYStna8WRotY8XX/EUZBjjv3QyKIByeCLFfC9uXT/OIHByEcA07PzbMfQAM0KYJtLgtpMRlIe5dErQ==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/lmdb/-/lmdb-3.3.0.tgz", + "integrity": "sha512-MgJocUI6QEiSXQBFWLeyo1R7eQj8Rke5dlPxX0KFwli8/bsCxpM/KbXO5y0qmV/5llQ3wpneDWcTYxa+4vn8iQ==", "dev": true, "hasInstallScript": true, "license": "MIT", @@ -14479,12 +15274,13 @@ "download-lmdb-prebuilds": "bin/download-prebuilds.js" }, "optionalDependencies": { - "@lmdb/lmdb-darwin-arm64": "3.2.6", - "@lmdb/lmdb-darwin-x64": "3.2.6", - "@lmdb/lmdb-linux-arm": "3.2.6", - "@lmdb/lmdb-linux-arm64": "3.2.6", - "@lmdb/lmdb-linux-x64": "3.2.6", - "@lmdb/lmdb-win32-x64": "3.2.6" + "@lmdb/lmdb-darwin-arm64": "3.3.0", + "@lmdb/lmdb-darwin-x64": "3.3.0", + "@lmdb/lmdb-linux-arm": "3.3.0", + "@lmdb/lmdb-linux-arm64": "3.3.0", + "@lmdb/lmdb-linux-x64": "3.3.0", + "@lmdb/lmdb-win32-arm64": "3.3.0", + "@lmdb/lmdb-win32-x64": "3.3.0" } }, "node_modules/loader-runner": { @@ -15532,159 +16328,292 @@ "dev": true, "license": "MIT", "engines": { - "node": ">= 0.4.0" + "node": ">= 0.4.0" + } + }, + "node_modules/new-github-release-url": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/new-github-release-url/-/new-github-release-url-2.0.0.tgz", + "integrity": "sha512-NHDDGYudnvRutt/VhKFlX26IotXe1w0cmkDm6JGquh5bz/bDTw0LufSmH/GxTjEdpHEO+bVKFTwdrcGa/9XlKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "type-fest": "^2.5.1" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/new-github-release-url/node_modules/type-fest": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", + "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ng-packagr": { + "version": "20.0.1", + "resolved": "https://registry.npmjs.org/ng-packagr/-/ng-packagr-20.0.1.tgz", + "integrity": "sha512-MDqUwAg5tXpbOmt7DJH+qvycgNgxEPchwWUy7//1p6lOl2VvbF/XxrC4kAt948YQIkn1UhPxLXHIIcpZt5rt9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@ampproject/remapping": "^2.3.0", + "@rollup/plugin-json": "^6.1.0", + "@rollup/wasm-node": "^4.24.0", + "ajv": "^8.17.1", + "ansi-colors": "^4.1.3", + "browserslist": "^4.22.1", + "chokidar": "^4.0.1", + "commander": "^14.0.0", + "dependency-graph": "^1.0.0", + "esbuild": "^0.25.0", + "find-cache-directory": "^6.0.0", + "injection-js": "^2.4.0", + "jsonc-parser": "^3.3.1", + "less": "^4.2.0", + "ora": "^8.2.0", + "piscina": "^5.0.0", + "postcss": "^8.4.47", + "rollup-plugin-dts": "^6.2.0", + "rxjs": "^7.8.1", + "sass": "^1.81.0", + "tinyglobby": "^0.2.12" + }, + "bin": { + "ng-packagr": "src/cli/main.js" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + }, + "optionalDependencies": { + "rollup": "^4.24.0" + }, + "peerDependencies": { + "@angular/compiler-cli": "^20.0.0 || ^20.1.0-next.0", + "tailwindcss": "^2.0.0 || ^3.0.0 || ^4.0.0", + "tslib": "^2.3.0", + "typescript": ">=5.8 <5.9" + }, + "peerDependenciesMeta": { + "tailwindcss": { + "optional": true + } + } + }, + "node_modules/ng-packagr/node_modules/ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/ng-packagr/node_modules/chalk": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.4.1.tgz", + "integrity": "sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/ng-packagr/node_modules/cli-cursor": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-5.0.0.tgz", + "integrity": "sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==", + "dev": true, + "license": "MIT", + "dependencies": { + "restore-cursor": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ng-packagr/node_modules/commander": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-14.0.0.tgz", + "integrity": "sha512-2uM9rYjPvyq39NwLRqaiLtWHyDC1FvryJDa2ATTVims5YAS4PupsEQsDvP14FqhFr0P49CYDugi59xaxJlTXRA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=20" + } + }, + "node_modules/ng-packagr/node_modules/emoji-regex": { + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.4.0.tgz", + "integrity": "sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==", + "dev": true, + "license": "MIT" + }, + "node_modules/ng-packagr/node_modules/is-interactive": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-2.0.0.tgz", + "integrity": "sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ng-packagr/node_modules/is-unicode-supported": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-2.1.0.tgz", + "integrity": "sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/new-github-release-url": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/new-github-release-url/-/new-github-release-url-2.0.0.tgz", - "integrity": "sha512-NHDDGYudnvRutt/VhKFlX26IotXe1w0cmkDm6JGquh5bz/bDTw0LufSmH/GxTjEdpHEO+bVKFTwdrcGa/9XlKQ==", + "node_modules/ng-packagr/node_modules/log-symbols": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-6.0.0.tgz", + "integrity": "sha512-i24m8rpwhmPIS4zscNzK6MSEhk0DUWa/8iYQWxhffV8jkI4Phvs3F+quL5xvS0gdQR0FyTCMMH33Y78dDTzzIw==", "dev": true, "license": "MIT", "dependencies": { - "type-fest": "^2.5.1" + "chalk": "^5.3.0", + "is-unicode-supported": "^1.3.0" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/new-github-release-url/node_modules/type-fest": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", - "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", + "node_modules/ng-packagr/node_modules/log-symbols/node_modules/is-unicode-supported": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-1.3.0.tgz", + "integrity": "sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==", "dev": true, - "license": "(MIT OR CC0-1.0)", + "license": "MIT", "engines": { - "node": ">=12.20" + "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/ng-packagr": { - "version": "19.2.2", - "resolved": "https://registry.npmjs.org/ng-packagr/-/ng-packagr-19.2.2.tgz", - "integrity": "sha512-dFuwFsDJMBSd1YtmLLcX5bNNUCQUlRqgf34aXA+79PmkOP+0eF8GP2949wq3+jMjmFTNm80Oo8IUYiSLwklKCQ==", + "node_modules/ng-packagr/node_modules/onetime": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-7.0.0.tgz", + "integrity": "sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==", "dev": true, "license": "MIT", "dependencies": { - "@rollup/plugin-json": "^6.1.0", - "@rollup/wasm-node": "^4.24.0", - "ajv": "^8.17.1", - "ansi-colors": "^4.1.3", - "browserslist": "^4.22.1", - "chokidar": "^4.0.1", - "commander": "^13.0.0", - "convert-source-map": "^2.0.0", - "dependency-graph": "^1.0.0", - "esbuild": "^0.25.0", - "fast-glob": "^3.3.2", - "find-cache-dir": "^3.3.2", - "injection-js": "^2.4.0", - "jsonc-parser": "^3.3.1", - "less": "^4.2.0", - "ora": "^5.1.0", - "piscina": "^4.7.0", - "postcss": "^8.4.47", - "rxjs": "^7.8.1", - "sass": "^1.81.0" - }, - "bin": { - "ng-packagr": "cli/main.js" + "mimic-function": "^5.0.0" }, "engines": { - "node": "^18.19.1 || >=20.11.1" - }, - "optionalDependencies": { - "rollup": "^4.24.0" - }, - "peerDependencies": { - "@angular/compiler-cli": "^19.0.0 || ^19.1.0-next.0 || ^19.2.0-next.0", - "tailwindcss": "^2.0.0 || ^3.0.0 || ^4.0.0", - "tslib": "^2.3.0", - "typescript": ">=5.5 <5.9" + "node": ">=18" }, - "peerDependenciesMeta": { - "tailwindcss": { - "optional": true - } + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/ng-packagr/node_modules/commander": { - "version": "13.1.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-13.1.0.tgz", - "integrity": "sha512-/rFeCpNJQbhSZjGVwO9RFV3xPqbnERS8MmIQzCtD/zl6gpJuV/bMLuN92oG3F7d8oDEHHRrujSXNUr8fpjntKw==", + "node_modules/ng-packagr/node_modules/ora": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/ora/-/ora-8.2.0.tgz", + "integrity": "sha512-weP+BZ8MVNnlCm8c0Qdc1WSWq4Qn7I+9CJGm7Qali6g44e/PUzbjNqJX5NJ9ljlNMosfJvg1fKEGILklK9cwnw==", "dev": true, "license": "MIT", + "dependencies": { + "chalk": "^5.3.0", + "cli-cursor": "^5.0.0", + "cli-spinners": "^2.9.2", + "is-interactive": "^2.0.0", + "is-unicode-supported": "^2.0.0", + "log-symbols": "^6.0.0", + "stdin-discarder": "^0.2.2", + "string-width": "^7.2.0", + "strip-ansi": "^7.1.0" + }, "engines": { "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/ng-packagr/node_modules/convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true, - "license": "MIT" - }, - "node_modules/ng-packagr/node_modules/find-cache-dir": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", - "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", + "node_modules/ng-packagr/node_modules/restore-cursor": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-5.1.0.tgz", + "integrity": "sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==", "dev": true, "license": "MIT", "dependencies": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" + "onetime": "^7.0.0", + "signal-exit": "^4.1.0" }, "engines": { - "node": ">=8" + "node": ">=18" }, "funding": { - "url": "https://github.com/avajs/find-cache-dir?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/ng-packagr/node_modules/make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "node_modules/ng-packagr/node_modules/string-width": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", + "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", "dev": true, "license": "MIT", "dependencies": { - "semver": "^6.0.0" + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", + "strip-ansi": "^7.1.0" }, "engines": { - "node": ">=8" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/ng-packagr/node_modules/pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "node_modules/ng-packagr/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", "dev": true, "license": "MIT", "dependencies": { - "find-up": "^4.0.0" + "ansi-regex": "^6.0.1" }, "engines": { - "node": ">=8" - } - }, - "node_modules/ng-packagr/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, "node_modules/node-addon-api": { @@ -15926,16 +16855,16 @@ } }, "node_modules/npm-packlist": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-9.0.0.tgz", - "integrity": "sha512-8qSayfmHJQTx3nJWYbbUmflpyarbLMBc6LCAjYsiGtXxDB68HaZpb8re6zeaLGxZzDuMdhsg70jryJe+RrItVQ==", + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-10.0.0.tgz", + "integrity": "sha512-rht9U6nS8WOBDc53eipZNPo5qkAV4X2rhKE2Oj1DYUQ3DieXfj0mKkVmjnf3iuNdtMd8WfLdi2L6ASkD/8a+Kg==", "dev": true, "license": "ISC", "dependencies": { "ignore-walk": "^7.0.0" }, "engines": { - "node": "^18.17.0 || >=20.5.0" + "node": "^20.17.0 || >=22.9.0" } }, "node_modules/npm-pick-manifest": { @@ -16367,9 +17296,9 @@ "license": "BlueOak-1.0.0" }, "node_modules/pacote": { - "version": "20.0.0", - "resolved": "https://registry.npmjs.org/pacote/-/pacote-20.0.0.tgz", - "integrity": "sha512-pRjC5UFwZCgx9kUFDVM9YEahv4guZ1nSLqwmWiLUnDbGsjs+U5w7z6Uc8HNR1a6x8qnu5y9xtGE6D1uAuYz+0A==", + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/pacote/-/pacote-21.0.0.tgz", + "integrity": "sha512-lcqexq73AMv6QNLo7SOpz0JJoaGdS3rBFgF122NZVl1bApo2mfu+XzUBU/X/XsiJu+iUmKpekRayqQYAs+PhkA==", "dev": true, "license": "ISC", "dependencies": { @@ -16382,7 +17311,7 @@ "fs-minipass": "^3.0.0", "minipass": "^7.0.2", "npm-package-arg": "^12.0.0", - "npm-packlist": "^9.0.0", + "npm-packlist": "^10.0.0", "npm-pick-manifest": "^10.0.0", "npm-registry-fetch": "^18.0.0", "proc-log": "^5.0.0", @@ -16395,7 +17324,7 @@ "pacote": "bin/index.js" }, "engines": { - "node": "^18.17.0 || >=20.5.0" + "node": "^20.17.0 || >=22.9.0" } }, "node_modules/parent-module": { @@ -16478,13 +17407,13 @@ } }, "node_modules/parse5-html-rewriting-stream": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/parse5-html-rewriting-stream/-/parse5-html-rewriting-stream-7.0.0.tgz", - "integrity": "sha512-mazCyGWkmCRWDI15Zp+UiCqMp/0dgEmkZRvhlsqqKYr4SsVm/TvnSpD9fCvqCA2zoWJcfRym846ejWBBHRiYEg==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/parse5-html-rewriting-stream/-/parse5-html-rewriting-stream-7.1.0.tgz", + "integrity": "sha512-2ifK6Jb+ONoqOy5f+cYHsqvx1obHQdvIk13Jmt/5ezxP0U9p+fqd+R6O73KblGswyuzBYfetmsfK9ThMgnuPPg==", "dev": true, "license": "MIT", "dependencies": { - "entities": "^4.3.0", + "entities": "^6.0.0", "parse5": "^7.0.0", "parse5-sax-parser": "^7.0.0" }, @@ -16492,6 +17421,19 @@ "url": "https://github.com/inikulin/parse5?sponsor=1" } }, + "node_modules/parse5-html-rewriting-stream/node_modules/entities": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", + "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, "node_modules/parse5-htmlparser2-tree-adapter": { "version": "7.1.0", "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.1.0.tgz", @@ -16615,19 +17557,6 @@ "dev": true, "license": "MIT" }, - "node_modules/path-type": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-6.0.0.tgz", - "integrity": "sha512-Vj7sf++t5pBD637NSfkxpHSMfWaeig5+DKWLhcqIYx6mWQz5hdJTGDVMQiJcw1ZYkhs7AazKDGpRVji1LJCZUQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/pause-stream": { "version": "0.0.11", "resolved": "https://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz", @@ -16681,114 +17610,29 @@ } }, "node_modules/piscina": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/piscina/-/piscina-4.8.0.tgz", - "integrity": "sha512-EZJb+ZxDrQf3dihsUL7p42pjNyrNIFJCrRHPMgxu/svsj+P3xS3fuEWp7k2+rfsavfl1N0G29b1HGs7J0m8rZA==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/piscina/-/piscina-5.1.1.tgz", + "integrity": "sha512-9rPDIPsCwOivatEZGM8+apgM7AiTDLSnpwMmLaSmdm2PeND8bFJzZLZZxyrJjLH8Xx/MpKoVaKf+vZOWALNHbw==", "dev": true, "license": "MIT", + "engines": { + "node": ">=20.x" + }, "optionalDependencies": { "@napi-rs/nice": "^1.0.1" } }, "node_modules/pkg-dir": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-7.0.0.tgz", - "integrity": "sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==", - "dev": true, - "license": "MIT", - "dependencies": { - "find-up": "^6.3.0" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/pkg-dir/node_modules/find-up": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-6.3.0.tgz", - "integrity": "sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==", - "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^7.1.0", - "path-exists": "^5.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/pkg-dir/node_modules/locate-path": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-7.2.0.tgz", - "integrity": "sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^6.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/pkg-dir/node_modules/p-limit": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", - "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "yocto-queue": "^1.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/pkg-dir/node_modules/p-locate": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz", - "integrity": "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-8.0.0.tgz", + "integrity": "sha512-4peoBq4Wks0riS0z8741NVv+/8IiTvqnZAr8QGgtdifrtpdXbNw/FxRS1l6NFqm4EMzuS0EDqNNx4XGaz8cuyQ==", "dev": true, "license": "MIT", "dependencies": { - "p-limit": "^4.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "find-up-simple": "^1.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/pkg-dir/node_modules/path-exists": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", - "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - } - }, - "node_modules/pkg-dir/node_modules/yocto-queue": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.2.1.tgz", - "integrity": "sha512-AyeEbWOu/TAXdxlV9wmGcR0+yh2j3vYPGOECcIj2S7MkrLyC7ne+oye2BKTItt0ii2PHk4cDy+95+LshzbXnGg==", - "dev": true, - "license": "MIT", "engines": { - "node": ">=12.20" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -17425,13 +18269,6 @@ "node": ">=4" } }, - "node_modules/regenerator-runtime": { - "version": "0.14.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", - "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==", - "dev": true, - "license": "MIT" - }, "node_modules/regex-parser": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.3.1.tgz", @@ -18401,49 +19238,83 @@ "node": "*" } }, - "node_modules/rollup": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.34.8.tgz", - "integrity": "sha512-489gTVMzAYdiZHFVA/ig/iYFllCcWFHMvUHI1rpFmkoUtRlQxqh6/yiNqnYibjMZ2b/+FUQwldG+aLsEt6bglQ==", + "node_modules/rollup": { + "version": "4.40.2", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.40.2.tgz", + "integrity": "sha512-tfUOg6DTP4rhQ3VjOO6B4wyrJnGOX85requAXvqYTHsOgb2TFJdZ3aWpT8W2kPoypSGP7dZUyzxJ9ee4buM5Fg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "1.0.7" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.40.2", + "@rollup/rollup-android-arm64": "4.40.2", + "@rollup/rollup-darwin-arm64": "4.40.2", + "@rollup/rollup-darwin-x64": "4.40.2", + "@rollup/rollup-freebsd-arm64": "4.40.2", + "@rollup/rollup-freebsd-x64": "4.40.2", + "@rollup/rollup-linux-arm-gnueabihf": "4.40.2", + "@rollup/rollup-linux-arm-musleabihf": "4.40.2", + "@rollup/rollup-linux-arm64-gnu": "4.40.2", + "@rollup/rollup-linux-arm64-musl": "4.40.2", + "@rollup/rollup-linux-loongarch64-gnu": "4.40.2", + "@rollup/rollup-linux-powerpc64le-gnu": "4.40.2", + "@rollup/rollup-linux-riscv64-gnu": "4.40.2", + "@rollup/rollup-linux-riscv64-musl": "4.40.2", + "@rollup/rollup-linux-s390x-gnu": "4.40.2", + "@rollup/rollup-linux-x64-gnu": "4.40.2", + "@rollup/rollup-linux-x64-musl": "4.40.2", + "@rollup/rollup-win32-arm64-msvc": "4.40.2", + "@rollup/rollup-win32-ia32-msvc": "4.40.2", + "@rollup/rollup-win32-x64-msvc": "4.40.2", + "fsevents": "~2.3.2" + } + }, + "node_modules/rollup-plugin-dts": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/rollup-plugin-dts/-/rollup-plugin-dts-6.2.1.tgz", + "integrity": "sha512-sR3CxYUl7i2CHa0O7bA45mCrgADyAQ0tVtGSqi3yvH28M+eg1+g5d7kQ9hLvEz5dorK3XVsH5L2jwHLQf72DzA==", + "dev": true, + "license": "LGPL-3.0-only", + "dependencies": { + "magic-string": "^0.30.17" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/Swatinem" + }, + "optionalDependencies": { + "@babel/code-frame": "^7.26.2" + }, + "peerDependencies": { + "rollup": "^3.29.4 || ^4", + "typescript": "^4.5 || ^5.0" + } + }, + "node_modules/rollup-plugin-dts/node_modules/magic-string": { + "version": "0.30.17", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.17.tgz", + "integrity": "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==", "dev": true, "license": "MIT", "dependencies": { - "@types/estree": "1.0.6" - }, - "bin": { - "rollup": "dist/bin/rollup" - }, - "engines": { - "node": ">=18.0.0", - "npm": ">=8.0.0" - }, - "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.34.8", - "@rollup/rollup-android-arm64": "4.34.8", - "@rollup/rollup-darwin-arm64": "4.34.8", - "@rollup/rollup-darwin-x64": "4.34.8", - "@rollup/rollup-freebsd-arm64": "4.34.8", - "@rollup/rollup-freebsd-x64": "4.34.8", - "@rollup/rollup-linux-arm-gnueabihf": "4.34.8", - "@rollup/rollup-linux-arm-musleabihf": "4.34.8", - "@rollup/rollup-linux-arm64-gnu": "4.34.8", - "@rollup/rollup-linux-arm64-musl": "4.34.8", - "@rollup/rollup-linux-loongarch64-gnu": "4.34.8", - "@rollup/rollup-linux-powerpc64le-gnu": "4.34.8", - "@rollup/rollup-linux-riscv64-gnu": "4.34.8", - "@rollup/rollup-linux-s390x-gnu": "4.34.8", - "@rollup/rollup-linux-x64-gnu": "4.34.8", - "@rollup/rollup-linux-x64-musl": "4.34.8", - "@rollup/rollup-win32-arm64-msvc": "4.34.8", - "@rollup/rollup-win32-ia32-msvc": "4.34.8", - "@rollup/rollup-win32-x64-msvc": "4.34.8", - "fsevents": "~2.3.2" + "@jridgewell/sourcemap-codec": "^1.5.0" } }, "node_modules/rollup/node_modules/@types/estree": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", - "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.7.tgz", + "integrity": "sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==", "dev": true, "license": "MIT" }, @@ -18536,9 +19407,9 @@ "license": "MIT" }, "node_modules/sass": { - "version": "1.85.0", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.85.0.tgz", - "integrity": "sha512-3ToiC1xZ1Y8aU7+CkgCI/tqyuPXEmYGJXO7H4uqp0xkLXUqp88rQQ4j1HmP37xSJLbCJPaIiv+cT1y+grssrww==", + "version": "1.88.0", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.88.0.tgz", + "integrity": "sha512-sF6TWQqjFvr4JILXzG4ucGOLELkESHL+I5QJhh7CNaE+Yge0SI+ehCatsXhJ7ymU1hAFcIS3/PBpjdIbXoyVbg==", "dev": true, "license": "MIT", "dependencies": { @@ -19872,16 +20743,6 @@ "dev": true, "license": "BSD-2-Clause" }, - "node_modules/symbol-observable": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-4.0.0.tgz", - "integrity": "sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10" - } - }, "node_modules/symbol-tree": { "version": "3.2.4", "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", @@ -20012,9 +20873,9 @@ "license": "ISC" }, "node_modules/terser": { - "version": "5.39.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.39.0.tgz", - "integrity": "sha512-LBAhFyLho16harJoWMg/nZsQYgTrg5jXOn2nCYjRUcZZEdE3qa2zb8QEDRUGVZBW4rlazf2fxkg8tztybTaqWw==", + "version": "5.39.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.39.1.tgz", + "integrity": "sha512-Mm6+uad0ZuDtcV8/4uOZQDQ8RuiC5Pu+iZRedJtF7yA/27sPL7d++In/AJKpWZlU3SYMPPkVfwetn6sgZ66pUA==", "dev": true, "license": "BSD-2-Clause", "dependencies": { @@ -20567,9 +21428,9 @@ "license": "MIT" }, "node_modules/typescript": { - "version": "5.5.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.5.4.tgz", - "integrity": "sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==", + "version": "5.8.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz", + "integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==", "license": "Apache-2.0", "bin": { "tsc": "bin/tsc", @@ -20955,7 +21816,6 @@ "integrity": "sha512-cZn6NDFE7wdTpINgs++ZJ4N49W2vRp8LCKrn3Ob1kYNtOo21vfDoaV5GzBfLU4MovSAB8uNRm4jgzVQZ+mBzPQ==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "esbuild": "^0.25.0", "fdir": "^6.4.4", @@ -21025,332 +21885,6 @@ } } }, - "node_modules/vite/node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.44.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.44.1.tgz", - "integrity": "sha512-JAcBr1+fgqx20m7Fwe1DxPUl/hPkee6jA6Pl7n1v2EFiktAHenTaXl5aIFjUIEsfn9w3HE4gK1lEgNGMzBDs1w==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "peer": true - }, - "node_modules/vite/node_modules/@rollup/rollup-android-arm64": { - "version": "4.44.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.44.1.tgz", - "integrity": "sha512-RurZetXqTu4p+G0ChbnkwBuAtwAbIwJkycw1n6GvlGlBuS4u5qlr5opix8cBAYFJgaY05TWtM+LaoFggUmbZEQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "peer": true - }, - "node_modules/vite/node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.44.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.44.1.tgz", - "integrity": "sha512-fM/xPesi7g2M7chk37LOnmnSTHLG/v2ggWqKj3CCA1rMA4mm5KVBT1fNoswbo1JhPuNNZrVwpTvlCVggv8A2zg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "peer": true - }, - "node_modules/vite/node_modules/@rollup/rollup-darwin-x64": { - "version": "4.44.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.44.1.tgz", - "integrity": "sha512-gDnWk57urJrkrHQ2WVx9TSVTH7lSlU7E3AFqiko+bgjlh78aJ88/3nycMax52VIVjIm3ObXnDL2H00e/xzoipw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "peer": true - }, - "node_modules/vite/node_modules/@rollup/rollup-freebsd-arm64": { - "version": "4.44.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.44.1.tgz", - "integrity": "sha512-wnFQmJ/zPThM5zEGcnDcCJeYJgtSLjh1d//WuHzhf6zT3Md1BvvhJnWoy+HECKu2bMxaIcfWiu3bJgx6z4g2XA==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "peer": true - }, - "node_modules/vite/node_modules/@rollup/rollup-freebsd-x64": { - "version": "4.44.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.44.1.tgz", - "integrity": "sha512-uBmIxoJ4493YATvU2c0upGz87f99e3wop7TJgOA/bXMFd2SvKCI7xkxY/5k50bv7J6dw1SXT4MQBQSLn8Bb/Uw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "peer": true - }, - "node_modules/vite/node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.44.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.44.1.tgz", - "integrity": "sha512-n0edDmSHlXFhrlmTK7XBuwKlG5MbS7yleS1cQ9nn4kIeW+dJH+ExqNgQ0RrFRew8Y+0V/x6C5IjsHrJmiHtkxQ==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "peer": true - }, - "node_modules/vite/node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.44.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.44.1.tgz", - "integrity": "sha512-8WVUPy3FtAsKSpyk21kV52HCxB+me6YkbkFHATzC2Yd3yuqHwy2lbFL4alJOLXKljoRw08Zk8/xEj89cLQ/4Nw==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "peer": true - }, - "node_modules/vite/node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.44.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.44.1.tgz", - "integrity": "sha512-yuktAOaeOgorWDeFJggjuCkMGeITfqvPgkIXhDqsfKX8J3jGyxdDZgBV/2kj/2DyPaLiX6bPdjJDTu9RB8lUPQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "peer": true - }, - "node_modules/vite/node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.44.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.44.1.tgz", - "integrity": "sha512-W+GBM4ifET1Plw8pdVaecwUgxmiH23CfAUj32u8knq0JPFyK4weRy6H7ooxYFD19YxBulL0Ktsflg5XS7+7u9g==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "peer": true - }, - "node_modules/vite/node_modules/@rollup/rollup-linux-loongarch64-gnu": { - "version": "4.44.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.44.1.tgz", - "integrity": "sha512-1zqnUEMWp9WrGVuVak6jWTl4fEtrVKfZY7CvcBmUUpxAJ7WcSowPSAWIKa/0o5mBL/Ij50SIf9tuirGx63Ovew==", - "cpu": [ - "loong64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "peer": true - }, - "node_modules/vite/node_modules/@rollup/rollup-linux-powerpc64le-gnu": { - "version": "4.44.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.44.1.tgz", - "integrity": "sha512-Rl3JKaRu0LHIx7ExBAAnf0JcOQetQffaw34T8vLlg9b1IhzcBgaIdnvEbbsZq9uZp3uAH+JkHd20Nwn0h9zPjA==", - "cpu": [ - "ppc64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "peer": true - }, - "node_modules/vite/node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.44.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.44.1.tgz", - "integrity": "sha512-j5akelU3snyL6K3N/iX7otLBIl347fGwmd95U5gS/7z6T4ftK288jKq3A5lcFKcx7wwzb5rgNvAg3ZbV4BqUSw==", - "cpu": [ - "riscv64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "peer": true - }, - "node_modules/vite/node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.44.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.44.1.tgz", - "integrity": "sha512-Hu6hEdix0oxtUma99jSP7xbvjkUM/ycke/AQQ4EC5g7jNRLLIwjcNwaUy95ZKBJJwg1ZowsclNnjYqzN4zwkAw==", - "cpu": [ - "s390x" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "peer": true - }, - "node_modules/vite/node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.44.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.44.1.tgz", - "integrity": "sha512-EtnsrmZGomz9WxK1bR5079zee3+7a+AdFlghyd6VbAjgRJDbTANJ9dcPIPAi76uG05micpEL+gPGmAKYTschQw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "peer": true - }, - "node_modules/vite/node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.44.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.44.1.tgz", - "integrity": "sha512-iAS4p+J1az6Usn0f8xhgL4PaU878KEtutP4hqw52I4IO6AGoyOkHCxcc4bqufv1tQLdDWFx8lR9YlwxKuv3/3g==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "peer": true - }, - "node_modules/vite/node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.44.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.44.1.tgz", - "integrity": "sha512-NtSJVKcXwcqozOl+FwI41OH3OApDyLk3kqTJgx8+gp6On9ZEt5mYhIsKNPGuaZr3p9T6NWPKGU/03Vw4CNU9qg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "peer": true - }, - "node_modules/vite/node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.44.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.44.1.tgz", - "integrity": "sha512-JYA3qvCOLXSsnTR3oiyGws1Dm0YTuxAAeaYGVlGpUsHqloPcFjPg+X0Fj2qODGLNwQOAcCiQmHub/V007kiH5A==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "peer": true - }, - "node_modules/vite/node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.44.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.44.1.tgz", - "integrity": "sha512-J8o22LuF0kTe7m+8PvW9wk3/bRq5+mRo5Dqo6+vXb7otCm3TPhYOJqOaQtGU9YMWQSL3krMnoOxMr0+9E6F3Ug==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "peer": true - }, - "node_modules/vite/node_modules/rollup": { - "version": "4.44.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.44.1.tgz", - "integrity": "sha512-x8H8aPvD+xbl0Do8oez5f5o8eMS3trfCghc4HhLAnCkj7Vl0d1JWGs0UF/D886zLW2rOj2QymV/JcSSsw+XDNg==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@types/estree": "1.0.8" - }, - "bin": { - "rollup": "dist/bin/rollup" - }, - "engines": { - "node": ">=18.0.0", - "npm": ">=8.0.0" - }, - "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.44.1", - "@rollup/rollup-android-arm64": "4.44.1", - "@rollup/rollup-darwin-arm64": "4.44.1", - "@rollup/rollup-darwin-x64": "4.44.1", - "@rollup/rollup-freebsd-arm64": "4.44.1", - "@rollup/rollup-freebsd-x64": "4.44.1", - "@rollup/rollup-linux-arm-gnueabihf": "4.44.1", - "@rollup/rollup-linux-arm-musleabihf": "4.44.1", - "@rollup/rollup-linux-arm64-gnu": "4.44.1", - "@rollup/rollup-linux-arm64-musl": "4.44.1", - "@rollup/rollup-linux-loongarch64-gnu": "4.44.1", - "@rollup/rollup-linux-powerpc64le-gnu": "4.44.1", - "@rollup/rollup-linux-riscv64-gnu": "4.44.1", - "@rollup/rollup-linux-riscv64-musl": "4.44.1", - "@rollup/rollup-linux-s390x-gnu": "4.44.1", - "@rollup/rollup-linux-x64-gnu": "4.44.1", - "@rollup/rollup-linux-x64-musl": "4.44.1", - "@rollup/rollup-win32-arm64-msvc": "4.44.1", - "@rollup/rollup-win32-ia32-msvc": "4.44.1", - "@rollup/rollup-win32-x64-msvc": "4.44.1", - "fsevents": "~2.3.2" - } - }, "node_modules/void-elements": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz", @@ -21436,14 +21970,15 @@ } }, "node_modules/webpack": { - "version": "5.98.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.98.0.tgz", - "integrity": "sha512-UFynvx+gM44Gv9qFgj0acCQK2VE1CtdfwFdimkapco3hlPCJ/zeq73n2yVKimVbtm+TnApIugGhLJnkU6gjYXA==", + "version": "5.99.8", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.99.8.tgz", + "integrity": "sha512-lQ3CPiSTpfOnrEGeXDwoq5hIGzSjmwD72GdfVzF7CQAI7t47rJG9eDWvcEkEn3CUQymAElVvDg3YNTlCYj+qUQ==", "dev": true, "license": "MIT", "dependencies": { "@types/eslint-scope": "^3.7.7", "@types/estree": "^1.0.6", + "@types/json-schema": "^7.0.15", "@webassemblyjs/ast": "^1.14.1", "@webassemblyjs/wasm-edit": "^1.14.1", "@webassemblyjs/wasm-parser": "^1.14.1", @@ -21460,7 +21995,7 @@ "loader-runner": "^4.2.0", "mime-types": "^2.1.27", "neo-async": "^2.6.2", - "schema-utils": "^4.3.0", + "schema-utils": "^4.3.2", "tapable": "^2.1.1", "terser-webpack-plugin": "^5.3.11", "watchpack": "^2.4.1", @@ -21526,9 +22061,9 @@ } }, "node_modules/webpack-dev-server": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-5.2.2.tgz", - "integrity": "sha512-QcQ72gh8a+7JO63TAx/6XZf/CWhgMzu5m0QirvPfGvptOusAxG12w2+aua1Jkjr7hzaWDnJ2n6JFeexMHI+Zjg==", + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-5.2.1.tgz", + "integrity": "sha512-ml/0HIj9NLpVKOMq+SuBPLHcmbG+TGIjXRHsYfZwocUBIqEvws8NnS/V9AFQ5FKP+tgn5adwVwRrTEpGL33QFQ==", "dev": true, "license": "MIT", "dependencies": { @@ -21548,7 +22083,7 @@ "connect-history-api-fallback": "^2.0.0", "express": "^4.21.2", "graceful-fs": "^4.2.6", - "http-proxy-middleware": "^2.0.9", + "http-proxy-middleware": "^2.0.7", "ipaddr.js": "^2.1.0", "launch-editor": "^2.6.1", "open": "^10.0.3", diff --git a/package.json b/package.json index 4bfb72c..21a10f6 100644 --- a/package.json +++ b/package.json @@ -21,16 +21,16 @@ }, "private": true, "dependencies": { - "@angular/animations": "^19.2.14", + "@angular/animations": "^20.0.5", "@angular/cdk": "^19.2.19", - "@angular/common": "^19.2.14", - "@angular/compiler": "^19.2.14", - "@angular/core": "^19.2.14", - "@angular/forms": "^19.2.14", + "@angular/common": "^20.0.5", + "@angular/compiler": "^20.0.5", + "@angular/core": "^20.0.5", + "@angular/forms": "^20.0.5", "@angular/material": "^19.2.19", - "@angular/platform-browser": "^19.2.14", - "@angular/platform-browser-dynamic": "^19.2.14", - "@angular/router": "^19.2.14", + "@angular/platform-browser": "^20.0.5", + "@angular/platform-browser-dynamic": "^20.0.5", + "@angular/router": "^20.0.5", "@types/web-bluetooth": "0.0.6", "rxjs": "~7.8.0", "smoothie": "^1.35.0", @@ -39,12 +39,12 @@ "zone.js": "~0.15.1" }, "devDependencies": { - "@angular-builders/jest": "^19.0.0", - "@angular-devkit/build-angular": "^19.2.15", - "@angular-devkit/core": "^19.2.15", - "@angular/cli": "^19.2.15", - "@angular/compiler-cli": "^19.2.14", - "@angular/language-service": "^19.2.14", + "@angular-builders/jest": "^20.0.0", + "@angular-devkit/build-angular": "^20.0.4", + "@angular-devkit/core": "^20.0.4", + "@angular/cli": "^20.0.4", + "@angular/compiler-cli": "^20.0.5", + "@angular/language-service": "^20.0.5", "@compodoc/compodoc": "^1.1.11", "@types/jasmine": "~5.1.4", "@types/jasminewd2": "~2.0.8", @@ -59,8 +59,8 @@ "karma-coverage": "~2.2.0", "karma-jasmine": "~5.1.0", "karma-jasmine-html-reporter": "~2.1.0", - "ng-packagr": "^19.2.2", + "ng-packagr": "^20.0.1", "release-it": "^17.0.3", - "typescript": "~5.5.4" + "typescript": "~5.8.3" } } diff --git a/tsconfig.json b/tsconfig.json index 7570842..ffe7b3c 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -18,7 +18,7 @@ "sourceMap": true, "declaration": false, "experimentalDecorators": true, - "moduleResolution": "node", + "moduleResolution": "bundler", "importHelpers": true, "target": "ES2022", "module": "ES2022", From f1db28288720a58fd1e7c204c48dff2e34c2dbf0 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 27 Jun 2025 07:49:00 +0000 Subject: [PATCH 07/10] Complete Angular v20 upgrade - update Material/CDK and library versions Co-authored-by: manekinekko <1699357+manekinekko@users.noreply.github.com> --- docs/components/AppComponent.html | 7 +- docs/components/BatteryLevelComponent.html | 63 ++-- docs/components/DashboardComponent.html | 9 +- docs/components/HumidityComponent.html | 55 +-- docs/components/StepCounterComponent.html | 47 +-- docs/components/TemperatureComponent.html | 59 +-- docs/dependencies.html | 22 +- docs/js/search/search_index.js | 4 +- docs/modules/AppModule.html | 80 ++-- docs/modules/AppModule/dependencies.svg | 80 ++-- docs/properties.html | 2 +- package-lock.json | 346 ++---------------- package.json | 6 +- .../angular-web-bluetooth/package.json | 6 +- 14 files changed, 263 insertions(+), 523 deletions(-) diff --git a/docs/components/AppComponent.html b/docs/components/AppComponent.html index ef46d3f..b37db69 100644 --- a/docs/components/AppComponent.html +++ b/docs/components/AppComponent.html @@ -179,10 +179,11 @@

Metadata

import { Component } from '@angular/core';
 
 @Component({
-  selector: 'ble-root',
-  template: `
+    selector: 'ble-root',
+    template: `
    <ble-dashboard></ble-dashboard>
-  `
+  `,
+    standalone: false
 })
 export class AppComponent {}
 
diff --git a/docs/components/BatteryLevelComponent.html b/docs/components/BatteryLevelComponent.html index de91930..bd89084 100644 --- a/docs/components/BatteryLevelComponent.html +++ b/docs/components/BatteryLevelComponent.html @@ -332,7 +332,7 @@

Constructor

-
Defined in src/app/thingy52/battery-level.component.ts:85
+
Defined in src/app/thingy52/battery-level.component.ts:86
@@ -423,8 +423,8 @@

- + @@ -460,8 +460,8 @@

- + @@ -497,8 +497,8 @@

- + @@ -564,8 +564,8 @@

- + @@ -601,8 +601,8 @@

- + @@ -638,8 +638,8 @@

- + @@ -675,8 +675,8 @@

- + @@ -752,7 +752,7 @@

- + @@ -779,7 +779,7 @@

- + @@ -810,7 +810,7 @@

- + @@ -841,7 +841,7 @@

- + @@ -868,7 +868,7 @@

- + @@ -895,7 +895,7 @@

- + @@ -926,7 +926,7 @@

- + @@ -957,7 +957,7 @@

- + @@ -988,7 +988,7 @@

- + @@ -1017,7 +1017,7 @@

- + @@ -1058,8 +1058,8 @@

]; @Component({ - selector: 'ble-battery-level', - template: ` + selector: 'ble-battery-level', + template: ` <span data-testid="value">{{ value || '000' }}<sup>%</sup></span> <mat-progress-spinner [color]="color" @@ -1071,8 +1071,8 @@

</mat-progress-spinner> <mat-icon>battery_charging_full</mat-icon> `, - styles: [ - ` + styles: [ + ` :host { display: flex; justify-content: center; @@ -1099,8 +1099,9 @@

bottom: 255px; } `, - ], - providers: PROVIDERS, + ], + providers: PROVIDERS, + standalone: false }) export class BatteryLevelComponent implements OnInit, OnDestroy { value = 0; diff --git a/docs/components/DashboardComponent.html b/docs/components/DashboardComponent.html index c0b1e00..074d951 100644 --- a/docs/components/DashboardComponent.html +++ b/docs/components/DashboardComponent.html @@ -187,7 +187,7 @@

Constructor

-
Defined in src/app/dashboard/dashboard.component.ts:8
+
Defined in src/app/dashboard/dashboard.component.ts:9
@@ -208,9 +208,10 @@

Constructor

import { Component } from '@angular/core';
 
 @Component({
-  selector: 'ble-dashboard',
-  templateUrl: './dashboard.component.html',
-  styleUrls: ['./dashboard.component.css'],
+    selector: 'ble-dashboard',
+    templateUrl: './dashboard.component.html',
+    styleUrls: ['./dashboard.component.css'],
+    standalone: false
 })
 export class DashboardComponent {
 
diff --git a/docs/components/HumidityComponent.html b/docs/components/HumidityComponent.html
index ba89fcf..834a838 100644
--- a/docs/components/HumidityComponent.html
+++ b/docs/components/HumidityComponent.html
@@ -297,7 +297,7 @@ 

Constructor

- + @@ -376,8 +376,8 @@

- + @@ -413,8 +413,8 @@

- + @@ -480,8 +480,8 @@

- + @@ -517,8 +517,8 @@

- + @@ -554,8 +554,8 @@

- + @@ -591,8 +591,8 @@

- + @@ -628,8 +628,8 @@

- + @@ -705,7 +705,7 @@

- + @@ -746,7 +746,7 @@

- + @@ -777,7 +777,7 @@

- + @@ -804,7 +804,7 @@

- + @@ -831,7 +831,7 @@

- + @@ -862,7 +862,7 @@

- + @@ -893,7 +893,7 @@

- + @@ -922,7 +922,7 @@

- + @@ -956,18 +956,19 @@

}]; @Component({ - selector: 'ble-humidity', - template: ` + selector: 'ble-humidity', + template: ` <canvas #chart width="549" height="200"></canvas> `, - styles: [` + styles: [` :host { display: block; } canvas { margin-left: -16px; }`], - providers: PROVIDERS + providers: PROVIDERS, + standalone: false }) export class HumidityComponent implements OnInit, OnDestroy { series: TimeSeries | null = null; diff --git a/docs/components/StepCounterComponent.html b/docs/components/StepCounterComponent.html index cb19b88..56f9582 100644 --- a/docs/components/StepCounterComponent.html +++ b/docs/components/StepCounterComponent.html @@ -299,7 +299,7 @@

Constructor

- + @@ -378,8 +378,8 @@

- + @@ -415,8 +415,8 @@

- + @@ -482,8 +482,8 @@

- + @@ -519,8 +519,8 @@

- + @@ -556,8 +556,8 @@

- + @@ -593,8 +593,8 @@

- + @@ -666,7 +666,7 @@

- + @@ -693,7 +693,7 @@

- + @@ -724,7 +724,7 @@

- + @@ -755,7 +755,7 @@

- + @@ -786,7 +786,7 @@

- + @@ -815,7 +815,7 @@

- + @@ -848,12 +848,12 @@

}]; @Component({ - selector: 'ble-stepcounter', - template: ` + selector: 'ble-stepcounter', + template: ` <span>{{ value || "000" }}</span> <mat-icon>directions_walk</mat-icon> `, - styles: [` + styles: [` :host { display: block; } @@ -871,7 +871,8 @@

width: 100%; height: 100%; }`], - providers: PROVIDERS + providers: PROVIDERS, + standalone: false }) export class StepCounterComponent implements OnInit, OnDestroy { valuesSubscription: Subscription | null = null; diff --git a/docs/components/TemperatureComponent.html b/docs/components/TemperatureComponent.html index 7a73137..17674c3 100644 --- a/docs/components/TemperatureComponent.html +++ b/docs/components/TemperatureComponent.html @@ -297,7 +297,7 @@

Constructor

- + @@ -376,8 +376,8 @@

- + @@ -413,8 +413,8 @@

- + @@ -480,8 +480,8 @@

- + @@ -517,8 +517,8 @@

- + @@ -554,8 +554,8 @@

- + @@ -591,8 +591,8 @@

- + @@ -628,8 +628,8 @@

- + @@ -705,7 +705,7 @@

- + @@ -746,7 +746,7 @@

- + @@ -777,7 +777,7 @@

- + @@ -804,7 +804,7 @@

- + @@ -831,7 +831,7 @@

- + @@ -862,7 +862,7 @@

- + @@ -893,7 +893,7 @@

- + @@ -922,7 +922,7 @@

- + @@ -969,10 +969,10 @@

]; @Component({ - selector: 'ble-temperature', - template: ` <canvas #chart width="549" height="180"></canvas> `, - styles: [ - ` + selector: 'ble-temperature', + template: ` <canvas #chart width="549" height="180"></canvas> `, + styles: [ + ` :host { display: block; } @@ -980,8 +980,9 @@

margin-left: -16px; } `, - ], - providers: PROVIDERS, + ], + providers: PROVIDERS, + standalone: false }) export class TemperatureComponent implements OnInit, OnDestroy { series: TimeSeries | null = null; diff --git a/docs/dependencies.html b/docs/dependencies.html index 742dc99..80d6abf 100644 --- a/docs/dependencies.html +++ b/docs/dependencies.html @@ -102,25 +102,25 @@
  • - @angular/animations : ^17.1.3
  • + @angular/animations : ^20.0.5
  • - @angular/cdk : ^17.1.2
  • + @angular/cdk : ^20.0.4
  • - @angular/common : ^17.1.3
  • + @angular/common : ^20.0.5
  • - @angular/compiler : ^17.1.3
  • + @angular/compiler : ^20.0.5
  • - @angular/core : ^17.1.3
  • + @angular/core : ^20.0.5
  • - @angular/forms : ^17.1.3
  • + @angular/forms : ^20.0.5
  • - @angular/material : ^17.1.2
  • + @angular/material : ^20.0.4
  • - @angular/platform-browser : ^17.1.3
  • + @angular/platform-browser : ^20.0.5
  • - @angular/platform-browser-dynamic : ^17.1.3
  • + @angular/platform-browser-dynamic : ^20.0.5
  • - @angular/router : ^17.1.3
  • + @angular/router : ^20.0.5
  • @types/web-bluetooth : 0.0.6
  • @@ -132,7 +132,7 @@
  • tslib : ^2.3.0
  • - zone.js : ~0.14.3
  • + zone.js : ~0.15.1
diff --git a/docs/js/search/search_index.js b/docs/js/search/search_index.js index 191690a..035bdff 100644 --- a/docs/js/search/search_index.js +++ b/docs/js/search/search_index.js @@ -1,4 +1,4 @@ var COMPODOC_SEARCH_INDEX = { - "index": {"version":"2.3.9","fields":["title","body"],"fieldVectors":[["title/interfaces/AWBOptions.html",[0,1.352,1,1.806]],["body/interfaces/AWBOptions.html",[0,1.57,1,3.161,2,2.646,3,0.502,4,0.502,5,0.444,6,0.841,7,0.336,8,2.341,9,0.444,10,1.3,11,1.091,12,3.528,13,2.704,14,0.562,15,0.035,16,1.082,17,3.34,18,3.937,19,3.054,20,0.694,21,3.937,22,2.646,23,1.693,24,3.054,25,1.876,26,3.054,27,1.572,28,2.219,29,3.054,30,0.692,31,3.775,32,1.312,33,2.162,34,2.646,35,2.704,36,3.054,37,3.34,38,3.054,39,2.341,40,0.145,41,2.219,42,1.895,43,3.054,44,1.313,45,2.239,46,2.219,47,3.054,48,2.341,49,1.721,50,0.025,51,0.025]],["title/components/AppComponent.html",[52,0.868,53,1.131]],["body/components/AppComponent.html",[3,0.567,4,0.567,5,0.501,15,0.034,16,0.784,20,0.784,30,0.501,40,0.164,50,0.027,51,0.027,52,1.522,53,2.069,54,2.397,55,2.141,56,2.141,57,3.45,58,2.141,59,3.195,60,2.419,61,2.397,62,2.638,63,1.773,64,2.638,65,2.397,66,2.141,67,2.985,68,2.141,69,0.966,70,2.141,71,1.484,72,1.773,73,2.141,74,1.484,75,2.141,76,1.484,77,2.141,78,1.484,79,2.141,80,1.484,81,1.945,82,2.141,83,2.141]],["title/modules/AppModule.html",[84,1.806,85,1.806]],["body/modules/AppModule.html",[3,0.422,4,0.422,5,0.374,7,0.283,12,1.97,15,0.035,16,1.192,17,2.692,20,0.584,30,0.374,39,2.692,40,0.122,41,2.536,44,1.105,50,0.023,51,0.023,53,2.173,63,1.321,71,1.997,74,1.997,76,1.997,78,1.997,80,1.997,84,1.765,85,3.586,86,1.765,87,1.97,88,3.999,89,3.999,90,2.57,91,2.57,92,2.57,93,2.57,94,2.57,95,3.511,96,2.57,97,1.97,98,3.092,99,4.224,100,3.092,101,4.224,102,3.092,103,4.224,104,3.511,105,3.092,106,4.224,107,3.092,108,4.224,109,3.092,110,4.224,111,3.092,112,3.092,113,4.224,114,3.092,115,4.224,116,3.092,117,4.224,118,3.092,119,4.224,120,2.57,121,2.57,122,4.224,123,1.765,124,1.765,125,4.224,126,3.092,127,1.449,128,1.207,129,3.092,130,3.092,131,3.092,132,3.092,133,3.092,134,3.092,135,3.092,136,4.224,137,1.595,138,2.57,139,1.105]],["title/classes/AppPage.html",[40,0.125,140,2.279]],["body/classes/AppPage.html",[3,0.602,4,0.602,5,0.532,9,0.532,15,0.034,16,0.832,30,0.532,32,1.214,40,0.174,50,0.028,51,0.028,61,2.065,65,2.065,137,2.273,140,3.821,141,2.273,142,3.664,143,1.105,144,5.907,145,5.907,146,1.002,147,4.407,148,1.105,149,5.104,150,4.407,151,4.407,152,4.407,153,4.407,154,3.174,155,4.407]],["title/components/BatteryLevelComponent.html",[52,0.868,71,1.131]],["body/components/BatteryLevelComponent.html",[3,0.22,4,0.22,5,0.194,7,0.147,9,0.194,10,0.711,11,0.677,14,0.833,15,0.035,16,0.825,20,0.303,23,1.333,25,1.065,27,1.379,30,0.393,32,0.368,33,1.011,40,0.064,44,1.462,45,1.107,46,1.214,49,1.214,50,0.014,51,0.014,52,0.893,53,0.575,54,1.214,55,0.829,56,0.829,58,0.829,59,2.467,60,1.868,62,1.336,63,0.687,64,1.336,65,1.214,66,0.829,67,1.924,68,0.829,69,0.772,70,0.829,71,1.333,72,1.594,73,0.829,74,0.575,75,0.829,76,0.575,77,0.829,78,0.575,79,0.829,80,0.575,81,0.753,82,0.829,83,0.829,120,1.336,121,3.101,123,0.918,124,0.918,127,0.753,128,0.628,143,0.539,146,1.071,148,0.957,154,2.343,156,1.857,157,4.117,158,1.158,159,1.214,160,2.073,161,2.073,162,2.073,163,2.073,164,2.786,165,4.372,166,3.253,167,3.556,168,3.253,169,3.253,170,3.148,171,3.148,172,2.704,173,3.634,174,3.634,175,2.704,176,3.148,177,3.148,178,3.148,179,3.253,180,2.343,181,2.704,182,2.073,183,3.253,184,3.253,185,3.148,186,3.253,187,3.253,188,1.857,189,2.704,190,2.343,191,2.704,192,3.253,193,1.727,194,2.704,195,3.253,196,3.253,197,1.928,198,3.4,199,3.253,200,3.253,201,1.431,202,2.606,203,2.073,204,2.073,205,1.333,206,3.73,207,1.651,208,2.377,209,2.377,210,2.377,211,2.073,212,1.651,213,1.597,214,0.848,215,1.024,216,2.043,217,2.606,218,1.608,219,0.745,220,1.608,221,1.505,222,1.608,223,1.651,224,1.262,225,1.608,226,1.524,227,1.608,228,1.608,229,1.608,230,1.024,231,2.894,232,1.214,233,1.608,234,1.563,235,1.678,236,1.608,237,1.608,238,2.93,239,2.256,240,1.608,241,3.253,242,3.73,243,1.608,244,1.608,245,1.608,246,1.608,247,2.377,248,1.608,249,1.608,250,0.829,251,1.608,252,0.918,253,1.024,254,1.39,255,1.336,256,1.479,257,1.479,258,0.918,259,0.918,260,0.918,261,0.918,262,1.024,263,0.918,264,1.024,265,1.024,266,1.024,267,1.024,268,0.575,269,1.024,270,1.336,271,0.753,272,1.336,273,1.608,274,1.024,275,1.336,276,1.524,277,1.608,278,1.608,279,1.608,280,1.608,281,2.59,282,1.024,283,3.253,284,1.608,285,1.924,286,0.829,287,1.608,288,1.158,289,1.024,290,1.336,291,0.918,292,1.024,293,1.024,294,1.024,295,1.024,296,1.158,297,1.608,298,1.024,299,1.024,300,1.608,301,1.024,302,1.024,303,1.024,304,1.608,305,1.608,306,1.608]],["title/injectables/BleService.html",[216,1.352,307,0.868]],["body/injectables/BleService.html",[3,0.459,4,0.459,5,0.406,7,0.307,9,0.406,10,1.226,11,0.93,14,0.852,15,0.035,16,0.948,20,0.635,23,1.991,30,0.406,32,1.149,35,2.551,40,0.133,50,0.024,51,0.024,60,2.089,61,1.575,69,0.948,127,1.575,128,1.312,143,0.93,146,1.12,148,1.16,193,1.717,197,1.745,201,1.463,214,1.1,216,1.909,219,1.023,221,1.463,224,1.226,231,1.919,234,1.201,250,2.759,268,1.201,271,2.094,291,1.919,307,1.226,308,1.734,309,2.421,310,2.589,311,5.019,312,3.714,313,4.447,314,4.447,315,3.361,316,4.468,317,4.468,318,4.124,319,3.361,320,3.361,321,3.361,322,3.361,323,3.361,324,3.361,325,2.794,326,3.361,327,2.794,328,3.361,329,1.919,330,2.794,331,2.794,332,2.794,333,1.575,334,3.361,335,2.794,336,2.794,337,3.361,338,3.361,339,4.468,340,2.421,341,3.361,342,3.361,343,2.794,344,2.794]],["title/injectables/BrowserWebBluetooth.html",[25,1.036,307,0.868]],["body/injectables/BrowserWebBluetooth.html",[3,0.559,4,0.559,5,0.495,6,1.318,7,0.527,9,0.495,10,1.392,11,0.853,14,0.627,15,0.034,16,0.773,20,0.773,25,1.661,30,0.495,32,0.937,33,1.599,35,2.338,40,0.162,50,0.027,51,0.027,60,2.152,69,0.773,128,1.599,137,2.113,143,1.056,146,1.041,148,0.853,149,4.217,214,1.805,219,0.937,307,1.392,308,2.113,310,2.843,340,3.654,345,3.405,346,5.073,347,5.073,348,5.073,349,5.511,350,4.095,351,4.095,352,4.095,353,4.095,354,3.405,355,4.095,356,4.095,357,4.095,358,3.405,359,4.095,360,4.095]],["title/injectables/ConsoleLoggerService.html",[27,0.949,307,0.868]],["body/injectables/ConsoleLoggerService.html",[0,1.621,3,0.518,4,0.518,5,0.458,6,1.282,7,0.512,9,0.458,11,1.108,14,0.815,15,0.035,16,0.716,20,0.716,27,1.45,28,1.778,30,0.643,40,0.191,50,0.026,51,0.026,61,2.265,69,1.005,143,1.007,146,1.005,148,1.108,159,2.265,219,1.218,221,1.937,224,1.461,226,2.265,282,3.081,307,1.461,308,1.957,329,2.761,361,2.418,362,3.482,363,3.833,364,3.794,365,4.262,366,3.833,367,3.794,368,3.833,369,3.794,370,3.038,371,2.732,372,2.732,373,2.732,374,2.732,375,2.732,376,2.732]],["title/components/DashboardComponent.html",[52,0.868,74,1.131]],["body/components/DashboardComponent.html",[3,0.406,4,0.406,5,0.359,7,0.376,9,0.359,15,0.035,16,0.561,20,0.561,30,0.359,40,0.118,50,0.022,51,0.022,52,1.294,53,1.063,54,1.927,55,1.534,56,1.534,58,1.534,59,2.975,60,2.315,62,1.534,63,1.27,64,2.121,65,1.927,66,1.534,67,2.623,68,1.534,69,0.776,70,1.534,71,1.063,72,2.014,73,1.534,74,1.818,75,1.534,76,1.063,77,1.534,78,1.063,79,1.534,80,1.063,81,2.208,82,1.534,83,1.534,146,0.561,154,2.141,156,1.698,162,3.24,167,2.141,170,2.141,171,2.141,176,3.394,177,2.961,178,3.394,180,2.961,185,2.961,188,1.698,189,2.472,190,2.141,191,2.472,205,2.062,214,1.543,235,1.534,247,3.518,358,2.472,377,2.472,378,5.085,379,4.111,380,4.713,381,4.111,382,4.111,383,2.973,384,3.418,385,4.111,386,5.768,387,5.768,388,3.293,389,5.768,390,5.768,391,2.961,392,4.111,393,2.973,394,2.973,395,2.973,396,2.472,397,2.973,398,3.662,399,2.973,400,2.973,401,2.973,402,2.973,403,1.895,404,2.141,405,2.973,406,2.973,407,4.111,408,5.085,409,3.418,410,2.973,411,4.713,412,2.973,413,2.973]],["title/classes/FakeBluetoothDevice.html",[40,0.125,414,1.632]],["body/classes/FakeBluetoothDevice.html",[3,0.351,4,0.351,5,0.311,6,1.296,7,0.518,9,0.311,10,1.309,11,0.773,13,1.327,14,0.851,15,0.035,30,0.576,32,1.091,40,0.189,50,0.02,51,0.02,69,1.025,139,0.92,141,1.327,143,0.773,146,1.049,148,0.907,193,1.43,197,2.12,201,0.842,205,1.807,213,1.45,214,0.842,219,0.85,221,1.426,224,1.654,232,1.206,234,1.327,235,1.327,239,2.037,254,1.586,268,1.704,276,2.041,285,2.247,286,1.327,310,2.608,333,2.041,388,1.469,414,1.915,415,1.469,416,2.487,417,3.038,418,3.038,419,3.086,420,2.887,421,2.573,422,2.573,423,2.12,424,2.573,425,3.712,426,2.775,427,2.573,428,2.775,429,3.357,430,3.357,431,2.573,432,2.573,433,2.573,434,3.038,435,2.366,436,2.366,437,2.366,438,1.64,439,2.366,440,1.915,441,1.64,442,1.64,443,2.366,444,1.327,445,1.586,446,1.64,447,1.64,448,2.366,449,1.64,450,1.64,451,1.64,452,1.64,453,1.64,454,1.327,455,1.469,456,1.64,457,1.64,458,1.64,459,1.64,460,1.327,461,2.366,462,2.366,463,1.469,464,3.038,465,2.366,466,1.64,467,1.64,468,2.366,469,1.64,470,1.64,471,1.64,472,1.64]],["title/classes/FakeBluetoothRemoteGATTCharacteristic.html",[40,0.125,460,1.632]],["body/classes/FakeBluetoothRemoteGATTCharacteristic.html",[3,0.344,4,0.344,5,0.304,6,1.309,7,0.523,9,0.304,10,1.481,11,0.896,13,1.298,14,0.862,15,0.035,30,0.57,32,1.08,40,0.187,50,0.02,51,0.02,69,0.891,139,0.9,141,1.298,143,0.761,146,1.063,148,0.983,193,1.568,197,1.68,201,0.824,205,1.306,213,1.427,214,0.824,219,0.984,221,1.408,224,1.546,232,1.179,234,0.9,235,1.298,239,1.561,254,1.561,268,2.045,276,2.016,285,2.219,286,1.298,310,2.782,333,2.016,388,1.437,414,1.298,415,1.437,416,1.437,417,1.604,418,3.008,419,3.038,420,2.862,423,1.437,426,2.328,428,2.741,429,3.331,430,3.331,434,3.008,435,2.328,436,2.328,437,2.328,438,1.604,439,2.328,440,1.885,441,1.604,442,1.604,443,2.328,444,1.298,445,1.561,446,1.604,447,1.604,448,2.328,449,1.604,450,1.604,451,1.604,452,1.604,453,1.604,454,1.298,455,1.437,456,1.604,457,1.604,458,1.604,459,1.604,460,1.885,461,3.008,462,3.194,463,2.456,464,3.521,465,2.741,466,2.328,467,1.604,468,2.328,469,3.008,470,1.604,471,2.328,472,1.604,473,3.654,474,2.517,475,2.517,476,2.517,477,2.517,478,2.517,479,2.517,480,2.517,481,2.517,482,2.517,483,2.517]],["title/classes/FakeBluetoothRemoteGATTServer.html",[40,0.125,444,1.632]],["body/classes/FakeBluetoothRemoteGATTServer.html",[3,0.367,4,0.367,5,0.324,6,1.287,7,0.514,9,0.324,10,1.335,11,0.797,13,1.385,14,0.842,15,0.035,30,0.587,32,1.113,40,0.192,50,0.021,51,0.021,69,0.842,139,0.96,141,1.385,143,0.797,146,1.038,148,0.929,193,1.338,197,2.147,201,1.253,205,1.837,213,2.007,214,0.879,219,0.876,221,0.879,224,1.509,232,2.09,234,0.96,235,1.385,239,1.635,254,1.635,268,1.738,276,2.09,285,2.301,286,2.301,310,2.301,333,2.09,388,2.776,414,1.385,415,1.533,416,1.533,417,1.711,418,2.439,420,2.185,423,1.533,426,2.439,428,2.439,429,3.098,430,3.098,434,3.098,435,2.439,436,2.439,437,2.439,438,1.711,439,2.439,440,1.974,441,1.711,442,1.711,443,2.439,444,1.974,445,1.905,446,3.275,447,1.711,448,2.439,449,1.711,450,2.439,451,2.842,452,1.711,453,1.711,454,1.385,455,1.533,456,1.711,457,1.711,458,1.711,459,1.711,460,1.385,461,2.439,462,2.439,463,1.533,464,3.098,465,2.439,466,1.711,467,1.711,468,2.439,469,1.711,470,1.711,471,1.711,472,1.711,484,3.827,485,2.232,486,3.827,487,3.827,488,2.685,489,2.685,490,2.685]],["title/classes/FakeBluetoothRemoteGATTService.html",[40,0.125,454,1.632]],["body/classes/FakeBluetoothRemoteGATTService.html",[3,0.386,4,0.386,5,0.342,6,1.2,7,0.479,9,0.342,10,1.366,11,0.827,13,1.459,14,0.762,15,0.035,30,0.601,32,1.139,40,0.197,50,0.021,51,0.021,69,0.866,139,1.011,141,1.459,143,0.827,146,0.939,148,0.589,193,1.191,197,2.18,201,0.926,205,1.419,213,2.047,214,0.926,219,0.909,224,1.532,235,1.459,239,1.696,254,1.696,268,1.779,271,1.325,276,2.15,285,2.367,286,1.459,310,2.367,333,2.15,388,1.615,414,1.459,415,1.615,416,1.615,417,1.802,418,2.53,420,2.267,423,1.615,426,2.53,428,2.53,429,3.171,430,3.171,434,3.171,435,2.53,436,2.53,437,2.53,438,1.802,439,2.53,440,2.048,441,1.802,442,1.802,443,2.53,444,1.459,445,1.696,446,1.802,447,1.802,448,2.53,449,1.802,450,1.802,451,1.802,452,1.802,453,1.802,454,2.048,455,2.993,456,1.802,457,2.53,458,2.924,459,1.802,460,1.459,461,2.53,462,2.53,463,1.615,464,3.171,465,2.53,466,1.802,467,1.802,468,2.53,469,1.802,470,1.802,471,1.802,472,1.802,485,2.351,491,3.971,492,2.828,493,3.971,494,2.828]],["title/components/HumidityComponent.html",[52,0.868,76,1.131]],["body/components/HumidityComponent.html",[3,0.26,4,0.26,5,0.23,7,0.174,9,0.23,10,0.813,11,0.757,14,0.844,15,0.035,16,0.888,20,0.36,23,1.466,25,1.19,27,1.09,30,0.439,32,0.436,33,1.602,40,0.075,42,1.528,44,1.588,45,1.266,46,1.388,49,1.388,50,0.016,51,0.016,52,0.998,53,0.681,54,1.388,55,0.982,56,0.982,58,0.982,59,2.619,60,1.983,62,1.528,63,0.814,64,1.528,65,1.388,66,0.982,67,2.116,68,0.982,69,0.839,70,0.982,71,0.681,72,0.814,73,0.982,74,0.681,75,0.982,76,1.466,77,0.982,78,0.681,79,0.982,80,0.681,81,0.892,82,0.982,83,0.982,123,1.088,124,1.088,127,0.892,128,0.744,139,1.3,143,0.617,146,1.088,148,1.022,156,2.076,159,1.388,160,2.317,161,2.317,163,2.317,164,2.317,182,2.317,188,2.076,193,1.599,197,1.837,201,1.54,202,2.831,203,2.317,204,2.317,205,1.466,207,1.888,208,2.614,209,2.614,210,2.614,211,1.888,212,1.888,213,1.42,214,0.97,215,1.214,216,2.169,217,2.831,219,0.832,221,1.608,223,1.888,224,1.22,226,1.388,230,1.888,231,2.804,232,1.388,234,1.588,238,2.831,239,2.544,250,0.982,252,1.088,253,1.214,254,1.752,255,1.528,256,1.691,257,1.691,258,1.088,259,1.088,260,1.088,261,1.088,262,1.214,263,1.088,264,1.214,265,1.214,266,1.214,267,1.214,268,0.681,269,1.214,271,0.892,274,1.214,276,1.388,289,1.214,291,1.691,292,1.214,293,1.214,294,1.214,295,1.214,296,1.372,298,1.214,299,1.214,301,1.888,302,1.214,303,1.214,330,1.583,331,2.463,391,2.618,396,1.583,398,2.618,403,1.214,404,1.372,445,0.814,495,1.372,496,3.41,497,3.022,498,3.022,499,3.022,500,3.022,501,3.41,502,1.905,503,1.905,504,1.905,505,1.905,506,1.905,507,1.905,508,1.905,509,1.905,510,3.022,511,1.905,512,3.022,513,1.583,514,2.463,515,1.905,516,3.41,517,1.905,518,1.905,519,1.905,520,1.905,521,1.905,522,1.905,523,1.583,524,1.372,525,1.583,526,2.134,527,2.134,528,2.134,529,2.134,530,1.905,531,1.583,532,1.583,533,2.463,534,1.583,535,1.583,536,1.583,537,1.905,538,1.583,539,1.583,540,1.583,541,1.372,542,3.022,543,1.583,544,2.463,545,1.583,546,1.583,547,1.583,548,1.583,549,1.583,550,1.583,551,1.583,552,1.583,553,1.583,554,1.583,555,1.583,556,1.583,557,2.463,558,1.583,559,1.905,560,1.372,561,1.583,562,1.583,563,1.583,564,1.372]],["title/interfaces/Logger.html",[0,1.352,370,1.806]],["body/interfaces/Logger.html",[0,1.601,2,2.699,3,0.512,4,0.512,5,0.453,6,1.277,7,0.51,9,0.453,11,1.102,14,0.81,15,0.035,16,0.708,20,0.708,27,1.124,28,1.756,30,0.639,40,0.19,50,0.026,51,0.026,61,2.248,69,0.999,143,0.999,146,0.999,148,1.102,159,2.248,219,1.211,221,1.931,224,1.683,226,2.248,282,3.057,307,1.452,329,2.739,361,2.388,362,3.455,363,3.455,365,4.248,366,3.455,368,3.455,370,3.185,371,3.455,372,3.455,373,3.455,374,2.699,375,2.699,376,2.699,565,3.748,566,3.748,567,3.748]],["title/injectables/NoLoggerService.html",[28,1.482,307,0.868]],["body/injectables/NoLoggerService.html",[0,1.621,3,0.518,4,0.518,5,0.458,6,1.282,7,0.512,9,0.458,11,1.108,14,0.815,15,0.035,16,0.716,20,0.716,27,1.138,28,2.265,30,0.643,40,0.191,50,0.026,51,0.026,61,2.265,69,1.005,143,1.007,146,1.005,148,1.108,159,2.265,219,1.218,221,1.937,224,1.461,226,2.265,282,3.081,307,1.461,308,1.957,329,2.761,361,2.418,362,3.482,363,3.833,365,4.262,366,3.833,368,3.833,370,3.038,371,2.732,372,2.732,373,2.732,374,2.732,375,2.732,376,2.732,568,3.794,569,3.794,570,3.794]],["title/injectables/ServerWebBluetooth.html",[307,0.868,571,2.279]],["body/injectables/ServerWebBluetooth.html",[3,0.615,4,0.615,5,0.544,6,1.23,7,0.492,9,0.544,15,0.034,16,0.85,20,0.85,30,0.544,32,1.031,40,0.178,42,2.963,50,0.029,51,0.029,143,1.119,146,0.85,148,0.938,263,3.397,307,1.475,308,2.323,571,3.871,572,3.744,573,4.503,574,4.503,575,3.744,576,4.503]],["title/components/StepCounterComponent.html",[52,0.868,78,1.131]],["body/components/StepCounterComponent.html",[3,0.274,4,0.274,5,0.243,7,0.184,9,0.243,10,0.848,11,0.783,14,0.791,15,0.035,16,0.86,20,0.379,23,1.509,25,1.231,27,1.128,30,0.454,32,0.707,33,1.206,40,0.08,44,1.628,45,1.319,46,1.447,49,1.447,50,0.017,51,0.017,52,1.032,53,0.718,54,1.447,55,1.037,56,1.037,58,1.037,59,2.665,60,2.018,62,1.593,63,0.859,64,1.593,65,1.447,66,1.037,67,2.177,68,1.037,69,0.86,70,1.037,71,0.718,72,0.859,73,1.037,74,0.718,75,1.037,76,0.718,77,1.037,78,1.509,79,1.037,80,0.718,81,0.942,82,1.037,83,1.037,123,1.148,124,1.148,127,0.942,128,0.785,139,1.104,143,0.643,146,1.068,148,1.001,156,2.147,159,1.447,160,2.396,161,2.396,163,2.396,164,3.064,167,2.709,170,2.709,171,2.709,172,3.126,173,3.997,174,3.997,175,3.126,176,2.709,177,2.709,178,2.709,180,3.463,181,3.126,182,3.064,185,2.709,188,2.147,190,2.709,193,1.696,194,3.126,197,1.878,201,1.574,202,2.902,203,2.396,204,2.396,205,1.509,207,1.968,208,2.689,209,2.689,210,2.689,211,1.968,212,1.968,213,1.469,214,1.011,215,1.281,216,2.208,217,2.902,219,0.861,221,1.574,223,1.968,224,1.032,226,1.762,230,1.968,231,2.6,234,1.344,238,2.902,239,2.264,247,1.968,250,1.037,252,1.148,253,1.281,254,1.946,255,1.593,256,1.763,257,1.763,258,1.148,259,1.148,260,1.148,261,1.148,262,1.281,263,1.148,264,1.281,265,1.281,266,1.281,267,1.281,268,0.718,271,0.942,274,1.281,285,1.037,288,1.448,289,1.281,291,1.148,292,1.281,293,1.281,294,1.281,295,1.281,298,1.281,299,1.281,301,1.968,302,1.281,303,1.281,526,2.224,527,2.224,528,2.224,529,2.224,532,1.671,533,2.567,541,1.448,558,1.671,560,1.448,564,1.448,577,1.448,578,3.088,579,3.761,580,3.761,581,3.761,582,3.997,583,3.761,584,3.761,585,2.01,586,2.01,587,2.01,588,2.01,589,2.01,590,2.01,591,2.01,592,2.01,593,2.01,594,2.01,595,2.01,596,2.01,597,2.01,598,3.088,599,2.01,600,2.01,601,2.01,602,2.01,603,2.01,604,2.01]],["title/components/TemperatureComponent.html",[52,0.868,80,1.131]],["body/components/TemperatureComponent.html",[3,0.257,4,0.257,5,0.228,7,0.172,9,0.228,10,0.807,11,0.752,14,0.842,15,0.035,16,0.884,20,0.356,23,1.458,25,1.183,27,1.083,30,0.436,32,0.673,33,1.593,40,0.075,42,1.516,44,1.581,45,1.256,46,1.377,49,1.377,50,0.016,51,0.016,52,0.991,53,0.674,54,1.377,55,0.972,56,0.972,58,0.972,59,2.61,60,1.976,62,1.516,63,0.805,64,1.516,65,1.377,66,0.972,67,2.104,68,0.972,69,0.835,70,0.972,71,0.674,72,0.805,73,0.972,74,0.674,75,0.972,76,0.674,77,0.972,78,0.674,79,0.972,80,1.458,81,1.911,82,0.972,83,0.972,123,1.076,124,1.076,127,0.883,128,0.736,139,1.291,143,0.612,146,1.086,148,1.019,156,2.062,159,1.377,160,2.302,161,2.302,163,2.302,164,2.302,182,2.302,188,2.062,193,1.594,197,1.727,201,1.534,202,2.818,203,2.302,204,2.302,205,1.458,207,1.873,208,2.599,209,2.599,210,2.599,211,1.873,212,1.873,213,1.41,214,0.617,215,1.201,216,2.162,217,2.818,219,0.827,221,1.602,223,1.873,224,1.214,226,1.692,230,1.873,231,2.793,232,1.377,234,1.581,238,2.818,239,2.54,250,0.972,252,1.076,253,1.201,254,2.001,255,1.516,256,1.678,257,1.678,258,1.076,259,1.076,260,1.076,261,1.076,262,1.201,263,1.076,264,1.201,265,1.201,266,1.201,267,1.201,268,0.674,269,1.201,271,0.883,274,1.201,275,1.567,276,1.377,288,1.358,289,1.201,290,1.567,291,1.076,292,1.201,293,1.201,294,1.201,295,1.201,296,1.358,298,1.201,299,1.201,301,1.873,302,1.201,303,1.201,333,0.883,398,2.601,403,1.201,404,1.358,445,0.805,496,3.391,497,3.003,498,3.003,499,3.003,500,3.003,501,3.391,510,3.003,512,3.003,513,1.567,514,2.443,516,3.391,523,1.567,524,1.358,525,1.567,526,2.117,527,2.117,528,2.117,529,2.117,531,1.567,534,1.567,535,1.567,536,1.567,538,1.567,539,1.567,540,1.567,541,1.358,542,3.003,543,1.567,544,2.443,545,1.567,546,1.567,547,1.567,548,1.567,549,1.567,550,1.567,551,1.567,552,1.567,553,1.567,554,1.567,555,1.567,556,1.567,557,2.443,560,1.358,561,1.567,562,1.567,563,1.567,564,1.358,582,1.567,605,1.358,606,1.885,607,1.885,608,1.885,609,1.885,610,1.885,611,1.885,612,1.885,613,1.885,614,1.885,615,1.885,616,1.885,617,2.939,618,1.885,619,1.885,620,1.885,621,1.885,622,2.939,623,2.939,624,1.885]],["title/modules/WebBluetoothModule.html",[41,1.482,84,1.806]],["body/modules/WebBluetoothModule.html",[0,1.539,1,3.252,3,0.492,4,0.492,5,0.435,6,1.07,7,0.428,8,2.296,11,0.974,12,2.296,13,1.858,14,0.551,15,0.035,16,1.075,17,3.309,18,4.317,19,2.995,20,0.68,21,3.888,22,2.595,23,1.672,24,2.995,25,1.865,26,2.995,27,1.557,28,2.191,29,2.995,30,0.688,31,3.74,32,1.303,33,2.146,34,2.595,35,2.965,36,2.995,37,3.309,38,2.995,39,2.296,40,0.143,41,2.433,42,2.412,43,3.888,44,1.288,45,2.218,46,2.191,47,2.995,48,2.296,49,1.688,50,0.025,51,0.025,69,0.68,86,2.057,143,0.75,146,0.68,148,0.75,193,1.08,219,0.824,234,1.288,625,3.602,626,3.602]],["title/coverage.html",[627,3.567]],["body/coverage.html",[0,1.691,1,1.607,5,0.34,6,1.411,7,0.564,8,3.165,14,0.701,15,0.035,23,1.006,25,1.296,27,0.844,28,1.319,31,3.297,33,1.099,37,1.794,40,0.207,44,1.775,48,1.794,50,0.021,51,0.021,52,1.49,53,1.006,57,2.34,71,1.006,74,1.006,76,1.006,78,1.006,80,1.006,140,2.028,142,2.34,157,3.577,158,3.577,216,2.236,247,4.102,255,2.562,307,1.49,309,2.851,318,2.028,332,5.103,345,2.34,361,2.917,370,1.607,377,2.34,414,1.452,415,2.835,444,1.452,454,1.452,460,1.452,495,3.577,571,2.028,572,2.34,577,3.577,605,3.577,627,2.34,628,2.028,629,2.815,630,2.815,631,2.815,632,4.577,633,6.273,634,3.29,635,2.815,636,2.815,637,3.958,638,2.34,639,3.29,640,3.29,641,2.34,642,2.34,643,4.966,644,3.958,645,2.815,646,2.815,647,2.815,648,2.815,649,3.958,650,2.815,651,2.34,652,3.29,653,2.34,654,2.815,655,2.815]],["title/dependencies.html",[87,2.42,656,1.913]],["body/dependencies.html",[15,0.035,20,0.83,22,3.166,50,0.028,51,0.028,87,2.802,104,4.404,128,1.717,137,2.732,252,2.51,524,3.166,657,4.396,658,6.259,659,4.396,660,5.297,661,4.396,662,4.396,663,4.396,664,4.396,665,4.396,666,3.655,667,4.396,668,4.396,669,4.396,670,4.396,671,4.396,672,4.396,673,4.396,674,4.396,675,4.396,676,4.396]],["title/miscellaneous/functions.html",[677,1.37,678,3.157]],["body/miscellaneous/functions.html",[1,3.151,6,1.078,7,0.431,8,3.001,9,0.569,11,0.981,14,0.721,15,0.031,25,1.917,34,3.391,35,2.689,37,3.73,48,3.516,50,0.03,51,0.03,69,0.889,219,1.078,677,2.429,678,3.915,679,5.853]],["title/index.html",[9,0.321,680,1.913,681,1.913]],["body/index.html",[7,0.455,12,1.399,15,0.035,16,1.026,17,2.105,20,0.75,23,1.779,30,0.48,32,1.287,39,1.399,40,0.157,41,1.548,42,1.704,45,0.938,50,0.018,51,0.018,60,1.29,61,1.548,72,1.696,84,1.886,85,1.254,97,1.399,127,2.069,128,2.074,137,1.132,138,1.825,139,1.181,162,2.53,193,1.548,198,1.825,201,1.739,205,0.785,213,1.943,250,1.704,260,1.254,261,1.254,268,1.693,269,1.399,270,2.746,271,2.219,272,2.746,286,1.704,307,1.212,313,2.746,314,3.671,325,2.746,327,2.746,329,1.886,333,1.548,335,2.746,336,1.825,340,2.379,343,1.825,344,2.746,384,1.825,403,2.105,409,1.825,416,1.254,420,1.254,423,1.254,440,1.132,445,0.938,455,1.254,463,1.254,628,2.859,656,1.581,666,2.746,680,1.581,681,1.581,682,2.195,683,3.303,684,5.162,685,3.303,686,2.195,687,2.195,688,2.195,689,2.195,690,2.195,691,2.195,692,2.195,693,2.195,694,2.195,695,3.937,696,3.303,697,2.195,698,3.303,699,4.416,700,3.303,701,3.303,702,3.303,703,4.975,704,5.162,705,3.303,706,3.303,707,2.195,708,3.303,709,2.195,710,2.195,711,2.195,712,3.303,713,2.195,714,2.195,715,2.195,716,2.195,717,2.195,718,2.195,719,3.303,720,2.195,721,3.303,722,2.195,723,2.195,724,2.195,725,2.195,726,2.746,727,2.195,728,2.195,729,2.195,730,2.195,731,3.303,732,2.195,733,2.195,734,2.195,735,2.195,736,2.195,737,3.303,738,1.825,739,2.195,740,2.195,741,2.195,742,2.195,743,2.195,744,2.195,745,2.195,746,2.195,747,2.195,748,2.195,749,2.195,750,2.195,751,1.825,752,3.303,753,2.195,754,2.195,755,3.303,756,3.303,757,2.195,758,2.195,759,2.195,760,2.746,761,2.195,762,2.195,763,3.303,764,2.195,765,2.195,766,2.195,767,2.195,768,2.195,769,2.195,770,2.195,771,2.195,772,2.195,773,2.195,774,2.195,775,2.195,776,2.379,777,2.746,778,3.3,779,1.825,780,1.825,781,1.825,782,1.825,783,2.746,784,1.825,785,1.825,786,1.825,787,1.825,788,1.825,789,2.746,790,4.518,791,1.825,792,1.825,793,1.825,794,3.3,795,1.825,796,2.746,797,1.825,798,1.825,799,1.825,800,1.825,801,1.825,802,1.825,803,1.825,804,1.825,805,1.825,806,2.746,807,1.825,808,1.825,809,1.825,810,1.825,811,1.825,812,1.825,813,2.746,814,2.746,815,1.825,816,1.825,817,1.825,818,1.825,819,1.825,820,1.825,821,1.825,822,1.825,823,1.825,824,1.825,825,1.825,826,1.825,827,1.825,828,1.825,829,1.825,830,1.825,831,1.825,832,1.825,833,1.825,834,1.825,835,1.825,836,1.825,837,1.825,838,1.825,839,1.825,840,1.825,841,1.825,842,1.825,843,1.825]],["title/license.html",[680,1.913,681,1.913,776,1.913]],["body/license.html",[15,0.027,50,0.027,51,0.027,97,2.559,440,2.071,628,2.892,695,4.166,726,3.338,760,3.338,776,2.892,777,4.166,778,4.541,779,3.338,780,3.338,781,3.338,782,3.338,783,4.166,784,3.338,785,3.338,786,3.338,787,3.338,788,3.338,789,4.166,790,5.161,791,3.338,792,3.338,793,3.338,794,4.541,795,3.338,796,4.166,797,3.338,798,3.338,799,3.338,800,3.338,801,3.338,802,3.338,803,3.338,804,3.338,805,3.338,806,4.166,807,3.338,808,3.338,809,3.338,810,3.338,811,3.338,812,3.338,813,4.166,814,4.166,815,3.338,816,3.338,817,3.338,818,3.338,819,3.338,820,3.338,821,3.338,822,3.338,823,3.338,824,3.338,825,3.338,826,3.338,827,3.338,828,3.338,829,3.338,830,3.338,831,3.338,832,3.338,833,3.338,834,3.338,835,3.338,836,3.338,837,3.338,838,3.338,839,3.338,840,3.338,841,3.338,842,3.338,843,3.338]],["title/modules.html",[86,2.45]],["body/modules.html",[15,0.03,41,2.3,50,0.03,51,0.03,85,2.803,86,2.803,137,2.532,354,4.08,844,4.908,845,5.652,846,4.908,847,4.08]],["title/overview.html",[848,3.567]],["body/overview.html",[2,3.009,15,0.034,41,2.606,44,1.494,50,0.028,51,0.028,53,2.195,54,1.958,63,1.785,71,1.988,74,1.988,76,1.988,78,1.988,80,1.988,84,2.386,85,3.676,86,2.386,87,2.663,88,3.474,89,3.474,90,3.474,91,3.474,92,3.474,93,3.474,94,3.474,95,4.27,96,3.474,97,2.663,141,2.155,308,2.155,738,4.27,751,3.474,848,3.474,849,5.136]],["title/properties.html",[10,1.042,656,1.913]],["body/properties.html",[10,1.369,15,0.032,50,0.031,51,0.031,850,4.987,851,4.987]],["title/miscellaneous/typealiases.html",[677,1.37,852,3.798]],["body/miscellaneous/typealiases.html",[6,1.1,7,0.44,9,0.581,14,0.904,15,0.03,50,0.03,51,0.03,232,2.617,309,3.462,318,4.022,634,3.996,638,4.642,677,2.479,853,4.806,854,4.806,855,4.806]],["title/miscellaneous/variables.html",[677,1.37,856,3.157]],["body/miscellaneous/variables.html",[6,0.362,7,0.145,9,0.191,14,0.728,15,0.035,23,1.879,25,1.556,27,1.426,33,1.856,44,1.699,45,2.031,46,2.227,49,2.227,50,0.014,51,0.014,72,0.676,81,0.741,139,0.565,157,1.139,158,2.661,162,1.008,193,1.664,201,1.851,216,2.371,224,0.702,234,1.983,255,2.711,256,2.714,257,2.714,258,2.11,259,2.11,312,1.315,391,1.139,445,0.676,495,1.139,575,2.675,577,1.139,605,1.139,639,1.315,640,2.675,641,2.125,642,2.675,651,1.315,652,3.072,653,1.315,677,0.816,847,2.675,856,1.315,857,3.217,858,3.217,859,3.217,860,3.217,861,1.581,862,1.581,863,2.556,864,2.556,865,1.581,866,1.581,867,1.581,868,1.581,869,6.334,870,6.334,871,6.334,872,6.334,873,1.581,874,1.581,875,1.581,876,1.581,877,1.581,878,1.581,879,1.581,880,1.581,881,1.581,882,1.581,883,1.581,884,1.581,885,1.581,886,1.581,887,1.581,888,1.581,889,1.581,890,1.581,891,1.581,892,1.581,893,1.581,894,5.043,895,1.581,896,4.754,897,1.581,898,4.754,899,1.581,900,1.581,901,1.581,902,1.581,903,1.581,904,1.581,905,1.581,906,1.581,907,1.581,908,1.581,909,3.217,910,3.217,911,1.581,912,1.581,913,1.581,914,1.581,915,1.581,916,1.581,917,1.581,918,1.581,919,1.581,920,1.581,921,1.581,922,1.581,923,1.581,924,1.581,925,1.581,926,1.581,927,1.581,928,1.581,929,1.581,930,1.581,931,1.581,932,1.581,933,1.581,934,1.581,935,1.581,936,1.581,937,1.581,938,1.581,939,1.581,940,1.581,941,1.581,942,1.581,943,1.581,944,1.581,945,1.581,946,1.581,947,1.581,948,1.581,949,1.581,950,1.581,951,1.581,952,1.581,953,1.581,954,1.581,955,1.581,956,1.581,957,1.581,958,1.581,959,1.581,960,1.581,961,1.581,962,1.581,963,1.581,964,1.581,965,1.581,966,1.581,967,1.581,968,1.581]]],"invertedIndex":[["",{"_index":15,"title":{},"body":{"interfaces/AWBOptions.html":{},"components/AppComponent.html":{},"modules/AppModule.html":{},"classes/AppPage.html":{},"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"injectables/ConsoleLoggerService.html":{},"components/DashboardComponent.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"injectables/ServerWebBluetooth.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{},"coverage.html":{},"dependencies.html":{},"miscellaneous/functions.html":{},"index.html":{},"license.html":{},"modules.html":{},"overview.html":{},"properties.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["0",{"_index":247,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/StepCounterComponent.html":{},"coverage.html":{}}}],["0.0.6",{"_index":667,"title":{},"body":{"dependencies.html":{}}}],["0.14.3",{"_index":676,"title":{},"body":{"dependencies.html":{}}}],["0/1",{"_index":633,"title":{},"body":{"coverage.html":{}}}],["0/10",{"_index":645,"title":{},"body":{"coverage.html":{}}}],["0/13",{"_index":650,"title":{},"body":{"coverage.html":{}}}],["0/16",{"_index":649,"title":{},"body":{"coverage.html":{}}}],["0/18",{"_index":648,"title":{},"body":{"coverage.html":{}}}],["0/2",{"_index":632,"title":{},"body":{"coverage.html":{}}}],["0/3",{"_index":631,"title":{},"body":{"coverage.html":{}}}],["0/4",{"_index":643,"title":{},"body":{"coverage.html":{}}}],["0/5",{"_index":647,"title":{},"body":{"coverage.html":{}}}],["0/8",{"_index":646,"title":{},"body":{"coverage.html":{}}}],["0/9",{"_index":644,"title":{},"body":{"coverage.html":{}}}],["000",{"_index":194,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/StepCounterComponent.html":{}}}],["000000",{"_index":548,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["000000000000",{"_index":872,"title":{},"body":{"miscellaneous/variables.html":{}}}],["0451",{"_index":869,"title":{},"body":{"miscellaneous/variables.html":{}}}],["1",{"_index":403,"title":{},"body":{"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{},"index.html":{}}}],["1.35.0",{"_index":669,"title":{},"body":{"dependencies.html":{}}}],["100",{"_index":582,"title":{},"body":{"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["10px",{"_index":411,"title":{},"body":{"components/DashboardComponent.html":{}}}],["112px",{"_index":579,"title":{},"body":{"components/StepCounterComponent.html":{}}}],["11em",{"_index":581,"title":{},"body":{"components/StepCounterComponent.html":{}}}],["120px",{"_index":181,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/StepCounterComponent.html":{}}}],["15px",{"_index":408,"title":{},"body":{"components/DashboardComponent.html":{}}}],["16px",{"_index":497,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["17",{"_index":550,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["17.1.0",{"_index":851,"title":{},"body":{"properties.html":{}}}],["17.1.2",{"_index":660,"title":{},"body":{"dependencies.html":{}}}],["17.1.3",{"_index":658,"title":{},"body":{"dependencies.html":{}}}],["2",{"_index":738,"title":{},"body":{"index.html":{},"overview.html":{}}}],["2.3.0",{"_index":674,"title":{},"body":{"dependencies.html":{}}}],["2.a",{"_index":694,"title":{},"body":{"index.html":{}}}],["2.b",{"_index":713,"title":{},"body":{"index.html":{}}}],["2017",{"_index":780,"title":{},"body":{"index.html":{},"license.html":{}}}],["20px",{"_index":406,"title":{},"body":{"components/DashboardComponent.html":{}}}],["21/31",{"_index":636,"title":{},"body":{"coverage.html":{}}}],["214px",{"_index":580,"title":{},"body":{"components/StepCounterComponent.html":{}}}],["222px",{"_index":179,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["24px",{"_index":184,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["255px",{"_index":192,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["29.0.5",{"_index":672,"title":{},"body":{"dependencies.html":{}}}],["3",{"_index":741,"title":{},"body":{"index.html":{}}}],["32px",{"_index":413,"title":{},"body":{"components/DashboardComponent.html":{}}}],["4",{"_index":746,"title":{},"body":{"index.html":{}}}],["4000",{"_index":870,"title":{},"body":{"miscellaneous/variables.html":{}}}],["40px",{"_index":395,"title":{},"body":{"components/DashboardComponent.html":{}}}],["4933",{"_index":527,"title":{},"body":{"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["5",{"_index":751,"title":{},"body":{"index.html":{},"overview.html":{}}}],["52ffa9740042",{"_index":529,"title":{},"body":{"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["5em",{"_index":175,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/StepCounterComponent.html":{}}}],["5px",{"_index":189,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{}}}],["6",{"_index":849,"title":{},"body":{"overview.html":{}}}],["67",{"_index":635,"title":{},"body":{"coverage.html":{}}}],["7.8.0",{"_index":668,"title":{},"body":{"dependencies.html":{}}}],["700px",{"_index":397,"title":{},"body":{"components/DashboardComponent.html":{}}}],["90px",{"_index":187,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["9b10",{"_index":528,"title":{},"body":{"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["9b35",{"_index":526,"title":{},"body":{"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["__register__",{"_index":940,"title":{},"body":{"miscellaneous/variables.html":{}}}],["_config",{"_index":311,"title":{},"body":{"injectables/BleService.html":{}}}],["above",{"_index":812,"title":{},"body":{"index.html":{},"license.html":{}}}],["absolute",{"_index":177,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/StepCounterComponent.html":{}}}],["abstract",{"_index":723,"title":{},"body":{"index.html":{}}}],["accelerometer",{"_index":911,"title":{},"body":{"miscellaneous/variables.html":{}}}],["acceptalldevices",{"_index":735,"title":{},"body":{"index.html":{}}}],["accessors",{"_index":212,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["action",{"_index":837,"title":{},"body":{"index.html":{},"license.html":{}}}],["actual_component",{"_index":83,"title":{},"body":{"components/AppComponent.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["addeventlistener",{"_index":419,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{}}}],["addeventlistener(type",{"_index":428,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["address",{"_index":943,"title":{},"body":{"miscellaneous/variables.html":{}}}],["advanced",{"_index":714,"title":{},"body":{"index.html":{}}}],["alias",{"_index":637,"title":{},"body":{"coverage.html":{}}}],["aliases",{"_index":853,"title":{},"body":{"miscellaneous/typealiases.html":{}}}],["align",{"_index":171,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/StepCounterComponent.html":{}}}],["and/or",{"_index":804,"title":{},"body":{"index.html":{},"license.html":{}}}],["angular",{"_index":384,"title":{},"body":{"components/DashboardComponent.html":{},"index.html":{}}}],["angular/animations",{"_index":657,"title":{},"body":{"dependencies.html":{}}}],["angular/cdk",{"_index":659,"title":{},"body":{"dependencies.html":{}}}],["angular/cdk/layout",{"_index":100,"title":{},"body":{"modules/AppModule.html":{}}}],["angular/common",{"_index":22,"title":{},"body":{"interfaces/AWBOptions.html":{},"modules/WebBluetoothModule.html":{},"dependencies.html":{}}}],["angular/compiler",{"_index":661,"title":{},"body":{"dependencies.html":{}}}],["angular/core",{"_index":20,"title":{},"body":{"interfaces/AWBOptions.html":{},"components/AppComponent.html":{},"modules/AppModule.html":{},"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"injectables/ConsoleLoggerService.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"injectables/ServerWebBluetooth.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{},"dependencies.html":{},"index.html":{}}}],["angular/forms",{"_index":662,"title":{},"body":{"dependencies.html":{}}}],["angular/material",{"_index":663,"title":{},"body":{"dependencies.html":{}}}],["angular/material/button",{"_index":102,"title":{},"body":{"modules/AppModule.html":{}}}],["angular/material/card",{"_index":107,"title":{},"body":{"modules/AppModule.html":{}}}],["angular/material/expansion",{"_index":109,"title":{},"body":{"modules/AppModule.html":{}}}],["angular/material/grid",{"_index":111,"title":{},"body":{"modules/AppModule.html":{}}}],["angular/material/icon",{"_index":114,"title":{},"body":{"modules/AppModule.html":{}}}],["angular/material/list",{"_index":116,"title":{},"body":{"modules/AppModule.html":{}}}],["angular/material/menu",{"_index":118,"title":{},"body":{"modules/AppModule.html":{}}}],["angular/material/progress",{"_index":120,"title":{},"body":{"modules/AppModule.html":{},"components/BatteryLevelComponent.html":{}}}],["angular/material/snack",{"_index":123,"title":{},"body":{"modules/AppModule.html":{},"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["angular/material/toolbar",{"_index":126,"title":{},"body":{"modules/AppModule.html":{}}}],["angular/platform",{"_index":104,"title":{},"body":{"modules/AppModule.html":{},"dependencies.html":{}}}],["angular/router",{"_index":665,"title":{},"body":{"dependencies.html":{}}}],["annotated",{"_index":700,"title":{},"body":{"index.html":{}}}],["any)[key].service",{"_index":866,"title":{},"body":{"miscellaneous/variables.html":{}}}],["api",{"_index":752,"title":{},"body":{"index.html":{}}}],["app",{"_index":768,"title":{},"body":{"index.html":{}}}],["app.component",{"_index":129,"title":{},"body":{"modules/AppModule.html":{}}}],["appcomponent",{"_index":53,"title":{"components/AppComponent.html":{}},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"coverage.html":{},"overview.html":{}}}],["appmodule",{"_index":85,"title":{"modules/AppModule.html":{}},"body":{"modules/AppModule.html":{},"index.html":{},"modules.html":{},"overview.html":{}}}],["apppage",{"_index":140,"title":{"classes/AppPage.html":{}},"body":{"classes/AppPage.html":{},"coverage.html":{}}}],["args",{"_index":365,"title":{},"body":{"injectables/ConsoleLoggerService.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{}}}],["arising",{"_index":841,"title":{},"body":{"index.html":{},"license.html":{}}}],["ask",{"_index":747,"title":{},"body":{"index.html":{}}}],["associated",{"_index":791,"title":{},"body":{"index.html":{},"license.html":{}}}],["authors",{"_index":830,"title":{},"body":{"index.html":{},"license.html":{}}}],["auto",{"_index":399,"title":{},"body":{"components/DashboardComponent.html":{}}}],["available",{"_index":847,"title":{},"body":{"modules.html":{},"miscellaneous/variables.html":{}}}],["awboptions",{"_index":1,"title":{"interfaces/AWBOptions.html":{}},"body":{"interfaces/AWBOptions.html":{},"modules/WebBluetoothModule.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["b",{"_index":256,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"miscellaneous/variables.html":{}}}],["b000",{"_index":871,"title":{},"body":{"miscellaneous/variables.html":{}}}],["bar",{"_index":124,"title":{},"body":{"modules/AppModule.html":{},"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["barometer",{"_index":904,"title":{},"body":{"miscellaneous/variables.html":{}}}],["battery",{"_index":72,"title":{},"body":{"components/AppComponent.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"index.html":{},"miscellaneous/variables.html":{}}}],["battery_charging_full",{"_index":195,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["battery_level",{"_index":272,"title":{},"body":{"components/BatteryLevelComponent.html":{},"index.html":{}}}],["battery_service",{"_index":270,"title":{},"body":{"components/BatteryLevelComponent.html":{},"index.html":{}}}],["batterylevelcomponent",{"_index":71,"title":{"components/BatteryLevelComponent.html":{}},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"coverage.html":{},"overview.html":{}}}],["batterylevelservice",{"_index":702,"title":{},"body":{"index.html":{}}}],["batterylevelservice.gatt_characteristic_battery_level",{"_index":745,"title":{},"body":{"index.html":{}}}],["batterylevelservice.gatt_primary_service",{"_index":737,"title":{},"body":{"index.html":{}}}],["ble",{"_index":60,"title":{},"body":{"components/AppComponent.html":{},"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"index.html":{}}}],["ble.service",{"_index":253,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["blecore",{"_index":255,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["bleservice",{"_index":216,"title":{"injectables/BleService.html":{}},"body":{"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["bleservice(b",{"_index":259,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"miscellaneous/variables.html":{}}}],["block",{"_index":182,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["blog",{"_index":766,"title":{},"body":{"index.html":{}}}],["bluetooth",{"_index":128,"title":{},"body":{"modules/AppModule.html":{},"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"dependencies.html":{},"index.html":{}}}],["bluetooth.service",{"_index":24,"title":{},"body":{"interfaces/AWBOptions.html":{},"modules/WebBluetoothModule.html":{}}}],["bluetooth/src/lib/bluetooth.module.ts",{"_index":8,"title":{},"body":{"interfaces/AWBOptions.html":{},"modules/WebBluetoothModule.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["bluetooth/src/lib/bluetooth.module.ts:32",{"_index":626,"title":{},"body":{"modules/WebBluetoothModule.html":{}}}],["bluetooth/src/lib/bluetooth.service.ts",{"_index":634,"title":{},"body":{"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["bluetooth/src/lib/lang/uuids/ti",{"_index":639,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["bluetooth/src/lib/logger.service.ts",{"_index":361,"title":{},"body":{"injectables/ConsoleLoggerService.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"coverage.html":{}}}],["bluetooth/src/lib/logger.service.ts:13",{"_index":367,"title":{},"body":{"injectables/ConsoleLoggerService.html":{}}}],["bluetooth/src/lib/logger.service.ts:16",{"_index":364,"title":{},"body":{"injectables/ConsoleLoggerService.html":{}}}],["bluetooth/src/lib/logger.service.ts:19",{"_index":369,"title":{},"body":{"injectables/ConsoleLoggerService.html":{}}}],["bluetooth/src/lib/logger.service.ts:28",{"_index":569,"title":{},"body":{"injectables/NoLoggerService.html":{}}}],["bluetooth/src/lib/logger.service.ts:29",{"_index":568,"title":{},"body":{"injectables/NoLoggerService.html":{}}}],["bluetooth/src/lib/logger.service.ts:30",{"_index":570,"title":{},"body":{"injectables/NoLoggerService.html":{}}}],["bluetooth/src/lib/logger.service.ts:4",{"_index":566,"title":{},"body":{"interfaces/Logger.html":{}}}],["bluetooth/src/lib/logger.service.ts:5",{"_index":565,"title":{},"body":{"interfaces/Logger.html":{}}}],["bluetooth/src/lib/logger.service.ts:6",{"_index":567,"title":{},"body":{"interfaces/Logger.html":{}}}],["bluetooth/src/lib/platform/browser.ts",{"_index":345,"title":{},"body":{"injectables/BrowserWebBluetooth.html":{},"coverage.html":{}}}],["bluetooth/src/lib/platform/browser.ts:14",{"_index":350,"title":{},"body":{"injectables/BrowserWebBluetooth.html":{}}}],["bluetooth/src/lib/platform/browser.ts:5",{"_index":347,"title":{},"body":{"injectables/BrowserWebBluetooth.html":{}}}],["bluetooth/src/lib/platform/server.ts",{"_index":572,"title":{},"body":{"injectables/ServerWebBluetooth.html":{},"coverage.html":{}}}],["bluetooth/src/lib/platform/server.ts:5",{"_index":573,"title":{},"body":{"injectables/ServerWebBluetooth.html":{}}}],["bluetooth/src/lib/test.utils.ts",{"_index":415,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"coverage.html":{}}}],["bluetooth/src/lib/test.utils.ts:103",{"_index":482,"title":{},"body":{"classes/FakeBluetoothRemoteGATTCharacteristic.html":{}}}],["bluetooth/src/lib/test.utils.ts:12",{"_index":422,"title":{},"body":{"classes/FakeBluetoothDevice.html":{}}}],["bluetooth/src/lib/test.utils.ts:14",{"_index":425,"title":{},"body":{"classes/FakeBluetoothDevice.html":{}}}],["bluetooth/src/lib/test.utils.ts:17",{"_index":431,"title":{},"body":{"classes/FakeBluetoothDevice.html":{}}}],["bluetooth/src/lib/test.utils.ts:24",{"_index":433,"title":{},"body":{"classes/FakeBluetoothDevice.html":{}}}],["bluetooth/src/lib/test.utils.ts:29",{"_index":432,"title":{},"body":{"classes/FakeBluetoothDevice.html":{}}}],["bluetooth/src/lib/test.utils.ts:39",{"_index":486,"title":{},"body":{"classes/FakeBluetoothRemoteGATTServer.html":{}}}],["bluetooth/src/lib/test.utils.ts:41",{"_index":487,"title":{},"body":{"classes/FakeBluetoothRemoteGATTServer.html":{}}}],["bluetooth/src/lib/test.utils.ts:45",{"_index":488,"title":{},"body":{"classes/FakeBluetoothRemoteGATTServer.html":{}}}],["bluetooth/src/lib/test.utils.ts:50",{"_index":490,"title":{},"body":{"classes/FakeBluetoothRemoteGATTServer.html":{}}}],["bluetooth/src/lib/test.utils.ts:54",{"_index":489,"title":{},"body":{"classes/FakeBluetoothRemoteGATTServer.html":{}}}],["bluetooth/src/lib/test.utils.ts:60",{"_index":492,"title":{},"body":{"classes/FakeBluetoothRemoteGATTService.html":{}}}],["bluetooth/src/lib/test.utils.ts:61",{"_index":493,"title":{},"body":{"classes/FakeBluetoothRemoteGATTService.html":{}}}],["bluetooth/src/lib/test.utils.ts:65",{"_index":494,"title":{},"body":{"classes/FakeBluetoothRemoteGATTService.html":{}}}],["bluetooth/src/lib/test.utils.ts:7",{"_index":424,"title":{},"body":{"classes/FakeBluetoothDevice.html":{}}}],["bluetooth/src/lib/test.utils.ts:71",{"_index":479,"title":{},"body":{"classes/FakeBluetoothRemoteGATTCharacteristic.html":{}}}],["bluetooth/src/lib/test.utils.ts:72",{"_index":478,"title":{},"body":{"classes/FakeBluetoothRemoteGATTCharacteristic.html":{}}}],["bluetooth/src/lib/test.utils.ts:73",{"_index":476,"title":{},"body":{"classes/FakeBluetoothRemoteGATTCharacteristic.html":{}}}],["bluetooth/src/lib/test.utils.ts:74",{"_index":477,"title":{},"body":{"classes/FakeBluetoothRemoteGATTCharacteristic.html":{}}}],["bluetooth/src/lib/test.utils.ts:78",{"_index":474,"title":{},"body":{"classes/FakeBluetoothRemoteGATTCharacteristic.html":{}}}],["bluetooth/src/lib/test.utils.ts:8",{"_index":427,"title":{},"body":{"classes/FakeBluetoothDevice.html":{}}}],["bluetooth/src/lib/test.utils.ts:86",{"_index":483,"title":{},"body":{"classes/FakeBluetoothRemoteGATTCharacteristic.html":{}}}],["bluetooth/src/lib/test.utils.ts:90",{"_index":480,"title":{},"body":{"classes/FakeBluetoothRemoteGATTCharacteristic.html":{}}}],["bluetooth/src/lib/test.utils.ts:97",{"_index":481,"title":{},"body":{"classes/FakeBluetoothRemoteGATTCharacteristic.html":{}}}],["bluetooth_disabled",{"_index":389,"title":{},"body":{"components/DashboardComponent.html":{}}}],["bluetooth_searching",{"_index":387,"title":{},"body":{"components/DashboardComponent.html":{}}}],["bluetoothcharacteristicproperties",{"_index":462,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["bluetoothcharacteristicuuid",{"_index":458,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["bluetoothcore",{"_index":23,"title":{},"body":{"interfaces/AWBOptions.html":{},"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{},"coverage.html":{},"index.html":{},"miscellaneous/variables.html":{}}}],["bluetoothcore(b",{"_index":258,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"miscellaneous/variables.html":{}}}],["bluetoothremotegattcharacteristic",{"_index":749,"title":{},"body":{"index.html":{}}}],["bluetoothremotegattserver",{"_index":423,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"index.html":{}}}],["bluetoothremotegattservice",{"_index":743,"title":{},"body":{"index.html":{}}}],["bluetoothserviceuuid",{"_index":451,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["boolean",{"_index":13,"title":{},"body":{"interfaces/AWBOptions.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"modules/WebBluetoothModule.html":{}}}],["bootstrap",{"_index":89,"title":{},"body":{"modules/AppModule.html":{},"overview.html":{}}}],["bordervisible",{"_index":546,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["bottom",{"_index":191,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{}}}],["browse",{"_index":845,"title":{},"body":{"modules.html":{}}}],["browser",{"_index":137,"title":{},"body":{"modules/AppModule.html":{},"classes/AppPage.html":{},"injectables/BrowserWebBluetooth.html":{},"dependencies.html":{},"index.html":{},"modules.html":{}}}],["browser's",{"_index":693,"title":{},"body":{"index.html":{}}}],["browser.get(browser.baseurl",{"_index":152,"title":{},"body":{"classes/AppPage.html":{}}}],["browser/animations",{"_index":105,"title":{},"body":{"modules/AppModule.html":{}}}],["browseranimationsmodule",{"_index":103,"title":{},"body":{"modules/AppModule.html":{}}}],["browsermodule",{"_index":136,"title":{},"body":{"modules/AppModule.html":{}}}],["browserwebbluetooth",{"_index":25,"title":{"injectables/BrowserWebBluetooth.html":{}},"body":{"interfaces/AWBOptions.html":{},"components/BatteryLevelComponent.html":{},"injectables/BrowserWebBluetooth.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{},"coverage.html":{},"miscellaneous/functions.html":{},"miscellaneous/variables.html":{}}}],["button",{"_index":410,"title":{},"body":{"components/DashboardComponent.html":{}}}],["c",{"_index":779,"title":{},"body":{"index.html":{},"license.html":{}}}],["call",{"_index":703,"title":{},"body":{"index.html":{}}}],["can't",{"_index":722,"title":{},"body":{"index.html":{}}}],["canvas",{"_index":496,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["card",{"_index":407,"title":{},"body":{"components/DashboardComponent.html":{}}}],["cc2650",{"_index":910,"title":{},"body":{"miscellaneous/variables.html":{}}}],["center",{"_index":167,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/StepCounterComponent.html":{}}}],["changevalue",{"_index":473,"title":{},"body":{"classes/FakeBluetoothRemoteGATTCharacteristic.html":{}}}],["changevalue(value",{"_index":471,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["characteristic",{"_index":271,"title":{},"body":{"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"index.html":{}}}],["characteristics",{"_index":455,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"index.html":{}}}],["characteristicvaluechanged",{"_index":465,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["charge",{"_index":786,"title":{},"body":{"index.html":{},"license.html":{}}}],["chart",{"_index":498,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["chartref",{"_index":499,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["checkout",{"_index":764,"title":{},"body":{"index.html":{}}}],["chegham",{"_index":782,"title":{},"body":{"index.html":{},"license.html":{}}}],["claim",{"_index":833,"title":{},"body":{"index.html":{},"license.html":{}}}],["class",{"_index":40,"title":{"classes/AppPage.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}},"body":{"interfaces/AWBOptions.html":{},"components/AppComponent.html":{},"modules/AppModule.html":{},"classes/AppPage.html":{},"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"injectables/ConsoleLoggerService.html":{},"components/DashboardComponent.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"injectables/ServerWebBluetooth.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{},"coverage.html":{},"index.html":{}}}],["classes",{"_index":141,"title":{},"body":{"classes/AppPage.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"overview.html":{}}}],["clear",{"_index":420,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"index.html":{}}}],["close",{"_index":303,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["cluster_appmodule",{"_index":91,"title":{},"body":{"modules/AppModule.html":{},"overview.html":{}}}],["cluster_appmodule_bootstrap",{"_index":93,"title":{},"body":{"modules/AppModule.html":{},"overview.html":{}}}],["cluster_appmodule_declarations",{"_index":94,"title":{},"body":{"modules/AppModule.html":{},"overview.html":{}}}],["cluster_appmodule_imports",{"_index":92,"title":{},"body":{"modules/AppModule.html":{},"overview.html":{}}}],["color",{"_index":196,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["command",{"_index":761,"title":{},"body":{"index.html":{}}}],["commonmodule",{"_index":21,"title":{},"body":{"interfaces/AWBOptions.html":{},"modules/WebBluetoothModule.html":{}}}],["component",{"_index":52,"title":{"components/AppComponent.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}},"body":{"components/AppComponent.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"coverage.html":{}}}],["component_template",{"_index":68,"title":{},"body":{"components/AppComponent.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["components",{"_index":54,"title":{},"body":{"components/AppComponent.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"overview.html":{}}}],["conditions",{"_index":811,"title":{},"body":{"index.html":{},"license.html":{}}}],["config",{"_index":312,"title":{},"body":{"injectables/BleService.html":{},"miscellaneous/variables.html":{}}}],["config(options",{"_index":317,"title":{},"body":{"injectables/BleService.html":{}}}],["configuration",{"_index":896,"title":{},"body":{"miscellaneous/variables.html":{}}}],["connect",{"_index":388,"title":{},"body":{"components/DashboardComponent.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["connected",{"_index":286,"title":{},"body":{"components/BatteryLevelComponent.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"index.html":{}}}],["connection",{"_index":842,"title":{},"body":{"index.html":{},"license.html":{}}}],["console",{"_index":198,"title":{},"body":{"components/BatteryLevelComponent.html":{},"index.html":{}}}],["console.error.apply(console",{"_index":375,"title":{},"body":{"injectables/ConsoleLoggerService.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{}}}],["console.log('getting",{"_index":712,"title":{},"body":{"index.html":{}}}],["console.log('reading",{"_index":560,"title":{},"body":{"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["console.log(value",{"_index":338,"title":{},"body":{"injectables/BleService.html":{}}}],["console.log.apply(console",{"_index":374,"title":{},"body":{"injectables/ConsoleLoggerService.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{}}}],["console.warn.apply(console",{"_index":376,"title":{},"body":{"injectables/ConsoleLoggerService.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{}}}],["consoleloggerservice",{"_index":27,"title":{"injectables/ConsoleLoggerService.html":{}},"body":{"interfaces/AWBOptions.html":{},"components/BatteryLevelComponent.html":{},"injectables/ConsoleLoggerService.html":{},"components/HumidityComponent.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["consoleloggerserviceconfig",{"_index":48,"title":{},"body":{"interfaces/AWBOptions.html":{},"modules/WebBluetoothModule.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["consoleloggerserviceconfig(options",{"_index":34,"title":{},"body":{"interfaces/AWBOptions.html":{},"modules/WebBluetoothModule.html":{},"miscellaneous/functions.html":{}}}],["const",{"_index":254,"title":{},"body":{"components/BatteryLevelComponent.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["constructor",{"_index":214,"title":{},"body":{"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"components/DashboardComponent.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["constructor(ble",{"_index":315,"title":{},"body":{"injectables/BleService.html":{}}}],["constructor(device",{"_index":485,"title":{},"body":{"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["constructor(id",{"_index":421,"title":{},"body":{"classes/FakeBluetoothDevice.html":{}}}],["constructor(properties",{"_index":466,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["constructor(public",{"_index":333,"title":{},"body":{"injectables/BleService.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/TemperatureComponent.html":{},"index.html":{}}}],["constructor(service",{"_index":215,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["container",{"_index":405,"title":{},"body":{"components/DashboardComponent.html":{}}}],["content",{"_index":154,"title":{},"body":{"classes/AppPage.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{}}}],["contract",{"_index":838,"title":{},"body":{"index.html":{},"license.html":{}}}],["contributions",{"_index":770,"title":{},"body":{"index.html":{}}}],["control",{"_index":947,"title":{},"body":{"miscellaneous/variables.html":{}}}],["copies",{"_index":806,"title":{},"body":{"index.html":{},"license.html":{}}}],["copy",{"_index":789,"title":{},"body":{"index.html":{},"license.html":{}}}],["copyright",{"_index":778,"title":{},"body":{"index.html":{},"license.html":{}}}],["correctly",{"_index":689,"title":{},"body":{"index.html":{}}}],["count",{"_index":598,"title":{},"body":{"components/StepCounterComponent.html":{}}}],["counter",{"_index":604,"title":{},"body":{"components/StepCounterComponent.html":{}}}],["coverage",{"_index":627,"title":{"coverage.html":{}},"body":{"coverage.html":{}}}],["current_used_parameters",{"_index":949,"title":{},"body":{"miscellaneous/variables.html":{}}}],["d",{"_index":298,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["damages",{"_index":834,"title":{},"body":{"index.html":{},"license.html":{}}}],["dashboard",{"_index":378,"title":{},"body":{"components/DashboardComponent.html":{}}}],["dashboard'},{'name",{"_index":75,"title":{},"body":{"components/AppComponent.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["dashboard.component.css",{"_index":380,"title":{},"body":{"components/DashboardComponent.html":{}}}],["dashboard.component.html",{"_index":382,"title":{},"body":{"components/DashboardComponent.html":{}}}],["dashboard/dashboard.component",{"_index":132,"title":{},"body":{"modules/AppModule.html":{}}}],["dashboardcomponent",{"_index":74,"title":{"components/DashboardComponent.html":{}},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"coverage.html":{},"overview.html":{}}}],["data",{"_index":894,"title":{},"body":{"miscellaneous/variables.html":{}}}],["dataview",{"_index":268,"title":{},"body":{"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"index.html":{}}}],["deal",{"_index":793,"title":{},"body":{"index.html":{},"license.html":{}}}],["dealings",{"_index":843,"title":{},"body":{"index.html":{},"license.html":{}}}],["decimal",{"_index":623,"title":{},"body":{"components/TemperatureComponent.html":{}}}],["declarations",{"_index":88,"title":{},"body":{"modules/AppModule.html":{},"overview.html":{}}}],["decoder",{"_index":267,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["decoder(value",{"_index":328,"title":{},"body":{"injectables/BleService.html":{}}}],["decorators",{"_index":513,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["default",{"_index":234,"title":{},"body":{"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{},"miscellaneous/variables.html":{}}}],["defined",{"_index":146,"title":{},"body":{"classes/AppPage.html":{},"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"injectables/ConsoleLoggerService.html":{},"components/DashboardComponent.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"injectables/ServerWebBluetooth.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{}}}],["demo",{"_index":385,"title":{},"body":{"components/DashboardComponent.html":{}}}],["dependencies",{"_index":87,"title":{"dependencies.html":{}},"body":{"modules/AppModule.html":{},"dependencies.html":{},"overview.html":{}}}],["deps",{"_index":49,"title":{},"body":{"interfaces/AWBOptions.html":{},"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{},"miscellaneous/variables.html":{}}}],["details",{"_index":359,"title":{},"body":{"injectables/BrowserWebBluetooth.html":{}}}],["determinate",{"_index":242,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["dev.to",{"_index":767,"title":{},"body":{"index.html":{}}}],["developer",{"_index":725,"title":{},"body":{"index.html":{}}}],["device",{"_index":213,"title":{},"body":{"components/BatteryLevelComponent.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"index.html":{}}}],["device.gatt",{"_index":447,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["device.name",{"_index":390,"title":{},"body":{"components/DashboardComponent.html":{}}}],["device_id",{"_index":945,"title":{},"body":{"miscellaneous/variables.html":{}}}],["device_information",{"_index":867,"title":{},"body":{"miscellaneous/variables.html":{}}}],["devicesubscription",{"_index":199,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["direction",{"_index":168,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["directions_walk",{"_index":584,"title":{},"body":{"components/StepCounterComponent.html":{}}}],["directive",{"_index":66,"title":{},"body":{"components/AppComponent.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["directives",{"_index":82,"title":{},"body":{"components/AppComponent.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["disconnect",{"_index":205,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"index.html":{}}}],["disconnect_request",{"_index":953,"title":{},"body":{"miscellaneous/variables.html":{}}}],["disconnectdevice",{"_index":313,"title":{},"body":{"injectables/BleService.html":{},"index.html":{}}}],["disconnected",{"_index":287,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["discover",{"_index":731,"title":{},"body":{"index.html":{}}}],["discovery",{"_index":733,"title":{},"body":{"index.html":{}}}],["display",{"_index":164,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["distribute",{"_index":802,"title":{},"body":{"index.html":{},"license.html":{}}}],["documentation",{"_index":628,"title":{},"body":{"coverage.html":{},"index.html":{},"license.html":{}}}],["dom",{"_index":55,"title":{},"body":{"components/AppComponent.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["dynamic",{"_index":664,"title":{},"body":{"dependencies.html":{}}}],["e2e/src/app.po.ts",{"_index":142,"title":{},"body":{"classes/AppPage.html":{},"coverage.html":{}}}],["e2e/src/app.po.ts:4",{"_index":150,"title":{},"body":{"classes/AppPage.html":{}}}],["e2e/src/app.po.ts:8",{"_index":147,"title":{},"body":{"classes/AppPage.html":{}}}],["each",{"_index":264,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["easiest",{"_index":697,"title":{},"body":{"index.html":{}}}],["ef680200",{"_index":525,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["ef680201",{"_index":621,"title":{},"body":{"components/TemperatureComponent.html":{}}}],["ef680203",{"_index":530,"title":{},"body":{"components/HumidityComponent.html":{}}}],["ef680400",{"_index":602,"title":{},"body":{"components/StepCounterComponent.html":{}}}],["ef680405",{"_index":603,"title":{},"body":{"components/StepCounterComponent.html":{}}}],["element",{"_index":65,"title":{},"body":{"components/AppComponent.html":{},"classes/AppPage.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["element(by.css('app",{"_index":153,"title":{},"body":{"classes/AppPage.html":{}}}],["elementref",{"_index":512,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["elsewhere",{"_index":724,"title":{},"body":{"index.html":{}}}],["emites",{"_index":728,"title":{},"body":{"index.html":{}}}],["emitted",{"_index":706,"title":{},"body":{"index.html":{}}}],["enable",{"_index":691,"title":{},"body":{"index.html":{}}}],["enabletracing",{"_index":12,"title":{},"body":{"interfaces/AWBOptions.html":{},"modules/AppModule.html":{},"modules/WebBluetoothModule.html":{},"index.html":{}}}],["environment",{"_index":652,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["err",{"_index":294,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["error",{"_index":226,"title":{},"body":{"components/BatteryLevelComponent.html":{},"injectables/ConsoleLoggerService.html":{},"components/HumidityComponent.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["error('your",{"_index":353,"title":{},"body":{"injectables/BrowserWebBluetooth.html":{}}}],["error(...args",{"_index":363,"title":{},"body":{"injectables/ConsoleLoggerService.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{}}}],["error(args",{"_index":372,"title":{},"body":{"injectables/ConsoleLoggerService.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{}}}],["event",{"_index":440,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"index.html":{},"license.html":{}}}],["eventlistener",{"_index":430,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["example",{"_index":684,"title":{},"body":{"index.html":{}}}],["export",{"_index":30,"title":{},"body":{"interfaces/AWBOptions.html":{},"components/AppComponent.html":{},"modules/AppModule.html":{},"classes/AppPage.html":{},"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"injectables/ConsoleLoggerService.html":{},"components/DashboardComponent.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"injectables/ServerWebBluetooth.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{},"index.html":{}}}],["exports",{"_index":90,"title":{},"body":{"modules/AppModule.html":{},"overview.html":{}}}],["express",{"_index":821,"title":{},"body":{"index.html":{},"license.html":{}}}],["f000180a",{"_index":868,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000180f",{"_index":891,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f0002a19",{"_index":892,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f0002a23",{"_index":874,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f0002a24",{"_index":876,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f0002a25",{"_index":878,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f0002a26",{"_index":880,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f0002a27",{"_index":882,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f0002a28",{"_index":884,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f0002a29",{"_index":886,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f0002a2a",{"_index":888,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f0002a50",{"_index":890,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa00",{"_index":893,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa01",{"_index":895,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa02",{"_index":897,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa03",{"_index":899,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa10",{"_index":912,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa11",{"_index":913,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa12",{"_index":914,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa13",{"_index":915,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa20",{"_index":900,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa21",{"_index":901,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa22",{"_index":902,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa23",{"_index":903,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa30",{"_index":917,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa31",{"_index":918,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa32",{"_index":919,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa33",{"_index":920,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa40",{"_index":905,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa41",{"_index":906,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa42",{"_index":907,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa44",{"_index":908,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa50",{"_index":922,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa51",{"_index":923,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa52",{"_index":924,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa53",{"_index":925,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa64",{"_index":966,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa65",{"_index":967,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa66",{"_index":968,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa70",{"_index":932,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa71",{"_index":933,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa72",{"_index":934,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa73",{"_index":935,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa80",{"_index":927,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa81",{"_index":928,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa82",{"_index":929,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa83",{"_index":930,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000ac00",{"_index":941,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000ac01",{"_index":942,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000ac02",{"_index":944,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000ac03",{"_index":946,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000ccc0",{"_index":948,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000ccc1",{"_index":950,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000ccc2",{"_index":952,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000ccc3",{"_index":954,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000ffc0",{"_index":956,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000ffc1",{"_index":958,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000ffc2",{"_index":960,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000ffc3",{"_index":962,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000ffc4",{"_index":964,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000ffe0",{"_index":937,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000ffe1",{"_index":939,"title":{},"body":{"miscellaneous/variables.html":{}}}],["fakebluetoothdevice",{"_index":414,"title":{"classes/FakeBluetoothDevice.html":{}},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"coverage.html":{}}}],["fakebluetoothremotegattcharacteristic",{"_index":460,"title":{"classes/FakeBluetoothRemoteGATTCharacteristic.html":{}},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"coverage.html":{}}}],["fakebluetoothremotegattserver",{"_index":444,"title":{"classes/FakeBluetoothRemoteGATTServer.html":{}},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"coverage.html":{}}}],["fakebluetoothremotegattservice",{"_index":454,"title":{"classes/FakeBluetoothRemoteGATTService.html":{}},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"coverage.html":{}}}],["false",{"_index":445,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{},"index.html":{},"miscellaneous/variables.html":{}}}],["few",{"_index":772,"title":{},"body":{"index.html":{}}}],["ff0000",{"_index":554,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["ffffff",{"_index":543,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["file",{"_index":5,"title":{},"body":{"interfaces/AWBOptions.html":{},"components/AppComponent.html":{},"modules/AppModule.html":{},"classes/AppPage.html":{},"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"injectables/ConsoleLoggerService.html":{},"components/DashboardComponent.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"injectables/ServerWebBluetooth.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{},"coverage.html":{}}}],["files",{"_index":792,"title":{},"body":{"index.html":{},"license.html":{}}}],["fillstyle",{"_index":542,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["firmware_rev",{"_index":879,"title":{},"body":{"miscellaneous/variables.html":{}}}],["fitness",{"_index":826,"title":{},"body":{"index.html":{},"license.html":{}}}],["flex",{"_index":165,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["following",{"_index":760,"title":{},"body":{"index.html":{},"license.html":{}}}],["font",{"_index":173,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/StepCounterComponent.html":{}}}],["fontsize",{"_index":549,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["forroot",{"_index":625,"title":{},"body":{"modules/WebBluetoothModule.html":{}}}],["forroot(options",{"_index":43,"title":{},"body":{"interfaces/AWBOptions.html":{},"modules/WebBluetoothModule.html":{}}}],["found",{"_index":753,"title":{},"body":{"index.html":{}}}],["free",{"_index":726,"title":{},"body":{"index.html":{},"license.html":{}}}],["full",{"_index":765,"title":{},"body":{"index.html":{}}}],["function",{"_index":31,"title":{},"body":{"interfaces/AWBOptions.html":{},"modules/WebBluetoothModule.html":{},"coverage.html":{}}}],["functions",{"_index":678,"title":{"miscellaneous/functions.html":{}},"body":{"miscellaneous/functions.html":{}}}],["furnished",{"_index":809,"title":{},"body":{"index.html":{},"license.html":{}}}],["gatt",{"_index":416,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"index.html":{}}}],["gatt_characteristic_battery_level",{"_index":716,"title":{},"body":{"index.html":{}}}],["gatt_primary_service",{"_index":717,"title":{},"body":{"index.html":{}}}],["gattserverdisconnected",{"_index":426,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["getcharacteristic",{"_index":491,"title":{},"body":{"classes/FakeBluetoothRemoteGATTService.html":{}}}],["getcharacteristic(characteristic",{"_index":457,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["getdevice",{"_index":250,"title":{},"body":{"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"index.html":{}}}],["getdevicestatus",{"_index":206,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["getprimaryservice",{"_index":484,"title":{},"body":{"classes/FakeBluetoothRemoteGATTServer.html":{}}}],["getprimaryservice(service",{"_index":450,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["getting",{"_index":680,"title":{"index.html":{},"license.html":{}},"body":{"index.html":{}}}],["gettitletext",{"_index":144,"title":{},"body":{"classes/AppPage.html":{}}}],["given",{"_index":707,"title":{},"body":{"index.html":{}}}],["granted",{"_index":785,"title":{},"body":{"index.html":{},"license.html":{}}}],["graph",{"_index":846,"title":{},"body":{"modules.html":{}}}],["grid",{"_index":404,"title":{},"body":{"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["gyroscope",{"_index":921,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hardware_rev",{"_index":881,"title":{},"body":{"miscellaneous/variables.html":{}}}],["haserror",{"_index":207,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["haserror(error",{"_index":223,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["height",{"_index":583,"title":{},"body":{"components/StepCounterComponent.html":{}}}],["help",{"_index":775,"title":{},"body":{"index.html":{}}}],["here",{"_index":699,"title":{},"body":{"index.html":{}}}],["hereby",{"_index":784,"title":{},"body":{"index.html":{},"license.html":{}}}],["holders",{"_index":831,"title":{},"body":{"index.html":{},"license.html":{}}}],["host",{"_index":163,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["html",{"_index":64,"title":{},"body":{"components/AppComponent.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["http://caniuse.com/#search=bluetooth",{"_index":357,"title":{},"body":{"injectables/BrowserWebBluetooth.html":{}}}],["https://manekinekko.github.io/angular",{"_index":754,"title":{},"body":{"index.html":{}}}],["humidity",{"_index":391,"title":{},"body":{"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"miscellaneous/variables.html":{}}}],["humidity'},{'name",{"_index":77,"title":{},"body":{"components/AppComponent.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["humiditycomponent",{"_index":76,"title":{"components/HumidityComponent.html":{}},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"coverage.html":{},"overview.html":{}}}],["icon",{"_index":190,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/StepCounterComponent.html":{}}}],["id",{"_index":417,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["identifier",{"_index":629,"title":{},"body":{"coverage.html":{}}}],["ieee11073",{"_index":887,"title":{},"body":{"miscellaneous/variables.html":{}}}],["image_block_request",{"_index":959,"title":{},"body":{"miscellaneous/variables.html":{}}}],["image_count",{"_index":961,"title":{},"body":{"miscellaneous/variables.html":{}}}],["image_notify",{"_index":957,"title":{},"body":{"miscellaneous/variables.html":{}}}],["image_status",{"_index":963,"title":{},"body":{"miscellaneous/variables.html":{}}}],["img",{"_index":412,"title":{},"body":{"components/DashboardComponent.html":{}}}],["implements",{"_index":159,"title":{},"body":{"components/BatteryLevelComponent.html":{},"injectables/ConsoleLoggerService.html":{},"components/HumidityComponent.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["implied",{"_index":822,"title":{},"body":{"index.html":{},"license.html":{}}}],["import",{"_index":16,"title":{},"body":{"interfaces/AWBOptions.html":{},"components/AppComponent.html":{},"modules/AppModule.html":{},"classes/AppPage.html":{},"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"injectables/ConsoleLoggerService.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"injectables/ServerWebBluetooth.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{},"index.html":{}}}],["imports",{"_index":39,"title":{},"body":{"interfaces/AWBOptions.html":{},"modules/AppModule.html":{},"modules/WebBluetoothModule.html":{},"index.html":{}}}],["included",{"_index":815,"title":{},"body":{"index.html":{},"license.html":{}}}],["including",{"_index":796,"title":{},"body":{"index.html":{},"license.html":{}}}],["indeterminate",{"_index":284,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["index",{"_index":9,"title":{"index.html":{}},"body":{"interfaces/AWBOptions.html":{},"classes/AppPage.html":{},"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"injectables/ConsoleLoggerService.html":{},"components/DashboardComponent.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"injectables/ServerWebBluetooth.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["info",{"_index":3,"title":{},"body":{"interfaces/AWBOptions.html":{},"components/AppComponent.html":{},"modules/AppModule.html":{},"classes/AppPage.html":{},"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"injectables/ConsoleLoggerService.html":{},"components/DashboardComponent.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"injectables/ServerWebBluetooth.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{}}}],["initchart",{"_index":501,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["initialvalue",{"_index":464,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["injectable",{"_index":307,"title":{"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"injectables/ConsoleLoggerService.html":{},"injectables/NoLoggerService.html":{},"injectables/ServerWebBluetooth.html":{}},"body":{"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"injectables/ConsoleLoggerService.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"injectables/ServerWebBluetooth.html":{},"coverage.html":{},"index.html":{}}}],["injectables",{"_index":308,"title":{},"body":{"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"injectables/ConsoleLoggerService.html":{},"injectables/NoLoggerService.html":{},"injectables/ServerWebBluetooth.html":{},"overview.html":{}}}],["injectiontoken",{"_index":19,"title":{},"body":{"interfaces/AWBOptions.html":{},"modules/WebBluetoothModule.html":{}}}],["injectiontoken('awboptions",{"_index":38,"title":{},"body":{"interfaces/AWBOptions.html":{},"modules/WebBluetoothModule.html":{}}}],["install",{"_index":683,"title":{},"body":{"index.html":{}}}],["installed",{"_index":688,"title":{},"body":{"index.html":{}}}],["instance",{"_index":263,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"injectables/ServerWebBluetooth.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["integer",{"_index":622,"title":{},"body":{"components/TemperatureComponent.html":{}}}],["interface",{"_index":0,"title":{"interfaces/AWBOptions.html":{},"interfaces/Logger.html":{}},"body":{"interfaces/AWBOptions.html":{},"injectables/ConsoleLoggerService.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"modules/WebBluetoothModule.html":{},"coverage.html":{}}}],["interfaces",{"_index":2,"title":{},"body":{"interfaces/AWBOptions.html":{},"interfaces/Logger.html":{},"overview.html":{}}}],["interpolation",{"_index":540,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["io",{"_index":965,"title":{},"body":{"miscellaneous/variables.html":{}}}],["issues",{"_index":774,"title":{},"body":{"index.html":{}}}],["jest",{"_index":671,"title":{},"body":{"dependencies.html":{}}}],["justify",{"_index":166,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["key",{"_index":276,"title":{},"body":{"components/BatteryLevelComponent.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["keypress",{"_index":936,"title":{},"body":{"miscellaneous/variables.html":{}}}],["kind",{"_index":820,"title":{},"body":{"index.html":{},"license.html":{}}}],["l",{"_index":257,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"miscellaneous/variables.html":{}}}],["labels",{"_index":547,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["layoutmodule",{"_index":99,"title":{},"body":{"modules/AppModule.html":{}}}],["left",{"_index":188,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["legend",{"_index":63,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"overview.html":{}}}],["length",{"_index":537,"title":{},"body":{"components/HumidityComponent.html":{}}}],["level",{"_index":162,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"index.html":{},"miscellaneous/variables.html":{}}}],["level'},{'name",{"_index":73,"title":{},"body":{"components/AppComponent.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["level.component",{"_index":131,"title":{},"body":{"modules/AppModule.html":{}}}],["level.component.ts",{"_index":158,"title":{},"body":{"components/BatteryLevelComponent.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["level.component.ts:116",{"_index":222,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["level.component.ts:131",{"_index":229,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["level.component.ts:144",{"_index":233,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["level.component.ts:162",{"_index":220,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["level.component.ts:168",{"_index":225,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["level.component.ts:172",{"_index":227,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["level.component.ts:76",{"_index":248,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["level.component.ts:77",{"_index":243,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["level.component.ts:78",{"_index":236,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["level.component.ts:79",{"_index":249,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["level.component.ts:80",{"_index":246,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["level.component.ts:81",{"_index":240,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["level.component.ts:83",{"_index":251,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["level.component.ts:85",{"_index":218,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["level.component.ts:88",{"_index":244,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["level.component.ts:89",{"_index":245,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["level.component.ts:90",{"_index":237,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["level.component.ts:99",{"_index":228,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["liability",{"_index":835,"title":{},"body":{"index.html":{},"license.html":{}}}],["liable",{"_index":832,"title":{},"body":{"index.html":{},"license.html":{}}}],["license",{"_index":776,"title":{"license.html":{}},"body":{"index.html":{},"license.html":{}}}],["light",{"_index":931,"title":{},"body":{"miscellaneous/variables.html":{}}}],["limitation",{"_index":797,"title":{},"body":{"index.html":{},"license.html":{}}}],["limited",{"_index":823,"title":{},"body":{"index.html":{},"license.html":{}}}],["line",{"_index":331,"title":{},"body":{"injectables/BleService.html":{},"components/HumidityComponent.html":{}}}],["linewidth",{"_index":553,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["list",{"_index":112,"title":{},"body":{"modules/AppModule.html":{}}}],["listener",{"_index":429,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["listener(mockedevent",{"_index":439,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["listeners",{"_index":418,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["literal",{"_index":232,"title":{},"body":{"components/BatteryLevelComponent.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{},"miscellaneous/typealiases.html":{}}}],["log",{"_index":362,"title":{},"body":{"injectables/ConsoleLoggerService.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{}}}],["log(...args",{"_index":366,"title":{},"body":{"injectables/ConsoleLoggerService.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{}}}],["log(args",{"_index":371,"title":{},"body":{"injectables/ConsoleLoggerService.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{}}}],["logger",{"_index":370,"title":{"interfaces/Logger.html":{}},"body":{"injectables/ConsoleLoggerService.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"coverage.html":{}}}],["logger.service",{"_index":29,"title":{},"body":{"interfaces/AWBOptions.html":{},"modules/WebBluetoothModule.html":{}}}],["logic",{"_index":720,"title":{},"body":{"index.html":{}}}],["logs",{"_index":692,"title":{},"body":{"index.html":{}}}],["magnetometer",{"_index":916,"title":{},"body":{"miscellaneous/variables.html":{}}}],["make",{"_index":260,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"index.html":{}}}],["makemetokeninjector",{"_index":37,"title":{},"body":{"interfaces/AWBOptions.html":{},"modules/WebBluetoothModule.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["manekinekko/angular",{"_index":127,"title":{},"body":{"modules/AppModule.html":{},"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"index.html":{}}}],["manifacturer",{"_index":885,"title":{},"body":{"miscellaneous/variables.html":{}}}],["map",{"_index":325,"title":{},"body":{"injectables/BleService.html":{},"index.html":{}}}],["map((value",{"_index":708,"title":{},"body":{"index.html":{}}}],["map(this._config.decoder",{"_index":339,"title":{},"body":{"injectables/BleService.html":{}}}],["margin",{"_index":398,"title":{},"body":{"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["mat",{"_index":185,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/StepCounterComponent.html":{}}}],["matbuttonmodule",{"_index":101,"title":{},"body":{"modules/AppModule.html":{}}}],["matcardmodule",{"_index":106,"title":{},"body":{"modules/AppModule.html":{}}}],["matching",{"_index":51,"title":{},"body":{"interfaces/AWBOptions.html":{},"components/AppComponent.html":{},"modules/AppModule.html":{},"classes/AppPage.html":{},"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"injectables/ConsoleLoggerService.html":{},"components/DashboardComponent.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"injectables/ServerWebBluetooth.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{},"coverage.html":{},"dependencies.html":{},"miscellaneous/functions.html":{},"index.html":{},"license.html":{},"modules.html":{},"overview.html":{},"properties.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["matexpansionmodule",{"_index":108,"title":{},"body":{"modules/AppModule.html":{}}}],["matgridlistmodule",{"_index":110,"title":{},"body":{"modules/AppModule.html":{}}}],["maticonmodule",{"_index":113,"title":{},"body":{"modules/AppModule.html":{}}}],["matlistmodule",{"_index":115,"title":{},"body":{"modules/AppModule.html":{}}}],["matmenumodule",{"_index":117,"title":{},"body":{"modules/AppModule.html":{}}}],["matprogressspinnermodule",{"_index":119,"title":{},"body":{"modules/AppModule.html":{}}}],["matsnackbar",{"_index":217,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["matsnackbarmodule",{"_index":122,"title":{},"body":{"modules/AppModule.html":{}}}],["mattoolbarmodule",{"_index":125,"title":{},"body":{"modules/AppModule.html":{}}}],["max",{"_index":396,"title":{},"body":{"components/DashboardComponent.html":{},"components/HumidityComponent.html":{}}}],["merchantability",{"_index":825,"title":{},"body":{"index.html":{},"license.html":{}}}],["merge",{"_index":800,"title":{},"body":{"index.html":{},"license.html":{}}}],["mergemap",{"_index":715,"title":{},"body":{"index.html":{}}}],["mergemap((characteristic",{"_index":748,"title":{},"body":{"index.html":{}}}],["mergemap((gatt",{"_index":739,"title":{},"body":{"index.html":{}}}],["mergemap((primaryservice",{"_index":742,"title":{},"body":{"index.html":{}}}],["metadata",{"_index":58,"title":{},"body":{"components/AppComponent.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["method",{"_index":704,"title":{},"body":{"index.html":{}}}],["methods",{"_index":143,"title":{},"body":{"classes/AppPage.html":{},"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"injectables/ConsoleLoggerService.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"injectables/ServerWebBluetooth.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{}}}],["miscellaneous",{"_index":677,"title":{"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}},"body":{"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["missing",{"_index":682,"title":{},"body":{"index.html":{}}}],["mit",{"_index":777,"title":{},"body":{"index.html":{},"license.html":{}}}],["mocked",{"_index":574,"title":{},"body":{"injectables/ServerWebBluetooth.html":{}}}],["mockedevent",{"_index":435,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["mode",{"_index":200,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["model",{"_index":909,"title":{},"body":{"miscellaneous/variables.html":{}}}],["model_number",{"_index":875,"title":{},"body":{"miscellaneous/variables.html":{}}}],["modify",{"_index":799,"title":{},"body":{"index.html":{},"license.html":{}}}],["module",{"_index":84,"title":{"modules/AppModule.html":{},"modules/WebBluetoothModule.html":{}},"body":{"modules/AppModule.html":{},"index.html":{},"overview.html":{}}}],["modules",{"_index":86,"title":{"modules.html":{}},"body":{"modules/AppModule.html":{},"modules/WebBluetoothModule.html":{},"modules.html":{},"overview.html":{}}}],["modulewithproviders",{"_index":18,"title":{},"body":{"interfaces/AWBOptions.html":{},"modules/WebBluetoothModule.html":{}}}],["more",{"_index":358,"title":{},"body":{"injectables/BrowserWebBluetooth.html":{},"components/DashboardComponent.html":{}}}],["more_vert",{"_index":386,"title":{},"body":{"components/DashboardComponent.html":{}}}],["movement",{"_index":926,"title":{},"body":{"miscellaneous/variables.html":{}}}],["name",{"_index":69,"title":{},"body":{"components/AppComponent.html":{},"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"injectables/ConsoleLoggerService.html":{},"components/DashboardComponent.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{},"miscellaneous/functions.html":{}}}],["navigateto",{"_index":145,"title":{},"body":{"classes/AppPage.html":{}}}],["navigator.bluetooth",{"_index":351,"title":{},"body":{"injectables/BrowserWebBluetooth.html":{}}}],["need",{"_index":755,"title":{},"body":{"index.html":{}}}],["new",{"_index":33,"title":{},"body":{"interfaces/AWBOptions.html":{},"components/BatteryLevelComponent.html":{},"injectables/BrowserWebBluetooth.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["next",{"_index":291,"title":{},"body":{"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["ngmodule",{"_index":17,"title":{},"body":{"interfaces/AWBOptions.html":{},"modules/AppModule.html":{},"modules/WebBluetoothModule.html":{},"index.html":{}}}],["ngondestroy",{"_index":208,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["ngoninit",{"_index":209,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["node_modules",{"_index":690,"title":{},"body":{"index.html":{}}}],["nologgerservice",{"_index":28,"title":{"injectables/NoLoggerService.html":{}},"body":{"interfaces/AWBOptions.html":{},"injectables/ConsoleLoggerService.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"modules/WebBluetoothModule.html":{},"coverage.html":{}}}],["noninfringement",{"_index":829,"title":{},"body":{"index.html":{},"license.html":{}}}],["note",{"_index":687,"title":{},"body":{"index.html":{}}}],["notice",{"_index":813,"title":{},"body":{"index.html":{},"license.html":{}}}],["notifications",{"_index":711,"title":{},"body":{"index.html":{}}}],["now",{"_index":576,"title":{},"body":{"injectables/ServerWebBluetooth.html":{}}}],["npm",{"_index":685,"title":{},"body":{"index.html":{}}}],["null",{"_index":239,"title":{},"body":{"components/BatteryLevelComponent.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["number",{"_index":231,"title":{},"body":{"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["oad",{"_index":955,"title":{},"body":{"miscellaneous/variables.html":{}}}],["object",{"_index":575,"title":{},"body":{"injectables/ServerWebBluetooth.html":{},"miscellaneous/variables.html":{}}}],["object.keys(titag).map((key",{"_index":865,"title":{},"body":{"miscellaneous/variables.html":{}}}],["obtaining",{"_index":788,"title":{},"body":{"index.html":{},"license.html":{}}}],["of(this.haserror.bind(this",{"_index":559,"title":{},"body":{"components/HumidityComponent.html":{}}}],["ondestroy",{"_index":161,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["oninit",{"_index":160,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["open",{"_index":773,"title":{},"body":{"index.html":{}}}],["optional",{"_index":11,"title":{},"body":{"interfaces/AWBOptions.html":{},"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"injectables/ConsoleLoggerService.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{},"miscellaneous/functions.html":{}}}],["optionalservices",{"_index":736,"title":{},"body":{"index.html":{}}}],["options",{"_index":35,"title":{},"body":{"interfaces/AWBOptions.html":{},"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"modules/WebBluetoothModule.html":{},"miscellaneous/functions.html":{}}}],["options.enabletracing",{"_index":36,"title":{},"body":{"interfaces/AWBOptions.html":{},"modules/WebBluetoothModule.html":{}}}],["otherwise",{"_index":840,"title":{},"body":{"index.html":{},"license.html":{}}}],["out",{"_index":97,"title":{},"body":{"modules/AppModule.html":{},"index.html":{},"license.html":{},"overview.html":{}}}],["overview",{"_index":848,"title":{"overview.html":{}},"body":{"overview.html":{}}}],["package",{"_index":656,"title":{"dependencies.html":{},"properties.html":{}},"body":{"index.html":{}}}],["padding",{"_index":394,"title":{},"body":{"components/DashboardComponent.html":{}}}],["parameters",{"_index":219,"title":{},"body":{"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"injectables/ConsoleLoggerService.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{},"miscellaneous/functions.html":{}}}],["particular",{"_index":827,"title":{},"body":{"index.html":{},"license.html":{}}}],["period",{"_index":898,"title":{},"body":{"miscellaneous/variables.html":{}}}],["permission",{"_index":783,"title":{},"body":{"index.html":{},"license.html":{}}}],["permit",{"_index":807,"title":{},"body":{"index.html":{},"license.html":{}}}],["person",{"_index":787,"title":{},"body":{"index.html":{},"license.html":{}}}],["persons",{"_index":808,"title":{},"body":{"index.html":{},"license.html":{}}}],["pipe",{"_index":343,"title":{},"body":{"injectables/BleService.html":{},"index.html":{}}}],["platform/browser",{"_index":26,"title":{},"body":{"interfaces/AWBOptions.html":{},"modules/WebBluetoothModule.html":{}}}],["pnp_id",{"_index":889,"title":{},"body":{"miscellaneous/variables.html":{}}}],["portions",{"_index":817,"title":{},"body":{"index.html":{},"license.html":{}}}],["position",{"_index":176,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/StepCounterComponent.html":{}}}],["post",{"_index":763,"title":{},"body":{"index.html":{}}}],["pr",{"_index":769,"title":{},"body":{"index.html":{}}}],["primary",{"_index":235,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["private",{"_index":310,"title":{},"body":{"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["process",{"_index":734,"title":{},"body":{"index.html":{}}}],["production",{"_index":864,"title":{},"body":{"miscellaneous/variables.html":{}}}],["progress",{"_index":186,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["progressspinnermode",{"_index":241,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["project",{"_index":757,"title":{},"body":{"index.html":{}}}],["projects/.../bluetooth.module.ts",{"_index":679,"title":{},"body":{"miscellaneous/functions.html":{}}}],["projects/.../bluetooth.service.ts",{"_index":854,"title":{},"body":{"miscellaneous/typealiases.html":{}}}],["projects/.../ti",{"_index":863,"title":{},"body":{"miscellaneous/variables.html":{}}}],["projects/manekinekko/angular",{"_index":6,"title":{},"body":{"interfaces/AWBOptions.html":{},"injectables/BrowserWebBluetooth.html":{},"injectables/ConsoleLoggerService.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"injectables/ServerWebBluetooth.html":{},"modules/WebBluetoothModule.html":{},"coverage.html":{},"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["promise",{"_index":149,"title":{},"body":{"classes/AppPage.html":{},"injectables/BrowserWebBluetooth.html":{}}}],["promise.resolve(this",{"_index":449,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["promise.resolve(this.characteristics[characteristic",{"_index":459,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["promise.resolve(this.services[service].service",{"_index":452,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["promise.resolve(this.value",{"_index":470,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["properties",{"_index":10,"title":{"properties.html":{}},"body":{"interfaces/AWBOptions.html":{},"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"properties.html":{}}}],["protractor",{"_index":151,"title":{},"body":{"classes/AppPage.html":{}}}],["provide",{"_index":45,"title":{},"body":{"interfaces/AWBOptions.html":{},"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{},"index.html":{},"miscellaneous/variables.html":{}}}],["provided",{"_index":818,"title":{},"body":{"index.html":{},"license.html":{}}}],["providedin",{"_index":329,"title":{},"body":{"injectables/BleService.html":{},"injectables/ConsoleLoggerService.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"index.html":{}}}],["providers",{"_index":44,"title":{},"body":{"interfaces/AWBOptions.html":{},"modules/AppModule.html":{},"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{},"coverage.html":{},"overview.html":{},"miscellaneous/variables.html":{}}}],["public",{"_index":197,"title":{},"body":{"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["publish",{"_index":801,"title":{},"body":{"index.html":{},"license.html":{}}}],["purpose",{"_index":828,"title":{},"body":{"index.html":{},"license.html":{}}}],["read",{"_index":730,"title":{},"body":{"index.html":{}}}],["readonly",{"_index":463,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"index.html":{}}}],["readvalue",{"_index":469,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["readvalueoptions",{"_index":638,"title":{},"body":{"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["request_new_parameters",{"_index":951,"title":{},"body":{"miscellaneous/variables.html":{}}}],["requestdevice",{"_index":346,"title":{},"body":{"injectables/BrowserWebBluetooth.html":{}}}],["requestdevice(options",{"_index":348,"title":{},"body":{"injectables/BrowserWebBluetooth.html":{}}}],["requestdeviceoptions",{"_index":349,"title":{},"body":{"injectables/BrowserWebBluetooth.html":{}}}],["requested",{"_index":729,"title":{},"body":{"index.html":{}}}],["requestvalue",{"_index":210,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["reset",{"_index":96,"title":{},"body":{"modules/AppModule.html":{},"overview.html":{}}}],["restriction",{"_index":795,"title":{},"body":{"index.html":{},"license.html":{}}}],["results",{"_index":50,"title":{},"body":{"interfaces/AWBOptions.html":{},"components/AppComponent.html":{},"modules/AppModule.html":{},"classes/AppPage.html":{},"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"injectables/ConsoleLoggerService.html":{},"components/DashboardComponent.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"injectables/ServerWebBluetooth.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{},"coverage.html":{},"dependencies.html":{},"miscellaneous/functions.html":{},"index.html":{},"license.html":{},"modules.html":{},"overview.html":{},"properties.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["return",{"_index":32,"title":{},"body":{"interfaces/AWBOptions.html":{},"classes/AppPage.html":{},"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"injectables/ServerWebBluetooth.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{},"index.html":{}}}],["returns",{"_index":148,"title":{},"body":{"classes/AppPage.html":{},"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"injectables/ConsoleLoggerService.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"injectables/ServerWebBluetooth.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{}}}],["rgba(119,119,119,0.18",{"_index":545,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["rgba(255,161,161,0.30",{"_index":555,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["right",{"_index":409,"title":{},"body":{"components/DashboardComponent.html":{},"index.html":{}}}],["rights",{"_index":798,"title":{},"body":{"index.html":{},"license.html":{}}}],["root",{"_index":61,"title":{},"body":{"components/AppComponent.html":{},"classes/AppPage.html":{},"injectables/BleService.html":{},"injectables/ConsoleLoggerService.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"index.html":{}}}],["root'},{'name",{"_index":70,"title":{},"body":{"components/AppComponent.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["row",{"_index":169,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["run",{"_index":759,"title":{},"body":{"index.html":{}}}],["rxjs",{"_index":252,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"dependencies.html":{}}}],["rxjs/operators",{"_index":327,"title":{},"body":{"injectables/BleService.html":{},"index.html":{}}}],["s",{"_index":686,"title":{},"body":{"index.html":{}}}],["section",{"_index":393,"title":{},"body":{"components/DashboardComponent.html":{}}}],["see",{"_index":356,"title":{},"body":{"injectables/BrowserWebBluetooth.html":{}}}],["selector",{"_index":59,"title":{},"body":{"components/AppComponent.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["sell",{"_index":805,"title":{},"body":{"index.html":{},"license.html":{}}}],["sensortag2.ts",{"_index":640,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["serial_number",{"_index":877,"title":{},"body":{"miscellaneous/variables.html":{}}}],["series",{"_index":500,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["serverwebbluetooth",{"_index":571,"title":{"injectables/ServerWebBluetooth.html":{}},"body":{"injectables/ServerWebBluetooth.html":{},"coverage.html":{}}}],["serves",{"_index":758,"title":{},"body":{"index.html":{}}}],["service",{"_index":201,"title":{},"body":{"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"index.html":{},"miscellaneous/variables.html":{}}}],["service.config",{"_index":266,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["service/component",{"_index":696,"title":{},"body":{"index.html":{}}}],["serviceoptions",{"_index":318,"title":{},"body":{"injectables/BleService.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["services",{"_index":446,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["shall",{"_index":814,"title":{},"body":{"index.html":{},"license.html":{}}}],["singleton",{"_index":262,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["size",{"_index":174,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/StepCounterComponent.html":{}}}],["smart",{"_index":355,"title":{},"body":{"injectables/BrowserWebBluetooth.html":{}}}],["smoothie",{"_index":524,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{},"dependencies.html":{}}}],["smoothiechart",{"_index":510,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["snackbar",{"_index":202,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["software",{"_index":790,"title":{},"body":{"index.html":{},"license.html":{}}}],["software_rev",{"_index":883,"title":{},"body":{"miscellaneous/variables.html":{}}}],["source",{"_index":4,"title":{},"body":{"interfaces/AWBOptions.html":{},"components/AppComponent.html":{},"modules/AppModule.html":{},"classes/AppPage.html":{},"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"injectables/ConsoleLoggerService.html":{},"components/DashboardComponent.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"injectables/ServerWebBluetooth.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{}}}],["span",{"_index":172,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/StepCounterComponent.html":{}}}],["span')).gettext",{"_index":155,"title":{},"body":{"classes/AppPage.html":{}}}],["specific",{"_index":721,"title":{},"body":{"index.html":{}}}],["spinner",{"_index":121,"title":{},"body":{"modules/AppModule.html":{},"components/BatteryLevelComponent.html":{}}}],["src/.../battery",{"_index":857,"title":{},"body":{"miscellaneous/variables.html":{}}}],["src/.../ble.service.ts",{"_index":855,"title":{},"body":{"miscellaneous/typealiases.html":{}}}],["src/.../environment.prod.ts",{"_index":861,"title":{},"body":{"miscellaneous/variables.html":{}}}],["src/.../environment.ts",{"_index":862,"title":{},"body":{"miscellaneous/variables.html":{}}}],["src/.../humidity.component.ts",{"_index":858,"title":{},"body":{"miscellaneous/variables.html":{}}}],["src/.../stepcounter.component.ts",{"_index":859,"title":{},"body":{"miscellaneous/variables.html":{}}}],["src/.../temperature.component.ts",{"_index":860,"title":{},"body":{"miscellaneous/variables.html":{}}}],["src/app/app.component.ts",{"_index":57,"title":{},"body":{"components/AppComponent.html":{},"coverage.html":{}}}],["src/app/app.module.ts",{"_index":98,"title":{},"body":{"modules/AppModule.html":{}}}],["src/app/ble.service.ts",{"_index":309,"title":{},"body":{"injectables/BleService.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["src/app/ble.service.ts:17",{"_index":316,"title":{},"body":{"injectables/BleService.html":{}}}],["src/app/ble.service.ts:19",{"_index":324,"title":{},"body":{"injectables/BleService.html":{}}}],["src/app/ble.service.ts:21",{"_index":319,"title":{},"body":{"injectables/BleService.html":{}}}],["src/app/ble.service.ts:25",{"_index":321,"title":{},"body":{"injectables/BleService.html":{}}}],["src/app/ble.service.ts:29",{"_index":322,"title":{},"body":{"injectables/BleService.html":{}}}],["src/app/ble.service.ts:36",{"_index":323,"title":{},"body":{"injectables/BleService.html":{}}}],["src/app/ble.service.ts:47",{"_index":320,"title":{},"body":{"injectables/BleService.html":{}}}],["src/app/dashboard/dashboard.component.ts",{"_index":377,"title":{},"body":{"components/DashboardComponent.html":{},"coverage.html":{}}}],["src/app/dashboard/dashboard.component.ts:8",{"_index":383,"title":{},"body":{"components/DashboardComponent.html":{}}}],["src/app/thingy52/battery",{"_index":157,"title":{},"body":{"components/BatteryLevelComponent.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["src/app/thingy52/humidity.component.ts",{"_index":495,"title":{},"body":{"components/HumidityComponent.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["src/app/thingy52/humidity.component.ts:101",{"_index":503,"title":{},"body":{"components/HumidityComponent.html":{}}}],["src/app/thingy52/humidity.component.ts:108",{"_index":504,"title":{},"body":{"components/HumidityComponent.html":{}}}],["src/app/thingy52/humidity.component.ts:112",{"_index":506,"title":{},"body":{"components/HumidityComponent.html":{}}}],["src/app/thingy52/humidity.component.ts:38",{"_index":517,"title":{},"body":{"components/HumidityComponent.html":{}}}],["src/app/thingy52/humidity.component.ts:39",{"_index":511,"title":{},"body":{"components/HumidityComponent.html":{}}}],["src/app/thingy52/humidity.component.ts:40",{"_index":521,"title":{},"body":{"components/HumidityComponent.html":{}}}],["src/app/thingy52/humidity.component.ts:41",{"_index":520,"title":{},"body":{"components/HumidityComponent.html":{}}}],["src/app/thingy52/humidity.component.ts:44",{"_index":515,"title":{},"body":{"components/HumidityComponent.html":{}}}],["src/app/thingy52/humidity.component.ts:46",{"_index":522,"title":{},"body":{"components/HumidityComponent.html":{}}}],["src/app/thingy52/humidity.component.ts:48",{"_index":502,"title":{},"body":{"components/HumidityComponent.html":{}}}],["src/app/thingy52/humidity.component.ts:51",{"_index":518,"title":{},"body":{"components/HumidityComponent.html":{}}}],["src/app/thingy52/humidity.component.ts:52",{"_index":519,"title":{},"body":{"components/HumidityComponent.html":{}}}],["src/app/thingy52/humidity.component.ts:61",{"_index":507,"title":{},"body":{"components/HumidityComponent.html":{}}}],["src/app/thingy52/humidity.component.ts:71",{"_index":505,"title":{},"body":{"components/HumidityComponent.html":{}}}],["src/app/thingy52/humidity.component.ts:81",{"_index":508,"title":{},"body":{"components/HumidityComponent.html":{}}}],["src/app/thingy52/humidity.component.ts:90",{"_index":509,"title":{},"body":{"components/HumidityComponent.html":{}}}],["src/app/thingy52/stepcounter.component.ts",{"_index":577,"title":{},"body":{"components/StepCounterComponent.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["src/app/thingy52/stepcounter.component.ts:49",{"_index":596,"title":{},"body":{"components/StepCounterComponent.html":{}}}],["src/app/thingy52/stepcounter.component.ts:50",{"_index":594,"title":{},"body":{"components/StepCounterComponent.html":{}}}],["src/app/thingy52/stepcounter.component.ts:51",{"_index":595,"title":{},"body":{"components/StepCounterComponent.html":{}}}],["src/app/thingy52/stepcounter.component.ts:53",{"_index":597,"title":{},"body":{"components/StepCounterComponent.html":{}}}],["src/app/thingy52/stepcounter.component.ts:55",{"_index":585,"title":{},"body":{"components/StepCounterComponent.html":{}}}],["src/app/thingy52/stepcounter.component.ts:58",{"_index":592,"title":{},"body":{"components/StepCounterComponent.html":{}}}],["src/app/thingy52/stepcounter.component.ts:59",{"_index":593,"title":{},"body":{"components/StepCounterComponent.html":{}}}],["src/app/thingy52/stepcounter.component.ts:72",{"_index":589,"title":{},"body":{"components/StepCounterComponent.html":{}}}],["src/app/thingy52/stepcounter.component.ts:80",{"_index":590,"title":{},"body":{"components/StepCounterComponent.html":{}}}],["src/app/thingy52/stepcounter.component.ts:85",{"_index":591,"title":{},"body":{"components/StepCounterComponent.html":{}}}],["src/app/thingy52/stepcounter.component.ts:90",{"_index":586,"title":{},"body":{"components/StepCounterComponent.html":{}}}],["src/app/thingy52/stepcounter.component.ts:95",{"_index":587,"title":{},"body":{"components/StepCounterComponent.html":{}}}],["src/app/thingy52/stepcounter.component.ts:99",{"_index":588,"title":{},"body":{"components/StepCounterComponent.html":{}}}],["src/app/thingy52/temperature.component.ts",{"_index":605,"title":{},"body":{"components/TemperatureComponent.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["src/app/thingy52/temperature.component.ts:110",{"_index":612,"title":{},"body":{"components/TemperatureComponent.html":{}}}],["src/app/thingy52/temperature.component.ts:117",{"_index":613,"title":{},"body":{"components/TemperatureComponent.html":{}}}],["src/app/thingy52/temperature.component.ts:126",{"_index":607,"title":{},"body":{"components/TemperatureComponent.html":{}}}],["src/app/thingy52/temperature.component.ts:133",{"_index":608,"title":{},"body":{"components/TemperatureComponent.html":{}}}],["src/app/thingy52/temperature.component.ts:137",{"_index":610,"title":{},"body":{"components/TemperatureComponent.html":{}}}],["src/app/thingy52/temperature.component.ts:52",{"_index":616,"title":{},"body":{"components/TemperatureComponent.html":{}}}],["src/app/thingy52/temperature.component.ts:53",{"_index":614,"title":{},"body":{"components/TemperatureComponent.html":{}}}],["src/app/thingy52/temperature.component.ts:54",{"_index":619,"title":{},"body":{"components/TemperatureComponent.html":{}}}],["src/app/thingy52/temperature.component.ts:55",{"_index":618,"title":{},"body":{"components/TemperatureComponent.html":{}}}],["src/app/thingy52/temperature.component.ts:58",{"_index":615,"title":{},"body":{"components/TemperatureComponent.html":{}}}],["src/app/thingy52/temperature.component.ts:60",{"_index":620,"title":{},"body":{"components/TemperatureComponent.html":{}}}],["src/app/thingy52/temperature.component.ts:62",{"_index":606,"title":{},"body":{"components/TemperatureComponent.html":{}}}],["src/app/thingy52/temperature.component.ts:64",{"_index":617,"title":{},"body":{"components/TemperatureComponent.html":{}}}],["src/app/thingy52/temperature.component.ts:76",{"_index":611,"title":{},"body":{"components/TemperatureComponent.html":{}}}],["src/app/thingy52/temperature.component.ts:85",{"_index":609,"title":{},"body":{"components/TemperatureComponent.html":{}}}],["src/environments/environment.prod.ts",{"_index":651,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["src/environments/environment.ts",{"_index":653,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["startblog",{"_index":762,"title":{},"body":{"index.html":{}}}],["started",{"_index":681,"title":{"index.html":{},"license.html":{}},"body":{"index.html":{}}}],["starter",{"_index":756,"title":{},"body":{"index.html":{}}}],["state",{"_index":938,"title":{},"body":{"miscellaneous/variables.html":{}}}],["statements",{"_index":630,"title":{},"body":{"coverage.html":{}}}],["static",{"_index":42,"title":{},"body":{"interfaces/AWBOptions.html":{},"components/HumidityComponent.html":{},"injectables/ServerWebBluetooth.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{},"index.html":{}}}],["step",{"_index":541,"title":{},"body":{"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["stepcounter",{"_index":578,"title":{},"body":{"components/StepCounterComponent.html":{}}}],["stepcounter'},{'name",{"_index":79,"title":{},"body":{"components/AppComponent.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["stepcountercomponent",{"_index":78,"title":{"components/StepCounterComponent.html":{}},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"coverage.html":{},"overview.html":{}}}],["stepper",{"_index":392,"title":{},"body":{"components/DashboardComponent.html":{}}}],["sticky",{"_index":401,"title":{},"body":{"components/DashboardComponent.html":{}}}],["stop",{"_index":709,"title":{},"body":{"index.html":{}}}],["stream",{"_index":314,"title":{},"body":{"injectables/BleService.html":{},"index.html":{}}}],["streamsubscription",{"_index":203,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["string",{"_index":224,"title":{},"body":{"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"injectables/ConsoleLoggerService.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"miscellaneous/variables.html":{}}}],["strokestyle",{"_index":544,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["styles",{"_index":156,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["styleurls",{"_index":379,"title":{},"body":{"components/DashboardComponent.html":{}}}],["subject",{"_index":810,"title":{},"body":{"index.html":{},"license.html":{}}}],["sublicense",{"_index":803,"title":{},"body":{"index.html":{},"license.html":{}}}],["subscribe",{"_index":533,"title":{},"body":{"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{}}}],["subscribed",{"_index":710,"title":{},"body":{"index.html":{}}}],["subscription",{"_index":238,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["substantial",{"_index":816,"title":{},"body":{"index.html":{},"license.html":{}}}],["sup",{"_index":183,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["support",{"_index":354,"title":{},"body":{"injectables/BrowserWebBluetooth.html":{},"modules.html":{}}}],["sure",{"_index":261,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"index.html":{}}}],["svg",{"_index":844,"title":{},"body":{"modules.html":{}}}],["system_id",{"_index":873,"title":{},"body":{"miscellaneous/variables.html":{}}}],["table",{"_index":655,"title":{},"body":{"coverage.html":{}}}],["tablesort(document.getelementbyid('coverage",{"_index":654,"title":{},"body":{"coverage.html":{}}}],["tap",{"_index":326,"title":{},"body":{"injectables/BleService.html":{}}}],["tap(value",{"_index":337,"title":{},"body":{"injectables/BleService.html":{}}}],["target",{"_index":436,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["temperature",{"_index":81,"title":{},"body":{"components/AppComponent.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"miscellaneous/variables.html":{}}}],["temperaturecomponent",{"_index":80,"title":{"components/TemperatureComponent.html":{}},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"coverage.html":{},"overview.html":{}}}],["template",{"_index":62,"title":{},"body":{"components/AppComponent.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["templateurl",{"_index":381,"title":{},"body":{"components/DashboardComponent.html":{}}}],["text",{"_index":170,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/StepCounterComponent.html":{}}}],["thingy52/battery",{"_index":130,"title":{},"body":{"modules/AppModule.html":{}}}],["thingy52/humidity.component",{"_index":133,"title":{},"body":{"modules/AppModule.html":{}}}],["thingy52/stepcounter.component",{"_index":134,"title":{},"body":{"modules/AppModule.html":{}}}],["thingy52/temperature.component",{"_index":135,"title":{},"body":{"modules/AppModule.html":{}}}],["this._config",{"_index":334,"title":{},"body":{"injectables/BleService.html":{}}}],["this._config.characteristic",{"_index":342,"title":{},"body":{"injectables/BleService.html":{}}}],["this._config.service",{"_index":341,"title":{},"body":{"injectables/BleService.html":{}}}],["this.ble",{"_index":340,"title":{},"body":{"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"index.html":{}}}],["this.ble.disconnectdevice",{"_index":344,"title":{},"body":{"injectables/BleService.html":{},"index.html":{}}}],["this.ble.getcharacteristic$(primaryservice",{"_index":744,"title":{},"body":{"index.html":{}}}],["this.ble.getdevice",{"_index":335,"title":{},"body":{"injectables/BleService.html":{},"index.html":{}}}],["this.ble.getprimaryservice$(gatt",{"_index":740,"title":{},"body":{"index.html":{}}}],["this.ble.readvalue$(characteristic",{"_index":750,"title":{},"body":{"index.html":{}}}],["this.ble.requestdevice(options",{"_index":360,"title":{},"body":{"injectables/BrowserWebBluetooth.html":{}}}],["this.ble.streamvalues$().pipe",{"_index":336,"title":{},"body":{"injectables/BleService.html":{},"index.html":{}}}],["this.ble.streamvalues$().pipe(map((value",{"_index":718,"title":{},"body":{"index.html":{}}}],["this.characteristics.service",{"_index":456,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["this.chart",{"_index":538,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["this.chart!.addtimeseries(this.series",{"_index":552,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["this.chart!.start",{"_index":562,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["this.chart!.stop",{"_index":557,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["this.chart!.streamto(canvas",{"_index":556,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["this.chartref!.nativeelement",{"_index":536,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["this.color",{"_index":281,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["this.connected",{"_index":448,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["this.console.log('reading",{"_index":297,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["this.device.disconnect",{"_index":453,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["this.devicesubscription",{"_index":279,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["this.devicesubscription!.unsubscribe",{"_index":300,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["this.devicesubscription?.unsubscribe",{"_index":305,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["this.getdevicestatus",{"_index":273,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["this.haserror(err",{"_index":295,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["this.haserror(error",{"_index":278,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["this.haserror.bind(this",{"_index":288,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["this.id",{"_index":441,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["this.initchart",{"_index":531,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["this.initialvalue",{"_index":468,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["this.listeners",{"_index":443,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["this.listeners['characteristicvaluechanged'].foreach(listener",{"_index":472,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["this.listeners['gattserverdisconnected'].foreach(listener",{"_index":438,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["this.listeners[type",{"_index":434,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["this.mode",{"_index":283,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["this.name",{"_index":442,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["this.properties",{"_index":467,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["this.series",{"_index":534,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["this.series!.append(date.now",{"_index":561,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["this.series!.clear",{"_index":563,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["this.service.disconnectdevice",{"_index":299,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["this.service.getdevice",{"_index":265,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["this.service.getdevice().subscribe((device",{"_index":280,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["this.service.stream",{"_index":532,"title":{},"body":{"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{}}}],["this.service.stream().subscribe",{"_index":275,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/TemperatureComponent.html":{}}}],["this.service.value",{"_index":558,"title":{},"body":{"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{}}}],["this.service.value().subscribe",{"_index":290,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/TemperatureComponent.html":{}}}],["this.snackbar.open(error",{"_index":302,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["this.streamsubscription",{"_index":274,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["this.streamsubscription!.unsubscribe",{"_index":564,"title":{},"body":{"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["this.streamsubscription?.unsubscribe",{"_index":306,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["this.updatevalue(val",{"_index":293,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["this.updatevalue(value",{"_index":277,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["this.value",{"_index":285,"title":{},"body":{"components/BatteryLevelComponent.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/StepCounterComponent.html":{}}}],["this.valuessubscription",{"_index":289,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["this.valuessubscription!.unsubscribe",{"_index":301,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["this.valuessubscription?.unsubscribe",{"_index":304,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["throw",{"_index":352,"title":{},"body":{"injectables/BrowserWebBluetooth.html":{}}}],["ti_sensorag_services",{"_index":641,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["time",{"_index":600,"title":{},"body":{"components/StepCounterComponent.html":{}}}],["timeseries",{"_index":516,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["titag",{"_index":642,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["toolbar.mat",{"_index":400,"title":{},"body":{"components/DashboardComponent.html":{}}}],["tooltip",{"_index":551,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["top",{"_index":178,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/StepCounterComponent.html":{}}}],["tort",{"_index":839,"title":{},"body":{"index.html":{},"license.html":{}}}],["tree",{"_index":56,"title":{},"body":{"components/AppComponent.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["trigger",{"_index":732,"title":{},"body":{"index.html":{}}}],["true",{"_index":139,"title":{},"body":{"modules/AppModule.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"index.html":{},"miscellaneous/variables.html":{}}}],["ts",{"_index":670,"title":{},"body":{"dependencies.html":{}}}],["tslib",{"_index":673,"title":{},"body":{"dependencies.html":{}}}],["tslint:disable",{"_index":330,"title":{},"body":{"injectables/BleService.html":{},"components/HumidityComponent.html":{}}}],["type",{"_index":14,"title":{},"body":{"interfaces/AWBOptions.html":{},"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"injectables/ConsoleLoggerService.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{},"coverage.html":{},"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["typealiases",{"_index":852,"title":{"miscellaneous/typealiases.html":{}},"body":{}}],["typeof",{"_index":296,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["types/web",{"_index":666,"title":{},"body":{"dependencies.html":{},"index.html":{}}}],["undefined",{"_index":461,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["unknown",{"_index":437,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["updatevalue",{"_index":211,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["updatevalue(value",{"_index":230,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["use",{"_index":695,"title":{},"body":{"index.html":{},"license.html":{}}}],["usefactory",{"_index":46,"title":{},"body":{"interfaces/AWBOptions.html":{},"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{},"miscellaneous/variables.html":{}}}],["usevalue",{"_index":47,"title":{},"body":{"interfaces/AWBOptions.html":{},"modules/WebBluetoothModule.html":{}}}],["using",{"_index":701,"title":{},"body":{"index.html":{}}}],["val",{"_index":292,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["value",{"_index":193,"title":{},"body":{"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{},"index.html":{},"miscellaneous/variables.html":{}}}],["value.getint8(0",{"_index":269,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{},"index.html":{}}}],["value.getuint32(0",{"_index":599,"title":{},"body":{"components/StepCounterComponent.html":{}}}],["value.getuint32(4",{"_index":601,"title":{},"body":{"components/StepCounterComponent.html":{}}}],["value.getuint8(0",{"_index":719,"title":{},"body":{"index.html":{}}}],["value.getuint8(1",{"_index":624,"title":{},"body":{"components/TemperatureComponent.html":{}}}],["values",{"_index":705,"title":{},"body":{"index.html":{}}}],["valuessubscription",{"_index":204,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["var",{"_index":67,"title":{},"body":{"components/AppComponent.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["variable",{"_index":332,"title":{},"body":{"injectables/BleService.html":{},"coverage.html":{}}}],["variables",{"_index":856,"title":{"miscellaneous/variables.html":{}},"body":{"miscellaneous/variables.html":{}}}],["version",{"_index":850,"title":{},"body":{"properties.html":{}}}],["viewchild",{"_index":523,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["viewchild('chart",{"_index":514,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["void",{"_index":221,"title":{},"body":{"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"injectables/ConsoleLoggerService.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"components/HumidityComponent.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["want",{"_index":727,"title":{},"body":{"index.html":{}}}],["warn",{"_index":282,"title":{},"body":{"components/BatteryLevelComponent.html":{},"injectables/ConsoleLoggerService.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{}}}],["warn(...args",{"_index":368,"title":{},"body":{"injectables/ConsoleLoggerService.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{}}}],["warn(args",{"_index":373,"title":{},"body":{"injectables/ConsoleLoggerService.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{}}}],["warranties",{"_index":824,"title":{},"body":{"index.html":{},"license.html":{}}}],["warranty",{"_index":819,"title":{},"body":{"index.html":{},"license.html":{}}}],["wassim",{"_index":781,"title":{},"body":{"index.html":{},"license.html":{}}}],["way",{"_index":698,"title":{},"body":{"index.html":{}}}],["web",{"_index":7,"title":{},"body":{"interfaces/AWBOptions.html":{},"modules/AppModule.html":{},"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"injectables/ConsoleLoggerService.html":{},"components/DashboardComponent.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"injectables/ServerWebBluetooth.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{},"coverage.html":{},"miscellaneous/functions.html":{},"index.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["webbluetoothmodule",{"_index":41,"title":{"modules/WebBluetoothModule.html":{}},"body":{"interfaces/AWBOptions.html":{},"modules/AppModule.html":{},"modules/WebBluetoothModule.html":{},"index.html":{},"modules.html":{},"overview.html":{}}}],["webbluetoothmodule.forroot",{"_index":138,"title":{},"body":{"modules/AppModule.html":{},"index.html":{}}}],["welcome",{"_index":771,"title":{},"body":{"index.html":{}}}],["whether",{"_index":836,"title":{},"body":{"index.html":{},"license.html":{}}}],["width",{"_index":180,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/StepCounterComponent.html":{}}}],["window.smoothiechart",{"_index":539,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["window.timeseries",{"_index":535,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["without",{"_index":794,"title":{},"body":{"index.html":{},"license.html":{}}}],["yes",{"_index":475,"title":{},"body":{"classes/FakeBluetoothRemoteGATTCharacteristic.html":{}}}],["z",{"_index":402,"title":{},"body":{"components/DashboardComponent.html":{}}}],["zone.js",{"_index":675,"title":{},"body":{"dependencies.html":{}}}],["zoom",{"_index":95,"title":{},"body":{"modules/AppModule.html":{},"overview.html":{}}}]],"pipeline":["stemmer"]}, - "store": {"interfaces/AWBOptions.html":{"url":"interfaces/AWBOptions.html","title":"interface - AWBOptions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n AWBOptions\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/manekinekko/angular-web-bluetooth/src/lib/bluetooth.module.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n enableTracing\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n enableTracing\n \n \n \n \n \n \n \n \n enableTracing: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { NgModule, ModuleWithProviders, InjectionToken, Optional } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { BluetoothCore } from './bluetooth.service';\nimport { BrowserWebBluetooth } from './platform/browser';\n\nimport { ConsoleLoggerService, NoLoggerService } from './logger.service';\n\nexport interface AWBOptions {\n enableTracing?: boolean;\n}\n\nexport function browserWebBluetooth() {\n return new BrowserWebBluetooth();\n}\n\nexport function consoleLoggerServiceConfig(options: AWBOptions) {\n if (options && options.enableTracing) {\n return new ConsoleLoggerService();\n } else {\n return new NoLoggerService();\n }\n}\nexport function makeMeTokenInjector() {\n return new InjectionToken('AWBOptions');\n}\n\n@NgModule({\n imports: [CommonModule]\n})\nexport class WebBluetoothModule {\n static forRoot(options: AWBOptions = {}): ModuleWithProviders {\n return {\n ngModule: WebBluetoothModule,\n providers: [\n BluetoothCore,\n {\n provide: BrowserWebBluetooth,\n useFactory: browserWebBluetooth\n },\n {\n provide: makeMeTokenInjector,\n useValue: options\n },\n {\n provide: ConsoleLoggerService,\n useFactory: consoleLoggerServiceConfig,\n deps: [makeMeTokenInjector]\n }\n ]\n };\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/AppComponent.html":{"url":"components/AppComponent.html","title":"component - AppComponent","body":"\n \n\n\n\n\n\n Components\n \n AppComponent\n\n\n\n \n Info\n \n \n Source\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n src/app/app.component.ts\n\n\n\n\n\n\n\n\n Metadata\n \n \n\n\n\n\n\n\n\n\n\n\n\n\n \n selector\n ble-root\n \n\n\n\n\n\n \n template\n \n\n \n\n\n\n\n\n\n\n\n\n \n \n\n\n\n\n\n\n\n\n\n\n\n\n\n \n import { Component } from '@angular/core';\n\n@Component({\n selector: 'ble-root',\n template: `\n \n `\n})\nexport class AppComponent {}\n\n \n\n\n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ''\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ble-root'},{'name': 'BatteryLevelComponent', 'selector': 'ble-battery-level'},{'name': 'DashboardComponent', 'selector': 'ble-dashboard'},{'name': 'HumidityComponent', 'selector': 'ble-humidity'},{'name': 'StepCounterComponent', 'selector': 'ble-stepcounter'},{'name': 'TemperatureComponent', 'selector': 'ble-temperature'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'AppComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/AppModule.html":{"url":"modules/AppModule.html","title":"module - AppModule","body":"\n \n\n\n\n\n Modules\n AppModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_AppModule\n\n\n\ncluster_AppModule_imports\n\n\n\ncluster_AppModule_bootstrap\n\n\n\ncluster_AppModule_declarations\n\n\n\n\nAppComponent\n\nAppComponent\n\n\n\nAppModule\n\nAppModule\n\nAppModule -->\n\nAppComponent->AppModule\n\n\n\n\n\nBatteryLevelComponent\n\nBatteryLevelComponent\n\nAppModule -->\n\nBatteryLevelComponent->AppModule\n\n\n\n\n\nDashboardComponent\n\nDashboardComponent\n\nAppModule -->\n\nDashboardComponent->AppModule\n\n\n\n\n\nHumidityComponent\n\nHumidityComponent\n\nAppModule -->\n\nHumidityComponent->AppModule\n\n\n\n\n\nStepCounterComponent\n\nStepCounterComponent\n\nAppModule -->\n\nStepCounterComponent->AppModule\n\n\n\n\n\nTemperatureComponent\n\nTemperatureComponent\n\nAppModule -->\n\nTemperatureComponent->AppModule\n\n\n\n\n\nAppComponent \n\nAppComponent \n\nAppComponent -->\n\nAppModule->AppComponent \n\n\n\n\n\nWebBluetoothModule\n\nWebBluetoothModule\n\nAppModule -->\n\nWebBluetoothModule->AppModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n src/app/app.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n AppComponent\n \n \n BatteryLevelComponent\n \n \n DashboardComponent\n \n \n HumidityComponent\n \n \n StepCounterComponent\n \n \n TemperatureComponent\n \n \n \n \n Imports\n \n \n WebBluetoothModule\n \n \n \n \n Bootstrap\n \n \n AppComponent\n \n \n \n \n \n\n\n \n\n\n \n import { LayoutModule } from '@angular/cdk/layout';\nimport { NgModule } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { MatCardModule } from '@angular/material/card';\nimport { MatExpansionModule } from '@angular/material/expansion';\nimport { MatGridListModule } from '@angular/material/grid-list';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatListModule } from '@angular/material/list';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\nimport { MatSnackBarModule } from '@angular/material/snack-bar';\nimport { MatToolbarModule } from '@angular/material/toolbar';\n\nimport { WebBluetoothModule } from '@manekinekko/angular-web-bluetooth';\nimport { AppComponent } from './app.component';\nimport { BatteryLevelComponent } from './thingy52/battery-level.component';\nimport { DashboardComponent } from './dashboard/dashboard.component';\nimport { HumidityComponent } from './thingy52/humidity.component';\nimport { StepCounterComponent } from './thingy52/stepcounter.component';\nimport { TemperatureComponent } from './thingy52/temperature.component';\nimport { BrowserModule } from '@angular/platform-browser';\n\n@NgModule({\n declarations: [\n AppComponent,\n BatteryLevelComponent,\n TemperatureComponent,\n HumidityComponent,\n StepCounterComponent,\n DashboardComponent\n ],\n imports: [\n BrowserModule,\n BrowserAnimationsModule,\n WebBluetoothModule.forRoot({\n enableTracing: true\n }),\n LayoutModule,\n MatToolbarModule,\n MatButtonModule,\n MatIconModule,\n MatListModule,\n MatExpansionModule,\n MatSnackBarModule,\n MatProgressSpinnerModule,\n MatGridListModule,\n MatCardModule,\n MatMenuModule\n ],\n bootstrap: [AppComponent]\n})\nexport class AppModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/AppPage.html":{"url":"classes/AppPage.html","title":"class - AppPage","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n AppPage\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n e2e/src/app.po.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getTitleText\n \n \n navigateTo\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getTitleText\n \n \n \n \n \n \ngetTitleText()\n \n \n\n\n \n \n Defined in e2e/src/app.po.ts:8\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n navigateTo\n \n \n \n \n \n \nnavigateTo()\n \n \n\n\n \n \n Defined in e2e/src/app.po.ts:4\n \n \n\n\n \n \n\n \n Returns : Promise<>\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { browser, by, element } from 'protractor';\n\nexport class AppPage {\n navigateTo(): Promise {\n return browser.get(browser.baseUrl) as Promise;\n }\n\n getTitleText(): Promise {\n return element(by.css('app-root .content span')).getText() as Promise;\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/BatteryLevelComponent.html":{"url":"components/BatteryLevelComponent.html","title":"component - BatteryLevelComponent","body":"\n \n\n\n\n\n\n Components\n \n BatteryLevelComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n src/app/thingy52/battery-level.component.ts\n\n\n\n\n\n \n Implements\n \n \n OnInit\n OnDestroy\n \n\n\n\n Metadata\n \n \n\n\n\n\n\n\n\n\n\n\n \n providers\n \n PROVIDERS\n \n \n\n\n \n selector\n ble-battery-level\n \n\n\n\n\n \n styles\n \n :host {\n display: flex;\n justify-content: center;\n flex-direction: row;\n text-align: center;\n }\n span {\n font-size: 5em;\n position: absolute;\n top: 222px;\n width: 120px;\n display: block;\n text-align: center;\n }\n sup {\n font-size: 24px;\n }\n mat-progress-spinner {\n top: 90px;\n left: 5px;\n }\n mat-icon {\n position: absolute;\n bottom: 255px;\n }\n \n \n\n \n template\n {{ value || '000' }}%\n\n\nbattery_charging_full\n\n \n\n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n color\n \n \n Public\n console\n \n \n deviceSubscription\n \n \n mode\n \n \n Public\n service\n \n \n Public\n snackBar\n \n \n streamSubscription\n \n \n value\n \n \n valuesSubscription\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n disconnect\n \n \n getDeviceStatus\n \n \n hasError\n \n \n ngOnDestroy\n \n \n ngOnInit\n \n \n requestValue\n \n \n updateValue\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n device\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(service: BleService, snackBar: MatSnackBar, console: ConsoleLoggerService)\n \n \n \n \n Defined in src/app/thingy52/battery-level.component.ts:85\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n service\n \n \n BleService\n \n \n \n No\n \n \n \n \n snackBar\n \n \n MatSnackBar\n \n \n \n No\n \n \n \n \n console\n \n \n ConsoleLoggerService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n disconnect\n \n \n \n \n \n \ndisconnect()\n \n \n\n\n \n \n Defined in src/app/thingy52/battery-level.component.ts:162\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n getDeviceStatus\n \n \n \n \n \n \ngetDeviceStatus()\n \n \n\n\n \n \n Defined in src/app/thingy52/battery-level.component.ts:116\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n hasError\n \n \n \n \n \n \nhasError(error: string)\n \n \n\n\n \n \n Defined in src/app/thingy52/battery-level.component.ts:168\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n error\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n ngOnDestroy\n \n \n \n \n \n \nngOnDestroy()\n \n \n\n\n \n \n Defined in src/app/thingy52/battery-level.component.ts:172\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n ngOnInit\n \n \n \n \n \n \nngOnInit()\n \n \n\n\n \n \n Defined in src/app/thingy52/battery-level.component.ts:99\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n requestValue\n \n \n \n \n \n \nrequestValue()\n \n \n\n\n \n \n Defined in src/app/thingy52/battery-level.component.ts:131\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n updateValue\n \n \n \n \n \n \nupdateValue(value: number | literal type)\n \n \n\n\n \n \n Defined in src/app/thingy52/battery-level.component.ts:144\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n number | literal type\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n color\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'primary'\n \n \n \n \n Defined in src/app/thingy52/battery-level.component.ts:78\n \n \n\n\n \n \n \n \n \n \n \n \n Public\n console\n \n \n \n \n \n \n Type : ConsoleLoggerService\n\n \n \n \n \n Defined in src/app/thingy52/battery-level.component.ts:90\n \n \n\n\n \n \n \n \n \n \n \n \n deviceSubscription\n \n \n \n \n \n \n Type : Subscription | null\n\n \n \n \n \n Default value : null\n \n \n \n \n Defined in src/app/thingy52/battery-level.component.ts:81\n \n \n\n\n \n \n \n \n \n \n \n \n mode\n \n \n \n \n \n \n Type : ProgressSpinnerMode\n\n \n \n \n \n Default value : 'determinate'\n \n \n \n \n Defined in src/app/thingy52/battery-level.component.ts:77\n \n \n\n\n \n \n \n \n \n \n \n \n Public\n service\n \n \n \n \n \n \n Type : BleService\n\n \n \n \n \n Defined in src/app/thingy52/battery-level.component.ts:88\n \n \n\n\n \n \n \n \n \n \n \n \n Public\n snackBar\n \n \n \n \n \n \n Type : MatSnackBar\n\n \n \n \n \n Defined in src/app/thingy52/battery-level.component.ts:89\n \n \n\n\n \n \n \n \n \n \n \n \n streamSubscription\n \n \n \n \n \n \n Type : Subscription | null\n\n \n \n \n \n Default value : null\n \n \n \n \n Defined in src/app/thingy52/battery-level.component.ts:80\n \n \n\n\n \n \n \n \n \n \n \n \n value\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Default value : 0\n \n \n \n \n Defined in src/app/thingy52/battery-level.component.ts:76\n \n \n\n\n \n \n \n \n \n \n \n \n valuesSubscription\n \n \n \n \n \n \n Type : Subscription | null\n\n \n \n \n \n Default value : null\n \n \n \n \n Defined in src/app/thingy52/battery-level.component.ts:79\n \n \n\n\n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n device\n \n \n\n \n \n getdevice()\n \n \n \n \n Defined in src/app/thingy52/battery-level.component.ts:83\n \n \n\n \n \n\n\n\n\n \n import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport {\n BluetoothCore,\n BrowserWebBluetooth,\n ConsoleLoggerService,\n} from '@manekinekko/angular-web-bluetooth';\nimport { Subscription } from 'rxjs';\nimport { BleService } from '../ble.service';\nimport { ProgressSpinnerMode } from '@angular/material/progress-spinner';\n\nexport const bleCore = (b: BrowserWebBluetooth, l: ConsoleLoggerService) =>\n new BluetoothCore(b, l);\nexport const bleService = (b: BluetoothCore) => new BleService(b);\n\n// make sure we get a singleton instance of each service\nconst PROVIDERS = [\n {\n provide: BluetoothCore,\n useFactory: bleCore,\n deps: [BrowserWebBluetooth, ConsoleLoggerService],\n },\n {\n provide: BleService,\n useFactory: bleService,\n deps: [BluetoothCore],\n },\n];\n\n@Component({\n selector: 'ble-battery-level',\n template: `\n {{ value || '000' }}%\n \n \n battery_charging_full\n `,\n styles: [\n `\n :host {\n display: flex;\n justify-content: center;\n flex-direction: row;\n text-align: center;\n }\n span {\n font-size: 5em;\n position: absolute;\n top: 222px;\n width: 120px;\n display: block;\n text-align: center;\n }\n sup {\n font-size: 24px;\n }\n mat-progress-spinner {\n top: 90px;\n left: 5px;\n }\n mat-icon {\n position: absolute;\n bottom: 255px;\n }\n `,\n ],\n providers: PROVIDERS,\n})\nexport class BatteryLevelComponent implements OnInit, OnDestroy {\n value = 0;\n mode: ProgressSpinnerMode = 'determinate';\n color = 'primary';\n valuesSubscription: Subscription | null = null;\n streamSubscription: Subscription | null = null;\n deviceSubscription: Subscription | null = null;\n\n get device() {\n return this.service.getDevice();\n }\n\n constructor(\n public service: BleService,\n public snackBar: MatSnackBar,\n public console: ConsoleLoggerService\n ) {\n service.config({\n decoder: (value: DataView) => value.getInt8(0),\n service: 'battery_service',\n characteristic: 'battery_level',\n });\n }\n\n ngOnInit() {\n this.getDeviceStatus();\n\n this.streamSubscription = this.service.stream().subscribe(\n (\n value:\n | number\n | {\n [key: string]: number;\n }\n ) => {\n this.updateValue(value);\n },\n (error) => this.hasError(error)\n );\n }\n\n getDeviceStatus() {\n this.deviceSubscription = this.service.getDevice().subscribe((device) => {\n if (device) {\n this.color = 'warn';\n this.mode = 'indeterminate';\n this.value = 0;\n } else {\n // device not connected or disconnected\n this.value = 0;\n this.mode = 'determinate';\n this.color = 'primary';\n }\n }, this.hasError.bind(this));\n }\n\n requestValue() {\n this.valuesSubscription = this.service.value().subscribe({\n next: (\n val:\n | number\n | {\n [key: string]: number;\n }\n ) => this.updateValue(val),\n error: (err) => this.hasError(err),\n });\n }\n\n updateValue(\n value:\n | number\n | {\n [key: string]: number;\n }\n ) {\n\n if (typeof value === 'number') {\n this.value = value;\n } else {\n this.value = value[''];\n }\n\n this.console.log('Reading battery level %d', value);\n this.mode = 'determinate';\n }\n\n disconnect() {\n this.service.disconnectDevice();\n this.deviceSubscription!.unsubscribe();\n this.valuesSubscription!.unsubscribe();\n }\n\n hasError(error: string) {\n this.snackBar.open(error, 'Close');\n }\n\n ngOnDestroy() {\n this.valuesSubscription?.unsubscribe();\n this.deviceSubscription?.unsubscribe();\n this.streamSubscription?.unsubscribe();\n }\n}\n\n \n\n\n \n \n :host {\n display: flex;\n justify-content: center;\n flex-direction: row;\n text-align: center;\n }\n span {\n font-size: 5em;\n position: absolute;\n top: 222px;\n width: 120px;\n display: block;\n text-align: center;\n }\n sup {\n font-size: 24px;\n }\n mat-progress-spinner {\n top: 90px;\n left: 5px;\n }\n mat-icon {\n position: absolute;\n bottom: 255px;\n }\n \n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = '{{ value || \\'000\\' }}%battery_charging_full'\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ble-root'},{'name': 'BatteryLevelComponent', 'selector': 'ble-battery-level'},{'name': 'DashboardComponent', 'selector': 'ble-dashboard'},{'name': 'HumidityComponent', 'selector': 'ble-humidity'},{'name': 'StepCounterComponent', 'selector': 'ble-stepcounter'},{'name': 'TemperatureComponent', 'selector': 'ble-temperature'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'BatteryLevelComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/BleService.html":{"url":"injectables/BleService.html","title":"injectable - BleService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n BleService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n src/app/ble.service.ts\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n _config\n \n \n Public\n ble\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n config\n \n \n disconnectDevice\n \n \n getDevice\n \n \n stream\n \n \n value\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(ble: BluetoothCore)\n \n \n \n \n Defined in src/app/ble.service.ts:17\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n ble\n \n \n BluetoothCore\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n config\n \n \n \n \n \n \nconfig(options: ServiceOptions)\n \n \n\n\n \n \n Defined in src/app/ble.service.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n options\n \n ServiceOptions\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n disconnectDevice\n \n \n \n \n \n \ndisconnectDevice()\n \n \n\n\n \n \n Defined in src/app/ble.service.ts:47\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n getDevice\n \n \n \n \n \n \ngetDevice()\n \n \n\n\n \n \n Defined in src/app/ble.service.ts:25\n \n \n\n\n \n \n\n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n stream\n \n \n \n \n \n \nstream()\n \n \n\n\n \n \n Defined in src/app/ble.service.ts:29\n \n \n\n\n \n \n\n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n value\n \n \n \n \n \n \nvalue()\n \n \n\n\n \n \n Defined in src/app/ble.service.ts:36\n \n \n\n\n \n \n\n \n Returns : any\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n _config\n \n \n \n \n \n \n Type : ServiceOptions\n\n \n \n \n \n Default value : {} as any\n \n \n \n \n Defined in src/app/ble.service.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n Public\n ble\n \n \n \n \n \n \n Type : BluetoothCore\n\n \n \n \n \n Defined in src/app/ble.service.ts:19\n \n \n\n\n \n \n\n\n \n\n\n \n import { Injectable } from '@angular/core';\nimport { BluetoothCore } from '@manekinekko/angular-web-bluetooth';\nimport { map, tap } from 'rxjs/operators';\n\ntype ServiceOptions = {\n characteristic: string;\n service: string,\n decoder(value: DataView): number\n};\n\n@Injectable({\n providedIn: 'root'\n})\nexport class BleService {\n\n // tslint:disable-next-line: variable-name\n private _config: ServiceOptions = {} as any;\n\n constructor(public ble: BluetoothCore) {}\n\n config(options: ServiceOptions) {\n this._config = options;\n }\n\n getDevice() {\n return this.ble.getDevice$();\n }\n\n stream() {\n return this.ble.streamValues$().pipe(\n tap(value => console.log(value)),\n map(this._config.decoder)\n );\n }\n\n value() {\n return this.ble\n .value$({\n service: this._config.service,\n characteristic: this._config.characteristic\n })\n .pipe(\n map(this._config.decoder)\n );\n }\n\n disconnectDevice() {\n this.ble.disconnectDevice();\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/BrowserWebBluetooth.html":{"url":"injectables/BrowserWebBluetooth.html","title":"injectable - BrowserWebBluetooth","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n BrowserWebBluetooth\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/manekinekko/angular-web-bluetooth/src/lib/platform/browser.ts\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n ble\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n requestDevice\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor()\n \n \n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/platform/browser.ts:5\n \n \n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n requestDevice\n \n \n \n \n \n \nrequestDevice(options: RequestDeviceOptions)\n \n \n\n\n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/platform/browser.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n options\n \n RequestDeviceOptions\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n ble\n \n \n \n \n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/platform/browser.ts:5\n \n \n\n\n \n \n\n\n \n\n\n \n import { Injectable } from '@angular/core';\n\n@Injectable()\nexport class BrowserWebBluetooth {\n private ble;\n\n constructor() {\n this.ble = navigator.bluetooth;\n if (!this.ble) {\n throw new Error('Your browser does not support Smart Bluetooth. See http://caniuse.com/#search=Bluetooth for more details.');\n }\n }\n\n requestDevice(options: RequestDeviceOptions): Promise {\n return this.ble.requestDevice(options);\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ConsoleLoggerService.html":{"url":"injectables/ConsoleLoggerService.html","title":"injectable - ConsoleLoggerService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ConsoleLoggerService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/manekinekko/angular-web-bluetooth/src/lib/logger.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n error\n \n \n log\n \n \n warn\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n error\n \n \n \n \n \n \nerror(...args: any[])\n \n \n\n\n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/logger.service.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n args\n \n any[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n log\n \n \n \n \n \n \nlog(...args: any[])\n \n \n\n\n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/logger.service.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n args\n \n any[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n warn\n \n \n \n \n \n \nwarn(...args: any[])\n \n \n\n\n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/logger.service.ts:19\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n args\n \n any[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@angular/core';\n\nexport interface Logger {\n log(args: string[]): void;\n error(args: string[]): void;\n warn(args: string[]): void;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ConsoleLoggerService implements Logger {\n log(...args: any[]) {\n console.log.apply(console, args);\n }\n error(...args: any[]) {\n console.error.apply(console, args);\n }\n warn(...args: any[]) {\n console.warn.apply(console, args);\n }\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class NoLoggerService implements Logger {\n log(...args: any[]) {}\n error(...args: any[]) {}\n warn(...args: any[]) {}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/DashboardComponent.html":{"url":"components/DashboardComponent.html","title":"component - DashboardComponent","body":"\n \n\n\n\n\n\n Components\n \n DashboardComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n src/app/dashboard/dashboard.component.ts\n\n\n\n\n\n\n\n\n Metadata\n \n \n\n\n\n\n\n\n\n\n\n\n\n\n \n selector\n ble-dashboard\n \n\n\n\n \n styleUrls\n ./dashboard.component.css\n \n\n\n\n \n templateUrl\n ./dashboard.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n\n \n Constructor\n \n \n \n \nconstructor()\n \n \n \n \n Defined in src/app/dashboard/dashboard.component.ts:8\n \n \n\n \n \n\n\n\n\n\n\n\n\n\n\n\n \n import { Component } from '@angular/core';\n\n@Component({\n selector: 'ble-dashboard',\n templateUrl: './dashboard.component.html',\n styleUrls: ['./dashboard.component.css'],\n})\nexport class DashboardComponent {\n\n constructor() {}\n}\n\n \n\n \n \n \n Angular Web BLE Demo\n\n\n\n \n\n \n\n \n \n \n \n Battery Level\n \n more_vert\n \n \n \n bluetooth_searching\n Connect\n \n \n bluetooth_disabled\n Disconnect\n \n \n \n \n {{ device.name }}\n \n \n \n \n \n \n \n\n \n\n \n \n \n \n Humidity Level\n \n more_vert\n \n \n \n bluetooth_searching\n Connect\n \n \n bluetooth_disabled\n Disconnect\n \n \n \n \n {{ device.name }}\n \n \n \n \n \n \n \n\n \n\n \n \n \n \n Temperature\n \n more_vert\n \n \n \n bluetooth_searching\n Connect\n \n \n bluetooth_disabled\n Disconnect\n \n \n \n \n {{ device.name }}\n \n \n \n \n \n \n \n\n \n\n \n \n \n \n Stepper\n \n more_vert\n \n \n \n bluetooth_searching\n Connect\n \n \n bluetooth_disabled\n Disconnect\n \n \n \n \n {{ device.name }}\n \n \n \n \n \n \n \n\n \n\n\n \n\n \n \n ./dashboard.component.css\n \n section {\n padding: 40px;\n max-width: 700px;\n margin: 0 auto;\n}\n\n.mat-toolbar.mat-primary {\n position: sticky;\n top: 0;\n z-index: 1;\n}\n\n.grid-container {\n margin: 20px;\n}\n\n.dashboard-card {\n position: absolute;\n top: 15px;\n left: 15px;\n right: 15px;\n bottom: 15px;\n}\n\n.more-button {\n position: absolute;\n top: 5px;\n right: 10px;\n}\n\n.dashboard-card-content {\n text-align: center;\n}\n\n\nimg {\n width: 32px;\n margin: 0 10px;\n}\n\n.mat-icon {\n margin: 0 10px 0 0;\n}\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' Angular Web BLE Demo Battery Level more_vert bluetooth_searching Connect bluetooth_disabled Disconnect {{ device.name }} Humidity Level more_vert bluetooth_searching Connect bluetooth_disabled Disconnect {{ device.name }} Temperature more_vert bluetooth_searching Connect bluetooth_disabled Disconnect {{ device.name }} Stepper more_vert bluetooth_searching Connect bluetooth_disabled Disconnect {{ device.name }} '\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ble-root'},{'name': 'BatteryLevelComponent', 'selector': 'ble-battery-level'},{'name': 'DashboardComponent', 'selector': 'ble-dashboard'},{'name': 'HumidityComponent', 'selector': 'ble-humidity'},{'name': 'StepCounterComponent', 'selector': 'ble-stepcounter'},{'name': 'TemperatureComponent', 'selector': 'ble-temperature'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'DashboardComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FakeBluetoothDevice.html":{"url":"classes/FakeBluetoothDevice.html","title":"class - FakeBluetoothDevice","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FakeBluetoothDevice\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n gatt\n \n \n Public\n id\n \n \n Private\n listeners\n \n \n Public\n name\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n addEventListener\n \n \n clear\n \n \n disconnect\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(id: string, name: string)\n \n \n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts:12\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n \n string\n \n \n \n No\n \n \n \n \n name\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n gatt\n \n \n \n \n \n \n Type : BluetoothRemoteGATTServer | null\n\n \n \n \n \n Default value : null\n \n \n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts:7\n \n \n\n\n \n \n \n \n \n \n \n \n Public\n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n listeners\n \n \n \n \n \n \n Type : literal type\n\n \n \n \n \n Default value : {\n gattserverdisconnected: []\n }\n \n \n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n Public\n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts:14\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n addEventListener\n \n \n \n \n \n \naddEventListener(type: string, listener: EventListener)\n \n \n\n\n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n type\n \n string\n \n\n \n No\n \n\n\n \n \n listener\n \n EventListener\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n clear\n \n \n \n \n \n \nclear()\n \n \n\n\n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts:29\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n disconnect\n \n \n \n \n \n \ndisconnect()\n \n \n\n\n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts:24\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n export class FakeBluetoothDevice {\n gatt: BluetoothRemoteGATTServer | null = null;\n private listeners: {\n [key: string]: EventListener[]\n } = {\n gattserverdisconnected: []\n };\n\n constructor(public id: string, public name: string) {\n }\n\n addEventListener(type: string, listener: EventListener) {\n this.listeners[type] = [\n ...this.listeners[type],\n listener\n ];\n }\n\n disconnect() {\n const mockedEvent = {target: this} as unknown;\n this.listeners['gattserverdisconnected'].forEach(listener => listener(mockedEvent as Event));\n }\n\n clear() {\n this.id = \"\";\n this.name = \"\";\n this.listeners = {\n gattserverdisconnected: []\n };\n }\n}\n\nexport class FakeBluetoothRemoteGATTServer {\n connected = false;\n\n constructor(public device: any, public services: { [key: string]: { service: any, primary: boolean } }) {\n device.gatt = this;\n }\n\n connect() {\n this.connected = true;\n return Promise.resolve(this);\n }\n\n getPrimaryService(service: BluetoothServiceUUID) {\n return Promise.resolve(this.services[service].service);\n }\n\n disconnect() {\n this.device.disconnect();\n this.connected = false;\n }\n}\n\nexport class FakeBluetoothRemoteGATTService {\n constructor(public device: any, public characteristics: any) {\n this.characteristics.service = this;\n }\n\n getCharacteristic(characteristic: BluetoothCharacteristicUUID) {\n return Promise.resolve(this.characteristics[characteristic]);\n }\n}\n\nexport class FakeBluetoothRemoteGATTCharacteristic {\n value: DataView | undefined;\n properties: BluetoothCharacteristicProperties;\n private readonly initialValue: DataView | undefined;\n private listeners: {\n [key: string]: EventListener[]\n } = {\n characteristicvaluechanged: []\n };\n\n constructor(properties: BluetoothCharacteristicProperties, initialValue?: DataView) {\n this.properties = properties;\n this.value = initialValue;\n this.initialValue = initialValue;\n }\n\n readValue() {\n return Promise.resolve(this.value);\n }\n\n addEventListener(type: string, listener: EventListener) {\n this.listeners[type] = [\n ...this.listeners[type],\n listener\n ];\n }\n\n changeValue(value: DataView) {\n this.value = value;\n const mockedEvent = {target: this} as unknown;\n this.listeners['characteristicvaluechanged'].forEach(listener => listener(mockedEvent as Event));\n }\n\n clear() {\n this.value = this.initialValue;\n this.listeners = {\n characteristicvaluechanged: []\n };\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{"url":"classes/FakeBluetoothRemoteGATTCharacteristic.html","title":"class - FakeBluetoothRemoteGATTCharacteristic","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FakeBluetoothRemoteGATTCharacteristic\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Readonly\n initialValue\n \n \n Private\n listeners\n \n \n properties\n \n \n value\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n addEventListener\n \n \n changeValue\n \n \n clear\n \n \n readValue\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(properties: BluetoothCharacteristicProperties, initialValue?: DataView)\n \n \n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts:78\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n properties\n \n \n BluetoothCharacteristicProperties\n \n \n \n No\n \n \n \n \n initialValue\n \n \n DataView\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Readonly\n initialValue\n \n \n \n \n \n \n Type : DataView | undefined\n\n \n \n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts:73\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n listeners\n \n \n \n \n \n \n Type : literal type\n\n \n \n \n \n Default value : {\n characteristicvaluechanged: []\n }\n \n \n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts:74\n \n \n\n\n \n \n \n \n \n \n \n \n properties\n \n \n \n \n \n \n Type : BluetoothCharacteristicProperties\n\n \n \n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts:72\n \n \n\n\n \n \n \n \n \n \n \n \n value\n \n \n \n \n \n \n Type : DataView | undefined\n\n \n \n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts:71\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n addEventListener\n \n \n \n \n \n \naddEventListener(type: string, listener: EventListener)\n \n \n\n\n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts:90\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n type\n \n string\n \n\n \n No\n \n\n\n \n \n listener\n \n EventListener\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n changeValue\n \n \n \n \n \n \nchangeValue(value: DataView)\n \n \n\n\n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts:97\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n DataView\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n clear\n \n \n \n \n \n \nclear()\n \n \n\n\n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts:103\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n readValue\n \n \n \n \n \n \nreadValue()\n \n \n\n\n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts:86\n \n \n\n\n \n \n\n \n Returns : any\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n export class FakeBluetoothDevice {\n gatt: BluetoothRemoteGATTServer | null = null;\n private listeners: {\n [key: string]: EventListener[]\n } = {\n gattserverdisconnected: []\n };\n\n constructor(public id: string, public name: string) {\n }\n\n addEventListener(type: string, listener: EventListener) {\n this.listeners[type] = [\n ...this.listeners[type],\n listener\n ];\n }\n\n disconnect() {\n const mockedEvent = {target: this} as unknown;\n this.listeners['gattserverdisconnected'].forEach(listener => listener(mockedEvent as Event));\n }\n\n clear() {\n this.id = \"\";\n this.name = \"\";\n this.listeners = {\n gattserverdisconnected: []\n };\n }\n}\n\nexport class FakeBluetoothRemoteGATTServer {\n connected = false;\n\n constructor(public device: any, public services: { [key: string]: { service: any, primary: boolean } }) {\n device.gatt = this;\n }\n\n connect() {\n this.connected = true;\n return Promise.resolve(this);\n }\n\n getPrimaryService(service: BluetoothServiceUUID) {\n return Promise.resolve(this.services[service].service);\n }\n\n disconnect() {\n this.device.disconnect();\n this.connected = false;\n }\n}\n\nexport class FakeBluetoothRemoteGATTService {\n constructor(public device: any, public characteristics: any) {\n this.characteristics.service = this;\n }\n\n getCharacteristic(characteristic: BluetoothCharacteristicUUID) {\n return Promise.resolve(this.characteristics[characteristic]);\n }\n}\n\nexport class FakeBluetoothRemoteGATTCharacteristic {\n value: DataView | undefined;\n properties: BluetoothCharacteristicProperties;\n private readonly initialValue: DataView | undefined;\n private listeners: {\n [key: string]: EventListener[]\n } = {\n characteristicvaluechanged: []\n };\n\n constructor(properties: BluetoothCharacteristicProperties, initialValue?: DataView) {\n this.properties = properties;\n this.value = initialValue;\n this.initialValue = initialValue;\n }\n\n readValue() {\n return Promise.resolve(this.value);\n }\n\n addEventListener(type: string, listener: EventListener) {\n this.listeners[type] = [\n ...this.listeners[type],\n listener\n ];\n }\n\n changeValue(value: DataView) {\n this.value = value;\n const mockedEvent = {target: this} as unknown;\n this.listeners['characteristicvaluechanged'].forEach(listener => listener(mockedEvent as Event));\n }\n\n clear() {\n this.value = this.initialValue;\n this.listeners = {\n characteristicvaluechanged: []\n };\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FakeBluetoothRemoteGATTServer.html":{"url":"classes/FakeBluetoothRemoteGATTServer.html","title":"class - FakeBluetoothRemoteGATTServer","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FakeBluetoothRemoteGATTServer\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n connected\n \n \n Public\n device\n \n \n Public\n services\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n connect\n \n \n disconnect\n \n \n getPrimaryService\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(device: any, services: literal type)\n \n \n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts:39\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n device\n \n \n any\n \n \n \n No\n \n \n \n \n services\n \n \n literal type\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n connected\n \n \n \n \n \n \n Default value : false\n \n \n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts:39\n \n \n\n\n \n \n \n \n \n \n \n \n Public\n device\n \n \n \n \n \n \n Type : any\n\n \n \n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts:41\n \n \n\n\n \n \n \n \n \n \n \n \n Public\n services\n \n \n \n \n \n \n Type : literal type\n\n \n \n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts:41\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n connect\n \n \n \n \n \n \nconnect()\n \n \n\n\n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts:45\n \n \n\n\n \n \n\n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n disconnect\n \n \n \n \n \n \ndisconnect()\n \n \n\n\n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts:54\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n getPrimaryService\n \n \n \n \n \n \ngetPrimaryService(service: BluetoothServiceUUID)\n \n \n\n\n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts:50\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n service\n \n BluetoothServiceUUID\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n export class FakeBluetoothDevice {\n gatt: BluetoothRemoteGATTServer | null = null;\n private listeners: {\n [key: string]: EventListener[]\n } = {\n gattserverdisconnected: []\n };\n\n constructor(public id: string, public name: string) {\n }\n\n addEventListener(type: string, listener: EventListener) {\n this.listeners[type] = [\n ...this.listeners[type],\n listener\n ];\n }\n\n disconnect() {\n const mockedEvent = {target: this} as unknown;\n this.listeners['gattserverdisconnected'].forEach(listener => listener(mockedEvent as Event));\n }\n\n clear() {\n this.id = \"\";\n this.name = \"\";\n this.listeners = {\n gattserverdisconnected: []\n };\n }\n}\n\nexport class FakeBluetoothRemoteGATTServer {\n connected = false;\n\n constructor(public device: any, public services: { [key: string]: { service: any, primary: boolean } }) {\n device.gatt = this;\n }\n\n connect() {\n this.connected = true;\n return Promise.resolve(this);\n }\n\n getPrimaryService(service: BluetoothServiceUUID) {\n return Promise.resolve(this.services[service].service);\n }\n\n disconnect() {\n this.device.disconnect();\n this.connected = false;\n }\n}\n\nexport class FakeBluetoothRemoteGATTService {\n constructor(public device: any, public characteristics: any) {\n this.characteristics.service = this;\n }\n\n getCharacteristic(characteristic: BluetoothCharacteristicUUID) {\n return Promise.resolve(this.characteristics[characteristic]);\n }\n}\n\nexport class FakeBluetoothRemoteGATTCharacteristic {\n value: DataView | undefined;\n properties: BluetoothCharacteristicProperties;\n private readonly initialValue: DataView | undefined;\n private listeners: {\n [key: string]: EventListener[]\n } = {\n characteristicvaluechanged: []\n };\n\n constructor(properties: BluetoothCharacteristicProperties, initialValue?: DataView) {\n this.properties = properties;\n this.value = initialValue;\n this.initialValue = initialValue;\n }\n\n readValue() {\n return Promise.resolve(this.value);\n }\n\n addEventListener(type: string, listener: EventListener) {\n this.listeners[type] = [\n ...this.listeners[type],\n listener\n ];\n }\n\n changeValue(value: DataView) {\n this.value = value;\n const mockedEvent = {target: this} as unknown;\n this.listeners['characteristicvaluechanged'].forEach(listener => listener(mockedEvent as Event));\n }\n\n clear() {\n this.value = this.initialValue;\n this.listeners = {\n characteristicvaluechanged: []\n };\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FakeBluetoothRemoteGATTService.html":{"url":"classes/FakeBluetoothRemoteGATTService.html","title":"class - FakeBluetoothRemoteGATTService","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FakeBluetoothRemoteGATTService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Public\n characteristics\n \n \n Public\n device\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n getCharacteristic\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(device: any, characteristics: any)\n \n \n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts:60\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n device\n \n \n any\n \n \n \n No\n \n \n \n \n characteristics\n \n \n any\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Public\n characteristics\n \n \n \n \n \n \n Type : any\n\n \n \n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts:61\n \n \n\n\n \n \n \n \n \n \n \n \n Public\n device\n \n \n \n \n \n \n Type : any\n\n \n \n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts:61\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getCharacteristic\n \n \n \n \n \n \ngetCharacteristic(characteristic: BluetoothCharacteristicUUID)\n \n \n\n\n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts:65\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n characteristic\n \n BluetoothCharacteristicUUID\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n export class FakeBluetoothDevice {\n gatt: BluetoothRemoteGATTServer | null = null;\n private listeners: {\n [key: string]: EventListener[]\n } = {\n gattserverdisconnected: []\n };\n\n constructor(public id: string, public name: string) {\n }\n\n addEventListener(type: string, listener: EventListener) {\n this.listeners[type] = [\n ...this.listeners[type],\n listener\n ];\n }\n\n disconnect() {\n const mockedEvent = {target: this} as unknown;\n this.listeners['gattserverdisconnected'].forEach(listener => listener(mockedEvent as Event));\n }\n\n clear() {\n this.id = \"\";\n this.name = \"\";\n this.listeners = {\n gattserverdisconnected: []\n };\n }\n}\n\nexport class FakeBluetoothRemoteGATTServer {\n connected = false;\n\n constructor(public device: any, public services: { [key: string]: { service: any, primary: boolean } }) {\n device.gatt = this;\n }\n\n connect() {\n this.connected = true;\n return Promise.resolve(this);\n }\n\n getPrimaryService(service: BluetoothServiceUUID) {\n return Promise.resolve(this.services[service].service);\n }\n\n disconnect() {\n this.device.disconnect();\n this.connected = false;\n }\n}\n\nexport class FakeBluetoothRemoteGATTService {\n constructor(public device: any, public characteristics: any) {\n this.characteristics.service = this;\n }\n\n getCharacteristic(characteristic: BluetoothCharacteristicUUID) {\n return Promise.resolve(this.characteristics[characteristic]);\n }\n}\n\nexport class FakeBluetoothRemoteGATTCharacteristic {\n value: DataView | undefined;\n properties: BluetoothCharacteristicProperties;\n private readonly initialValue: DataView | undefined;\n private listeners: {\n [key: string]: EventListener[]\n } = {\n characteristicvaluechanged: []\n };\n\n constructor(properties: BluetoothCharacteristicProperties, initialValue?: DataView) {\n this.properties = properties;\n this.value = initialValue;\n this.initialValue = initialValue;\n }\n\n readValue() {\n return Promise.resolve(this.value);\n }\n\n addEventListener(type: string, listener: EventListener) {\n this.listeners[type] = [\n ...this.listeners[type],\n listener\n ];\n }\n\n changeValue(value: DataView) {\n this.value = value;\n const mockedEvent = {target: this} as unknown;\n this.listeners['characteristicvaluechanged'].forEach(listener => listener(mockedEvent as Event));\n }\n\n clear() {\n this.value = this.initialValue;\n this.listeners = {\n characteristicvaluechanged: []\n };\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/HumidityComponent.html":{"url":"components/HumidityComponent.html","title":"component - HumidityComponent","body":"\n \n\n\n\n\n\n Components\n \n HumidityComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n src/app/thingy52/humidity.component.ts\n\n\n\n\n\n \n Implements\n \n \n OnInit\n OnDestroy\n \n\n\n\n Metadata\n \n \n\n\n\n\n\n\n\n\n\n\n \n providers\n \n PROVIDERS\n \n \n\n\n \n selector\n ble-humidity\n \n\n\n\n\n \n styles\n \n :host {\n display: block;\n }\n canvas {\n margin-left: -16px;\n }\n \n\n \n template\n \n\n \n\n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n chart\n \n \n \n chartRef\n \n \n series\n \n \n Public\n service\n \n \n Public\n snackBar\n \n \n streamSubscription\n \n \n valuesSubscription\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n disconnect\n \n \n hasError\n \n \n initChart\n \n \n ngOnDestroy\n \n \n ngOnInit\n \n \n requestValue\n \n \n updateValue\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n device\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(service: BleService, snackBar: MatSnackBar)\n \n \n \n \n Defined in src/app/thingy52/humidity.component.ts:48\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n service\n \n \n BleService\n \n \n \n No\n \n \n \n \n snackBar\n \n \n MatSnackBar\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n disconnect\n \n \n \n \n \n \ndisconnect()\n \n \n\n\n \n \n Defined in src/app/thingy52/humidity.component.ts:101\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n hasError\n \n \n \n \n \n \nhasError(error: string)\n \n \n\n\n \n \n Defined in src/app/thingy52/humidity.component.ts:108\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n error\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n initChart\n \n \n \n \n \n \ninitChart()\n \n \n\n\n \n \n Defined in src/app/thingy52/humidity.component.ts:71\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n ngOnDestroy\n \n \n \n \n \n \nngOnDestroy()\n \n \n\n\n \n \n Defined in src/app/thingy52/humidity.component.ts:112\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n ngOnInit\n \n \n \n \n \n \nngOnInit()\n \n \n\n\n \n \n Defined in src/app/thingy52/humidity.component.ts:61\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n requestValue\n \n \n \n \n \n \nrequestValue()\n \n \n\n\n \n \n Defined in src/app/thingy52/humidity.component.ts:81\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n updateValue\n \n \n \n \n \n \nupdateValue(value: number | literal type)\n \n \n\n\n \n \n Defined in src/app/thingy52/humidity.component.ts:90\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n number | literal type\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n chart\n \n \n \n \n \n \n Type : SmoothieChart | null\n\n \n \n \n \n Default value : null\n \n \n \n \n Defined in src/app/thingy52/humidity.component.ts:39\n \n \n\n\n \n \n \n \n \n \n \n \n \n chartRef\n \n \n \n \n \n \n Type : ElementRef | null\n\n \n \n \n \n Default value : null\n \n \n \n \n Decorators : \n \n \n @ViewChild('chart', {static: true})\n \n \n \n \n \n Defined in src/app/thingy52/humidity.component.ts:44\n \n \n\n\n \n \n \n \n \n \n \n \n series\n \n \n \n \n \n \n Type : TimeSeries | null\n\n \n \n \n \n Default value : null\n \n \n \n \n Defined in src/app/thingy52/humidity.component.ts:38\n \n \n\n\n \n \n \n \n \n \n \n \n Public\n service\n \n \n \n \n \n \n Type : BleService\n\n \n \n \n \n Defined in src/app/thingy52/humidity.component.ts:51\n \n \n\n\n \n \n \n \n \n \n \n \n Public\n snackBar\n \n \n \n \n \n \n Type : MatSnackBar\n\n \n \n \n \n Defined in src/app/thingy52/humidity.component.ts:52\n \n \n\n\n \n \n \n \n \n \n \n \n streamSubscription\n \n \n \n \n \n \n Type : Subscription | null\n\n \n \n \n \n Default value : null\n \n \n \n \n Defined in src/app/thingy52/humidity.component.ts:41\n \n \n\n\n \n \n \n \n \n \n \n \n valuesSubscription\n \n \n \n \n \n \n Type : Subscription | null\n\n \n \n \n \n Default value : null\n \n \n \n \n Defined in src/app/thingy52/humidity.component.ts:40\n \n \n\n\n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n device\n \n \n\n \n \n getdevice()\n \n \n \n \n Defined in src/app/thingy52/humidity.component.ts:46\n \n \n\n \n \n\n\n\n\n \n import { Component, ElementRef, OnDestroy, OnInit, ViewChild } from '@angular/core';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { BluetoothCore, BrowserWebBluetooth, ConsoleLoggerService } from '@manekinekko/angular-web-bluetooth';\nimport { of, Subscription } from 'rxjs';\nimport { SmoothieChart, TimeSeries } from 'smoothie';\nimport { BleService } from '../ble.service';\n\nexport const bleCore = (b: BrowserWebBluetooth, l: ConsoleLoggerService) => new BluetoothCore(b, l);\nexport const bleService = (b: BluetoothCore) => new BleService(b);\n\n\n// make sure we get a singleton instance of each service\nconst PROVIDERS = [{\n provide: BluetoothCore,\n useFactory: bleCore,\n deps: [BrowserWebBluetooth, ConsoleLoggerService]\n}, {\n provide: BleService,\n useFactory: bleService,\n deps: [BluetoothCore]\n}];\n\n@Component({\n selector: 'ble-humidity',\n template: `\n \n `,\n styles: [`\n :host {\n display: block;\n }\n canvas {\n margin-left: -16px;\n }`],\n providers: PROVIDERS\n})\nexport class HumidityComponent implements OnInit, OnDestroy {\n series: TimeSeries | null = null;\n chart: SmoothieChart | null = null;\n valuesSubscription: Subscription | null = null;\n streamSubscription: Subscription | null = null;\n\n @ViewChild('chart', { static: true })\n chartRef: ElementRef | null = null;\n\n get device() {\n return this.service.getDevice();\n }\n\n constructor(\n public service: BleService,\n public snackBar: MatSnackBar) {\n\n service.config({\n decoder: (value: DataView) => value.getInt8(0),\n service: 'ef680200-9b35-4933-9b10-52ffa9740042',\n characteristic: 'ef680203-9b35-4933-9b10-52ffa9740042'\n });\n }\n\n ngOnInit() {\n this.initChart();\n\n this.streamSubscription = this.service.stream()\n .subscribe({\n next: (val: number | { [key: string]: number; }) => this.updateValue(val),\n error: (err) => this.hasError(err)\n });\n }\n\n initChart() {\n this.series = new window.TimeSeries() as TimeSeries;\n const canvas = this.chartRef!.nativeElement;\n // tslint:disable-next-line: max-line-length\n this.chart = new window.SmoothieChart({ interpolation: 'step', grid: { fillStyle: '#ffffff', strokeStyle: 'rgba(119,119,119,0.18)', borderVisible: false }, labels: { fillStyle: '#000000', fontSize: 17 }, tooltip: true });\n this.chart!.addTimeSeries(this.series, { lineWidth: 1, strokeStyle: '#ff0000', fillStyle: 'rgba(255,161,161,0.30)' });\n this.chart!.streamTo(canvas);\n this.chart!.stop();\n }\n\n requestValue() {\n this.valuesSubscription = this.service.value()\n .subscribe(\n () => null,\n () => of(this.hasError.bind(this)),\n );\n }\n\n\n updateValue(value: number | { [key: string]: number; }) {\n console.log('Reading humidity %d', value);\n\n if (typeof value === 'number') {\n this.series!.append(Date.now(), value);\n this.chart!.start();\n }\n\n }\n\n\n disconnect() {\n this.service.disconnectDevice();\n this.series!.clear();\n this.chart!.stop();\n this.valuesSubscription!.unsubscribe();\n }\n\n hasError(error: string) {\n this.snackBar.open(error, 'Close');\n }\n\n ngOnDestroy() {\n this.valuesSubscription!.unsubscribe();\n this.streamSubscription!.unsubscribe();\n }\n}\n\n \n\n\n \n \n :host {\n display: block;\n }\n canvas {\n margin-left: -16px;\n }\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ''\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ble-root'},{'name': 'BatteryLevelComponent', 'selector': 'ble-battery-level'},{'name': 'DashboardComponent', 'selector': 'ble-dashboard'},{'name': 'HumidityComponent', 'selector': 'ble-humidity'},{'name': 'StepCounterComponent', 'selector': 'ble-stepcounter'},{'name': 'TemperatureComponent', 'selector': 'ble-temperature'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'HumidityComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/Logger.html":{"url":"interfaces/Logger.html","title":"interface - Logger","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n Logger\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/manekinekko/angular-web-bluetooth/src/lib/logger.service.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Methods\n \n \n \n \n \n \n \n error\n \n \n \n \n log\n \n \n \n \n warn\n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n error\n \n \n \n \n \n \nerror(args: string[])\n \n \n\n\n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/logger.service.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n args\n \n string[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n log\n \n \n \n \n \n \nlog(args: string[])\n \n \n\n\n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/logger.service.ts:4\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n args\n \n string[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n warn\n \n \n \n \n \n \nwarn(args: string[])\n \n \n\n\n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/logger.service.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n args\n \n string[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@angular/core';\n\nexport interface Logger {\n log(args: string[]): void;\n error(args: string[]): void;\n warn(args: string[]): void;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ConsoleLoggerService implements Logger {\n log(...args: any[]) {\n console.log.apply(console, args);\n }\n error(...args: any[]) {\n console.error.apply(console, args);\n }\n warn(...args: any[]) {\n console.warn.apply(console, args);\n }\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class NoLoggerService implements Logger {\n log(...args: any[]) {}\n error(...args: any[]) {}\n warn(...args: any[]) {}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/NoLoggerService.html":{"url":"injectables/NoLoggerService.html","title":"injectable - NoLoggerService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n NoLoggerService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/manekinekko/angular-web-bluetooth/src/lib/logger.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n error\n \n \n log\n \n \n warn\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n error\n \n \n \n \n \n \nerror(...args: any[])\n \n \n\n\n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/logger.service.ts:29\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n args\n \n any[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n log\n \n \n \n \n \n \nlog(...args: any[])\n \n \n\n\n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/logger.service.ts:28\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n args\n \n any[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n warn\n \n \n \n \n \n \nwarn(...args: any[])\n \n \n\n\n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/logger.service.ts:30\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n args\n \n any[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@angular/core';\n\nexport interface Logger {\n log(args: string[]): void;\n error(args: string[]): void;\n warn(args: string[]): void;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ConsoleLoggerService implements Logger {\n log(...args: any[]) {\n console.log.apply(console, args);\n }\n error(...args: any[]) {\n console.error.apply(console, args);\n }\n warn(...args: any[]) {\n console.warn.apply(console, args);\n }\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class NoLoggerService implements Logger {\n log(...args: any[]) {}\n error(...args: any[]) {}\n warn(...args: any[]) {}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ServerWebBluetooth.html":{"url":"injectables/ServerWebBluetooth.html","title":"injectable - ServerWebBluetooth","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ServerWebBluetooth\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/manekinekko/angular-web-bluetooth/src/lib/platform/server.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n instance\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n instance\n \n \n \n \n \n \n \n instance()\n \n \n\n\n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/platform/server.ts:5\n \n \n\n\n \n \n\n \n Returns : {}\n\n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@angular/core';\n\n@Injectable()\nexport class ServerWebBluetooth {\n static instance() {\n // mocked object for now\n return {};\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/StepCounterComponent.html":{"url":"components/StepCounterComponent.html","title":"component - StepCounterComponent","body":"\n \n\n\n\n\n\n Components\n \n StepCounterComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n src/app/thingy52/stepcounter.component.ts\n\n\n\n\n\n \n Implements\n \n \n OnInit\n OnDestroy\n \n\n\n\n Metadata\n \n \n\n\n\n\n\n\n\n\n\n\n \n providers\n \n PROVIDERS\n \n \n\n\n \n selector\n ble-stepcounter\n \n\n\n\n\n \n styles\n \n :host {\n display: block;\n }\n span {\n font-size: 5em;\n position: absolute;\n top: 112px;\n left: 214px;\n width: 120px;\n display: block;\n text-align: center;\n }\n mat-icon {\n font-size: 11em;\n width: 100%;\n height: 100%;\n }\n \n\n \n template\n {{ value || \"000\" }}\ndirections_walk\n\n \n\n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Public\n service\n \n \n Public\n snackBar\n \n \n streamSubscription\n \n \n value\n \n \n valuesSubscription\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n disconnect\n \n \n hasError\n \n \n ngOnDestroy\n \n \n ngOnInit\n \n \n requestValue\n \n \n updateValue\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n device\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(service: BleService, snackBar: MatSnackBar)\n \n \n \n \n Defined in src/app/thingy52/stepcounter.component.ts:55\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n service\n \n \n BleService\n \n \n \n No\n \n \n \n \n snackBar\n \n \n MatSnackBar\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n disconnect\n \n \n \n \n \n \ndisconnect()\n \n \n\n\n \n \n Defined in src/app/thingy52/stepcounter.component.ts:90\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n hasError\n \n \n \n \n \n \nhasError(error: string)\n \n \n\n\n \n \n Defined in src/app/thingy52/stepcounter.component.ts:95\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n error\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n ngOnDestroy\n \n \n \n \n \n \nngOnDestroy()\n \n \n\n\n \n \n Defined in src/app/thingy52/stepcounter.component.ts:99\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n ngOnInit\n \n \n \n \n \n \nngOnInit()\n \n \n\n\n \n \n Defined in src/app/thingy52/stepcounter.component.ts:72\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n requestValue\n \n \n \n \n \n \nrequestValue()\n \n \n\n\n \n \n Defined in src/app/thingy52/stepcounter.component.ts:80\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n updateValue\n \n \n \n \n \n \nupdateValue(value: number)\n \n \n\n\n \n \n Defined in src/app/thingy52/stepcounter.component.ts:85\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Public\n service\n \n \n \n \n \n \n Type : BleService\n\n \n \n \n \n Defined in src/app/thingy52/stepcounter.component.ts:58\n \n \n\n\n \n \n \n \n \n \n \n \n Public\n snackBar\n \n \n \n \n \n \n Type : MatSnackBar\n\n \n \n \n \n Defined in src/app/thingy52/stepcounter.component.ts:59\n \n \n\n\n \n \n \n \n \n \n \n \n streamSubscription\n \n \n \n \n \n \n Type : Subscription | null\n\n \n \n \n \n Default value : null\n \n \n \n \n Defined in src/app/thingy52/stepcounter.component.ts:50\n \n \n\n\n \n \n \n \n \n \n \n \n value\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Default value : 0\n \n \n \n \n Defined in src/app/thingy52/stepcounter.component.ts:51\n \n \n\n\n \n \n \n \n \n \n \n \n valuesSubscription\n \n \n \n \n \n \n Type : Subscription | null\n\n \n \n \n \n Default value : null\n \n \n \n \n Defined in src/app/thingy52/stepcounter.component.ts:49\n \n \n\n\n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n device\n \n \n\n \n \n getdevice()\n \n \n \n \n Defined in src/app/thingy52/stepcounter.component.ts:53\n \n \n\n \n \n\n\n\n\n \n import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { BluetoothCore, BrowserWebBluetooth, ConsoleLoggerService } from '@manekinekko/angular-web-bluetooth';\nimport { Subscription } from 'rxjs';\nimport { BleService } from '../ble.service';\n\nexport const bleCore = (b: BrowserWebBluetooth, l: ConsoleLoggerService) => new BluetoothCore(b, l);\nexport const bleService = (b: BluetoothCore) => new BleService(b);\n\n\n// make sure we get a singleton instance of each service\nconst PROVIDERS = [{\n provide: BluetoothCore,\n useFactory: bleCore,\n deps: [BrowserWebBluetooth, ConsoleLoggerService]\n}, {\n provide: BleService,\n useFactory: bleService,\n deps: [BluetoothCore]\n}];\n\n@Component({\n selector: 'ble-stepcounter',\n template: `\n {{ value || \"000\" }}\n directions_walk\n `,\n styles: [`\n :host {\n display: block;\n }\n span {\n font-size: 5em;\n position: absolute;\n top: 112px;\n left: 214px;\n width: 120px;\n display: block;\n text-align: center;\n }\n mat-icon {\n font-size: 11em;\n width: 100%;\n height: 100%;\n }`],\n providers: PROVIDERS\n})\nexport class StepCounterComponent implements OnInit, OnDestroy {\n valuesSubscription: Subscription | null = null;\n streamSubscription: Subscription | null = null;\n value = 0;\n\n get device() {\n return this.service.getDevice();\n }\n\n constructor(\n public service: BleService,\n public snackBar: MatSnackBar) {\n\n service.config({\n decoder: (value: DataView) => {\n const count = value.getUint32(0, true);\n const time = value.getUint32(4, true);\n return count;\n },\n service: 'ef680400-9b35-4933-9b10-52ffa9740042',\n characteristic: 'ef680405-9b35-4933-9b10-52ffa9740042'\n });\n }\n\n ngOnInit() {\n this.streamSubscription = this.service.stream()\n .subscribe({\n next: (val: number) => this.updateValue(val),\n error: (err) => this.hasError(err)\n });\n }\n\n requestValue() {\n this.valuesSubscription = this.service.value()\n .subscribe(() => null, error => this.hasError.bind(this));\n }\n\n updateValue(value: number) {\n console.log('Reading step counter %d', value);\n this.value = value;\n }\n\n disconnect() {\n this.service.disconnectDevice();\n this.valuesSubscription!.unsubscribe();\n }\n\n hasError(error: string) {\n this.snackBar.open(error, 'Close');\n }\n\n ngOnDestroy() {\n this.valuesSubscription!.unsubscribe();\n this.streamSubscription!.unsubscribe();\n }\n}\n\n\n\n \n\n\n \n \n :host {\n display: block;\n }\n span {\n font-size: 5em;\n position: absolute;\n top: 112px;\n left: 214px;\n width: 120px;\n display: block;\n text-align: center;\n }\n mat-icon {\n font-size: 11em;\n width: 100%;\n height: 100%;\n }\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = '{{ value || \"000\" }}directions_walk'\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ble-root'},{'name': 'BatteryLevelComponent', 'selector': 'ble-battery-level'},{'name': 'DashboardComponent', 'selector': 'ble-dashboard'},{'name': 'HumidityComponent', 'selector': 'ble-humidity'},{'name': 'StepCounterComponent', 'selector': 'ble-stepcounter'},{'name': 'TemperatureComponent', 'selector': 'ble-temperature'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'StepCounterComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/TemperatureComponent.html":{"url":"components/TemperatureComponent.html","title":"component - TemperatureComponent","body":"\n \n\n\n\n\n\n Components\n \n TemperatureComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n src/app/thingy52/temperature.component.ts\n\n\n\n\n\n \n Implements\n \n \n OnInit\n OnDestroy\n \n\n\n\n Metadata\n \n \n\n\n\n\n\n\n\n\n\n\n \n providers\n \n PROVIDERS\n \n \n\n\n \n selector\n ble-temperature\n \n\n\n\n\n \n styles\n \n :host {\n display: block;\n }\n canvas {\n margin-left: -16px;\n }\n \n \n\n \n template\n \n \n\n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n chart\n \n \n \n chartRef\n \n \n series\n \n \n Public\n service\n \n \n Public\n snackBar\n \n \n streamSubscription\n \n \n valuesSubscription\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n disconnect\n \n \n hasError\n \n \n initChart\n \n \n ngOnDestroy\n \n \n ngOnInit\n \n \n requestValue\n \n \n updateValue\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n device\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(service: BleService, snackBar: MatSnackBar)\n \n \n \n \n Defined in src/app/thingy52/temperature.component.ts:62\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n service\n \n \n BleService\n \n \n \n No\n \n \n \n \n snackBar\n \n \n MatSnackBar\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n disconnect\n \n \n \n \n \n \ndisconnect()\n \n \n\n\n \n \n Defined in src/app/thingy52/temperature.component.ts:126\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n hasError\n \n \n \n \n \n \nhasError(error: string)\n \n \n\n\n \n \n Defined in src/app/thingy52/temperature.component.ts:133\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n error\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n initChart\n \n \n \n \n \n \ninitChart()\n \n \n\n\n \n \n Defined in src/app/thingy52/temperature.component.ts:85\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n ngOnDestroy\n \n \n \n \n \n \nngOnDestroy()\n \n \n\n\n \n \n Defined in src/app/thingy52/temperature.component.ts:137\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n ngOnInit\n \n \n \n \n \n \nngOnInit()\n \n \n\n\n \n \n Defined in src/app/thingy52/temperature.component.ts:76\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n requestValue\n \n \n \n \n \n \nrequestValue()\n \n \n\n\n \n \n Defined in src/app/thingy52/temperature.component.ts:110\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n updateValue\n \n \n \n \n \n \nupdateValue(value: number | literal type)\n \n \n\n\n \n \n Defined in src/app/thingy52/temperature.component.ts:117\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n number | literal type\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n chart\n \n \n \n \n \n \n Type : SmoothieChart | null\n\n \n \n \n \n Default value : null\n \n \n \n \n Defined in src/app/thingy52/temperature.component.ts:53\n \n \n\n\n \n \n \n \n \n \n \n \n \n chartRef\n \n \n \n \n \n \n Type : ElementRef | null\n\n \n \n \n \n Default value : null\n \n \n \n \n Decorators : \n \n \n @ViewChild('chart', {static: true})\n \n \n \n \n \n Defined in src/app/thingy52/temperature.component.ts:58\n \n \n\n\n \n \n \n \n \n \n \n \n series\n \n \n \n \n \n \n Type : TimeSeries | null\n\n \n \n \n \n Default value : null\n \n \n \n \n Defined in src/app/thingy52/temperature.component.ts:52\n \n \n\n\n \n \n \n \n \n \n \n \n Public\n service\n \n \n \n \n \n \n Type : BleService\n\n \n \n \n \n Defined in src/app/thingy52/temperature.component.ts:64\n \n \n\n\n \n \n \n \n \n \n \n \n Public\n snackBar\n \n \n \n \n \n \n Type : MatSnackBar\n\n \n \n \n \n Defined in src/app/thingy52/temperature.component.ts:64\n \n \n\n\n \n \n \n \n \n \n \n \n streamSubscription\n \n \n \n \n \n \n Type : Subscription | null\n\n \n \n \n \n Default value : null\n \n \n \n \n Defined in src/app/thingy52/temperature.component.ts:55\n \n \n\n\n \n \n \n \n \n \n \n \n valuesSubscription\n \n \n \n \n \n \n Type : Subscription | null\n\n \n \n \n \n Default value : null\n \n \n \n \n Defined in src/app/thingy52/temperature.component.ts:54\n \n \n\n\n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n device\n \n \n\n \n \n getdevice()\n \n \n \n \n Defined in src/app/thingy52/temperature.component.ts:60\n \n \n\n \n \n\n\n\n\n \n import {\n Component,\n ElementRef,\n OnDestroy,\n OnInit,\n ViewChild,\n} from '@angular/core';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport {\n BluetoothCore,\n BrowserWebBluetooth,\n ConsoleLoggerService,\n} from '@manekinekko/angular-web-bluetooth';\nimport { Subscription } from 'rxjs';\nimport { SmoothieChart, TimeSeries } from 'smoothie';\nimport { BleService } from '../ble.service';\n\nexport const bleCore = (b: BrowserWebBluetooth, l: ConsoleLoggerService) =>\n new BluetoothCore(b, l);\nexport const bleService = (b: BluetoothCore) => new BleService(b);\n\n// make sure we get a singleton instance of each service\nconst PROVIDERS = [\n {\n provide: BluetoothCore,\n useFactory: bleCore,\n deps: [BrowserWebBluetooth, ConsoleLoggerService],\n },\n {\n provide: BleService,\n useFactory: bleService,\n deps: [BluetoothCore],\n },\n];\n\n@Component({\n selector: 'ble-temperature',\n template: ` `,\n styles: [\n `\n :host {\n display: block;\n }\n canvas {\n margin-left: -16px;\n }\n `,\n ],\n providers: PROVIDERS,\n})\nexport class TemperatureComponent implements OnInit, OnDestroy {\n series: TimeSeries | null = null;\n chart: SmoothieChart | null = null;\n valuesSubscription: Subscription | null = null;\n streamSubscription: Subscription | null = null;\n\n @ViewChild('chart', { static: true })\n chartRef: ElementRef | null = null;\n\n get device() {\n return this.service.getDevice();\n }\n\n constructor(public service: BleService, public snackBar: MatSnackBar) {\n service.config({\n characteristic: 'ef680201-9b35-4933-9b10-52ffa9740042',\n service: 'ef680200-9b35-4933-9b10-52ffa9740042',\n decoder: (value: DataView) => {\n const integer = value.getInt8(0);\n const decimal = value.getUint8(1);\n return integer + decimal / 100;\n },\n });\n }\n\n ngOnInit() {\n this.initChart();\n\n this.streamSubscription = this.service.stream().subscribe({\n next: (val: number | { [key: string]: number; }) => this.updateValue(val),\n error: (err) => this.hasError(err),\n });\n }\n\n initChart() {\n this.series = new window.TimeSeries() as TimeSeries;\n const canvas = this.chartRef!.nativeElement;\n this.chart = new window.SmoothieChart({\n interpolation: 'step',\n grid: {\n fillStyle: '#ffffff',\n strokeStyle: 'rgba(119,119,119,0.18)',\n borderVisible: false,\n },\n labels: {\n fillStyle: '#000000',\n fontSize: 17,\n },\n tooltip: true,\n });\n this.chart!.addTimeSeries(this.series, {\n lineWidth: 1,\n strokeStyle: '#ff0000',\n fillStyle: 'rgba(255,161,161,0.30)',\n });\n this.chart!.streamTo(canvas);\n this.chart!.stop();\n }\n\n requestValue() {\n this.valuesSubscription = this.service.value().subscribe(\n () => null,\n (error) => this.hasError.bind(this)\n );\n }\n\n updateValue(value: number | { [key: string]: number; }) {\n console.log('Reading temperature %d', value);\n\n if (typeof value === 'number') {\n this.series!.append(Date.now(), value);\n this.chart!.start();\n }\n }\n\n disconnect() {\n this.service.disconnectDevice();\n this.series!.clear();\n this.chart!.stop();\n this.valuesSubscription!.unsubscribe();\n }\n\n hasError(error: string) {\n this.snackBar.open(error, 'Close');\n }\n\n ngOnDestroy() {\n this.valuesSubscription!.unsubscribe();\n this.streamSubscription!.unsubscribe();\n }\n}\n\n \n\n\n \n \n :host {\n display: block;\n }\n canvas {\n margin-left: -16px;\n }\n \n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ''\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ble-root'},{'name': 'BatteryLevelComponent', 'selector': 'ble-battery-level'},{'name': 'DashboardComponent', 'selector': 'ble-dashboard'},{'name': 'HumidityComponent', 'selector': 'ble-humidity'},{'name': 'StepCounterComponent', 'selector': 'ble-stepcounter'},{'name': 'TemperatureComponent', 'selector': 'ble-temperature'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'TemperatureComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/WebBluetoothModule.html":{"url":"modules/WebBluetoothModule.html","title":"module - WebBluetoothModule","body":"\n \n\n\n\n\n Modules\n WebBluetoothModule\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/manekinekko/angular-web-bluetooth/src/lib/bluetooth.module.ts\n \n\n\n\n\n\n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n forRoot\n \n \n \n \n \n \n \n forRoot(options: AWBOptions)\n \n \n\n\n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/bluetooth.module.ts:32\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n options\n \n AWBOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : ModuleWithProviders\n\n \n \n \n \n \n \n \n \n\n \n\n\n \n import { NgModule, ModuleWithProviders, InjectionToken, Optional } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { BluetoothCore } from './bluetooth.service';\nimport { BrowserWebBluetooth } from './platform/browser';\n\nimport { ConsoleLoggerService, NoLoggerService } from './logger.service';\n\nexport interface AWBOptions {\n enableTracing?: boolean;\n}\n\nexport function browserWebBluetooth() {\n return new BrowserWebBluetooth();\n}\n\nexport function consoleLoggerServiceConfig(options: AWBOptions) {\n if (options && options.enableTracing) {\n return new ConsoleLoggerService();\n } else {\n return new NoLoggerService();\n }\n}\nexport function makeMeTokenInjector() {\n return new InjectionToken('AWBOptions');\n}\n\n@NgModule({\n imports: [CommonModule]\n})\nexport class WebBluetoothModule {\n static forRoot(options: AWBOptions = {}): ModuleWithProviders {\n return {\n ngModule: WebBluetoothModule,\n providers: [\n BluetoothCore,\n {\n provide: BrowserWebBluetooth,\n useFactory: browserWebBluetooth\n },\n {\n provide: makeMeTokenInjector,\n useValue: options\n },\n {\n provide: ConsoleLoggerService,\n useFactory: consoleLoggerServiceConfig,\n deps: [makeMeTokenInjector]\n }\n ]\n };\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"coverage.html":{"url":"coverage.html","title":"coverage - coverage","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Documentation coverage\n\n\n\n \n\n\n\n \n \n File\n Type\n Identifier\n Statements\n \n \n \n \n \n \n e2e/src/app.po.ts\n \n class\n AppPage\n \n 0 %\n (0/3)\n \n \n \n \n \n projects/manekinekko/angular-web-bluetooth/src/lib/bluetooth.module.ts\n \n interface\n AWBOptions\n \n 0 %\n (0/2)\n \n \n \n \n \n projects/manekinekko/angular-web-bluetooth/src/lib/bluetooth.module.ts\n \n function\n browserWebBluetooth\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/manekinekko/angular-web-bluetooth/src/lib/bluetooth.module.ts\n \n function\n consoleLoggerServiceConfig\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/manekinekko/angular-web-bluetooth/src/lib/bluetooth.module.ts\n \n function\n makeMeTokenInjector\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/manekinekko/angular-web-bluetooth/src/lib/bluetooth.service.ts\n \n injectable\n BluetoothCore\n \n 67 %\n (21/31)\n \n \n \n \n \n projects/manekinekko/angular-web-bluetooth/src/lib/bluetooth.service.ts\n \n type alias\n ReadValueOptions\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/manekinekko/angular-web-bluetooth/src/lib/lang/uuids/ti-sensortag2.ts\n \n variable\n TI_SENSORAG_SERVICES\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/manekinekko/angular-web-bluetooth/src/lib/lang/uuids/ti-sensortag2.ts\n \n variable\n TiTag\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/manekinekko/angular-web-bluetooth/src/lib/logger.service.ts\n \n injectable\n ConsoleLoggerService\n \n 0 %\n (0/4)\n \n \n \n \n \n projects/manekinekko/angular-web-bluetooth/src/lib/logger.service.ts\n \n injectable\n NoLoggerService\n \n 0 %\n (0/4)\n \n \n \n \n \n projects/manekinekko/angular-web-bluetooth/src/lib/logger.service.ts\n \n interface\n Logger\n \n 0 %\n (0/4)\n \n \n \n \n \n projects/manekinekko/angular-web-bluetooth/src/lib/platform/browser.ts\n \n injectable\n BrowserWebBluetooth\n \n 0 %\n (0/4)\n \n \n \n \n \n projects/manekinekko/angular-web-bluetooth/src/lib/platform/server.ts\n \n injectable\n ServerWebBluetooth\n \n 0 %\n (0/2)\n \n \n \n \n \n projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts\n \n class\n FakeBluetoothDevice\n \n 0 %\n (0/9)\n \n \n \n \n \n projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts\n \n class\n FakeBluetoothRemoteGATTCharacteristic\n \n 0 %\n (0/10)\n \n \n \n \n \n projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts\n \n class\n FakeBluetoothRemoteGATTServer\n \n 0 %\n (0/8)\n \n \n \n \n \n projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts\n \n class\n FakeBluetoothRemoteGATTService\n \n 0 %\n (0/5)\n \n \n \n \n \n src/app/app.component.ts\n \n component\n AppComponent\n \n 0 %\n (0/1)\n \n \n \n \n \n src/app/ble.service.ts\n \n injectable\n BleService\n \n 0 %\n (0/9)\n \n \n \n \n \n src/app/ble.service.ts\n \n type alias\n ServiceOptions\n \n 0 %\n (0/1)\n \n \n \n \n \n src/app/dashboard/dashboard.component.ts\n \n component\n DashboardComponent\n \n 0 %\n (0/2)\n \n \n \n \n \n src/app/thingy52/battery-level.component.ts\n \n component\n BatteryLevelComponent\n \n 0 %\n (0/18)\n \n \n \n \n \n src/app/thingy52/battery-level.component.ts\n \n variable\n bleCore\n \n 0 %\n (0/1)\n \n \n \n \n \n src/app/thingy52/battery-level.component.ts\n \n variable\n bleService\n \n 0 %\n (0/1)\n \n \n \n \n \n src/app/thingy52/battery-level.component.ts\n \n variable\n PROVIDERS\n \n 0 %\n (0/1)\n \n \n \n \n \n src/app/thingy52/humidity.component.ts\n \n component\n HumidityComponent\n \n 0 %\n (0/16)\n \n \n \n \n \n src/app/thingy52/humidity.component.ts\n \n variable\n bleCore\n \n 0 %\n (0/1)\n \n \n \n \n \n src/app/thingy52/humidity.component.ts\n \n variable\n bleService\n \n 0 %\n (0/1)\n \n \n \n \n \n src/app/thingy52/humidity.component.ts\n \n variable\n PROVIDERS\n \n 0 %\n (0/1)\n \n \n \n \n \n src/app/thingy52/stepcounter.component.ts\n \n component\n StepCounterComponent\n \n 0 %\n (0/13)\n \n \n \n \n \n src/app/thingy52/stepcounter.component.ts\n \n variable\n bleCore\n \n 0 %\n (0/1)\n \n \n \n \n \n src/app/thingy52/stepcounter.component.ts\n \n variable\n bleService\n \n 0 %\n (0/1)\n \n \n \n \n \n src/app/thingy52/stepcounter.component.ts\n \n variable\n PROVIDERS\n \n 0 %\n (0/1)\n \n \n \n \n \n src/app/thingy52/temperature.component.ts\n \n component\n TemperatureComponent\n \n 0 %\n (0/16)\n \n \n \n \n \n src/app/thingy52/temperature.component.ts\n \n variable\n bleCore\n \n 0 %\n (0/1)\n \n \n \n \n \n src/app/thingy52/temperature.component.ts\n \n variable\n bleService\n \n 0 %\n (0/1)\n \n \n \n \n \n src/app/thingy52/temperature.component.ts\n \n variable\n PROVIDERS\n \n 0 %\n (0/1)\n \n \n \n \n \n src/environments/environment.prod.ts\n \n variable\n environment\n \n 0 %\n (0/1)\n \n \n \n \n \n src/environments/environment.ts\n \n variable\n environment\n \n 0 %\n (0/1)\n \n \n \n\n\n\n\n\n new Tablesort(document.getElementById('coverage-table'));\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"dependencies.html":{"url":"dependencies.html","title":"package-dependencies - dependencies","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n Dependencies\n \n \n \n @angular/animations : ^17.1.3\n \n @angular/cdk : ^17.1.2\n \n @angular/common : ^17.1.3\n \n @angular/compiler : ^17.1.3\n \n @angular/core : ^17.1.3\n \n @angular/forms : ^17.1.3\n \n @angular/material : ^17.1.2\n \n @angular/platform-browser : ^17.1.3\n \n @angular/platform-browser-dynamic : ^17.1.3\n \n @angular/router : ^17.1.3\n \n @types/web-bluetooth : 0.0.6\n \n rxjs : ~7.8.0\n \n smoothie : ^1.35.0\n \n ts-jest : ^29.0.5\n \n tslib : ^2.3.0\n \n zone.js : ~0.14.3\n \n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"miscellaneous/functions.html":{"url":"miscellaneous/functions.html","title":"miscellaneous-functions - functions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Miscellaneous\n Functions\n\n\n\n Index\n \n \n \n \n \n \n browserWebBluetooth   (projects/.../bluetooth.module.ts)\n \n \n consoleLoggerServiceConfig   (projects/.../bluetooth.module.ts)\n \n \n makeMeTokenInjector   (projects/.../bluetooth.module.ts)\n \n \n \n \n \n \n\n\n projects/manekinekko/angular-web-bluetooth/src/lib/bluetooth.module.ts\n \n \n \n \n \n \n \n browserWebBluetooth\n \n \n \n \n \n \nbrowserWebBluetooth()\n \n \n\n\n\n\n \n \n \n \n \n \n \n \n consoleLoggerServiceConfig\n \n \n \n \n \n \nconsoleLoggerServiceConfig(options: AWBOptions)\n \n \n\n\n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n options\n \n AWBOptions\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n makeMeTokenInjector\n \n \n \n \n \n \nmakeMeTokenInjector()\n \n \n\n\n\n\n \n \n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"index.html":{"url":"index.html","title":"getting-started - index","body":"\n \n\n\n \n\nThe missing Web Bluetooth module for Angular\n\n\nInstall\nExample :npm install -S @manekinekko/angular-web-bluetooth @types/web-bluetooth\nNote: Make also sure the @types/web-bluetooth is installed correctly in your node_modules.\n\nGetting started\n1) import the WebBluetoothModule module\nExample :import { NgModule } from '@angular/core';\nimport { WebBluetoothModule } from '@manekinekko/angular-web-bluetooth';\n\n@NgModule({\n imports: [\n //...,\n WebBluetoothModule.forRoot({\n enableTracing: true // or false, this will enable logs in the browser's console\n })\n ]\n //...\n})\nexport class AppModule {}2.a) use it in your service/component (the easiest way)\nHere is an annotated example using the BluetoothCore service:\nExample :import { Injectable } from '@angular/core';\nimport { BluetoothCore } from '@manekinekko/angular-web-bluetooth';\nimport { map } from 'rxjs/operators';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class BatteryLevelService {\n\n constructor(public readonly ble: BluetoothCore) {}\n\n getDevice() {\n // call this method to get the connected device\n return this.ble.getDevice$();\n }\n\n stream() {\n // call this method to get a stream of values emitted by the device for a given characteristic\n return this.ble.streamValues$().pipe(\n map((value: DataView) => value.getInt8(0))\n );\n }\n\n disconnectDevice() {\n // call this method to disconnect from the device. This method will also stop clear all subscribed notifications\n this.ble.disconnectDevice();\n }\n\n value() {\n console.log('Getting Battery level...');\n\n return this.ble\n .value$({\n service: 'battery_service',\n characteristic: 'battery_level'\n });\n }\n\n}2.b) use it in your service/component (the advanced way)\nHere is an annotated example using the BluetoothCore service:\nExample :import { Injectable } from '@angular/core';\nimport { map, mergeMap } from 'rxjs/operators';\nimport { BluetoothCore } from '@manekinekko/angular-web-bluetooth';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class BatteryLevelService {\n static GATT_CHARACTERISTIC_BATTERY_LEVEL = 'battery_level';\n static GATT_PRIMARY_SERVICE = 'battery_service';\n\n constructor(public ble: BluetoothCore) {}\n\n getDevice() {\n // call this method to get the connected device\n return this.ble.getDevice$();\n }\n\n stream() {\n // call this method to get a stream of values emitted by the device\n return this.ble.streamValues$().pipe(map((value: DataView) => value.getUint8(0)));\n }\n\n disconnectDevice() {\n this.ble.disconnectDevice();\n }\n\n /**\n * Get Battery Level GATT Characteristic value.\n * This logic is specific to this service, this is why we can't abstract it elsewhere.\n * The developer is free to provide any service, and characteristics they want.\n *\n * @return Emites the value of the requested service read from the device\n */\n value() {\n console.log('Getting Battery level...');\n\n return this.ble\n\n // 1) call the discover method will trigger the discovery process (by the browser)\n .discover$({\n acceptAllDevices: true,\n optionalServices: [BatteryLevelService.GATT_PRIMARY_SERVICE]\n })\n .pipe(\n\n // 2) get that service\n mergeMap((gatt: BluetoothRemoteGATTServer) => {\n return this.ble.getPrimaryService$(gatt, BatteryLevelService.GATT_PRIMARY_SERVICE);\n }),\n\n // 3) get a specific characteristic on that service\n mergeMap((primaryService: BluetoothRemoteGATTService) => {\n return this.ble.getCharacteristic$(primaryService, BatteryLevelService.GATT_CHARACTERISTIC_BATTERY_LEVEL);\n }),\n\n // 4) ask for the value of that characteristic (will return a DataView)\n mergeMap((characteristic: BluetoothRemoteGATTCharacteristic) => {\n return this.ble.readValue$(characteristic);\n }),\n\n // 5) on that DataView, get the right value\n map((value: DataView) => value.getUint8(0))\n )\n }\n}API documentation\nThe API documentation can be found here: https://manekinekko.github.io/angular-web-bluetooth/\nNeed a starter?\n\n\nThis project serves also as a starter. Run the following command:\nExample :npm startBlog post\nCheckout my full blog post on dev.to about how to use this package in your app.\nHave a PR?\nAll contributions are welcome. Here are few open issues that I need help with ;)\nLicense\nThe MIT License (MIT) Copyright (c) 2017 - Wassim CHEGHAM\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"license.html":{"url":"license.html","title":"getting-started - license","body":"\n \n\nThe MIT License (MIT) Copyright (c) 2017 - Wassim CHEGHAM\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules.html":{"url":"modules.html","title":"modules - modules","body":"\n \n\n\n\n\n Modules\n\n\n \n \n \n \n AppModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n WebBluetoothModule\n \n \n \n No graph available.\n \n \n Browse\n \n \n \n \n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"overview.html":{"url":"overview.html","title":"overview - overview","body":"\n \n\n\n\n Overview\n\n \n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_AppModule\n\n\n\ncluster_AppModule_declarations\n\n\n\ncluster_AppModule_imports\n\n\n\ncluster_AppModule_bootstrap\n\n\n\n\nAppComponent\n\nAppComponent\n\n\n\nAppModule\n\nAppModule\n\nAppModule -->\n\nAppComponent->AppModule\n\n\n\n\n\nBatteryLevelComponent\n\nBatteryLevelComponent\n\nAppModule -->\n\nBatteryLevelComponent->AppModule\n\n\n\n\n\nDashboardComponent\n\nDashboardComponent\n\nAppModule -->\n\nDashboardComponent->AppModule\n\n\n\n\n\nHumidityComponent\n\nHumidityComponent\n\nAppModule -->\n\nHumidityComponent->AppModule\n\n\n\n\n\nStepCounterComponent\n\nStepCounterComponent\n\nAppModule -->\n\nStepCounterComponent->AppModule\n\n\n\n\n\nTemperatureComponent\n\nTemperatureComponent\n\nAppModule -->\n\nTemperatureComponent->AppModule\n\n\n\n\n\nAppComponent \n\nAppComponent \n\nAppComponent -->\n\nAppModule->AppComponent \n\n\n\n\n\nWebBluetoothModule\n\nWebBluetoothModule\n\nAppModule -->\n\nWebBluetoothModule->AppModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n \n\n \n \n \n \n \n \n 2 Modules\n \n \n \n \n \n \n \n \n 6 Components\n \n \n \n \n \n \n \n 6 Injectables\n \n \n \n \n \n \n \n 5 Classes\n \n \n \n \n \n \n \n 2 Interfaces\n \n \n \n \n\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"properties.html":{"url":"properties.html","title":"package-properties - properties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n Properties\n \n \n \n Version : 17.1.0\n \n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"miscellaneous/typealiases.html":{"url":"miscellaneous/typealiases.html","title":"miscellaneous-typealiases - typealiases","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Miscellaneous\n Type aliases\n\n\n\n Index\n \n \n \n \n \n \n ReadValueOptions   (projects/.../bluetooth.service.ts)\n \n \n ServiceOptions   (src/.../ble.service.ts)\n \n \n \n \n \n \n\n\n projects/manekinekko/angular-web-bluetooth/src/lib/bluetooth.service.ts\n \n \n \n \n \n \n ReadValueOptions\n \n \n \n \n literal type\n\n \n \n \n \n src/app/ble.service.ts\n \n \n \n \n \n \n ServiceOptions\n \n \n \n \n literal type\n\n \n \n \n \n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"miscellaneous/variables.html":{"url":"miscellaneous/variables.html","title":"miscellaneous-variables - variables","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Miscellaneous\n Variables\n\n\n\n Index\n \n \n \n \n \n \n bleCore   (src/.../battery-level.component.ts)\n \n \n bleCore   (src/.../humidity.component.ts)\n \n \n bleCore   (src/.../stepcounter.component.ts)\n \n \n bleCore   (src/.../temperature.component.ts)\n \n \n bleService   (src/.../battery-level.component.ts)\n \n \n bleService   (src/.../humidity.component.ts)\n \n \n bleService   (src/.../stepcounter.component.ts)\n \n \n bleService   (src/.../temperature.component.ts)\n \n \n environment   (src/.../environment.prod.ts)\n \n \n environment   (src/.../environment.ts)\n \n \n PROVIDERS   (src/.../battery-level.component.ts)\n \n \n PROVIDERS   (src/.../humidity.component.ts)\n \n \n PROVIDERS   (src/.../stepcounter.component.ts)\n \n \n PROVIDERS   (src/.../temperature.component.ts)\n \n \n TI_SENSORAG_SERVICES   (projects/.../ti-sensortag2.ts)\n \n \n TiTag   (projects/.../ti-sensortag2.ts)\n \n \n \n \n \n \n\n\n src/app/thingy52/battery-level.component.ts\n \n \n \n \n \n \n \n bleCore\n \n \n \n \n \n \n Default value : (b: BrowserWebBluetooth, l: ConsoleLoggerService) =>\n new BluetoothCore(b, l)\n \n \n\n\n \n \n \n \n \n \n \n \n bleService\n \n \n \n \n \n \n Default value : (b: BluetoothCore) => new BleService(b)\n \n \n\n\n \n \n \n \n \n \n \n \n PROVIDERS\n \n \n \n \n \n \n Type : []\n\n \n \n \n \n Default value : [\n {\n provide: BluetoothCore,\n useFactory: bleCore,\n deps: [BrowserWebBluetooth, ConsoleLoggerService],\n },\n {\n provide: BleService,\n useFactory: bleService,\n deps: [BluetoothCore],\n },\n]\n \n \n\n\n \n \n\n src/app/thingy52/humidity.component.ts\n \n \n \n \n \n \n \n bleCore\n \n \n \n \n \n \n Default value : (b: BrowserWebBluetooth, l: ConsoleLoggerService) => new BluetoothCore(b, l)\n \n \n\n\n \n \n \n \n \n \n \n \n bleService\n \n \n \n \n \n \n Default value : (b: BluetoothCore) => new BleService(b)\n \n \n\n\n \n \n \n \n \n \n \n \n PROVIDERS\n \n \n \n \n \n \n Type : []\n\n \n \n \n \n Default value : [{\n provide: BluetoothCore,\n useFactory: bleCore,\n deps: [BrowserWebBluetooth, ConsoleLoggerService]\n}, {\n provide: BleService,\n useFactory: bleService,\n deps: [BluetoothCore]\n}]\n \n \n\n\n \n \n\n src/app/thingy52/stepcounter.component.ts\n \n \n \n \n \n \n \n bleCore\n \n \n \n \n \n \n Default value : (b: BrowserWebBluetooth, l: ConsoleLoggerService) => new BluetoothCore(b, l)\n \n \n\n\n \n \n \n \n \n \n \n \n bleService\n \n \n \n \n \n \n Default value : (b: BluetoothCore) => new BleService(b)\n \n \n\n\n \n \n \n \n \n \n \n \n PROVIDERS\n \n \n \n \n \n \n Type : []\n\n \n \n \n \n Default value : [{\n provide: BluetoothCore,\n useFactory: bleCore,\n deps: [BrowserWebBluetooth, ConsoleLoggerService]\n}, {\n provide: BleService,\n useFactory: bleService,\n deps: [BluetoothCore]\n}]\n \n \n\n\n \n \n\n src/app/thingy52/temperature.component.ts\n \n \n \n \n \n \n \n bleCore\n \n \n \n \n \n \n Default value : (b: BrowserWebBluetooth, l: ConsoleLoggerService) =>\n new BluetoothCore(b, l)\n \n \n\n\n \n \n \n \n \n \n \n \n bleService\n \n \n \n \n \n \n Default value : (b: BluetoothCore) => new BleService(b)\n \n \n\n\n \n \n \n \n \n \n \n \n PROVIDERS\n \n \n \n \n \n \n Type : []\n\n \n \n \n \n Default value : [\n {\n provide: BluetoothCore,\n useFactory: bleCore,\n deps: [BrowserWebBluetooth, ConsoleLoggerService],\n },\n {\n provide: BleService,\n useFactory: bleService,\n deps: [BluetoothCore],\n },\n]\n \n \n\n\n \n \n\n src/environments/environment.prod.ts\n \n \n \n \n \n \n \n environment\n \n \n \n \n \n \n Type : object\n\n \n \n \n \n Default value : {\n production: true\n}\n \n \n\n\n \n \n\n src/environments/environment.ts\n \n \n \n \n \n \n \n environment\n \n \n \n \n \n \n Type : object\n\n \n \n \n \n Default value : {\n production: false\n}\n \n \n\n\n \n \n\n projects/manekinekko/angular-web-bluetooth/src/lib/lang/uuids/ti-sensortag2.ts\n \n \n \n \n \n \n \n TI_SENSORAG_SERVICES\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Default value : Object.keys(TiTag).map((key: string) => (TiTag as any)[key].SERVICE)\n \n \n\n\n \n \n \n \n \n \n \n \n TiTag\n \n \n \n \n \n \n Type : object\n\n \n \n \n \n Default value : {\n\n DEVICE_INFORMATION : {\n SERVICE : 'f000180a-0451-4000-b000-000000000000',\n SYSTEM_ID : 'f0002a23-0451-4000-b000-000000000000',\n MODEL_NUMBER : 'f0002a24-0451-4000-b000-000000000000',\n SERIAL_NUMBER : 'f0002a25-0451-4000-b000-000000000000',\n FIRMWARE_REV : 'f0002a26-0451-4000-b000-000000000000',\n HARDWARE_REV : 'f0002a27-0451-4000-b000-000000000000',\n SOFTWARE_REV : 'f0002a28-0451-4000-b000-000000000000',\n MANIFACTURER : 'f0002a29-0451-4000-b000-000000000000',\n IEEE11073 : 'f0002a2a-0451-4000-b000-000000000000',\n PNP_ID : 'f0002a50-0451-4000-b000-000000000000'\n },\n\n BATTERY : {\n SERVICE : 'f000180f-0451-4000-b000-000000000000',\n LEVEL : 'f0002a19-0451-4000-b000-000000000000'\n },\n\n TEMPERATURE : {\n SERVICE : 'f000aa00-0451-4000-b000-000000000000',\n DATA : 'f000aa01-0451-4000-b000-000000000000',\n CONFIGURATION : 'f000aa02-0451-4000-b000-000000000000',\n PERIOD : 'f000aa03-0451-4000-b000-000000000000'\n },\n\n HUMIDITY : {\n SERVICE : 'f000aa20-0451-4000-b000-000000000000',\n DATA : 'f000aa21-0451-4000-b000-000000000000',\n CONFIGURATION : 'f000aa22-0451-4000-b000-000000000000',\n PERIOD : 'f000aa23-0451-4000-b000-000000000000'\n },\n\n BAROMETER : {\n SERVICE : 'f000aa40-0451-4000-b000-000000000000',\n DATA : 'f000aa41-0451-4000-b000-000000000000',\n CONFIGURATION : 'f000aa42-0451-4000-b000-000000000000',\n PERIOD : 'f000aa44-0451-4000-b000-000000000000'\n },\n\n // service not available in model CC2650\n // ACCELEROMETER : {\n // SERVICE : 'f000aa10-0451-4000-b000-000000000000',\n // DATA : 'f000aa11-0451-4000-b000-000000000000',\n // CONFIGURATION : 'f000aa12-0451-4000-b000-000000000000',\n // PERIOD : 'f000aa13-0451-4000-b000-000000000000'\n // },\n\n // service not available in model CC2650\n // MAGNETOMETER : {\n // SERVICE : 'f000aa30-0451-4000-b000-000000000000',\n // DATA : 'f000aa31-0451-4000-b000-000000000000',\n // CONFIGURATION : 'f000aa32-0451-4000-b000-000000000000',\n // PERIOD : 'f000aa33-0451-4000-b000-000000000000'\n // },\n\n // service not available in model CC2650\n // GYROSCOPE : {\n // SERVICE : 'f000aa50-0451-4000-b000-000000000000',\n // DATA : 'f000aa51-0451-4000-b000-000000000000',\n // CONFIGURATION : 'f000aa52-0451-4000-b000-000000000000',\n // PERIOD : 'f000aa53-0451-4000-b000-000000000000'\n // },\n\n MOVEMENT : {\n SERVICE : 'f000aa80-0451-4000-b000-000000000000',\n DATA : 'f000aa81-0451-4000-b000-000000000000',\n CONFIGURATION : 'f000aa82-0451-4000-b000-000000000000',\n PERIOD : 'f000aa83-0451-4000-b000-000000000000'\n },\n\n LIGHT : {\n SERVICE : 'f000aa70-0451-4000-b000-000000000000',\n DATA : 'f000aa71-0451-4000-b000-000000000000',\n CONFIGURATION : 'f000aa72-0451-4000-b000-000000000000',\n PERIOD : 'f000aa73-0451-4000-b000-000000000000'\n },\n\n KEYPRESS : {\n SERVICE : 'f000ffe0-0451-4000-b000-000000000000',\n STATE : 'f000ffe1-0451-4000-b000-000000000000'\n },\n\n __REGISTER__ : {\n SERVICE : 'f000ac00-0451-4000-b000-000000000000',\n DATA : 'f000ac01-0451-4000-b000-000000000000',\n ADDRESS : 'f000ac02-0451-4000-b000-000000000000',\n DEVICE_ID : 'f000ac03-0451-4000-b000-000000000000'\n },\n\n CONTROL : {\n SERVICE : 'f000ccc0-0451-4000-b000-000000000000',\n CURRENT_USED_PARAMETERS : 'f000ccc1-0451-4000-b000-000000000000',\n REQUEST_NEW_PARAMETERS : 'f000ccc2-0451-4000-b000-000000000000',\n DISCONNECT_REQUEST : 'f000ccc3-0451-4000-b000-000000000000'\n },\n\n OAD : {\n SERVICE : 'f000ffc0-0451-4000-b000-000000000000',\n IMAGE_NOTIFY : 'f000ffc1-0451-4000-b000-000000000000',\n IMAGE_BLOCK_REQUEST : 'f000ffc2-0451-4000-b000-000000000000',\n IMAGE_COUNT : 'f000ffc3-0451-4000-b000-000000000000',\n IMAGE_STATUS : 'f000ffc4-0451-4000-b000-000000000000'\n },\n\n IO : {\n SERVICE : 'f000aa64-0451-4000-b000-000000000000',\n DATA : 'f000aa65-0451-4000-b000-000000000000',\n CONFIG : 'f000aa66-0451-4000-b000-000000000000'\n }\n}\n \n \n\n\n \n \n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"}} + "index": {"version":"2.3.9","fields":["title","body"],"fieldVectors":[["title/interfaces/AWBOptions.html",[0,1.352,1,1.806]],["body/interfaces/AWBOptions.html",[0,1.57,1,3.162,2,2.647,3,0.502,4,0.502,5,0.444,6,0.841,7,0.336,8,2.342,9,0.444,10,1.3,11,1.092,12,3.529,13,2.704,14,0.563,15,0.035,16,1.082,17,3.341,18,3.938,19,3.055,20,0.694,21,3.938,22,2.647,23,1.693,24,3.055,25,1.877,26,3.055,27,1.572,28,2.22,29,3.055,30,0.692,31,3.776,32,1.312,33,2.163,34,2.647,35,2.705,36,3.055,37,3.341,38,3.055,39,2.342,40,0.145,41,2.22,42,1.896,43,3.055,44,1.314,45,2.24,46,2.22,47,3.055,48,2.342,49,1.722,50,0.025,51,0.025]],["title/components/AppComponent.html",[52,0.868,53,1.131]],["body/components/AppComponent.html",[3,0.564,4,0.564,5,0.499,15,0.034,16,0.78,20,0.78,30,0.499,40,0.164,50,0.027,51,0.027,52,1.519,53,2.066,54,2.39,55,2.132,56,2.132,57,3.436,58,2.132,59,3.193,60,2.417,61,2.39,62,2.632,63,2.132,64,1.24,65,1.766,66,2.632,67,2.39,68,2.132,69,2.981,70,2.132,71,0.963,72,2.132,73,1.478,74,1.766,75,2.132,76,1.478,77,2.132,78,1.478,79,2.132,80,1.478,81,2.132,82,1.478,83,1.937,84,2.132,85,2.132]],["title/modules/AppModule.html",[86,1.806,87,1.806]],["body/modules/AppModule.html",[3,0.422,4,0.422,5,0.374,7,0.283,12,1.972,15,0.035,16,1.192,17,2.693,20,0.584,30,0.374,39,2.693,40,0.122,41,2.537,44,1.106,50,0.023,51,0.023,53,2.173,65,1.322,73,1.998,76,1.998,78,1.998,80,1.998,82,1.998,86,1.767,87,3.587,88,1.767,89,1.972,90,4.001,91,4.001,92,2.572,93,2.572,94,2.572,95,2.572,96,2.572,97,3.513,98,2.572,99,1.972,100,3.094,101,4.226,102,3.094,103,4.226,104,3.094,105,4.226,106,3.513,107,3.094,108,4.226,109,3.094,110,4.226,111,3.094,112,4.226,113,3.094,114,3.094,115,4.226,116,3.094,117,4.226,118,3.094,119,4.226,120,3.094,121,4.226,122,2.572,123,2.572,124,4.226,125,1.767,126,1.767,127,4.226,128,3.094,129,1.45,130,1.208,131,3.094,132,3.094,133,3.094,134,3.094,135,3.094,136,3.094,137,3.094,138,4.226,139,1.596,140,2.572,141,1.106]],["title/classes/AppPage.html",[40,0.125,142,2.279]],["body/classes/AppPage.html",[3,0.602,4,0.602,5,0.533,9,0.533,15,0.034,16,0.832,30,0.533,32,1.214,40,0.174,50,0.028,51,0.028,61,2.065,67,2.065,139,2.274,142,3.821,143,2.274,144,3.664,145,1.105,146,5.907,147,5.907,148,1.002,149,4.408,150,1.105,151,5.104,152,4.408,153,4.408,154,4.408,155,4.408,156,3.175,157,4.408]],["title/components/BatteryLevelComponent.html",[52,0.868,73,1.131]],["body/components/BatteryLevelComponent.html",[3,0.219,4,0.219,5,0.194,7,0.147,9,0.194,10,0.711,11,0.677,14,0.833,15,0.035,16,0.825,20,0.303,23,1.333,25,1.065,27,1.378,30,0.393,32,0.368,33,1.011,40,0.064,44,1.462,45,1.106,46,1.213,49,1.213,50,0.014,51,0.014,52,0.893,53,0.574,54,1.213,55,0.829,56,0.829,58,0.829,59,2.466,60,1.867,62,1.335,63,0.829,64,0.482,65,0.686,66,1.335,67,1.213,68,0.829,69,1.923,70,0.829,71,0.772,72,0.829,73,1.333,74,1.593,75,0.829,76,0.574,77,0.829,78,0.574,79,0.829,80,0.574,81,0.829,82,0.574,83,0.753,84,0.829,85,0.829,122,1.336,123,3.1,125,0.917,126,0.917,129,0.753,130,0.627,145,0.539,148,1.071,150,0.957,156,2.342,158,1.857,159,4.117,160,1.157,161,1.213,162,2.072,163,2.072,164,2.072,165,2.072,166,2.785,167,4.37,168,3.252,169,3.555,170,3.252,171,3.252,172,3.148,173,3.148,174,2.703,175,3.633,176,3.633,177,2.703,178,3.148,179,3.148,180,3.148,181,3.252,182,2.342,183,2.703,184,2.072,185,3.252,186,3.252,187,3.148,188,3.252,189,3.252,190,1.857,191,2.703,192,2.342,193,2.703,194,3.252,195,1.726,196,2.703,197,3.252,198,3.252,199,1.928,200,3.399,201,3.252,202,3.252,203,1.431,204,2.606,205,2.072,206,2.072,207,1.333,208,3.729,209,1.65,210,2.376,211,2.376,212,2.376,213,2.072,214,1.65,215,1.597,216,0.848,217,1.024,218,2.043,219,2.606,220,1.606,221,0.744,222,1.606,223,1.505,224,1.606,225,1.65,226,1.262,227,1.606,228,1.524,229,1.606,230,1.606,231,1.606,232,1.024,233,2.894,234,1.213,235,1.606,236,1.562,237,1.677,238,1.606,239,1.606,240,2.929,241,2.255,242,1.606,243,3.252,244,3.729,245,1.606,246,1.606,247,1.606,248,1.606,249,2.376,250,1.606,251,1.606,252,0.829,253,1.606,254,0.917,255,1.024,256,1.389,257,1.335,258,1.478,259,1.478,260,0.917,261,0.917,262,0.917,263,0.917,264,1.024,265,0.917,266,1.024,267,1.024,268,1.024,269,1.024,270,0.574,271,1.024,272,1.336,273,0.753,274,1.336,275,1.606,276,1.024,277,1.336,278,1.524,279,1.606,280,1.606,281,1.606,282,1.606,283,2.589,284,1.024,285,3.252,286,1.606,287,1.923,288,0.829,289,1.606,290,1.157,291,1.024,292,1.336,293,0.917,294,1.024,295,1.024,296,1.024,297,1.024,298,1.157,299,1.606,300,1.024,301,1.024,302,1.606,303,1.024,304,1.024,305,1.024,306,1.606,307,1.606,308,1.606]],["title/injectables/BleService.html",[218,1.352,309,0.868]],["body/injectables/BleService.html",[3,0.459,4,0.459,5,0.406,7,0.308,9,0.406,10,1.227,11,0.931,14,0.853,15,0.035,16,0.948,20,0.635,23,1.991,30,0.406,32,1.149,35,2.552,40,0.133,50,0.024,51,0.024,60,2.089,61,1.576,71,0.948,129,1.576,130,1.313,145,0.931,148,1.12,150,1.16,195,1.717,199,1.745,203,1.463,216,1.101,218,1.91,221,1.023,223,1.463,226,1.227,233,1.92,236,1.202,252,2.76,270,1.202,273,2.094,293,1.92,309,1.227,310,1.735,311,2.422,312,2.59,313,5.02,314,3.716,315,4.448,316,4.448,317,3.363,318,4.47,319,4.47,320,4.124,321,3.363,322,3.363,323,3.363,324,3.363,325,3.363,326,3.363,327,2.796,328,3.363,329,2.796,330,3.363,331,1.92,332,2.796,333,2.796,334,2.796,335,1.576,336,3.363,337,2.796,338,2.796,339,3.363,340,3.363,341,4.47,342,2.422,343,3.363,344,3.363,345,2.796,346,2.796]],["title/injectables/BrowserWebBluetooth.html",[25,1.036,309,0.868]],["body/injectables/BrowserWebBluetooth.html",[3,0.559,4,0.559,5,0.495,6,1.318,7,0.527,9,0.495,10,1.393,11,0.853,14,0.627,15,0.034,16,0.773,20,0.773,25,1.661,30,0.495,32,0.938,33,1.6,35,2.339,40,0.162,50,0.027,51,0.027,60,2.153,71,0.773,130,1.6,139,2.113,145,1.057,148,1.041,150,0.853,151,4.218,216,1.805,221,0.938,309,1.393,310,2.113,312,2.843,342,3.654,347,3.406,348,5.074,349,5.074,350,5.074,351,5.512,352,4.097,353,4.097,354,4.097,355,4.097,356,3.406,357,4.097,358,4.097,359,4.097,360,3.406,361,4.097,362,4.097]],["title/injectables/ConsoleLoggerService.html",[27,0.949,309,0.868]],["body/injectables/ConsoleLoggerService.html",[0,1.622,3,0.518,4,0.518,5,0.459,6,1.283,7,0.513,9,0.459,11,1.108,14,0.815,15,0.035,16,0.717,20,0.717,27,1.45,28,1.778,30,0.643,40,0.191,50,0.026,51,0.026,61,2.266,71,1.005,145,1.007,148,1.005,150,1.108,161,2.266,221,1.218,223,1.938,226,1.461,228,2.266,284,3.082,309,1.461,310,1.958,331,2.761,363,2.419,364,3.483,365,3.833,366,3.795,367,4.262,368,3.833,369,3.795,370,3.833,371,3.795,372,3.039,373,2.734,374,2.734,375,2.734,376,2.734,377,2.734,378,2.734]],["title/components/DashboardComponent.html",[52,0.868,76,1.131]],["body/components/DashboardComponent.html",[3,0.405,4,0.405,5,0.358,7,0.375,9,0.358,15,0.035,16,0.56,20,0.56,30,0.358,40,0.117,50,0.022,51,0.022,52,1.292,53,1.06,54,1.923,55,1.53,56,1.53,58,1.53,59,2.973,60,2.313,62,1.53,63,1.53,64,0.889,65,1.267,66,2.117,67,1.923,68,1.53,69,2.62,70,1.53,71,0.775,72,1.53,73,1.06,74,2.011,75,1.53,76,1.816,77,1.53,78,1.06,79,1.53,80,1.06,81,1.53,82,1.06,83,2.205,84,1.53,85,1.53,148,0.56,156,2.136,158,1.693,164,3.237,169,2.136,172,2.136,173,2.136,178,3.39,179,2.956,180,3.39,182,2.956,187,2.956,190,1.693,191,2.465,192,2.136,193,2.465,207,2.061,216,1.541,237,1.53,249,3.515,360,2.465,379,2.465,380,5.08,381,4.104,382,4.707,383,4.104,384,4.104,385,2.966,386,3.412,387,4.104,388,5.764,389,5.764,390,3.291,391,5.764,392,5.764,393,2.956,394,4.104,395,2.966,396,2.966,397,2.966,398,2.465,399,2.966,400,3.658,401,2.966,402,2.966,403,2.966,404,2.966,405,1.89,406,2.136,407,2.966,408,2.966,409,4.104,410,5.08,411,3.412,412,2.966,413,4.707,414,2.966,415,2.966]],["title/classes/FakeBluetoothDevice.html",[40,0.125,416,1.632]],["body/classes/FakeBluetoothDevice.html",[3,0.352,4,0.352,5,0.311,6,1.296,7,0.518,9,0.311,10,1.309,11,0.773,13,1.328,14,0.851,15,0.035,30,0.576,32,1.092,40,0.189,50,0.02,51,0.02,64,1.114,71,1.025,141,0.921,143,1.328,145,0.773,148,1.05,150,0.907,195,1.43,199,2.121,203,0.843,207,1.808,215,1.451,216,0.843,221,0.85,223,1.427,226,1.654,234,1.207,236,1.328,237,1.328,241,2.038,256,1.587,270,1.705,278,2.042,287,2.248,288,1.328,312,2.609,335,2.042,390,1.47,416,1.916,417,1.47,418,2.488,419,3.04,420,3.04,421,3.088,422,2.888,423,2.575,424,2.575,425,2.121,426,2.575,427,3.715,428,2.777,429,2.575,430,2.777,431,3.358,432,3.358,433,2.575,434,2.575,435,2.575,436,3.04,437,2.367,438,2.367,439,2.367,440,1.641,441,2.367,442,1.916,443,1.641,444,1.641,445,2.367,446,1.328,447,1.641,448,1.641,449,2.367,450,1.641,451,1.641,452,1.641,453,1.641,454,1.641,455,1.328,456,1.47,457,1.641,458,1.641,459,1.641,460,1.641,461,1.328,462,2.367,463,2.367,464,1.47,465,3.04,466,2.367,467,1.641,468,1.641,469,2.367,470,1.641,471,1.641,472,1.641,473,1.641]],["title/classes/FakeBluetoothRemoteGATTCharacteristic.html",[40,0.125,461,1.632]],["body/classes/FakeBluetoothRemoteGATTCharacteristic.html",[3,0.344,4,0.344,5,0.304,6,1.31,7,0.523,9,0.304,10,1.481,11,0.896,13,1.299,14,0.862,15,0.035,30,0.57,32,1.081,40,0.187,50,0.02,51,0.02,64,1.096,71,0.891,141,0.901,143,1.299,145,0.761,148,1.064,150,0.983,195,1.568,199,1.681,203,0.825,207,1.307,215,1.428,216,0.825,221,0.985,223,1.409,226,1.546,234,1.18,236,0.901,237,1.299,241,1.562,256,1.562,270,2.045,278,2.016,287,2.22,288,1.299,312,2.783,335,2.016,390,1.438,416,1.299,417,1.438,418,1.438,419,1.605,420,3.009,421,3.039,422,2.863,425,1.438,428,2.33,430,2.742,431,3.332,432,3.332,436,3.009,437,2.33,438,2.33,439,2.33,440,1.605,441,2.33,442,1.886,443,1.605,444,1.605,445,2.33,446,1.299,447,1.605,448,1.605,449,2.33,450,1.605,451,1.605,452,1.605,453,1.605,454,1.605,455,1.299,456,1.438,457,1.605,458,1.605,459,1.605,460,1.605,461,1.886,462,3.009,463,3.195,464,2.457,465,3.522,466,2.742,467,2.33,468,1.605,469,2.33,470,3.009,471,1.605,472,2.33,473,1.605,474,3.656,475,2.519,476,2.519,477,2.519,478,2.519,479,2.519,480,2.519,481,2.519,482,2.519,483,2.519,484,2.519]],["title/classes/FakeBluetoothRemoteGATTServer.html",[40,0.125,446,1.632]],["body/classes/FakeBluetoothRemoteGATTServer.html",[3,0.367,4,0.367,5,0.325,6,1.287,7,0.514,9,0.325,10,1.335,11,0.797,13,1.386,14,0.842,15,0.035,30,0.588,32,1.113,40,0.192,50,0.021,51,0.021,64,1.338,71,0.842,141,0.96,143,1.386,145,0.797,148,1.038,150,0.929,195,1.338,199,2.148,203,1.254,207,1.838,215,2.008,216,0.88,221,0.876,223,0.88,226,1.51,234,2.091,236,0.96,237,1.386,241,1.636,256,1.636,270,1.739,278,2.091,287,2.302,288,2.302,312,2.302,335,2.091,390,2.777,416,1.386,417,1.534,418,1.534,419,1.712,420,2.44,422,2.186,425,1.534,428,2.44,430,2.44,431,3.099,432,3.099,436,3.099,437,2.44,438,2.44,439,2.44,440,1.712,441,2.44,442,1.975,443,1.712,444,1.712,445,2.44,446,1.975,447,3.276,448,1.712,449,2.44,450,1.712,451,2.44,452,2.843,453,1.712,454,1.712,455,1.386,456,1.534,457,1.712,458,1.712,459,1.712,460,1.712,461,1.386,462,2.44,463,2.44,464,1.534,465,3.099,466,2.44,467,1.712,468,1.712,469,2.44,470,1.712,471,1.712,472,1.712,473,1.712,485,3.829,486,2.234,487,3.829,488,3.829,489,2.687,490,2.687,491,2.687]],["title/classes/FakeBluetoothRemoteGATTService.html",[40,0.125,455,1.632]],["body/classes/FakeBluetoothRemoteGATTService.html",[3,0.386,4,0.386,5,0.342,6,1.2,7,0.479,9,0.342,10,1.366,11,0.827,13,1.46,14,0.762,15,0.035,30,0.601,32,1.139,40,0.197,50,0.021,51,0.021,64,1.191,71,0.867,141,1.012,143,1.46,145,0.827,148,0.94,150,0.589,195,1.191,199,2.18,203,0.927,207,1.42,215,2.047,216,0.927,221,0.909,226,1.532,237,1.46,241,1.697,256,1.697,270,1.779,273,1.326,278,2.151,287,2.368,288,1.46,312,2.368,335,2.151,390,1.616,416,1.46,417,1.616,418,1.616,419,1.803,420,2.532,422,2.268,425,1.616,428,2.532,430,2.532,431,3.172,432,3.172,436,3.172,437,2.532,438,2.532,439,2.532,440,1.803,441,2.532,442,2.049,443,1.803,444,1.803,445,2.532,446,1.46,447,1.803,448,1.803,449,2.532,450,1.803,451,1.803,452,1.803,453,1.803,454,1.803,455,2.049,456,2.993,457,1.803,458,2.532,459,2.925,460,1.803,461,1.46,462,2.532,463,2.532,464,1.616,465,3.172,466,2.532,467,1.803,468,1.803,469,2.532,470,1.803,471,1.803,472,1.803,473,1.803,486,2.353,492,3.973,493,2.83,494,3.973,495,2.83]],["title/components/HumidityComponent.html",[52,0.868,78,1.131]],["body/components/HumidityComponent.html",[3,0.26,4,0.26,5,0.23,7,0.174,9,0.23,10,0.812,11,0.756,14,0.844,15,0.035,16,0.888,20,0.359,23,1.465,25,1.19,27,1.09,30,0.439,32,0.435,33,1.601,40,0.075,42,1.527,44,1.587,45,1.265,46,1.387,49,1.387,50,0.016,51,0.016,52,0.997,53,0.68,54,1.387,55,0.981,56,0.981,58,0.981,59,2.618,60,1.982,62,1.527,63,0.981,64,0.888,65,0.813,66,1.527,67,1.387,68,0.981,69,2.114,70,0.981,71,0.838,72,0.981,73,0.68,74,0.813,75,0.981,76,0.68,77,0.981,78,1.465,79,0.981,80,0.68,81,0.981,82,0.68,83,0.892,84,0.981,85,0.981,125,1.086,126,1.086,129,0.892,130,0.743,141,1.299,145,0.616,148,1.088,150,1.022,158,2.074,161,1.387,162,2.315,163,2.315,165,2.315,166,2.315,184,2.315,190,2.074,195,1.598,199,1.836,203,1.54,204,2.83,205,2.315,206,2.315,207,1.465,209,1.886,210,2.612,211,2.612,212,2.612,213,1.886,214,1.886,215,1.419,216,0.969,217,1.212,218,2.168,219,2.83,221,0.831,223,1.607,225,1.886,226,1.219,228,1.387,232,1.886,233,2.803,234,1.387,236,1.587,240,2.83,241,2.544,252,0.981,254,1.086,255,1.212,256,1.751,257,1.527,258,1.69,259,1.69,260,1.086,261,1.086,262,1.086,263,1.086,264,1.212,265,1.086,266,1.212,267,1.212,268,1.212,269,1.212,270,0.68,271,1.212,273,0.892,276,1.212,278,1.387,291,1.212,293,1.69,294,1.212,295,1.212,296,1.212,297,1.212,298,1.37,300,1.212,301,1.212,303,1.886,304,1.212,305,1.212,332,1.582,333,2.461,393,2.617,398,1.582,400,2.617,405,1.212,406,1.37,496,1.37,497,3.408,498,3.02,499,3.02,500,3.02,501,3.02,502,3.408,503,1.903,504,1.903,505,1.903,506,1.903,507,1.903,508,1.903,509,1.903,510,1.903,511,3.02,512,1.903,513,3.02,514,1.582,515,2.461,516,1.903,517,3.408,518,1.903,519,1.903,520,1.903,521,1.903,522,1.903,523,1.903,524,1.582,525,1.37,526,1.582,527,2.132,528,2.132,529,2.132,530,2.132,531,1.903,532,1.582,533,1.582,534,2.461,535,1.582,536,1.582,537,1.582,538,1.903,539,1.582,540,1.582,541,1.582,542,1.37,543,3.02,544,1.582,545,2.461,546,1.582,547,1.582,548,1.582,549,1.582,550,1.582,551,1.582,552,1.582,553,1.582,554,1.582,555,1.582,556,1.582,557,1.582,558,2.461,559,1.582,560,1.903,561,1.37,562,1.582,563,1.582,564,1.582,565,1.37]],["title/interfaces/Logger.html",[0,1.352,372,1.806]],["body/interfaces/Logger.html",[0,1.602,2,2.701,3,0.512,4,0.512,5,0.453,6,1.277,7,0.51,9,0.453,11,1.102,14,0.81,15,0.035,16,0.708,20,0.708,27,1.124,28,1.757,30,0.639,40,0.19,50,0.026,51,0.026,61,2.248,71,0.999,145,0.999,148,0.999,150,1.102,161,2.248,221,1.211,223,1.931,226,1.684,228,2.248,284,3.058,309,1.453,331,2.74,363,2.389,364,3.456,365,3.456,367,4.249,368,3.456,370,3.456,372,3.186,373,3.456,374,3.456,375,3.456,376,2.701,377,2.701,378,2.701,566,3.75,567,3.75,568,3.75]],["title/injectables/NoLoggerService.html",[28,1.482,309,0.868]],["body/injectables/NoLoggerService.html",[0,1.622,3,0.518,4,0.518,5,0.459,6,1.283,7,0.513,9,0.459,11,1.108,14,0.815,15,0.035,16,0.717,20,0.717,27,1.138,28,2.266,30,0.643,40,0.191,50,0.026,51,0.026,61,2.266,71,1.005,145,1.007,148,1.005,150,1.108,161,2.266,221,1.218,223,1.938,226,1.461,228,2.266,284,3.082,309,1.461,310,1.958,331,2.761,363,2.419,364,3.483,365,3.833,367,4.262,368,3.833,370,3.833,372,3.039,373,2.734,374,2.734,375,2.734,376,2.734,377,2.734,378,2.734,569,3.795,570,3.795,571,3.795]],["title/injectables/ServerWebBluetooth.html",[309,0.868,572,2.279]],["body/injectables/ServerWebBluetooth.html",[3,0.615,4,0.615,5,0.544,6,1.23,7,0.492,9,0.544,15,0.034,16,0.85,20,0.85,30,0.544,32,1.031,40,0.178,42,2.963,50,0.029,51,0.029,145,1.119,148,0.85,150,0.938,265,3.397,309,1.475,310,2.323,572,3.871,573,3.744,574,4.504,575,4.504,576,3.744,577,4.504]],["title/components/StepCounterComponent.html",[52,0.868,80,1.131]],["body/components/StepCounterComponent.html",[3,0.274,4,0.274,5,0.243,7,0.184,9,0.243,10,0.847,11,0.783,14,0.791,15,0.035,16,0.859,20,0.379,23,1.508,25,1.23,27,1.127,30,0.454,32,0.706,33,1.205,40,0.079,44,1.627,45,1.318,46,1.446,49,1.446,50,0.017,51,0.017,52,1.032,53,0.718,54,1.446,55,1.035,56,1.035,58,1.035,59,2.664,60,2.017,62,1.591,63,1.035,64,0.602,65,0.858,66,1.591,67,1.446,68,1.035,69,2.176,70,1.035,71,0.859,72,1.035,73,0.718,74,0.858,75,1.035,76,0.718,77,1.035,78,0.718,79,1.035,80,1.508,81,1.035,82,0.718,83,0.941,84,1.035,85,1.035,125,1.146,126,1.146,129,0.941,130,0.784,141,1.103,145,0.642,148,1.068,150,1.001,158,2.146,161,1.446,162,2.395,163,2.395,165,2.395,166,3.062,169,2.707,172,2.707,173,2.707,174,3.124,175,3.995,176,3.995,177,3.124,178,2.707,179,2.707,180,2.707,182,3.461,183,3.124,184,3.062,187,2.707,190,2.146,192,2.707,195,1.696,196,3.124,199,1.877,203,1.573,204,2.901,205,2.395,206,2.395,207,1.508,209,1.966,210,2.688,211,2.688,212,2.688,213,1.966,214,1.966,215,1.468,216,1.01,217,1.279,218,2.207,219,2.901,221,0.86,223,1.573,225,1.966,226,1.032,228,1.761,232,1.966,233,2.599,236,1.343,240,2.901,241,2.263,249,1.966,252,1.035,254,1.146,255,1.279,256,1.945,257,1.591,258,1.762,259,1.762,260,1.146,261,1.146,262,1.146,263,1.146,264,1.279,265,1.146,266,1.279,267,1.279,268,1.279,269,1.279,270,0.718,273,0.941,276,1.279,287,1.035,290,1.446,291,1.279,293,1.146,294,1.279,295,1.279,296,1.279,297,1.279,300,1.279,301,1.279,303,1.966,304,1.279,305,1.279,527,2.222,528,2.222,529,2.222,530,2.222,533,1.669,534,2.565,542,1.446,559,1.669,561,1.446,565,1.446,578,1.446,579,3.085,580,3.758,581,3.758,582,3.758,583,3.995,584,3.758,585,3.758,586,2.007,587,2.007,588,2.007,589,2.007,590,2.007,591,2.007,592,2.007,593,2.007,594,2.007,595,2.007,596,2.007,597,2.007,598,2.007,599,3.085,600,2.007,601,2.007,602,2.007,603,2.007,604,2.007,605,2.007]],["title/components/TemperatureComponent.html",[52,0.868,82,1.131]],["body/components/TemperatureComponent.html",[3,0.257,4,0.257,5,0.228,7,0.172,9,0.228,10,0.806,11,0.752,14,0.842,15,0.035,16,0.884,20,0.356,23,1.457,25,1.182,27,1.082,30,0.436,32,0.672,33,1.592,40,0.075,42,1.515,44,1.58,45,1.255,46,1.376,49,1.376,50,0.016,51,0.016,52,0.991,53,0.673,54,1.376,55,0.971,56,0.971,58,0.971,59,2.609,60,1.975,62,1.515,63,0.971,64,0.881,65,0.805,66,1.515,67,1.376,68,0.971,69,2.103,70,0.971,71,0.834,72,0.971,73,0.673,74,0.805,75,0.971,76,0.673,77,0.971,78,0.673,79,0.971,80,0.673,81,0.971,82,1.457,83,1.91,84,0.971,85,0.971,125,1.075,126,1.075,129,0.882,130,0.735,141,1.29,145,0.611,148,1.086,150,1.018,158,2.061,161,1.376,162,2.3,163,2.3,165,2.3,166,2.3,184,2.3,190,2.061,195,1.594,199,1.726,203,1.533,204,2.816,205,2.3,206,2.3,207,1.457,209,1.871,210,2.598,211,2.598,212,2.598,213,1.871,214,1.871,215,1.41,216,0.617,217,1.2,218,2.161,219,2.816,221,0.826,223,1.601,225,1.871,226,1.213,228,1.691,232,1.871,233,2.792,234,1.376,236,1.58,240,2.816,241,2.54,252,0.971,254,1.075,255,1.2,256,2,257,1.515,258,1.677,259,1.677,260,1.075,261,1.075,262,1.075,263,1.075,264,1.2,265,1.075,266,1.2,267,1.2,268,1.2,269,1.2,270,0.673,271,1.2,273,0.882,276,1.2,277,1.566,278,1.376,290,1.356,291,1.2,292,1.566,293,1.075,294,1.2,295,1.2,296,1.2,297,1.2,298,1.356,300,1.2,301,1.2,303,1.871,304,1.2,305,1.2,335,0.882,400,2.6,405,1.2,406,1.356,497,3.389,498,3.001,499,3.001,500,3.001,501,3.001,502,3.389,511,3.001,513,3.001,514,1.566,515,2.441,517,3.389,524,1.566,525,1.356,526,1.566,527,2.115,528,2.115,529,2.115,530,2.115,532,1.566,535,1.566,536,1.566,537,1.566,539,1.566,540,1.566,541,1.566,542,1.356,543,3.001,544,1.566,545,2.441,546,1.566,547,1.566,548,1.566,549,1.566,550,1.566,551,1.566,552,1.566,553,1.566,554,1.566,555,1.566,556,1.566,557,1.566,558,2.441,561,1.356,562,1.566,563,1.566,564,1.566,565,1.356,583,1.566,606,1.356,607,1.883,608,1.883,609,1.883,610,1.883,611,1.883,612,1.883,613,1.883,614,1.883,615,1.883,616,1.883,617,1.883,618,2.937,619,1.883,620,1.883,621,1.883,622,1.883,623,2.937,624,2.937,625,1.883]],["title/modules/WebBluetoothModule.html",[41,1.482,86,1.806]],["body/modules/WebBluetoothModule.html",[0,1.54,1,3.252,3,0.492,4,0.492,5,0.435,6,1.071,7,0.428,8,2.297,11,0.974,12,2.297,13,1.859,14,0.552,15,0.035,16,1.075,17,3.31,18,4.318,19,2.996,20,0.68,21,3.889,22,2.596,23,1.672,24,2.996,25,1.865,26,2.996,27,1.558,28,2.192,29,2.996,30,0.688,31,3.741,32,1.304,33,2.147,34,2.596,35,2.965,36,2.996,37,3.31,38,2.996,39,2.297,40,0.143,41,2.434,42,2.413,43,3.889,44,1.288,45,2.219,46,2.192,47,2.996,48,2.297,49,1.689,50,0.025,51,0.025,71,0.68,88,2.058,145,0.75,148,0.68,150,0.75,195,1.081,221,0.825,236,1.288,626,3.604,627,3.604]],["title/coverage.html",[628,3.567]],["body/coverage.html",[0,1.692,1,1.609,5,0.34,6,1.412,7,0.564,8,3.166,14,0.701,15,0.035,23,1.007,25,1.297,27,0.845,28,1.32,31,3.298,33,1.1,37,1.795,40,0.207,44,1.776,48,1.795,50,0.021,51,0.021,52,1.49,53,1.007,57,2.342,73,1.007,76,1.007,78,1.007,80,1.007,82,1.007,142,2.029,144,2.342,159,3.578,160,3.578,218,2.236,249,4.102,257,2.562,309,1.49,311,2.852,320,2.029,334,5.104,347,2.342,363,2.918,372,1.609,379,2.342,416,1.453,417,2.836,446,1.453,455,1.453,461,1.453,496,3.578,572,2.029,573,2.342,578,3.578,606,3.578,628,2.342,629,2.029,630,2.817,631,2.817,632,2.817,633,4.579,634,6.273,635,3.292,636,2.817,637,2.817,638,3.96,639,2.342,640,3.292,641,3.292,642,2.342,643,2.342,644,4.967,645,3.96,646,2.817,647,2.817,648,2.817,649,2.817,650,3.96,651,2.817,652,2.342,653,3.292,654,2.342,655,2.817,656,2.817]],["title/dependencies.html",[89,2.42,657,1.913]],["body/dependencies.html",[15,0.035,20,0.83,22,3.167,50,0.028,51,0.028,89,2.802,106,4.404,130,1.717,139,2.733,254,2.511,525,3.167,658,4.397,659,6.26,660,4.397,661,5.298,662,4.397,663,4.397,664,4.397,665,4.397,666,4.397,667,3.656,668,4.397,669,4.397,670,4.397,671,4.397,672,4.397,673,4.397,674,4.397,675,4.397,676,4.397,677,4.397]],["title/miscellaneous/functions.html",[678,1.37,679,3.157]],["body/miscellaneous/functions.html",[1,3.151,6,1.078,7,0.431,8,3.001,9,0.569,11,0.981,14,0.721,15,0.031,25,1.917,34,3.392,35,2.689,37,3.73,48,3.517,50,0.03,51,0.03,71,0.889,221,1.078,678,2.429,679,3.915,680,5.853]],["title/index.html",[9,0.321,681,1.913,682,1.913]],["body/index.html",[7,0.455,12,1.4,15,0.035,16,1.026,17,2.106,20,0.75,23,1.779,30,0.48,32,1.287,39,1.4,40,0.157,41,1.549,42,1.705,45,0.939,50,0.018,51,0.018,60,1.291,61,1.549,64,0.659,74,1.697,86,1.887,87,1.255,99,1.4,129,2.07,130,2.075,139,1.133,140,1.827,141,1.181,164,2.531,195,1.549,200,1.827,203,1.74,207,0.786,215,1.944,252,1.705,262,1.255,263,1.255,270,1.693,271,1.4,272,2.747,273,2.22,274,2.747,288,1.705,309,1.213,315,2.747,316,3.673,327,2.747,329,2.747,331,1.887,335,1.549,337,2.747,338,1.827,342,2.38,345,1.827,346,2.747,386,1.827,405,2.106,411,1.827,418,1.255,422,1.255,425,1.255,442,1.133,456,1.255,464,1.255,629,2.861,657,1.583,667,2.747,681,1.583,682,1.583,683,2.197,684,3.305,685,5.164,686,3.305,687,2.197,688,2.197,689,2.197,690,2.197,691,2.197,692,2.197,693,2.197,694,2.197,695,2.197,696,3.938,697,3.305,698,2.197,699,3.305,700,4.418,701,3.305,702,3.305,703,3.305,704,4.977,705,5.164,706,3.305,707,3.305,708,2.197,709,3.305,710,2.197,711,2.197,712,2.197,713,3.305,714,2.197,715,2.197,716,2.197,717,2.197,718,2.197,719,2.197,720,3.305,721,2.197,722,3.305,723,2.197,724,2.197,725,2.197,726,2.197,727,2.747,728,2.197,729,2.197,730,2.197,731,2.197,732,3.305,733,2.197,734,2.197,735,2.197,736,2.197,737,2.197,738,3.305,739,1.827,740,2.197,741,2.197,742,2.197,743,2.197,744,2.197,745,2.197,746,2.197,747,2.197,748,2.197,749,2.197,750,2.197,751,2.197,752,1.827,753,3.305,754,2.197,755,2.197,756,3.305,757,3.305,758,2.197,759,2.197,760,2.197,761,2.747,762,2.197,763,2.197,764,3.305,765,2.197,766,2.197,767,2.197,768,2.197,769,2.197,770,2.197,771,2.197,772,2.197,773,2.197,774,2.197,775,2.197,776,2.197,777,2.38,778,2.747,779,3.302,780,1.827,781,1.827,782,1.827,783,1.827,784,2.747,785,1.827,786,1.827,787,1.827,788,1.827,789,1.827,790,2.747,791,4.519,792,1.827,793,1.827,794,1.827,795,3.302,796,1.827,797,2.747,798,1.827,799,1.827,800,1.827,801,1.827,802,1.827,803,1.827,804,1.827,805,1.827,806,1.827,807,2.747,808,1.827,809,1.827,810,1.827,811,1.827,812,1.827,813,1.827,814,2.747,815,2.747,816,1.827,817,1.827,818,1.827,819,1.827,820,1.827,821,1.827,822,1.827,823,1.827,824,1.827,825,1.827,826,1.827,827,1.827,828,1.827,829,1.827,830,1.827,831,1.827,832,1.827,833,1.827,834,1.827,835,1.827,836,1.827,837,1.827,838,1.827,839,1.827,840,1.827,841,1.827,842,1.827,843,1.827,844,1.827]],["title/license.html",[681,1.913,682,1.913,777,1.913]],["body/license.html",[15,0.027,50,0.027,51,0.027,99,2.56,442,2.072,629,2.893,696,4.167,727,3.339,761,3.339,777,2.893,778,4.167,779,4.542,780,3.339,781,3.339,782,3.339,783,3.339,784,4.167,785,3.339,786,3.339,787,3.339,788,3.339,789,3.339,790,4.167,791,5.161,792,3.339,793,3.339,794,3.339,795,4.542,796,3.339,797,4.167,798,3.339,799,3.339,800,3.339,801,3.339,802,3.339,803,3.339,804,3.339,805,3.339,806,3.339,807,4.167,808,3.339,809,3.339,810,3.339,811,3.339,812,3.339,813,3.339,814,4.167,815,4.167,816,3.339,817,3.339,818,3.339,819,3.339,820,3.339,821,3.339,822,3.339,823,3.339,824,3.339,825,3.339,826,3.339,827,3.339,828,3.339,829,3.339,830,3.339,831,3.339,832,3.339,833,3.339,834,3.339,835,3.339,836,3.339,837,3.339,838,3.339,839,3.339,840,3.339,841,3.339,842,3.339,843,3.339,844,3.339]],["title/modules.html",[88,2.45]],["body/modules.html",[15,0.03,41,2.3,50,0.03,51,0.03,87,2.803,88,2.803,139,2.532,356,4.081,845,4.909,846,5.653,847,4.909,848,4.081]],["title/overview.html",[849,3.567]],["body/overview.html",[2,3.01,15,0.034,41,2.606,44,1.494,50,0.028,51,0.028,53,2.195,54,1.959,65,1.786,73,1.988,76,1.988,78,1.988,80,1.988,82,1.988,86,2.387,87,3.676,88,2.387,89,2.664,90,3.475,91,3.475,92,3.475,93,3.475,94,3.475,95,3.475,96,3.475,97,4.27,98,3.475,99,2.664,143,2.156,310,2.156,739,4.27,752,3.475,849,3.475,850,5.137]],["title/properties.html",[10,1.042,657,1.913]],["body/properties.html",[10,1.369,15,0.032,50,0.031,51,0.031,851,4.988,852,4.988]],["title/miscellaneous/typealiases.html",[678,1.37,853,3.798]],["body/miscellaneous/typealiases.html",[6,1.1,7,0.44,9,0.581,14,0.904,15,0.03,50,0.03,51,0.03,234,2.617,311,3.462,320,4.022,635,3.996,639,4.643,678,2.48,854,4.807,855,4.807,856,4.807]],["title/miscellaneous/variables.html",[678,1.37,857,3.157]],["body/miscellaneous/variables.html",[6,0.362,7,0.145,9,0.191,14,0.728,15,0.035,23,1.879,25,1.557,27,1.426,33,1.857,44,1.7,45,2.032,46,2.228,49,2.228,50,0.014,51,0.014,64,0.475,74,0.676,83,0.742,141,0.566,159,1.14,160,2.663,164,1.009,195,1.664,203,1.852,218,2.371,226,0.702,236,1.984,257,2.712,258,2.715,259,2.715,260,2.111,261,2.111,314,1.316,393,1.14,496,1.14,576,2.677,578,1.14,606,1.14,640,1.316,641,2.677,642,2.127,643,2.677,652,1.316,653,3.074,654,1.316,678,0.817,848,2.677,857,1.316,858,3.22,859,3.22,860,3.22,861,3.22,862,1.583,863,1.583,864,2.558,865,2.558,866,1.583,867,1.583,868,1.583,869,1.583,870,6.335,871,6.335,872,6.335,873,6.335,874,1.583,875,1.583,876,1.583,877,1.583,878,1.583,879,1.583,880,1.583,881,1.583,882,1.583,883,1.583,884,1.583,885,1.583,886,1.583,887,1.583,888,1.583,889,1.583,890,1.583,891,1.583,892,1.583,893,1.583,894,1.583,895,5.044,896,1.583,897,4.756,898,1.583,899,4.756,900,1.583,901,1.583,902,1.583,903,1.583,904,1.583,905,1.583,906,1.583,907,1.583,908,1.583,909,1.583,910,3.22,911,3.22,912,1.583,913,1.583,914,1.583,915,1.583,916,1.583,917,1.583,918,1.583,919,1.583,920,1.583,921,1.583,922,1.583,923,1.583,924,1.583,925,1.583,926,1.583,927,1.583,928,1.583,929,1.583,930,1.583,931,1.583,932,1.583,933,1.583,934,1.583,935,1.583,936,1.583,937,1.583,938,1.583,939,1.583,940,1.583,941,1.583,942,1.583,943,1.583,944,1.583,945,1.583,946,1.583,947,1.583,948,1.583,949,1.583,950,1.583,951,1.583,952,1.583,953,1.583,954,1.583,955,1.583,956,1.583,957,1.583,958,1.583,959,1.583,960,1.583,961,1.583,962,1.583,963,1.583,964,1.583,965,1.583,966,1.583,967,1.583,968,1.583,969,1.583]]],"invertedIndex":[["",{"_index":15,"title":{},"body":{"interfaces/AWBOptions.html":{},"components/AppComponent.html":{},"modules/AppModule.html":{},"classes/AppPage.html":{},"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"injectables/ConsoleLoggerService.html":{},"components/DashboardComponent.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"injectables/ServerWebBluetooth.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{},"coverage.html":{},"dependencies.html":{},"miscellaneous/functions.html":{},"index.html":{},"license.html":{},"modules.html":{},"overview.html":{},"properties.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["0",{"_index":249,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/StepCounterComponent.html":{},"coverage.html":{}}}],["0.0.6",{"_index":668,"title":{},"body":{"dependencies.html":{}}}],["0.15.1",{"_index":677,"title":{},"body":{"dependencies.html":{}}}],["0/1",{"_index":634,"title":{},"body":{"coverage.html":{}}}],["0/10",{"_index":646,"title":{},"body":{"coverage.html":{}}}],["0/13",{"_index":651,"title":{},"body":{"coverage.html":{}}}],["0/16",{"_index":650,"title":{},"body":{"coverage.html":{}}}],["0/18",{"_index":649,"title":{},"body":{"coverage.html":{}}}],["0/2",{"_index":633,"title":{},"body":{"coverage.html":{}}}],["0/3",{"_index":632,"title":{},"body":{"coverage.html":{}}}],["0/4",{"_index":644,"title":{},"body":{"coverage.html":{}}}],["0/5",{"_index":648,"title":{},"body":{"coverage.html":{}}}],["0/8",{"_index":647,"title":{},"body":{"coverage.html":{}}}],["0/9",{"_index":645,"title":{},"body":{"coverage.html":{}}}],["000",{"_index":196,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/StepCounterComponent.html":{}}}],["000000",{"_index":549,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["000000000000",{"_index":873,"title":{},"body":{"miscellaneous/variables.html":{}}}],["0451",{"_index":870,"title":{},"body":{"miscellaneous/variables.html":{}}}],["1",{"_index":405,"title":{},"body":{"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{},"index.html":{}}}],["1.35.0",{"_index":670,"title":{},"body":{"dependencies.html":{}}}],["100",{"_index":583,"title":{},"body":{"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["10px",{"_index":413,"title":{},"body":{"components/DashboardComponent.html":{}}}],["112px",{"_index":580,"title":{},"body":{"components/StepCounterComponent.html":{}}}],["11em",{"_index":582,"title":{},"body":{"components/StepCounterComponent.html":{}}}],["120px",{"_index":183,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/StepCounterComponent.html":{}}}],["15px",{"_index":410,"title":{},"body":{"components/DashboardComponent.html":{}}}],["16px",{"_index":498,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["17",{"_index":551,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["2",{"_index":739,"title":{},"body":{"index.html":{},"overview.html":{}}}],["2.3.0",{"_index":675,"title":{},"body":{"dependencies.html":{}}}],["2.a",{"_index":695,"title":{},"body":{"index.html":{}}}],["2.b",{"_index":714,"title":{},"body":{"index.html":{}}}],["20.0.0",{"_index":852,"title":{},"body":{"properties.html":{}}}],["20.0.4",{"_index":661,"title":{},"body":{"dependencies.html":{}}}],["20.0.5",{"_index":659,"title":{},"body":{"dependencies.html":{}}}],["2017",{"_index":781,"title":{},"body":{"index.html":{},"license.html":{}}}],["20px",{"_index":408,"title":{},"body":{"components/DashboardComponent.html":{}}}],["21/31",{"_index":637,"title":{},"body":{"coverage.html":{}}}],["214px",{"_index":581,"title":{},"body":{"components/StepCounterComponent.html":{}}}],["222px",{"_index":181,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["24px",{"_index":186,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["255px",{"_index":194,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["29.0.5",{"_index":673,"title":{},"body":{"dependencies.html":{}}}],["3",{"_index":742,"title":{},"body":{"index.html":{}}}],["32px",{"_index":415,"title":{},"body":{"components/DashboardComponent.html":{}}}],["4",{"_index":747,"title":{},"body":{"index.html":{}}}],["4000",{"_index":871,"title":{},"body":{"miscellaneous/variables.html":{}}}],["40px",{"_index":397,"title":{},"body":{"components/DashboardComponent.html":{}}}],["4933",{"_index":528,"title":{},"body":{"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["5",{"_index":752,"title":{},"body":{"index.html":{},"overview.html":{}}}],["52ffa9740042",{"_index":530,"title":{},"body":{"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["5em",{"_index":177,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/StepCounterComponent.html":{}}}],["5px",{"_index":191,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{}}}],["6",{"_index":850,"title":{},"body":{"overview.html":{}}}],["67",{"_index":636,"title":{},"body":{"coverage.html":{}}}],["7.8.0",{"_index":669,"title":{},"body":{"dependencies.html":{}}}],["700px",{"_index":399,"title":{},"body":{"components/DashboardComponent.html":{}}}],["90px",{"_index":189,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["9b10",{"_index":529,"title":{},"body":{"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["9b35",{"_index":527,"title":{},"body":{"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["__register__",{"_index":941,"title":{},"body":{"miscellaneous/variables.html":{}}}],["_config",{"_index":313,"title":{},"body":{"injectables/BleService.html":{}}}],["above",{"_index":813,"title":{},"body":{"index.html":{},"license.html":{}}}],["absolute",{"_index":179,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/StepCounterComponent.html":{}}}],["abstract",{"_index":724,"title":{},"body":{"index.html":{}}}],["accelerometer",{"_index":912,"title":{},"body":{"miscellaneous/variables.html":{}}}],["acceptalldevices",{"_index":736,"title":{},"body":{"index.html":{}}}],["accessors",{"_index":214,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["action",{"_index":838,"title":{},"body":{"index.html":{},"license.html":{}}}],["actual_component",{"_index":85,"title":{},"body":{"components/AppComponent.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["addeventlistener",{"_index":421,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{}}}],["addeventlistener(type",{"_index":430,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["address",{"_index":944,"title":{},"body":{"miscellaneous/variables.html":{}}}],["advanced",{"_index":715,"title":{},"body":{"index.html":{}}}],["alias",{"_index":638,"title":{},"body":{"coverage.html":{}}}],["aliases",{"_index":854,"title":{},"body":{"miscellaneous/typealiases.html":{}}}],["align",{"_index":173,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/StepCounterComponent.html":{}}}],["and/or",{"_index":805,"title":{},"body":{"index.html":{},"license.html":{}}}],["angular",{"_index":386,"title":{},"body":{"components/DashboardComponent.html":{},"index.html":{}}}],["angular/animations",{"_index":658,"title":{},"body":{"dependencies.html":{}}}],["angular/cdk",{"_index":660,"title":{},"body":{"dependencies.html":{}}}],["angular/cdk/layout",{"_index":102,"title":{},"body":{"modules/AppModule.html":{}}}],["angular/common",{"_index":22,"title":{},"body":{"interfaces/AWBOptions.html":{},"modules/WebBluetoothModule.html":{},"dependencies.html":{}}}],["angular/compiler",{"_index":662,"title":{},"body":{"dependencies.html":{}}}],["angular/core",{"_index":20,"title":{},"body":{"interfaces/AWBOptions.html":{},"components/AppComponent.html":{},"modules/AppModule.html":{},"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"injectables/ConsoleLoggerService.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"injectables/ServerWebBluetooth.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{},"dependencies.html":{},"index.html":{}}}],["angular/forms",{"_index":663,"title":{},"body":{"dependencies.html":{}}}],["angular/material",{"_index":664,"title":{},"body":{"dependencies.html":{}}}],["angular/material/button",{"_index":104,"title":{},"body":{"modules/AppModule.html":{}}}],["angular/material/card",{"_index":109,"title":{},"body":{"modules/AppModule.html":{}}}],["angular/material/expansion",{"_index":111,"title":{},"body":{"modules/AppModule.html":{}}}],["angular/material/grid",{"_index":113,"title":{},"body":{"modules/AppModule.html":{}}}],["angular/material/icon",{"_index":116,"title":{},"body":{"modules/AppModule.html":{}}}],["angular/material/list",{"_index":118,"title":{},"body":{"modules/AppModule.html":{}}}],["angular/material/menu",{"_index":120,"title":{},"body":{"modules/AppModule.html":{}}}],["angular/material/progress",{"_index":122,"title":{},"body":{"modules/AppModule.html":{},"components/BatteryLevelComponent.html":{}}}],["angular/material/snack",{"_index":125,"title":{},"body":{"modules/AppModule.html":{},"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["angular/material/toolbar",{"_index":128,"title":{},"body":{"modules/AppModule.html":{}}}],["angular/platform",{"_index":106,"title":{},"body":{"modules/AppModule.html":{},"dependencies.html":{}}}],["angular/router",{"_index":666,"title":{},"body":{"dependencies.html":{}}}],["annotated",{"_index":701,"title":{},"body":{"index.html":{}}}],["any)[key].service",{"_index":867,"title":{},"body":{"miscellaneous/variables.html":{}}}],["api",{"_index":753,"title":{},"body":{"index.html":{}}}],["app",{"_index":769,"title":{},"body":{"index.html":{}}}],["app.component",{"_index":131,"title":{},"body":{"modules/AppModule.html":{}}}],["appcomponent",{"_index":53,"title":{"components/AppComponent.html":{}},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"coverage.html":{},"overview.html":{}}}],["appmodule",{"_index":87,"title":{"modules/AppModule.html":{}},"body":{"modules/AppModule.html":{},"index.html":{},"modules.html":{},"overview.html":{}}}],["apppage",{"_index":142,"title":{"classes/AppPage.html":{}},"body":{"classes/AppPage.html":{},"coverage.html":{}}}],["args",{"_index":367,"title":{},"body":{"injectables/ConsoleLoggerService.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{}}}],["arising",{"_index":842,"title":{},"body":{"index.html":{},"license.html":{}}}],["ask",{"_index":748,"title":{},"body":{"index.html":{}}}],["associated",{"_index":792,"title":{},"body":{"index.html":{},"license.html":{}}}],["authors",{"_index":831,"title":{},"body":{"index.html":{},"license.html":{}}}],["auto",{"_index":401,"title":{},"body":{"components/DashboardComponent.html":{}}}],["available",{"_index":848,"title":{},"body":{"modules.html":{},"miscellaneous/variables.html":{}}}],["awboptions",{"_index":1,"title":{"interfaces/AWBOptions.html":{}},"body":{"interfaces/AWBOptions.html":{},"modules/WebBluetoothModule.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["b",{"_index":258,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"miscellaneous/variables.html":{}}}],["b000",{"_index":872,"title":{},"body":{"miscellaneous/variables.html":{}}}],["bar",{"_index":126,"title":{},"body":{"modules/AppModule.html":{},"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["barometer",{"_index":905,"title":{},"body":{"miscellaneous/variables.html":{}}}],["battery",{"_index":74,"title":{},"body":{"components/AppComponent.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"index.html":{},"miscellaneous/variables.html":{}}}],["battery_charging_full",{"_index":197,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["battery_level",{"_index":274,"title":{},"body":{"components/BatteryLevelComponent.html":{},"index.html":{}}}],["battery_service",{"_index":272,"title":{},"body":{"components/BatteryLevelComponent.html":{},"index.html":{}}}],["batterylevelcomponent",{"_index":73,"title":{"components/BatteryLevelComponent.html":{}},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"coverage.html":{},"overview.html":{}}}],["batterylevelservice",{"_index":703,"title":{},"body":{"index.html":{}}}],["batterylevelservice.gatt_characteristic_battery_level",{"_index":746,"title":{},"body":{"index.html":{}}}],["batterylevelservice.gatt_primary_service",{"_index":738,"title":{},"body":{"index.html":{}}}],["ble",{"_index":60,"title":{},"body":{"components/AppComponent.html":{},"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"index.html":{}}}],["ble.service",{"_index":255,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["blecore",{"_index":257,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["bleservice",{"_index":218,"title":{"injectables/BleService.html":{}},"body":{"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["bleservice(b",{"_index":261,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"miscellaneous/variables.html":{}}}],["block",{"_index":184,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["blog",{"_index":767,"title":{},"body":{"index.html":{}}}],["bluetooth",{"_index":130,"title":{},"body":{"modules/AppModule.html":{},"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"dependencies.html":{},"index.html":{}}}],["bluetooth.service",{"_index":24,"title":{},"body":{"interfaces/AWBOptions.html":{},"modules/WebBluetoothModule.html":{}}}],["bluetooth/src/lib/bluetooth.module.ts",{"_index":8,"title":{},"body":{"interfaces/AWBOptions.html":{},"modules/WebBluetoothModule.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["bluetooth/src/lib/bluetooth.module.ts:32",{"_index":627,"title":{},"body":{"modules/WebBluetoothModule.html":{}}}],["bluetooth/src/lib/bluetooth.service.ts",{"_index":635,"title":{},"body":{"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["bluetooth/src/lib/lang/uuids/ti",{"_index":640,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["bluetooth/src/lib/logger.service.ts",{"_index":363,"title":{},"body":{"injectables/ConsoleLoggerService.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"coverage.html":{}}}],["bluetooth/src/lib/logger.service.ts:13",{"_index":369,"title":{},"body":{"injectables/ConsoleLoggerService.html":{}}}],["bluetooth/src/lib/logger.service.ts:16",{"_index":366,"title":{},"body":{"injectables/ConsoleLoggerService.html":{}}}],["bluetooth/src/lib/logger.service.ts:19",{"_index":371,"title":{},"body":{"injectables/ConsoleLoggerService.html":{}}}],["bluetooth/src/lib/logger.service.ts:28",{"_index":570,"title":{},"body":{"injectables/NoLoggerService.html":{}}}],["bluetooth/src/lib/logger.service.ts:29",{"_index":569,"title":{},"body":{"injectables/NoLoggerService.html":{}}}],["bluetooth/src/lib/logger.service.ts:30",{"_index":571,"title":{},"body":{"injectables/NoLoggerService.html":{}}}],["bluetooth/src/lib/logger.service.ts:4",{"_index":567,"title":{},"body":{"interfaces/Logger.html":{}}}],["bluetooth/src/lib/logger.service.ts:5",{"_index":566,"title":{},"body":{"interfaces/Logger.html":{}}}],["bluetooth/src/lib/logger.service.ts:6",{"_index":568,"title":{},"body":{"interfaces/Logger.html":{}}}],["bluetooth/src/lib/platform/browser.ts",{"_index":347,"title":{},"body":{"injectables/BrowserWebBluetooth.html":{},"coverage.html":{}}}],["bluetooth/src/lib/platform/browser.ts:14",{"_index":352,"title":{},"body":{"injectables/BrowserWebBluetooth.html":{}}}],["bluetooth/src/lib/platform/browser.ts:5",{"_index":349,"title":{},"body":{"injectables/BrowserWebBluetooth.html":{}}}],["bluetooth/src/lib/platform/server.ts",{"_index":573,"title":{},"body":{"injectables/ServerWebBluetooth.html":{},"coverage.html":{}}}],["bluetooth/src/lib/platform/server.ts:5",{"_index":574,"title":{},"body":{"injectables/ServerWebBluetooth.html":{}}}],["bluetooth/src/lib/test.utils.ts",{"_index":417,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"coverage.html":{}}}],["bluetooth/src/lib/test.utils.ts:103",{"_index":483,"title":{},"body":{"classes/FakeBluetoothRemoteGATTCharacteristic.html":{}}}],["bluetooth/src/lib/test.utils.ts:12",{"_index":424,"title":{},"body":{"classes/FakeBluetoothDevice.html":{}}}],["bluetooth/src/lib/test.utils.ts:14",{"_index":427,"title":{},"body":{"classes/FakeBluetoothDevice.html":{}}}],["bluetooth/src/lib/test.utils.ts:17",{"_index":433,"title":{},"body":{"classes/FakeBluetoothDevice.html":{}}}],["bluetooth/src/lib/test.utils.ts:24",{"_index":435,"title":{},"body":{"classes/FakeBluetoothDevice.html":{}}}],["bluetooth/src/lib/test.utils.ts:29",{"_index":434,"title":{},"body":{"classes/FakeBluetoothDevice.html":{}}}],["bluetooth/src/lib/test.utils.ts:39",{"_index":487,"title":{},"body":{"classes/FakeBluetoothRemoteGATTServer.html":{}}}],["bluetooth/src/lib/test.utils.ts:41",{"_index":488,"title":{},"body":{"classes/FakeBluetoothRemoteGATTServer.html":{}}}],["bluetooth/src/lib/test.utils.ts:45",{"_index":489,"title":{},"body":{"classes/FakeBluetoothRemoteGATTServer.html":{}}}],["bluetooth/src/lib/test.utils.ts:50",{"_index":491,"title":{},"body":{"classes/FakeBluetoothRemoteGATTServer.html":{}}}],["bluetooth/src/lib/test.utils.ts:54",{"_index":490,"title":{},"body":{"classes/FakeBluetoothRemoteGATTServer.html":{}}}],["bluetooth/src/lib/test.utils.ts:60",{"_index":493,"title":{},"body":{"classes/FakeBluetoothRemoteGATTService.html":{}}}],["bluetooth/src/lib/test.utils.ts:61",{"_index":494,"title":{},"body":{"classes/FakeBluetoothRemoteGATTService.html":{}}}],["bluetooth/src/lib/test.utils.ts:65",{"_index":495,"title":{},"body":{"classes/FakeBluetoothRemoteGATTService.html":{}}}],["bluetooth/src/lib/test.utils.ts:7",{"_index":426,"title":{},"body":{"classes/FakeBluetoothDevice.html":{}}}],["bluetooth/src/lib/test.utils.ts:71",{"_index":480,"title":{},"body":{"classes/FakeBluetoothRemoteGATTCharacteristic.html":{}}}],["bluetooth/src/lib/test.utils.ts:72",{"_index":479,"title":{},"body":{"classes/FakeBluetoothRemoteGATTCharacteristic.html":{}}}],["bluetooth/src/lib/test.utils.ts:73",{"_index":477,"title":{},"body":{"classes/FakeBluetoothRemoteGATTCharacteristic.html":{}}}],["bluetooth/src/lib/test.utils.ts:74",{"_index":478,"title":{},"body":{"classes/FakeBluetoothRemoteGATTCharacteristic.html":{}}}],["bluetooth/src/lib/test.utils.ts:78",{"_index":475,"title":{},"body":{"classes/FakeBluetoothRemoteGATTCharacteristic.html":{}}}],["bluetooth/src/lib/test.utils.ts:8",{"_index":429,"title":{},"body":{"classes/FakeBluetoothDevice.html":{}}}],["bluetooth/src/lib/test.utils.ts:86",{"_index":484,"title":{},"body":{"classes/FakeBluetoothRemoteGATTCharacteristic.html":{}}}],["bluetooth/src/lib/test.utils.ts:90",{"_index":481,"title":{},"body":{"classes/FakeBluetoothRemoteGATTCharacteristic.html":{}}}],["bluetooth/src/lib/test.utils.ts:97",{"_index":482,"title":{},"body":{"classes/FakeBluetoothRemoteGATTCharacteristic.html":{}}}],["bluetooth_disabled",{"_index":391,"title":{},"body":{"components/DashboardComponent.html":{}}}],["bluetooth_searching",{"_index":389,"title":{},"body":{"components/DashboardComponent.html":{}}}],["bluetoothcharacteristicproperties",{"_index":463,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["bluetoothcharacteristicuuid",{"_index":459,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["bluetoothcore",{"_index":23,"title":{},"body":{"interfaces/AWBOptions.html":{},"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{},"coverage.html":{},"index.html":{},"miscellaneous/variables.html":{}}}],["bluetoothcore(b",{"_index":260,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"miscellaneous/variables.html":{}}}],["bluetoothremotegattcharacteristic",{"_index":750,"title":{},"body":{"index.html":{}}}],["bluetoothremotegattserver",{"_index":425,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"index.html":{}}}],["bluetoothremotegattservice",{"_index":744,"title":{},"body":{"index.html":{}}}],["bluetoothserviceuuid",{"_index":452,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["boolean",{"_index":13,"title":{},"body":{"interfaces/AWBOptions.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"modules/WebBluetoothModule.html":{}}}],["bootstrap",{"_index":91,"title":{},"body":{"modules/AppModule.html":{},"overview.html":{}}}],["bordervisible",{"_index":547,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["bottom",{"_index":193,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{}}}],["browse",{"_index":846,"title":{},"body":{"modules.html":{}}}],["browser",{"_index":139,"title":{},"body":{"modules/AppModule.html":{},"classes/AppPage.html":{},"injectables/BrowserWebBluetooth.html":{},"dependencies.html":{},"index.html":{},"modules.html":{}}}],["browser's",{"_index":694,"title":{},"body":{"index.html":{}}}],["browser.get(browser.baseurl",{"_index":154,"title":{},"body":{"classes/AppPage.html":{}}}],["browser/animations",{"_index":107,"title":{},"body":{"modules/AppModule.html":{}}}],["browseranimationsmodule",{"_index":105,"title":{},"body":{"modules/AppModule.html":{}}}],["browsermodule",{"_index":138,"title":{},"body":{"modules/AppModule.html":{}}}],["browserwebbluetooth",{"_index":25,"title":{"injectables/BrowserWebBluetooth.html":{}},"body":{"interfaces/AWBOptions.html":{},"components/BatteryLevelComponent.html":{},"injectables/BrowserWebBluetooth.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{},"coverage.html":{},"miscellaneous/functions.html":{},"miscellaneous/variables.html":{}}}],["button",{"_index":412,"title":{},"body":{"components/DashboardComponent.html":{}}}],["c",{"_index":780,"title":{},"body":{"index.html":{},"license.html":{}}}],["call",{"_index":704,"title":{},"body":{"index.html":{}}}],["can't",{"_index":723,"title":{},"body":{"index.html":{}}}],["canvas",{"_index":497,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["card",{"_index":409,"title":{},"body":{"components/DashboardComponent.html":{}}}],["cc2650",{"_index":911,"title":{},"body":{"miscellaneous/variables.html":{}}}],["center",{"_index":169,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/StepCounterComponent.html":{}}}],["changevalue",{"_index":474,"title":{},"body":{"classes/FakeBluetoothRemoteGATTCharacteristic.html":{}}}],["changevalue(value",{"_index":472,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["characteristic",{"_index":273,"title":{},"body":{"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"index.html":{}}}],["characteristics",{"_index":456,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"index.html":{}}}],["characteristicvaluechanged",{"_index":466,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["charge",{"_index":787,"title":{},"body":{"index.html":{},"license.html":{}}}],["chart",{"_index":499,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["chartref",{"_index":500,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["checkout",{"_index":765,"title":{},"body":{"index.html":{}}}],["chegham",{"_index":783,"title":{},"body":{"index.html":{},"license.html":{}}}],["claim",{"_index":834,"title":{},"body":{"index.html":{},"license.html":{}}}],["class",{"_index":40,"title":{"classes/AppPage.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}},"body":{"interfaces/AWBOptions.html":{},"components/AppComponent.html":{},"modules/AppModule.html":{},"classes/AppPage.html":{},"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"injectables/ConsoleLoggerService.html":{},"components/DashboardComponent.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"injectables/ServerWebBluetooth.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{},"coverage.html":{},"index.html":{}}}],["classes",{"_index":143,"title":{},"body":{"classes/AppPage.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"overview.html":{}}}],["clear",{"_index":422,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"index.html":{}}}],["close",{"_index":305,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["cluster_appmodule",{"_index":93,"title":{},"body":{"modules/AppModule.html":{},"overview.html":{}}}],["cluster_appmodule_bootstrap",{"_index":96,"title":{},"body":{"modules/AppModule.html":{},"overview.html":{}}}],["cluster_appmodule_declarations",{"_index":94,"title":{},"body":{"modules/AppModule.html":{},"overview.html":{}}}],["cluster_appmodule_imports",{"_index":95,"title":{},"body":{"modules/AppModule.html":{},"overview.html":{}}}],["color",{"_index":198,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["command",{"_index":762,"title":{},"body":{"index.html":{}}}],["commonmodule",{"_index":21,"title":{},"body":{"interfaces/AWBOptions.html":{},"modules/WebBluetoothModule.html":{}}}],["component",{"_index":52,"title":{"components/AppComponent.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}},"body":{"components/AppComponent.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"coverage.html":{}}}],["component_template",{"_index":70,"title":{},"body":{"components/AppComponent.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["components",{"_index":54,"title":{},"body":{"components/AppComponent.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"overview.html":{}}}],["conditions",{"_index":812,"title":{},"body":{"index.html":{},"license.html":{}}}],["config",{"_index":314,"title":{},"body":{"injectables/BleService.html":{},"miscellaneous/variables.html":{}}}],["config(options",{"_index":319,"title":{},"body":{"injectables/BleService.html":{}}}],["configuration",{"_index":897,"title":{},"body":{"miscellaneous/variables.html":{}}}],["connect",{"_index":390,"title":{},"body":{"components/DashboardComponent.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["connected",{"_index":288,"title":{},"body":{"components/BatteryLevelComponent.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"index.html":{}}}],["connection",{"_index":843,"title":{},"body":{"index.html":{},"license.html":{}}}],["console",{"_index":200,"title":{},"body":{"components/BatteryLevelComponent.html":{},"index.html":{}}}],["console.error.apply(console",{"_index":377,"title":{},"body":{"injectables/ConsoleLoggerService.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{}}}],["console.log('getting",{"_index":713,"title":{},"body":{"index.html":{}}}],["console.log('reading",{"_index":561,"title":{},"body":{"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["console.log(value",{"_index":340,"title":{},"body":{"injectables/BleService.html":{}}}],["console.log.apply(console",{"_index":376,"title":{},"body":{"injectables/ConsoleLoggerService.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{}}}],["console.warn.apply(console",{"_index":378,"title":{},"body":{"injectables/ConsoleLoggerService.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{}}}],["consoleloggerservice",{"_index":27,"title":{"injectables/ConsoleLoggerService.html":{}},"body":{"interfaces/AWBOptions.html":{},"components/BatteryLevelComponent.html":{},"injectables/ConsoleLoggerService.html":{},"components/HumidityComponent.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["consoleloggerserviceconfig",{"_index":48,"title":{},"body":{"interfaces/AWBOptions.html":{},"modules/WebBluetoothModule.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["consoleloggerserviceconfig(options",{"_index":34,"title":{},"body":{"interfaces/AWBOptions.html":{},"modules/WebBluetoothModule.html":{},"miscellaneous/functions.html":{}}}],["const",{"_index":256,"title":{},"body":{"components/BatteryLevelComponent.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["constructor",{"_index":216,"title":{},"body":{"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"components/DashboardComponent.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["constructor(ble",{"_index":317,"title":{},"body":{"injectables/BleService.html":{}}}],["constructor(device",{"_index":486,"title":{},"body":{"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["constructor(id",{"_index":423,"title":{},"body":{"classes/FakeBluetoothDevice.html":{}}}],["constructor(properties",{"_index":467,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["constructor(public",{"_index":335,"title":{},"body":{"injectables/BleService.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/TemperatureComponent.html":{},"index.html":{}}}],["constructor(service",{"_index":217,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["container",{"_index":407,"title":{},"body":{"components/DashboardComponent.html":{}}}],["content",{"_index":156,"title":{},"body":{"classes/AppPage.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{}}}],["contract",{"_index":839,"title":{},"body":{"index.html":{},"license.html":{}}}],["contributions",{"_index":771,"title":{},"body":{"index.html":{}}}],["control",{"_index":948,"title":{},"body":{"miscellaneous/variables.html":{}}}],["copies",{"_index":807,"title":{},"body":{"index.html":{},"license.html":{}}}],["copy",{"_index":790,"title":{},"body":{"index.html":{},"license.html":{}}}],["copyright",{"_index":779,"title":{},"body":{"index.html":{},"license.html":{}}}],["correctly",{"_index":690,"title":{},"body":{"index.html":{}}}],["count",{"_index":599,"title":{},"body":{"components/StepCounterComponent.html":{}}}],["counter",{"_index":605,"title":{},"body":{"components/StepCounterComponent.html":{}}}],["coverage",{"_index":628,"title":{"coverage.html":{}},"body":{"coverage.html":{}}}],["current_used_parameters",{"_index":950,"title":{},"body":{"miscellaneous/variables.html":{}}}],["d",{"_index":300,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["damages",{"_index":835,"title":{},"body":{"index.html":{},"license.html":{}}}],["dashboard",{"_index":380,"title":{},"body":{"components/DashboardComponent.html":{}}}],["dashboard'},{'name",{"_index":77,"title":{},"body":{"components/AppComponent.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["dashboard.component.css",{"_index":382,"title":{},"body":{"components/DashboardComponent.html":{}}}],["dashboard.component.html",{"_index":384,"title":{},"body":{"components/DashboardComponent.html":{}}}],["dashboard/dashboard.component",{"_index":134,"title":{},"body":{"modules/AppModule.html":{}}}],["dashboardcomponent",{"_index":76,"title":{"components/DashboardComponent.html":{}},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"coverage.html":{},"overview.html":{}}}],["data",{"_index":895,"title":{},"body":{"miscellaneous/variables.html":{}}}],["dataview",{"_index":270,"title":{},"body":{"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"index.html":{}}}],["deal",{"_index":794,"title":{},"body":{"index.html":{},"license.html":{}}}],["dealings",{"_index":844,"title":{},"body":{"index.html":{},"license.html":{}}}],["decimal",{"_index":624,"title":{},"body":{"components/TemperatureComponent.html":{}}}],["declarations",{"_index":90,"title":{},"body":{"modules/AppModule.html":{},"overview.html":{}}}],["decoder",{"_index":269,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["decoder(value",{"_index":330,"title":{},"body":{"injectables/BleService.html":{}}}],["decorators",{"_index":514,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["default",{"_index":236,"title":{},"body":{"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{},"miscellaneous/variables.html":{}}}],["defined",{"_index":148,"title":{},"body":{"classes/AppPage.html":{},"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"injectables/ConsoleLoggerService.html":{},"components/DashboardComponent.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"injectables/ServerWebBluetooth.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{}}}],["demo",{"_index":387,"title":{},"body":{"components/DashboardComponent.html":{}}}],["dependencies",{"_index":89,"title":{"dependencies.html":{}},"body":{"modules/AppModule.html":{},"dependencies.html":{},"overview.html":{}}}],["deps",{"_index":49,"title":{},"body":{"interfaces/AWBOptions.html":{},"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{},"miscellaneous/variables.html":{}}}],["details",{"_index":361,"title":{},"body":{"injectables/BrowserWebBluetooth.html":{}}}],["determinate",{"_index":244,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["dev.to",{"_index":768,"title":{},"body":{"index.html":{}}}],["developer",{"_index":726,"title":{},"body":{"index.html":{}}}],["device",{"_index":215,"title":{},"body":{"components/BatteryLevelComponent.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"index.html":{}}}],["device.gatt",{"_index":448,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["device.name",{"_index":392,"title":{},"body":{"components/DashboardComponent.html":{}}}],["device_id",{"_index":946,"title":{},"body":{"miscellaneous/variables.html":{}}}],["device_information",{"_index":868,"title":{},"body":{"miscellaneous/variables.html":{}}}],["devicesubscription",{"_index":201,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["direction",{"_index":170,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["directions_walk",{"_index":585,"title":{},"body":{"components/StepCounterComponent.html":{}}}],["directive",{"_index":68,"title":{},"body":{"components/AppComponent.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["directives",{"_index":84,"title":{},"body":{"components/AppComponent.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["disconnect",{"_index":207,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"index.html":{}}}],["disconnect_request",{"_index":954,"title":{},"body":{"miscellaneous/variables.html":{}}}],["disconnectdevice",{"_index":315,"title":{},"body":{"injectables/BleService.html":{},"index.html":{}}}],["disconnected",{"_index":289,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["discover",{"_index":732,"title":{},"body":{"index.html":{}}}],["discovery",{"_index":734,"title":{},"body":{"index.html":{}}}],["display",{"_index":166,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["distribute",{"_index":803,"title":{},"body":{"index.html":{},"license.html":{}}}],["documentation",{"_index":629,"title":{},"body":{"coverage.html":{},"index.html":{},"license.html":{}}}],["dom",{"_index":55,"title":{},"body":{"components/AppComponent.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["dynamic",{"_index":665,"title":{},"body":{"dependencies.html":{}}}],["e2e/src/app.po.ts",{"_index":144,"title":{},"body":{"classes/AppPage.html":{},"coverage.html":{}}}],["e2e/src/app.po.ts:4",{"_index":152,"title":{},"body":{"classes/AppPage.html":{}}}],["e2e/src/app.po.ts:8",{"_index":149,"title":{},"body":{"classes/AppPage.html":{}}}],["each",{"_index":266,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["easiest",{"_index":698,"title":{},"body":{"index.html":{}}}],["ef680200",{"_index":526,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["ef680201",{"_index":622,"title":{},"body":{"components/TemperatureComponent.html":{}}}],["ef680203",{"_index":531,"title":{},"body":{"components/HumidityComponent.html":{}}}],["ef680400",{"_index":603,"title":{},"body":{"components/StepCounterComponent.html":{}}}],["ef680405",{"_index":604,"title":{},"body":{"components/StepCounterComponent.html":{}}}],["element",{"_index":67,"title":{},"body":{"components/AppComponent.html":{},"classes/AppPage.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["element(by.css('app",{"_index":155,"title":{},"body":{"classes/AppPage.html":{}}}],["elementref",{"_index":513,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["elsewhere",{"_index":725,"title":{},"body":{"index.html":{}}}],["emites",{"_index":729,"title":{},"body":{"index.html":{}}}],["emitted",{"_index":707,"title":{},"body":{"index.html":{}}}],["enable",{"_index":692,"title":{},"body":{"index.html":{}}}],["enabletracing",{"_index":12,"title":{},"body":{"interfaces/AWBOptions.html":{},"modules/AppModule.html":{},"modules/WebBluetoothModule.html":{},"index.html":{}}}],["environment",{"_index":653,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["err",{"_index":296,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["error",{"_index":228,"title":{},"body":{"components/BatteryLevelComponent.html":{},"injectables/ConsoleLoggerService.html":{},"components/HumidityComponent.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["error('your",{"_index":355,"title":{},"body":{"injectables/BrowserWebBluetooth.html":{}}}],["error(...args",{"_index":365,"title":{},"body":{"injectables/ConsoleLoggerService.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{}}}],["error(args",{"_index":374,"title":{},"body":{"injectables/ConsoleLoggerService.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{}}}],["event",{"_index":442,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"index.html":{},"license.html":{}}}],["eventlistener",{"_index":432,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["example",{"_index":685,"title":{},"body":{"index.html":{}}}],["export",{"_index":30,"title":{},"body":{"interfaces/AWBOptions.html":{},"components/AppComponent.html":{},"modules/AppModule.html":{},"classes/AppPage.html":{},"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"injectables/ConsoleLoggerService.html":{},"components/DashboardComponent.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"injectables/ServerWebBluetooth.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{},"index.html":{}}}],["exports",{"_index":92,"title":{},"body":{"modules/AppModule.html":{},"overview.html":{}}}],["express",{"_index":822,"title":{},"body":{"index.html":{},"license.html":{}}}],["f000180a",{"_index":869,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000180f",{"_index":892,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f0002a19",{"_index":893,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f0002a23",{"_index":875,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f0002a24",{"_index":877,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f0002a25",{"_index":879,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f0002a26",{"_index":881,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f0002a27",{"_index":883,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f0002a28",{"_index":885,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f0002a29",{"_index":887,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f0002a2a",{"_index":889,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f0002a50",{"_index":891,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa00",{"_index":894,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa01",{"_index":896,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa02",{"_index":898,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa03",{"_index":900,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa10",{"_index":913,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa11",{"_index":914,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa12",{"_index":915,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa13",{"_index":916,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa20",{"_index":901,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa21",{"_index":902,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa22",{"_index":903,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa23",{"_index":904,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa30",{"_index":918,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa31",{"_index":919,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa32",{"_index":920,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa33",{"_index":921,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa40",{"_index":906,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa41",{"_index":907,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa42",{"_index":908,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa44",{"_index":909,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa50",{"_index":923,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa51",{"_index":924,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa52",{"_index":925,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa53",{"_index":926,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa64",{"_index":967,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa65",{"_index":968,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa66",{"_index":969,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa70",{"_index":933,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa71",{"_index":934,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa72",{"_index":935,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa73",{"_index":936,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa80",{"_index":928,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa81",{"_index":929,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa82",{"_index":930,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa83",{"_index":931,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000ac00",{"_index":942,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000ac01",{"_index":943,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000ac02",{"_index":945,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000ac03",{"_index":947,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000ccc0",{"_index":949,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000ccc1",{"_index":951,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000ccc2",{"_index":953,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000ccc3",{"_index":955,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000ffc0",{"_index":957,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000ffc1",{"_index":959,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000ffc2",{"_index":961,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000ffc3",{"_index":963,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000ffc4",{"_index":965,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000ffe0",{"_index":938,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000ffe1",{"_index":940,"title":{},"body":{"miscellaneous/variables.html":{}}}],["fakebluetoothdevice",{"_index":416,"title":{"classes/FakeBluetoothDevice.html":{}},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"coverage.html":{}}}],["fakebluetoothremotegattcharacteristic",{"_index":461,"title":{"classes/FakeBluetoothRemoteGATTCharacteristic.html":{}},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"coverage.html":{}}}],["fakebluetoothremotegattserver",{"_index":446,"title":{"classes/FakeBluetoothRemoteGATTServer.html":{}},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"coverage.html":{}}}],["fakebluetoothremotegattservice",{"_index":455,"title":{"classes/FakeBluetoothRemoteGATTService.html":{}},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"coverage.html":{}}}],["false",{"_index":64,"title":{},"body":{"components/AppComponent.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"index.html":{},"miscellaneous/variables.html":{}}}],["few",{"_index":773,"title":{},"body":{"index.html":{}}}],["ff0000",{"_index":555,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["ffffff",{"_index":544,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["file",{"_index":5,"title":{},"body":{"interfaces/AWBOptions.html":{},"components/AppComponent.html":{},"modules/AppModule.html":{},"classes/AppPage.html":{},"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"injectables/ConsoleLoggerService.html":{},"components/DashboardComponent.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"injectables/ServerWebBluetooth.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{},"coverage.html":{}}}],["files",{"_index":793,"title":{},"body":{"index.html":{},"license.html":{}}}],["fillstyle",{"_index":543,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["firmware_rev",{"_index":880,"title":{},"body":{"miscellaneous/variables.html":{}}}],["fitness",{"_index":827,"title":{},"body":{"index.html":{},"license.html":{}}}],["flex",{"_index":167,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["following",{"_index":761,"title":{},"body":{"index.html":{},"license.html":{}}}],["font",{"_index":175,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/StepCounterComponent.html":{}}}],["fontsize",{"_index":550,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["forroot",{"_index":626,"title":{},"body":{"modules/WebBluetoothModule.html":{}}}],["forroot(options",{"_index":43,"title":{},"body":{"interfaces/AWBOptions.html":{},"modules/WebBluetoothModule.html":{}}}],["found",{"_index":754,"title":{},"body":{"index.html":{}}}],["free",{"_index":727,"title":{},"body":{"index.html":{},"license.html":{}}}],["full",{"_index":766,"title":{},"body":{"index.html":{}}}],["function",{"_index":31,"title":{},"body":{"interfaces/AWBOptions.html":{},"modules/WebBluetoothModule.html":{},"coverage.html":{}}}],["functions",{"_index":679,"title":{"miscellaneous/functions.html":{}},"body":{"miscellaneous/functions.html":{}}}],["furnished",{"_index":810,"title":{},"body":{"index.html":{},"license.html":{}}}],["gatt",{"_index":418,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"index.html":{}}}],["gatt_characteristic_battery_level",{"_index":717,"title":{},"body":{"index.html":{}}}],["gatt_primary_service",{"_index":718,"title":{},"body":{"index.html":{}}}],["gattserverdisconnected",{"_index":428,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["getcharacteristic",{"_index":492,"title":{},"body":{"classes/FakeBluetoothRemoteGATTService.html":{}}}],["getcharacteristic(characteristic",{"_index":458,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["getdevice",{"_index":252,"title":{},"body":{"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"index.html":{}}}],["getdevicestatus",{"_index":208,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["getprimaryservice",{"_index":485,"title":{},"body":{"classes/FakeBluetoothRemoteGATTServer.html":{}}}],["getprimaryservice(service",{"_index":451,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["getting",{"_index":681,"title":{"index.html":{},"license.html":{}},"body":{"index.html":{}}}],["gettitletext",{"_index":146,"title":{},"body":{"classes/AppPage.html":{}}}],["given",{"_index":708,"title":{},"body":{"index.html":{}}}],["granted",{"_index":786,"title":{},"body":{"index.html":{},"license.html":{}}}],["graph",{"_index":847,"title":{},"body":{"modules.html":{}}}],["grid",{"_index":406,"title":{},"body":{"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["gyroscope",{"_index":922,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hardware_rev",{"_index":882,"title":{},"body":{"miscellaneous/variables.html":{}}}],["haserror",{"_index":209,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["haserror(error",{"_index":225,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["height",{"_index":584,"title":{},"body":{"components/StepCounterComponent.html":{}}}],["help",{"_index":776,"title":{},"body":{"index.html":{}}}],["here",{"_index":700,"title":{},"body":{"index.html":{}}}],["hereby",{"_index":785,"title":{},"body":{"index.html":{},"license.html":{}}}],["holders",{"_index":832,"title":{},"body":{"index.html":{},"license.html":{}}}],["host",{"_index":165,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["html",{"_index":66,"title":{},"body":{"components/AppComponent.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["http://caniuse.com/#search=bluetooth",{"_index":359,"title":{},"body":{"injectables/BrowserWebBluetooth.html":{}}}],["https://manekinekko.github.io/angular",{"_index":755,"title":{},"body":{"index.html":{}}}],["humidity",{"_index":393,"title":{},"body":{"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"miscellaneous/variables.html":{}}}],["humidity'},{'name",{"_index":79,"title":{},"body":{"components/AppComponent.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["humiditycomponent",{"_index":78,"title":{"components/HumidityComponent.html":{}},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"coverage.html":{},"overview.html":{}}}],["icon",{"_index":192,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/StepCounterComponent.html":{}}}],["id",{"_index":419,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["identifier",{"_index":630,"title":{},"body":{"coverage.html":{}}}],["ieee11073",{"_index":888,"title":{},"body":{"miscellaneous/variables.html":{}}}],["image_block_request",{"_index":960,"title":{},"body":{"miscellaneous/variables.html":{}}}],["image_count",{"_index":962,"title":{},"body":{"miscellaneous/variables.html":{}}}],["image_notify",{"_index":958,"title":{},"body":{"miscellaneous/variables.html":{}}}],["image_status",{"_index":964,"title":{},"body":{"miscellaneous/variables.html":{}}}],["img",{"_index":414,"title":{},"body":{"components/DashboardComponent.html":{}}}],["implements",{"_index":161,"title":{},"body":{"components/BatteryLevelComponent.html":{},"injectables/ConsoleLoggerService.html":{},"components/HumidityComponent.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["implied",{"_index":823,"title":{},"body":{"index.html":{},"license.html":{}}}],["import",{"_index":16,"title":{},"body":{"interfaces/AWBOptions.html":{},"components/AppComponent.html":{},"modules/AppModule.html":{},"classes/AppPage.html":{},"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"injectables/ConsoleLoggerService.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"injectables/ServerWebBluetooth.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{},"index.html":{}}}],["imports",{"_index":39,"title":{},"body":{"interfaces/AWBOptions.html":{},"modules/AppModule.html":{},"modules/WebBluetoothModule.html":{},"index.html":{}}}],["included",{"_index":816,"title":{},"body":{"index.html":{},"license.html":{}}}],["including",{"_index":797,"title":{},"body":{"index.html":{},"license.html":{}}}],["indeterminate",{"_index":286,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["index",{"_index":9,"title":{"index.html":{}},"body":{"interfaces/AWBOptions.html":{},"classes/AppPage.html":{},"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"injectables/ConsoleLoggerService.html":{},"components/DashboardComponent.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"injectables/ServerWebBluetooth.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["info",{"_index":3,"title":{},"body":{"interfaces/AWBOptions.html":{},"components/AppComponent.html":{},"modules/AppModule.html":{},"classes/AppPage.html":{},"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"injectables/ConsoleLoggerService.html":{},"components/DashboardComponent.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"injectables/ServerWebBluetooth.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{}}}],["initchart",{"_index":502,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["initialvalue",{"_index":465,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["injectable",{"_index":309,"title":{"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"injectables/ConsoleLoggerService.html":{},"injectables/NoLoggerService.html":{},"injectables/ServerWebBluetooth.html":{}},"body":{"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"injectables/ConsoleLoggerService.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"injectables/ServerWebBluetooth.html":{},"coverage.html":{},"index.html":{}}}],["injectables",{"_index":310,"title":{},"body":{"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"injectables/ConsoleLoggerService.html":{},"injectables/NoLoggerService.html":{},"injectables/ServerWebBluetooth.html":{},"overview.html":{}}}],["injectiontoken",{"_index":19,"title":{},"body":{"interfaces/AWBOptions.html":{},"modules/WebBluetoothModule.html":{}}}],["injectiontoken('awboptions",{"_index":38,"title":{},"body":{"interfaces/AWBOptions.html":{},"modules/WebBluetoothModule.html":{}}}],["install",{"_index":684,"title":{},"body":{"index.html":{}}}],["installed",{"_index":689,"title":{},"body":{"index.html":{}}}],["instance",{"_index":265,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"injectables/ServerWebBluetooth.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["integer",{"_index":623,"title":{},"body":{"components/TemperatureComponent.html":{}}}],["interface",{"_index":0,"title":{"interfaces/AWBOptions.html":{},"interfaces/Logger.html":{}},"body":{"interfaces/AWBOptions.html":{},"injectables/ConsoleLoggerService.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"modules/WebBluetoothModule.html":{},"coverage.html":{}}}],["interfaces",{"_index":2,"title":{},"body":{"interfaces/AWBOptions.html":{},"interfaces/Logger.html":{},"overview.html":{}}}],["interpolation",{"_index":541,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["io",{"_index":966,"title":{},"body":{"miscellaneous/variables.html":{}}}],["issues",{"_index":775,"title":{},"body":{"index.html":{}}}],["jest",{"_index":672,"title":{},"body":{"dependencies.html":{}}}],["justify",{"_index":168,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["key",{"_index":278,"title":{},"body":{"components/BatteryLevelComponent.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["keypress",{"_index":937,"title":{},"body":{"miscellaneous/variables.html":{}}}],["kind",{"_index":821,"title":{},"body":{"index.html":{},"license.html":{}}}],["l",{"_index":259,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"miscellaneous/variables.html":{}}}],["labels",{"_index":548,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["layoutmodule",{"_index":101,"title":{},"body":{"modules/AppModule.html":{}}}],["left",{"_index":190,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["legend",{"_index":65,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"overview.html":{}}}],["length",{"_index":538,"title":{},"body":{"components/HumidityComponent.html":{}}}],["level",{"_index":164,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"index.html":{},"miscellaneous/variables.html":{}}}],["level'},{'name",{"_index":75,"title":{},"body":{"components/AppComponent.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["level.component",{"_index":133,"title":{},"body":{"modules/AppModule.html":{}}}],["level.component.ts",{"_index":160,"title":{},"body":{"components/BatteryLevelComponent.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["level.component.ts:100",{"_index":230,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["level.component.ts:117",{"_index":224,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["level.component.ts:132",{"_index":231,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["level.component.ts:145",{"_index":235,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["level.component.ts:163",{"_index":222,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["level.component.ts:169",{"_index":227,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["level.component.ts:173",{"_index":229,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["level.component.ts:77",{"_index":250,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["level.component.ts:78",{"_index":245,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["level.component.ts:79",{"_index":238,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["level.component.ts:80",{"_index":251,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["level.component.ts:81",{"_index":248,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["level.component.ts:82",{"_index":242,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["level.component.ts:84",{"_index":253,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["level.component.ts:86",{"_index":220,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["level.component.ts:89",{"_index":246,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["level.component.ts:90",{"_index":247,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["level.component.ts:91",{"_index":239,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["liability",{"_index":836,"title":{},"body":{"index.html":{},"license.html":{}}}],["liable",{"_index":833,"title":{},"body":{"index.html":{},"license.html":{}}}],["license",{"_index":777,"title":{"license.html":{}},"body":{"index.html":{},"license.html":{}}}],["light",{"_index":932,"title":{},"body":{"miscellaneous/variables.html":{}}}],["limitation",{"_index":798,"title":{},"body":{"index.html":{},"license.html":{}}}],["limited",{"_index":824,"title":{},"body":{"index.html":{},"license.html":{}}}],["line",{"_index":333,"title":{},"body":{"injectables/BleService.html":{},"components/HumidityComponent.html":{}}}],["linewidth",{"_index":554,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["list",{"_index":114,"title":{},"body":{"modules/AppModule.html":{}}}],["listener",{"_index":431,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["listener(mockedevent",{"_index":441,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["listeners",{"_index":420,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["literal",{"_index":234,"title":{},"body":{"components/BatteryLevelComponent.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{},"miscellaneous/typealiases.html":{}}}],["log",{"_index":364,"title":{},"body":{"injectables/ConsoleLoggerService.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{}}}],["log(...args",{"_index":368,"title":{},"body":{"injectables/ConsoleLoggerService.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{}}}],["log(args",{"_index":373,"title":{},"body":{"injectables/ConsoleLoggerService.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{}}}],["logger",{"_index":372,"title":{"interfaces/Logger.html":{}},"body":{"injectables/ConsoleLoggerService.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"coverage.html":{}}}],["logger.service",{"_index":29,"title":{},"body":{"interfaces/AWBOptions.html":{},"modules/WebBluetoothModule.html":{}}}],["logic",{"_index":721,"title":{},"body":{"index.html":{}}}],["logs",{"_index":693,"title":{},"body":{"index.html":{}}}],["magnetometer",{"_index":917,"title":{},"body":{"miscellaneous/variables.html":{}}}],["make",{"_index":262,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"index.html":{}}}],["makemetokeninjector",{"_index":37,"title":{},"body":{"interfaces/AWBOptions.html":{},"modules/WebBluetoothModule.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["manekinekko/angular",{"_index":129,"title":{},"body":{"modules/AppModule.html":{},"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"index.html":{}}}],["manifacturer",{"_index":886,"title":{},"body":{"miscellaneous/variables.html":{}}}],["map",{"_index":327,"title":{},"body":{"injectables/BleService.html":{},"index.html":{}}}],["map((value",{"_index":709,"title":{},"body":{"index.html":{}}}],["map(this._config.decoder",{"_index":341,"title":{},"body":{"injectables/BleService.html":{}}}],["margin",{"_index":400,"title":{},"body":{"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["mat",{"_index":187,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/StepCounterComponent.html":{}}}],["matbuttonmodule",{"_index":103,"title":{},"body":{"modules/AppModule.html":{}}}],["matcardmodule",{"_index":108,"title":{},"body":{"modules/AppModule.html":{}}}],["matching",{"_index":51,"title":{},"body":{"interfaces/AWBOptions.html":{},"components/AppComponent.html":{},"modules/AppModule.html":{},"classes/AppPage.html":{},"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"injectables/ConsoleLoggerService.html":{},"components/DashboardComponent.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"injectables/ServerWebBluetooth.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{},"coverage.html":{},"dependencies.html":{},"miscellaneous/functions.html":{},"index.html":{},"license.html":{},"modules.html":{},"overview.html":{},"properties.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["matexpansionmodule",{"_index":110,"title":{},"body":{"modules/AppModule.html":{}}}],["matgridlistmodule",{"_index":112,"title":{},"body":{"modules/AppModule.html":{}}}],["maticonmodule",{"_index":115,"title":{},"body":{"modules/AppModule.html":{}}}],["matlistmodule",{"_index":117,"title":{},"body":{"modules/AppModule.html":{}}}],["matmenumodule",{"_index":119,"title":{},"body":{"modules/AppModule.html":{}}}],["matprogressspinnermodule",{"_index":121,"title":{},"body":{"modules/AppModule.html":{}}}],["matsnackbar",{"_index":219,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["matsnackbarmodule",{"_index":124,"title":{},"body":{"modules/AppModule.html":{}}}],["mattoolbarmodule",{"_index":127,"title":{},"body":{"modules/AppModule.html":{}}}],["max",{"_index":398,"title":{},"body":{"components/DashboardComponent.html":{},"components/HumidityComponent.html":{}}}],["merchantability",{"_index":826,"title":{},"body":{"index.html":{},"license.html":{}}}],["merge",{"_index":801,"title":{},"body":{"index.html":{},"license.html":{}}}],["mergemap",{"_index":716,"title":{},"body":{"index.html":{}}}],["mergemap((characteristic",{"_index":749,"title":{},"body":{"index.html":{}}}],["mergemap((gatt",{"_index":740,"title":{},"body":{"index.html":{}}}],["mergemap((primaryservice",{"_index":743,"title":{},"body":{"index.html":{}}}],["metadata",{"_index":58,"title":{},"body":{"components/AppComponent.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["method",{"_index":705,"title":{},"body":{"index.html":{}}}],["methods",{"_index":145,"title":{},"body":{"classes/AppPage.html":{},"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"injectables/ConsoleLoggerService.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"injectables/ServerWebBluetooth.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{}}}],["miscellaneous",{"_index":678,"title":{"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}},"body":{"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["missing",{"_index":683,"title":{},"body":{"index.html":{}}}],["mit",{"_index":778,"title":{},"body":{"index.html":{},"license.html":{}}}],["mocked",{"_index":575,"title":{},"body":{"injectables/ServerWebBluetooth.html":{}}}],["mockedevent",{"_index":437,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["mode",{"_index":202,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["model",{"_index":910,"title":{},"body":{"miscellaneous/variables.html":{}}}],["model_number",{"_index":876,"title":{},"body":{"miscellaneous/variables.html":{}}}],["modify",{"_index":800,"title":{},"body":{"index.html":{},"license.html":{}}}],["module",{"_index":86,"title":{"modules/AppModule.html":{},"modules/WebBluetoothModule.html":{}},"body":{"modules/AppModule.html":{},"index.html":{},"overview.html":{}}}],["modules",{"_index":88,"title":{"modules.html":{}},"body":{"modules/AppModule.html":{},"modules/WebBluetoothModule.html":{},"modules.html":{},"overview.html":{}}}],["modulewithproviders",{"_index":18,"title":{},"body":{"interfaces/AWBOptions.html":{},"modules/WebBluetoothModule.html":{}}}],["more",{"_index":360,"title":{},"body":{"injectables/BrowserWebBluetooth.html":{},"components/DashboardComponent.html":{}}}],["more_vert",{"_index":388,"title":{},"body":{"components/DashboardComponent.html":{}}}],["movement",{"_index":927,"title":{},"body":{"miscellaneous/variables.html":{}}}],["name",{"_index":71,"title":{},"body":{"components/AppComponent.html":{},"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"injectables/ConsoleLoggerService.html":{},"components/DashboardComponent.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{},"miscellaneous/functions.html":{}}}],["navigateto",{"_index":147,"title":{},"body":{"classes/AppPage.html":{}}}],["navigator.bluetooth",{"_index":353,"title":{},"body":{"injectables/BrowserWebBluetooth.html":{}}}],["need",{"_index":756,"title":{},"body":{"index.html":{}}}],["new",{"_index":33,"title":{},"body":{"interfaces/AWBOptions.html":{},"components/BatteryLevelComponent.html":{},"injectables/BrowserWebBluetooth.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["next",{"_index":293,"title":{},"body":{"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["ngmodule",{"_index":17,"title":{},"body":{"interfaces/AWBOptions.html":{},"modules/AppModule.html":{},"modules/WebBluetoothModule.html":{},"index.html":{}}}],["ngondestroy",{"_index":210,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["ngoninit",{"_index":211,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["node_modules",{"_index":691,"title":{},"body":{"index.html":{}}}],["nologgerservice",{"_index":28,"title":{"injectables/NoLoggerService.html":{}},"body":{"interfaces/AWBOptions.html":{},"injectables/ConsoleLoggerService.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"modules/WebBluetoothModule.html":{},"coverage.html":{}}}],["noninfringement",{"_index":830,"title":{},"body":{"index.html":{},"license.html":{}}}],["note",{"_index":688,"title":{},"body":{"index.html":{}}}],["notice",{"_index":814,"title":{},"body":{"index.html":{},"license.html":{}}}],["notifications",{"_index":712,"title":{},"body":{"index.html":{}}}],["now",{"_index":577,"title":{},"body":{"injectables/ServerWebBluetooth.html":{}}}],["npm",{"_index":686,"title":{},"body":{"index.html":{}}}],["null",{"_index":241,"title":{},"body":{"components/BatteryLevelComponent.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["number",{"_index":233,"title":{},"body":{"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["oad",{"_index":956,"title":{},"body":{"miscellaneous/variables.html":{}}}],["object",{"_index":576,"title":{},"body":{"injectables/ServerWebBluetooth.html":{},"miscellaneous/variables.html":{}}}],["object.keys(titag).map((key",{"_index":866,"title":{},"body":{"miscellaneous/variables.html":{}}}],["obtaining",{"_index":789,"title":{},"body":{"index.html":{},"license.html":{}}}],["of(this.haserror.bind(this",{"_index":560,"title":{},"body":{"components/HumidityComponent.html":{}}}],["ondestroy",{"_index":163,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["oninit",{"_index":162,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["open",{"_index":774,"title":{},"body":{"index.html":{}}}],["optional",{"_index":11,"title":{},"body":{"interfaces/AWBOptions.html":{},"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"injectables/ConsoleLoggerService.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{},"miscellaneous/functions.html":{}}}],["optionalservices",{"_index":737,"title":{},"body":{"index.html":{}}}],["options",{"_index":35,"title":{},"body":{"interfaces/AWBOptions.html":{},"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"modules/WebBluetoothModule.html":{},"miscellaneous/functions.html":{}}}],["options.enabletracing",{"_index":36,"title":{},"body":{"interfaces/AWBOptions.html":{},"modules/WebBluetoothModule.html":{}}}],["otherwise",{"_index":841,"title":{},"body":{"index.html":{},"license.html":{}}}],["out",{"_index":99,"title":{},"body":{"modules/AppModule.html":{},"index.html":{},"license.html":{},"overview.html":{}}}],["overview",{"_index":849,"title":{"overview.html":{}},"body":{"overview.html":{}}}],["package",{"_index":657,"title":{"dependencies.html":{},"properties.html":{}},"body":{"index.html":{}}}],["padding",{"_index":396,"title":{},"body":{"components/DashboardComponent.html":{}}}],["parameters",{"_index":221,"title":{},"body":{"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"injectables/ConsoleLoggerService.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{},"miscellaneous/functions.html":{}}}],["particular",{"_index":828,"title":{},"body":{"index.html":{},"license.html":{}}}],["period",{"_index":899,"title":{},"body":{"miscellaneous/variables.html":{}}}],["permission",{"_index":784,"title":{},"body":{"index.html":{},"license.html":{}}}],["permit",{"_index":808,"title":{},"body":{"index.html":{},"license.html":{}}}],["person",{"_index":788,"title":{},"body":{"index.html":{},"license.html":{}}}],["persons",{"_index":809,"title":{},"body":{"index.html":{},"license.html":{}}}],["pipe",{"_index":345,"title":{},"body":{"injectables/BleService.html":{},"index.html":{}}}],["platform/browser",{"_index":26,"title":{},"body":{"interfaces/AWBOptions.html":{},"modules/WebBluetoothModule.html":{}}}],["pnp_id",{"_index":890,"title":{},"body":{"miscellaneous/variables.html":{}}}],["portions",{"_index":818,"title":{},"body":{"index.html":{},"license.html":{}}}],["position",{"_index":178,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/StepCounterComponent.html":{}}}],["post",{"_index":764,"title":{},"body":{"index.html":{}}}],["pr",{"_index":770,"title":{},"body":{"index.html":{}}}],["primary",{"_index":237,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["private",{"_index":312,"title":{},"body":{"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["process",{"_index":735,"title":{},"body":{"index.html":{}}}],["production",{"_index":865,"title":{},"body":{"miscellaneous/variables.html":{}}}],["progress",{"_index":188,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["progressspinnermode",{"_index":243,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["project",{"_index":758,"title":{},"body":{"index.html":{}}}],["projects/.../bluetooth.module.ts",{"_index":680,"title":{},"body":{"miscellaneous/functions.html":{}}}],["projects/.../bluetooth.service.ts",{"_index":855,"title":{},"body":{"miscellaneous/typealiases.html":{}}}],["projects/.../ti",{"_index":864,"title":{},"body":{"miscellaneous/variables.html":{}}}],["projects/manekinekko/angular",{"_index":6,"title":{},"body":{"interfaces/AWBOptions.html":{},"injectables/BrowserWebBluetooth.html":{},"injectables/ConsoleLoggerService.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"injectables/ServerWebBluetooth.html":{},"modules/WebBluetoothModule.html":{},"coverage.html":{},"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["promise",{"_index":151,"title":{},"body":{"classes/AppPage.html":{},"injectables/BrowserWebBluetooth.html":{}}}],["promise.resolve(this",{"_index":450,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["promise.resolve(this.characteristics[characteristic",{"_index":460,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["promise.resolve(this.services[service].service",{"_index":453,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["promise.resolve(this.value",{"_index":471,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["properties",{"_index":10,"title":{"properties.html":{}},"body":{"interfaces/AWBOptions.html":{},"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"properties.html":{}}}],["protractor",{"_index":153,"title":{},"body":{"classes/AppPage.html":{}}}],["provide",{"_index":45,"title":{},"body":{"interfaces/AWBOptions.html":{},"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{},"index.html":{},"miscellaneous/variables.html":{}}}],["provided",{"_index":819,"title":{},"body":{"index.html":{},"license.html":{}}}],["providedin",{"_index":331,"title":{},"body":{"injectables/BleService.html":{},"injectables/ConsoleLoggerService.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"index.html":{}}}],["providers",{"_index":44,"title":{},"body":{"interfaces/AWBOptions.html":{},"modules/AppModule.html":{},"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{},"coverage.html":{},"overview.html":{},"miscellaneous/variables.html":{}}}],["public",{"_index":199,"title":{},"body":{"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["publish",{"_index":802,"title":{},"body":{"index.html":{},"license.html":{}}}],["purpose",{"_index":829,"title":{},"body":{"index.html":{},"license.html":{}}}],["read",{"_index":731,"title":{},"body":{"index.html":{}}}],["readonly",{"_index":464,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"index.html":{}}}],["readvalue",{"_index":470,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["readvalueoptions",{"_index":639,"title":{},"body":{"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["request_new_parameters",{"_index":952,"title":{},"body":{"miscellaneous/variables.html":{}}}],["requestdevice",{"_index":348,"title":{},"body":{"injectables/BrowserWebBluetooth.html":{}}}],["requestdevice(options",{"_index":350,"title":{},"body":{"injectables/BrowserWebBluetooth.html":{}}}],["requestdeviceoptions",{"_index":351,"title":{},"body":{"injectables/BrowserWebBluetooth.html":{}}}],["requested",{"_index":730,"title":{},"body":{"index.html":{}}}],["requestvalue",{"_index":212,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["reset",{"_index":98,"title":{},"body":{"modules/AppModule.html":{},"overview.html":{}}}],["restriction",{"_index":796,"title":{},"body":{"index.html":{},"license.html":{}}}],["results",{"_index":50,"title":{},"body":{"interfaces/AWBOptions.html":{},"components/AppComponent.html":{},"modules/AppModule.html":{},"classes/AppPage.html":{},"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"injectables/ConsoleLoggerService.html":{},"components/DashboardComponent.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"injectables/ServerWebBluetooth.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{},"coverage.html":{},"dependencies.html":{},"miscellaneous/functions.html":{},"index.html":{},"license.html":{},"modules.html":{},"overview.html":{},"properties.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["return",{"_index":32,"title":{},"body":{"interfaces/AWBOptions.html":{},"classes/AppPage.html":{},"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"injectables/ServerWebBluetooth.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{},"index.html":{}}}],["returns",{"_index":150,"title":{},"body":{"classes/AppPage.html":{},"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"injectables/ConsoleLoggerService.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"injectables/ServerWebBluetooth.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{}}}],["rgba(119,119,119,0.18",{"_index":546,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["rgba(255,161,161,0.30",{"_index":556,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["right",{"_index":411,"title":{},"body":{"components/DashboardComponent.html":{},"index.html":{}}}],["rights",{"_index":799,"title":{},"body":{"index.html":{},"license.html":{}}}],["root",{"_index":61,"title":{},"body":{"components/AppComponent.html":{},"classes/AppPage.html":{},"injectables/BleService.html":{},"injectables/ConsoleLoggerService.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"index.html":{}}}],["root'},{'name",{"_index":72,"title":{},"body":{"components/AppComponent.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["row",{"_index":171,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["run",{"_index":760,"title":{},"body":{"index.html":{}}}],["rxjs",{"_index":254,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"dependencies.html":{}}}],["rxjs/operators",{"_index":329,"title":{},"body":{"injectables/BleService.html":{},"index.html":{}}}],["s",{"_index":687,"title":{},"body":{"index.html":{}}}],["section",{"_index":395,"title":{},"body":{"components/DashboardComponent.html":{}}}],["see",{"_index":358,"title":{},"body":{"injectables/BrowserWebBluetooth.html":{}}}],["selector",{"_index":59,"title":{},"body":{"components/AppComponent.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["sell",{"_index":806,"title":{},"body":{"index.html":{},"license.html":{}}}],["sensortag2.ts",{"_index":641,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["serial_number",{"_index":878,"title":{},"body":{"miscellaneous/variables.html":{}}}],["series",{"_index":501,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["serverwebbluetooth",{"_index":572,"title":{"injectables/ServerWebBluetooth.html":{}},"body":{"injectables/ServerWebBluetooth.html":{},"coverage.html":{}}}],["serves",{"_index":759,"title":{},"body":{"index.html":{}}}],["service",{"_index":203,"title":{},"body":{"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"index.html":{},"miscellaneous/variables.html":{}}}],["service.config",{"_index":268,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["service/component",{"_index":697,"title":{},"body":{"index.html":{}}}],["serviceoptions",{"_index":320,"title":{},"body":{"injectables/BleService.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["services",{"_index":447,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["shall",{"_index":815,"title":{},"body":{"index.html":{},"license.html":{}}}],["singleton",{"_index":264,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["size",{"_index":176,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/StepCounterComponent.html":{}}}],["smart",{"_index":357,"title":{},"body":{"injectables/BrowserWebBluetooth.html":{}}}],["smoothie",{"_index":525,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{},"dependencies.html":{}}}],["smoothiechart",{"_index":511,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["snackbar",{"_index":204,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["software",{"_index":791,"title":{},"body":{"index.html":{},"license.html":{}}}],["software_rev",{"_index":884,"title":{},"body":{"miscellaneous/variables.html":{}}}],["source",{"_index":4,"title":{},"body":{"interfaces/AWBOptions.html":{},"components/AppComponent.html":{},"modules/AppModule.html":{},"classes/AppPage.html":{},"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"injectables/ConsoleLoggerService.html":{},"components/DashboardComponent.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"injectables/ServerWebBluetooth.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{}}}],["span",{"_index":174,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/StepCounterComponent.html":{}}}],["span')).gettext",{"_index":157,"title":{},"body":{"classes/AppPage.html":{}}}],["specific",{"_index":722,"title":{},"body":{"index.html":{}}}],["spinner",{"_index":123,"title":{},"body":{"modules/AppModule.html":{},"components/BatteryLevelComponent.html":{}}}],["src/.../battery",{"_index":858,"title":{},"body":{"miscellaneous/variables.html":{}}}],["src/.../ble.service.ts",{"_index":856,"title":{},"body":{"miscellaneous/typealiases.html":{}}}],["src/.../environment.prod.ts",{"_index":862,"title":{},"body":{"miscellaneous/variables.html":{}}}],["src/.../environment.ts",{"_index":863,"title":{},"body":{"miscellaneous/variables.html":{}}}],["src/.../humidity.component.ts",{"_index":859,"title":{},"body":{"miscellaneous/variables.html":{}}}],["src/.../stepcounter.component.ts",{"_index":860,"title":{},"body":{"miscellaneous/variables.html":{}}}],["src/.../temperature.component.ts",{"_index":861,"title":{},"body":{"miscellaneous/variables.html":{}}}],["src/app/app.component.ts",{"_index":57,"title":{},"body":{"components/AppComponent.html":{},"coverage.html":{}}}],["src/app/app.module.ts",{"_index":100,"title":{},"body":{"modules/AppModule.html":{}}}],["src/app/ble.service.ts",{"_index":311,"title":{},"body":{"injectables/BleService.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["src/app/ble.service.ts:17",{"_index":318,"title":{},"body":{"injectables/BleService.html":{}}}],["src/app/ble.service.ts:19",{"_index":326,"title":{},"body":{"injectables/BleService.html":{}}}],["src/app/ble.service.ts:21",{"_index":321,"title":{},"body":{"injectables/BleService.html":{}}}],["src/app/ble.service.ts:25",{"_index":323,"title":{},"body":{"injectables/BleService.html":{}}}],["src/app/ble.service.ts:29",{"_index":324,"title":{},"body":{"injectables/BleService.html":{}}}],["src/app/ble.service.ts:36",{"_index":325,"title":{},"body":{"injectables/BleService.html":{}}}],["src/app/ble.service.ts:47",{"_index":322,"title":{},"body":{"injectables/BleService.html":{}}}],["src/app/dashboard/dashboard.component.ts",{"_index":379,"title":{},"body":{"components/DashboardComponent.html":{},"coverage.html":{}}}],["src/app/dashboard/dashboard.component.ts:9",{"_index":385,"title":{},"body":{"components/DashboardComponent.html":{}}}],["src/app/thingy52/battery",{"_index":159,"title":{},"body":{"components/BatteryLevelComponent.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["src/app/thingy52/humidity.component.ts",{"_index":496,"title":{},"body":{"components/HumidityComponent.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["src/app/thingy52/humidity.component.ts:102",{"_index":504,"title":{},"body":{"components/HumidityComponent.html":{}}}],["src/app/thingy52/humidity.component.ts:109",{"_index":505,"title":{},"body":{"components/HumidityComponent.html":{}}}],["src/app/thingy52/humidity.component.ts:113",{"_index":507,"title":{},"body":{"components/HumidityComponent.html":{}}}],["src/app/thingy52/humidity.component.ts:39",{"_index":518,"title":{},"body":{"components/HumidityComponent.html":{}}}],["src/app/thingy52/humidity.component.ts:40",{"_index":512,"title":{},"body":{"components/HumidityComponent.html":{}}}],["src/app/thingy52/humidity.component.ts:41",{"_index":522,"title":{},"body":{"components/HumidityComponent.html":{}}}],["src/app/thingy52/humidity.component.ts:42",{"_index":521,"title":{},"body":{"components/HumidityComponent.html":{}}}],["src/app/thingy52/humidity.component.ts:45",{"_index":516,"title":{},"body":{"components/HumidityComponent.html":{}}}],["src/app/thingy52/humidity.component.ts:47",{"_index":523,"title":{},"body":{"components/HumidityComponent.html":{}}}],["src/app/thingy52/humidity.component.ts:49",{"_index":503,"title":{},"body":{"components/HumidityComponent.html":{}}}],["src/app/thingy52/humidity.component.ts:52",{"_index":519,"title":{},"body":{"components/HumidityComponent.html":{}}}],["src/app/thingy52/humidity.component.ts:53",{"_index":520,"title":{},"body":{"components/HumidityComponent.html":{}}}],["src/app/thingy52/humidity.component.ts:62",{"_index":508,"title":{},"body":{"components/HumidityComponent.html":{}}}],["src/app/thingy52/humidity.component.ts:72",{"_index":506,"title":{},"body":{"components/HumidityComponent.html":{}}}],["src/app/thingy52/humidity.component.ts:82",{"_index":509,"title":{},"body":{"components/HumidityComponent.html":{}}}],["src/app/thingy52/humidity.component.ts:91",{"_index":510,"title":{},"body":{"components/HumidityComponent.html":{}}}],["src/app/thingy52/stepcounter.component.ts",{"_index":578,"title":{},"body":{"components/StepCounterComponent.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["src/app/thingy52/stepcounter.component.ts:100",{"_index":589,"title":{},"body":{"components/StepCounterComponent.html":{}}}],["src/app/thingy52/stepcounter.component.ts:50",{"_index":597,"title":{},"body":{"components/StepCounterComponent.html":{}}}],["src/app/thingy52/stepcounter.component.ts:51",{"_index":595,"title":{},"body":{"components/StepCounterComponent.html":{}}}],["src/app/thingy52/stepcounter.component.ts:52",{"_index":596,"title":{},"body":{"components/StepCounterComponent.html":{}}}],["src/app/thingy52/stepcounter.component.ts:54",{"_index":598,"title":{},"body":{"components/StepCounterComponent.html":{}}}],["src/app/thingy52/stepcounter.component.ts:56",{"_index":586,"title":{},"body":{"components/StepCounterComponent.html":{}}}],["src/app/thingy52/stepcounter.component.ts:59",{"_index":593,"title":{},"body":{"components/StepCounterComponent.html":{}}}],["src/app/thingy52/stepcounter.component.ts:60",{"_index":594,"title":{},"body":{"components/StepCounterComponent.html":{}}}],["src/app/thingy52/stepcounter.component.ts:73",{"_index":590,"title":{},"body":{"components/StepCounterComponent.html":{}}}],["src/app/thingy52/stepcounter.component.ts:81",{"_index":591,"title":{},"body":{"components/StepCounterComponent.html":{}}}],["src/app/thingy52/stepcounter.component.ts:86",{"_index":592,"title":{},"body":{"components/StepCounterComponent.html":{}}}],["src/app/thingy52/stepcounter.component.ts:91",{"_index":587,"title":{},"body":{"components/StepCounterComponent.html":{}}}],["src/app/thingy52/stepcounter.component.ts:96",{"_index":588,"title":{},"body":{"components/StepCounterComponent.html":{}}}],["src/app/thingy52/temperature.component.ts",{"_index":606,"title":{},"body":{"components/TemperatureComponent.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["src/app/thingy52/temperature.component.ts:111",{"_index":613,"title":{},"body":{"components/TemperatureComponent.html":{}}}],["src/app/thingy52/temperature.component.ts:118",{"_index":614,"title":{},"body":{"components/TemperatureComponent.html":{}}}],["src/app/thingy52/temperature.component.ts:127",{"_index":608,"title":{},"body":{"components/TemperatureComponent.html":{}}}],["src/app/thingy52/temperature.component.ts:134",{"_index":609,"title":{},"body":{"components/TemperatureComponent.html":{}}}],["src/app/thingy52/temperature.component.ts:138",{"_index":611,"title":{},"body":{"components/TemperatureComponent.html":{}}}],["src/app/thingy52/temperature.component.ts:53",{"_index":617,"title":{},"body":{"components/TemperatureComponent.html":{}}}],["src/app/thingy52/temperature.component.ts:54",{"_index":615,"title":{},"body":{"components/TemperatureComponent.html":{}}}],["src/app/thingy52/temperature.component.ts:55",{"_index":620,"title":{},"body":{"components/TemperatureComponent.html":{}}}],["src/app/thingy52/temperature.component.ts:56",{"_index":619,"title":{},"body":{"components/TemperatureComponent.html":{}}}],["src/app/thingy52/temperature.component.ts:59",{"_index":616,"title":{},"body":{"components/TemperatureComponent.html":{}}}],["src/app/thingy52/temperature.component.ts:61",{"_index":621,"title":{},"body":{"components/TemperatureComponent.html":{}}}],["src/app/thingy52/temperature.component.ts:63",{"_index":607,"title":{},"body":{"components/TemperatureComponent.html":{}}}],["src/app/thingy52/temperature.component.ts:65",{"_index":618,"title":{},"body":{"components/TemperatureComponent.html":{}}}],["src/app/thingy52/temperature.component.ts:77",{"_index":612,"title":{},"body":{"components/TemperatureComponent.html":{}}}],["src/app/thingy52/temperature.component.ts:86",{"_index":610,"title":{},"body":{"components/TemperatureComponent.html":{}}}],["src/environments/environment.prod.ts",{"_index":652,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["src/environments/environment.ts",{"_index":654,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["standalone",{"_index":63,"title":{},"body":{"components/AppComponent.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["startblog",{"_index":763,"title":{},"body":{"index.html":{}}}],["started",{"_index":682,"title":{"index.html":{},"license.html":{}},"body":{"index.html":{}}}],["starter",{"_index":757,"title":{},"body":{"index.html":{}}}],["state",{"_index":939,"title":{},"body":{"miscellaneous/variables.html":{}}}],["statements",{"_index":631,"title":{},"body":{"coverage.html":{}}}],["static",{"_index":42,"title":{},"body":{"interfaces/AWBOptions.html":{},"components/HumidityComponent.html":{},"injectables/ServerWebBluetooth.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{},"index.html":{}}}],["step",{"_index":542,"title":{},"body":{"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["stepcounter",{"_index":579,"title":{},"body":{"components/StepCounterComponent.html":{}}}],["stepcounter'},{'name",{"_index":81,"title":{},"body":{"components/AppComponent.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["stepcountercomponent",{"_index":80,"title":{"components/StepCounterComponent.html":{}},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"coverage.html":{},"overview.html":{}}}],["stepper",{"_index":394,"title":{},"body":{"components/DashboardComponent.html":{}}}],["sticky",{"_index":403,"title":{},"body":{"components/DashboardComponent.html":{}}}],["stop",{"_index":710,"title":{},"body":{"index.html":{}}}],["stream",{"_index":316,"title":{},"body":{"injectables/BleService.html":{},"index.html":{}}}],["streamsubscription",{"_index":205,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["string",{"_index":226,"title":{},"body":{"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"injectables/ConsoleLoggerService.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"miscellaneous/variables.html":{}}}],["strokestyle",{"_index":545,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["styles",{"_index":158,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["styleurls",{"_index":381,"title":{},"body":{"components/DashboardComponent.html":{}}}],["subject",{"_index":811,"title":{},"body":{"index.html":{},"license.html":{}}}],["sublicense",{"_index":804,"title":{},"body":{"index.html":{},"license.html":{}}}],["subscribe",{"_index":534,"title":{},"body":{"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{}}}],["subscribed",{"_index":711,"title":{},"body":{"index.html":{}}}],["subscription",{"_index":240,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["substantial",{"_index":817,"title":{},"body":{"index.html":{},"license.html":{}}}],["sup",{"_index":185,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["support",{"_index":356,"title":{},"body":{"injectables/BrowserWebBluetooth.html":{},"modules.html":{}}}],["sure",{"_index":263,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"index.html":{}}}],["svg",{"_index":845,"title":{},"body":{"modules.html":{}}}],["system_id",{"_index":874,"title":{},"body":{"miscellaneous/variables.html":{}}}],["table",{"_index":656,"title":{},"body":{"coverage.html":{}}}],["tablesort(document.getelementbyid('coverage",{"_index":655,"title":{},"body":{"coverage.html":{}}}],["tap",{"_index":328,"title":{},"body":{"injectables/BleService.html":{}}}],["tap(value",{"_index":339,"title":{},"body":{"injectables/BleService.html":{}}}],["target",{"_index":438,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["temperature",{"_index":83,"title":{},"body":{"components/AppComponent.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"miscellaneous/variables.html":{}}}],["temperaturecomponent",{"_index":82,"title":{"components/TemperatureComponent.html":{}},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"coverage.html":{},"overview.html":{}}}],["template",{"_index":62,"title":{},"body":{"components/AppComponent.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["templateurl",{"_index":383,"title":{},"body":{"components/DashboardComponent.html":{}}}],["text",{"_index":172,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/StepCounterComponent.html":{}}}],["thingy52/battery",{"_index":132,"title":{},"body":{"modules/AppModule.html":{}}}],["thingy52/humidity.component",{"_index":135,"title":{},"body":{"modules/AppModule.html":{}}}],["thingy52/stepcounter.component",{"_index":136,"title":{},"body":{"modules/AppModule.html":{}}}],["thingy52/temperature.component",{"_index":137,"title":{},"body":{"modules/AppModule.html":{}}}],["this._config",{"_index":336,"title":{},"body":{"injectables/BleService.html":{}}}],["this._config.characteristic",{"_index":344,"title":{},"body":{"injectables/BleService.html":{}}}],["this._config.service",{"_index":343,"title":{},"body":{"injectables/BleService.html":{}}}],["this.ble",{"_index":342,"title":{},"body":{"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"index.html":{}}}],["this.ble.disconnectdevice",{"_index":346,"title":{},"body":{"injectables/BleService.html":{},"index.html":{}}}],["this.ble.getcharacteristic$(primaryservice",{"_index":745,"title":{},"body":{"index.html":{}}}],["this.ble.getdevice",{"_index":337,"title":{},"body":{"injectables/BleService.html":{},"index.html":{}}}],["this.ble.getprimaryservice$(gatt",{"_index":741,"title":{},"body":{"index.html":{}}}],["this.ble.readvalue$(characteristic",{"_index":751,"title":{},"body":{"index.html":{}}}],["this.ble.requestdevice(options",{"_index":362,"title":{},"body":{"injectables/BrowserWebBluetooth.html":{}}}],["this.ble.streamvalues$().pipe",{"_index":338,"title":{},"body":{"injectables/BleService.html":{},"index.html":{}}}],["this.ble.streamvalues$().pipe(map((value",{"_index":719,"title":{},"body":{"index.html":{}}}],["this.characteristics.service",{"_index":457,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["this.chart",{"_index":539,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["this.chart!.addtimeseries(this.series",{"_index":553,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["this.chart!.start",{"_index":563,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["this.chart!.stop",{"_index":558,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["this.chart!.streamto(canvas",{"_index":557,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["this.chartref!.nativeelement",{"_index":537,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["this.color",{"_index":283,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["this.connected",{"_index":449,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["this.console.log('reading",{"_index":299,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["this.device.disconnect",{"_index":454,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["this.devicesubscription",{"_index":281,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["this.devicesubscription!.unsubscribe",{"_index":302,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["this.devicesubscription?.unsubscribe",{"_index":307,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["this.getdevicestatus",{"_index":275,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["this.haserror(err",{"_index":297,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["this.haserror(error",{"_index":280,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["this.haserror.bind(this",{"_index":290,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["this.id",{"_index":443,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["this.initchart",{"_index":532,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["this.initialvalue",{"_index":469,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["this.listeners",{"_index":445,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["this.listeners['characteristicvaluechanged'].foreach(listener",{"_index":473,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["this.listeners['gattserverdisconnected'].foreach(listener",{"_index":440,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["this.listeners[type",{"_index":436,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["this.mode",{"_index":285,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["this.name",{"_index":444,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["this.properties",{"_index":468,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["this.series",{"_index":535,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["this.series!.append(date.now",{"_index":562,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["this.series!.clear",{"_index":564,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["this.service.disconnectdevice",{"_index":301,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["this.service.getdevice",{"_index":267,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["this.service.getdevice().subscribe((device",{"_index":282,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["this.service.stream",{"_index":533,"title":{},"body":{"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{}}}],["this.service.stream().subscribe",{"_index":277,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/TemperatureComponent.html":{}}}],["this.service.value",{"_index":559,"title":{},"body":{"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{}}}],["this.service.value().subscribe",{"_index":292,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/TemperatureComponent.html":{}}}],["this.snackbar.open(error",{"_index":304,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["this.streamsubscription",{"_index":276,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["this.streamsubscription!.unsubscribe",{"_index":565,"title":{},"body":{"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["this.streamsubscription?.unsubscribe",{"_index":308,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["this.updatevalue(val",{"_index":295,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["this.updatevalue(value",{"_index":279,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["this.value",{"_index":287,"title":{},"body":{"components/BatteryLevelComponent.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/StepCounterComponent.html":{}}}],["this.valuessubscription",{"_index":291,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["this.valuessubscription!.unsubscribe",{"_index":303,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["this.valuessubscription?.unsubscribe",{"_index":306,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["throw",{"_index":354,"title":{},"body":{"injectables/BrowserWebBluetooth.html":{}}}],["ti_sensorag_services",{"_index":642,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["time",{"_index":601,"title":{},"body":{"components/StepCounterComponent.html":{}}}],["timeseries",{"_index":517,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["titag",{"_index":643,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["toolbar.mat",{"_index":402,"title":{},"body":{"components/DashboardComponent.html":{}}}],["tooltip",{"_index":552,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["top",{"_index":180,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/StepCounterComponent.html":{}}}],["tort",{"_index":840,"title":{},"body":{"index.html":{},"license.html":{}}}],["tree",{"_index":56,"title":{},"body":{"components/AppComponent.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["trigger",{"_index":733,"title":{},"body":{"index.html":{}}}],["true",{"_index":141,"title":{},"body":{"modules/AppModule.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"index.html":{},"miscellaneous/variables.html":{}}}],["ts",{"_index":671,"title":{},"body":{"dependencies.html":{}}}],["tslib",{"_index":674,"title":{},"body":{"dependencies.html":{}}}],["tslint:disable",{"_index":332,"title":{},"body":{"injectables/BleService.html":{},"components/HumidityComponent.html":{}}}],["type",{"_index":14,"title":{},"body":{"interfaces/AWBOptions.html":{},"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"injectables/ConsoleLoggerService.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{},"coverage.html":{},"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["typealiases",{"_index":853,"title":{"miscellaneous/typealiases.html":{}},"body":{}}],["typeof",{"_index":298,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["types/web",{"_index":667,"title":{},"body":{"dependencies.html":{},"index.html":{}}}],["undefined",{"_index":462,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["unknown",{"_index":439,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["updatevalue",{"_index":213,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["updatevalue(value",{"_index":232,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["use",{"_index":696,"title":{},"body":{"index.html":{},"license.html":{}}}],["usefactory",{"_index":46,"title":{},"body":{"interfaces/AWBOptions.html":{},"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{},"miscellaneous/variables.html":{}}}],["usevalue",{"_index":47,"title":{},"body":{"interfaces/AWBOptions.html":{},"modules/WebBluetoothModule.html":{}}}],["using",{"_index":702,"title":{},"body":{"index.html":{}}}],["val",{"_index":294,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["value",{"_index":195,"title":{},"body":{"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{},"index.html":{},"miscellaneous/variables.html":{}}}],["value.getint8(0",{"_index":271,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{},"index.html":{}}}],["value.getuint32(0",{"_index":600,"title":{},"body":{"components/StepCounterComponent.html":{}}}],["value.getuint32(4",{"_index":602,"title":{},"body":{"components/StepCounterComponent.html":{}}}],["value.getuint8(0",{"_index":720,"title":{},"body":{"index.html":{}}}],["value.getuint8(1",{"_index":625,"title":{},"body":{"components/TemperatureComponent.html":{}}}],["values",{"_index":706,"title":{},"body":{"index.html":{}}}],["valuessubscription",{"_index":206,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["var",{"_index":69,"title":{},"body":{"components/AppComponent.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["variable",{"_index":334,"title":{},"body":{"injectables/BleService.html":{},"coverage.html":{}}}],["variables",{"_index":857,"title":{"miscellaneous/variables.html":{}},"body":{"miscellaneous/variables.html":{}}}],["version",{"_index":851,"title":{},"body":{"properties.html":{}}}],["viewchild",{"_index":524,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["viewchild('chart",{"_index":515,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["void",{"_index":223,"title":{},"body":{"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"injectables/ConsoleLoggerService.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"components/HumidityComponent.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["want",{"_index":728,"title":{},"body":{"index.html":{}}}],["warn",{"_index":284,"title":{},"body":{"components/BatteryLevelComponent.html":{},"injectables/ConsoleLoggerService.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{}}}],["warn(...args",{"_index":370,"title":{},"body":{"injectables/ConsoleLoggerService.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{}}}],["warn(args",{"_index":375,"title":{},"body":{"injectables/ConsoleLoggerService.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{}}}],["warranties",{"_index":825,"title":{},"body":{"index.html":{},"license.html":{}}}],["warranty",{"_index":820,"title":{},"body":{"index.html":{},"license.html":{}}}],["wassim",{"_index":782,"title":{},"body":{"index.html":{},"license.html":{}}}],["way",{"_index":699,"title":{},"body":{"index.html":{}}}],["web",{"_index":7,"title":{},"body":{"interfaces/AWBOptions.html":{},"modules/AppModule.html":{},"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"injectables/ConsoleLoggerService.html":{},"components/DashboardComponent.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"injectables/ServerWebBluetooth.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{},"coverage.html":{},"miscellaneous/functions.html":{},"index.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["webbluetoothmodule",{"_index":41,"title":{"modules/WebBluetoothModule.html":{}},"body":{"interfaces/AWBOptions.html":{},"modules/AppModule.html":{},"modules/WebBluetoothModule.html":{},"index.html":{},"modules.html":{},"overview.html":{}}}],["webbluetoothmodule.forroot",{"_index":140,"title":{},"body":{"modules/AppModule.html":{},"index.html":{}}}],["welcome",{"_index":772,"title":{},"body":{"index.html":{}}}],["whether",{"_index":837,"title":{},"body":{"index.html":{},"license.html":{}}}],["width",{"_index":182,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/StepCounterComponent.html":{}}}],["window.smoothiechart",{"_index":540,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["window.timeseries",{"_index":536,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["without",{"_index":795,"title":{},"body":{"index.html":{},"license.html":{}}}],["yes",{"_index":476,"title":{},"body":{"classes/FakeBluetoothRemoteGATTCharacteristic.html":{}}}],["z",{"_index":404,"title":{},"body":{"components/DashboardComponent.html":{}}}],["zone.js",{"_index":676,"title":{},"body":{"dependencies.html":{}}}],["zoom",{"_index":97,"title":{},"body":{"modules/AppModule.html":{},"overview.html":{}}}]],"pipeline":["stemmer"]}, + "store": {"interfaces/AWBOptions.html":{"url":"interfaces/AWBOptions.html","title":"interface - AWBOptions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n AWBOptions\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/manekinekko/angular-web-bluetooth/src/lib/bluetooth.module.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n enableTracing\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n enableTracing\n \n \n \n \n \n \n \n \n enableTracing: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { NgModule, ModuleWithProviders, InjectionToken, Optional } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { BluetoothCore } from './bluetooth.service';\nimport { BrowserWebBluetooth } from './platform/browser';\n\nimport { ConsoleLoggerService, NoLoggerService } from './logger.service';\n\nexport interface AWBOptions {\n enableTracing?: boolean;\n}\n\nexport function browserWebBluetooth() {\n return new BrowserWebBluetooth();\n}\n\nexport function consoleLoggerServiceConfig(options: AWBOptions) {\n if (options && options.enableTracing) {\n return new ConsoleLoggerService();\n } else {\n return new NoLoggerService();\n }\n}\nexport function makeMeTokenInjector() {\n return new InjectionToken('AWBOptions');\n}\n\n@NgModule({\n imports: [CommonModule]\n})\nexport class WebBluetoothModule {\n static forRoot(options: AWBOptions = {}): ModuleWithProviders {\n return {\n ngModule: WebBluetoothModule,\n providers: [\n BluetoothCore,\n {\n provide: BrowserWebBluetooth,\n useFactory: browserWebBluetooth\n },\n {\n provide: makeMeTokenInjector,\n useValue: options\n },\n {\n provide: ConsoleLoggerService,\n useFactory: consoleLoggerServiceConfig,\n deps: [makeMeTokenInjector]\n }\n ]\n };\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/AppComponent.html":{"url":"components/AppComponent.html","title":"component - AppComponent","body":"\n \n\n\n\n\n\n Components\n \n AppComponent\n\n\n\n \n Info\n \n \n Source\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n src/app/app.component.ts\n\n\n\n\n\n\n\n\n Metadata\n \n \n\n\n\n\n\n\n\n\n\n\n\n\n \n selector\n ble-root\n \n\n\n\n\n\n \n template\n \n\n \n\n\n\n\n\n\n\n\n\n \n \n\n\n\n\n\n\n\n\n\n\n\n\n\n \n import { Component } from '@angular/core';\n\n@Component({\n selector: 'ble-root',\n template: `\n \n `,\n standalone: false\n})\nexport class AppComponent {}\n\n \n\n\n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ''\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ble-root'},{'name': 'BatteryLevelComponent', 'selector': 'ble-battery-level'},{'name': 'DashboardComponent', 'selector': 'ble-dashboard'},{'name': 'HumidityComponent', 'selector': 'ble-humidity'},{'name': 'StepCounterComponent', 'selector': 'ble-stepcounter'},{'name': 'TemperatureComponent', 'selector': 'ble-temperature'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'AppComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/AppModule.html":{"url":"modules/AppModule.html","title":"module - AppModule","body":"\n \n\n\n\n\n Modules\n AppModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_AppModule\n\n\n\ncluster_AppModule_declarations\n\n\n\ncluster_AppModule_imports\n\n\n\ncluster_AppModule_bootstrap\n\n\n\n\nAppComponent\n\nAppComponent\n\n\n\nAppModule\n\nAppModule\n\nAppModule -->\n\nAppComponent->AppModule\n\n\n\n\n\nBatteryLevelComponent\n\nBatteryLevelComponent\n\nAppModule -->\n\nBatteryLevelComponent->AppModule\n\n\n\n\n\nDashboardComponent\n\nDashboardComponent\n\nAppModule -->\n\nDashboardComponent->AppModule\n\n\n\n\n\nHumidityComponent\n\nHumidityComponent\n\nAppModule -->\n\nHumidityComponent->AppModule\n\n\n\n\n\nStepCounterComponent\n\nStepCounterComponent\n\nAppModule -->\n\nStepCounterComponent->AppModule\n\n\n\n\n\nTemperatureComponent\n\nTemperatureComponent\n\nAppModule -->\n\nTemperatureComponent->AppModule\n\n\n\n\n\nAppComponent \n\nAppComponent \n\nAppComponent -->\n\nAppModule->AppComponent \n\n\n\n\n\nWebBluetoothModule\n\nWebBluetoothModule\n\nAppModule -->\n\nWebBluetoothModule->AppModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n src/app/app.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n AppComponent\n \n \n BatteryLevelComponent\n \n \n DashboardComponent\n \n \n HumidityComponent\n \n \n StepCounterComponent\n \n \n TemperatureComponent\n \n \n \n \n Imports\n \n \n WebBluetoothModule\n \n \n \n \n Bootstrap\n \n \n AppComponent\n \n \n \n \n \n\n\n \n\n\n \n import { LayoutModule } from '@angular/cdk/layout';\nimport { NgModule } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { MatCardModule } from '@angular/material/card';\nimport { MatExpansionModule } from '@angular/material/expansion';\nimport { MatGridListModule } from '@angular/material/grid-list';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatListModule } from '@angular/material/list';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\nimport { MatSnackBarModule } from '@angular/material/snack-bar';\nimport { MatToolbarModule } from '@angular/material/toolbar';\n\nimport { WebBluetoothModule } from '@manekinekko/angular-web-bluetooth';\nimport { AppComponent } from './app.component';\nimport { BatteryLevelComponent } from './thingy52/battery-level.component';\nimport { DashboardComponent } from './dashboard/dashboard.component';\nimport { HumidityComponent } from './thingy52/humidity.component';\nimport { StepCounterComponent } from './thingy52/stepcounter.component';\nimport { TemperatureComponent } from './thingy52/temperature.component';\nimport { BrowserModule } from '@angular/platform-browser';\n\n@NgModule({\n declarations: [\n AppComponent,\n BatteryLevelComponent,\n TemperatureComponent,\n HumidityComponent,\n StepCounterComponent,\n DashboardComponent\n ],\n imports: [\n BrowserModule,\n BrowserAnimationsModule,\n WebBluetoothModule.forRoot({\n enableTracing: true\n }),\n LayoutModule,\n MatToolbarModule,\n MatButtonModule,\n MatIconModule,\n MatListModule,\n MatExpansionModule,\n MatSnackBarModule,\n MatProgressSpinnerModule,\n MatGridListModule,\n MatCardModule,\n MatMenuModule\n ],\n bootstrap: [AppComponent]\n})\nexport class AppModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/AppPage.html":{"url":"classes/AppPage.html","title":"class - AppPage","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n AppPage\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n e2e/src/app.po.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getTitleText\n \n \n navigateTo\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getTitleText\n \n \n \n \n \n \ngetTitleText()\n \n \n\n\n \n \n Defined in e2e/src/app.po.ts:8\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n navigateTo\n \n \n \n \n \n \nnavigateTo()\n \n \n\n\n \n \n Defined in e2e/src/app.po.ts:4\n \n \n\n\n \n \n\n \n Returns : Promise<>\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { browser, by, element } from 'protractor';\n\nexport class AppPage {\n navigateTo(): Promise {\n return browser.get(browser.baseUrl) as Promise;\n }\n\n getTitleText(): Promise {\n return element(by.css('app-root .content span')).getText() as Promise;\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/BatteryLevelComponent.html":{"url":"components/BatteryLevelComponent.html","title":"component - BatteryLevelComponent","body":"\n \n\n\n\n\n\n Components\n \n BatteryLevelComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n src/app/thingy52/battery-level.component.ts\n\n\n\n\n\n \n Implements\n \n \n OnInit\n OnDestroy\n \n\n\n\n Metadata\n \n \n\n\n\n\n\n\n\n\n\n\n \n providers\n \n PROVIDERS\n \n \n\n\n \n selector\n ble-battery-level\n \n\n\n\n\n \n styles\n \n :host {\n display: flex;\n justify-content: center;\n flex-direction: row;\n text-align: center;\n }\n span {\n font-size: 5em;\n position: absolute;\n top: 222px;\n width: 120px;\n display: block;\n text-align: center;\n }\n sup {\n font-size: 24px;\n }\n mat-progress-spinner {\n top: 90px;\n left: 5px;\n }\n mat-icon {\n position: absolute;\n bottom: 255px;\n }\n \n \n\n \n template\n {{ value || '000' }}%\n\n\nbattery_charging_full\n\n \n\n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n color\n \n \n Public\n console\n \n \n deviceSubscription\n \n \n mode\n \n \n Public\n service\n \n \n Public\n snackBar\n \n \n streamSubscription\n \n \n value\n \n \n valuesSubscription\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n disconnect\n \n \n getDeviceStatus\n \n \n hasError\n \n \n ngOnDestroy\n \n \n ngOnInit\n \n \n requestValue\n \n \n updateValue\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n device\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(service: BleService, snackBar: MatSnackBar, console: ConsoleLoggerService)\n \n \n \n \n Defined in src/app/thingy52/battery-level.component.ts:86\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n service\n \n \n BleService\n \n \n \n No\n \n \n \n \n snackBar\n \n \n MatSnackBar\n \n \n \n No\n \n \n \n \n console\n \n \n ConsoleLoggerService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n disconnect\n \n \n \n \n \n \ndisconnect()\n \n \n\n\n \n \n Defined in src/app/thingy52/battery-level.component.ts:163\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n getDeviceStatus\n \n \n \n \n \n \ngetDeviceStatus()\n \n \n\n\n \n \n Defined in src/app/thingy52/battery-level.component.ts:117\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n hasError\n \n \n \n \n \n \nhasError(error: string)\n \n \n\n\n \n \n Defined in src/app/thingy52/battery-level.component.ts:169\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n error\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n ngOnDestroy\n \n \n \n \n \n \nngOnDestroy()\n \n \n\n\n \n \n Defined in src/app/thingy52/battery-level.component.ts:173\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n ngOnInit\n \n \n \n \n \n \nngOnInit()\n \n \n\n\n \n \n Defined in src/app/thingy52/battery-level.component.ts:100\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n requestValue\n \n \n \n \n \n \nrequestValue()\n \n \n\n\n \n \n Defined in src/app/thingy52/battery-level.component.ts:132\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n updateValue\n \n \n \n \n \n \nupdateValue(value: number | literal type)\n \n \n\n\n \n \n Defined in src/app/thingy52/battery-level.component.ts:145\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n number | literal type\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n color\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'primary'\n \n \n \n \n Defined in src/app/thingy52/battery-level.component.ts:79\n \n \n\n\n \n \n \n \n \n \n \n \n Public\n console\n \n \n \n \n \n \n Type : ConsoleLoggerService\n\n \n \n \n \n Defined in src/app/thingy52/battery-level.component.ts:91\n \n \n\n\n \n \n \n \n \n \n \n \n deviceSubscription\n \n \n \n \n \n \n Type : Subscription | null\n\n \n \n \n \n Default value : null\n \n \n \n \n Defined in src/app/thingy52/battery-level.component.ts:82\n \n \n\n\n \n \n \n \n \n \n \n \n mode\n \n \n \n \n \n \n Type : ProgressSpinnerMode\n\n \n \n \n \n Default value : 'determinate'\n \n \n \n \n Defined in src/app/thingy52/battery-level.component.ts:78\n \n \n\n\n \n \n \n \n \n \n \n \n Public\n service\n \n \n \n \n \n \n Type : BleService\n\n \n \n \n \n Defined in src/app/thingy52/battery-level.component.ts:89\n \n \n\n\n \n \n \n \n \n \n \n \n Public\n snackBar\n \n \n \n \n \n \n Type : MatSnackBar\n\n \n \n \n \n Defined in src/app/thingy52/battery-level.component.ts:90\n \n \n\n\n \n \n \n \n \n \n \n \n streamSubscription\n \n \n \n \n \n \n Type : Subscription | null\n\n \n \n \n \n Default value : null\n \n \n \n \n Defined in src/app/thingy52/battery-level.component.ts:81\n \n \n\n\n \n \n \n \n \n \n \n \n value\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Default value : 0\n \n \n \n \n Defined in src/app/thingy52/battery-level.component.ts:77\n \n \n\n\n \n \n \n \n \n \n \n \n valuesSubscription\n \n \n \n \n \n \n Type : Subscription | null\n\n \n \n \n \n Default value : null\n \n \n \n \n Defined in src/app/thingy52/battery-level.component.ts:80\n \n \n\n\n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n device\n \n \n\n \n \n getdevice()\n \n \n \n \n Defined in src/app/thingy52/battery-level.component.ts:84\n \n \n\n \n \n\n\n\n\n \n import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport {\n BluetoothCore,\n BrowserWebBluetooth,\n ConsoleLoggerService,\n} from '@manekinekko/angular-web-bluetooth';\nimport { Subscription } from 'rxjs';\nimport { BleService } from '../ble.service';\nimport { ProgressSpinnerMode } from '@angular/material/progress-spinner';\n\nexport const bleCore = (b: BrowserWebBluetooth, l: ConsoleLoggerService) =>\n new BluetoothCore(b, l);\nexport const bleService = (b: BluetoothCore) => new BleService(b);\n\n// make sure we get a singleton instance of each service\nconst PROVIDERS = [\n {\n provide: BluetoothCore,\n useFactory: bleCore,\n deps: [BrowserWebBluetooth, ConsoleLoggerService],\n },\n {\n provide: BleService,\n useFactory: bleService,\n deps: [BluetoothCore],\n },\n];\n\n@Component({\n selector: 'ble-battery-level',\n template: `\n {{ value || '000' }}%\n \n \n battery_charging_full\n `,\n styles: [\n `\n :host {\n display: flex;\n justify-content: center;\n flex-direction: row;\n text-align: center;\n }\n span {\n font-size: 5em;\n position: absolute;\n top: 222px;\n width: 120px;\n display: block;\n text-align: center;\n }\n sup {\n font-size: 24px;\n }\n mat-progress-spinner {\n top: 90px;\n left: 5px;\n }\n mat-icon {\n position: absolute;\n bottom: 255px;\n }\n `,\n ],\n providers: PROVIDERS,\n standalone: false\n})\nexport class BatteryLevelComponent implements OnInit, OnDestroy {\n value = 0;\n mode: ProgressSpinnerMode = 'determinate';\n color = 'primary';\n valuesSubscription: Subscription | null = null;\n streamSubscription: Subscription | null = null;\n deviceSubscription: Subscription | null = null;\n\n get device() {\n return this.service.getDevice();\n }\n\n constructor(\n public service: BleService,\n public snackBar: MatSnackBar,\n public console: ConsoleLoggerService\n ) {\n service.config({\n decoder: (value: DataView) => value.getInt8(0),\n service: 'battery_service',\n characteristic: 'battery_level',\n });\n }\n\n ngOnInit() {\n this.getDeviceStatus();\n\n this.streamSubscription = this.service.stream().subscribe(\n (\n value:\n | number\n | {\n [key: string]: number;\n }\n ) => {\n this.updateValue(value);\n },\n (error) => this.hasError(error)\n );\n }\n\n getDeviceStatus() {\n this.deviceSubscription = this.service.getDevice().subscribe((device) => {\n if (device) {\n this.color = 'warn';\n this.mode = 'indeterminate';\n this.value = 0;\n } else {\n // device not connected or disconnected\n this.value = 0;\n this.mode = 'determinate';\n this.color = 'primary';\n }\n }, this.hasError.bind(this));\n }\n\n requestValue() {\n this.valuesSubscription = this.service.value().subscribe({\n next: (\n val:\n | number\n | {\n [key: string]: number;\n }\n ) => this.updateValue(val),\n error: (err) => this.hasError(err),\n });\n }\n\n updateValue(\n value:\n | number\n | {\n [key: string]: number;\n }\n ) {\n\n if (typeof value === 'number') {\n this.value = value;\n } else {\n this.value = value[''];\n }\n\n this.console.log('Reading battery level %d', value);\n this.mode = 'determinate';\n }\n\n disconnect() {\n this.service.disconnectDevice();\n this.deviceSubscription!.unsubscribe();\n this.valuesSubscription!.unsubscribe();\n }\n\n hasError(error: string) {\n this.snackBar.open(error, 'Close');\n }\n\n ngOnDestroy() {\n this.valuesSubscription?.unsubscribe();\n this.deviceSubscription?.unsubscribe();\n this.streamSubscription?.unsubscribe();\n }\n}\n\n \n\n\n \n \n :host {\n display: flex;\n justify-content: center;\n flex-direction: row;\n text-align: center;\n }\n span {\n font-size: 5em;\n position: absolute;\n top: 222px;\n width: 120px;\n display: block;\n text-align: center;\n }\n sup {\n font-size: 24px;\n }\n mat-progress-spinner {\n top: 90px;\n left: 5px;\n }\n mat-icon {\n position: absolute;\n bottom: 255px;\n }\n \n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = '{{ value || \\'000\\' }}%battery_charging_full'\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ble-root'},{'name': 'BatteryLevelComponent', 'selector': 'ble-battery-level'},{'name': 'DashboardComponent', 'selector': 'ble-dashboard'},{'name': 'HumidityComponent', 'selector': 'ble-humidity'},{'name': 'StepCounterComponent', 'selector': 'ble-stepcounter'},{'name': 'TemperatureComponent', 'selector': 'ble-temperature'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'BatteryLevelComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/BleService.html":{"url":"injectables/BleService.html","title":"injectable - BleService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n BleService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n src/app/ble.service.ts\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n _config\n \n \n Public\n ble\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n config\n \n \n disconnectDevice\n \n \n getDevice\n \n \n stream\n \n \n value\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(ble: BluetoothCore)\n \n \n \n \n Defined in src/app/ble.service.ts:17\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n ble\n \n \n BluetoothCore\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n config\n \n \n \n \n \n \nconfig(options: ServiceOptions)\n \n \n\n\n \n \n Defined in src/app/ble.service.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n options\n \n ServiceOptions\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n disconnectDevice\n \n \n \n \n \n \ndisconnectDevice()\n \n \n\n\n \n \n Defined in src/app/ble.service.ts:47\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n getDevice\n \n \n \n \n \n \ngetDevice()\n \n \n\n\n \n \n Defined in src/app/ble.service.ts:25\n \n \n\n\n \n \n\n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n stream\n \n \n \n \n \n \nstream()\n \n \n\n\n \n \n Defined in src/app/ble.service.ts:29\n \n \n\n\n \n \n\n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n value\n \n \n \n \n \n \nvalue()\n \n \n\n\n \n \n Defined in src/app/ble.service.ts:36\n \n \n\n\n \n \n\n \n Returns : any\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n _config\n \n \n \n \n \n \n Type : ServiceOptions\n\n \n \n \n \n Default value : {} as any\n \n \n \n \n Defined in src/app/ble.service.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n Public\n ble\n \n \n \n \n \n \n Type : BluetoothCore\n\n \n \n \n \n Defined in src/app/ble.service.ts:19\n \n \n\n\n \n \n\n\n \n\n\n \n import { Injectable } from '@angular/core';\nimport { BluetoothCore } from '@manekinekko/angular-web-bluetooth';\nimport { map, tap } from 'rxjs/operators';\n\ntype ServiceOptions = {\n characteristic: string;\n service: string,\n decoder(value: DataView): number\n};\n\n@Injectable({\n providedIn: 'root'\n})\nexport class BleService {\n\n // tslint:disable-next-line: variable-name\n private _config: ServiceOptions = {} as any;\n\n constructor(public ble: BluetoothCore) {}\n\n config(options: ServiceOptions) {\n this._config = options;\n }\n\n getDevice() {\n return this.ble.getDevice$();\n }\n\n stream() {\n return this.ble.streamValues$().pipe(\n tap(value => console.log(value)),\n map(this._config.decoder)\n );\n }\n\n value() {\n return this.ble\n .value$({\n service: this._config.service,\n characteristic: this._config.characteristic\n })\n .pipe(\n map(this._config.decoder)\n );\n }\n\n disconnectDevice() {\n this.ble.disconnectDevice();\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/BrowserWebBluetooth.html":{"url":"injectables/BrowserWebBluetooth.html","title":"injectable - BrowserWebBluetooth","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n BrowserWebBluetooth\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/manekinekko/angular-web-bluetooth/src/lib/platform/browser.ts\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n ble\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n requestDevice\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor()\n \n \n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/platform/browser.ts:5\n \n \n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n requestDevice\n \n \n \n \n \n \nrequestDevice(options: RequestDeviceOptions)\n \n \n\n\n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/platform/browser.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n options\n \n RequestDeviceOptions\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n ble\n \n \n \n \n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/platform/browser.ts:5\n \n \n\n\n \n \n\n\n \n\n\n \n import { Injectable } from '@angular/core';\n\n@Injectable()\nexport class BrowserWebBluetooth {\n private ble;\n\n constructor() {\n this.ble = navigator.bluetooth;\n if (!this.ble) {\n throw new Error('Your browser does not support Smart Bluetooth. See http://caniuse.com/#search=Bluetooth for more details.');\n }\n }\n\n requestDevice(options: RequestDeviceOptions): Promise {\n return this.ble.requestDevice(options);\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ConsoleLoggerService.html":{"url":"injectables/ConsoleLoggerService.html","title":"injectable - ConsoleLoggerService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ConsoleLoggerService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/manekinekko/angular-web-bluetooth/src/lib/logger.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n error\n \n \n log\n \n \n warn\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n error\n \n \n \n \n \n \nerror(...args: any[])\n \n \n\n\n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/logger.service.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n args\n \n any[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n log\n \n \n \n \n \n \nlog(...args: any[])\n \n \n\n\n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/logger.service.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n args\n \n any[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n warn\n \n \n \n \n \n \nwarn(...args: any[])\n \n \n\n\n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/logger.service.ts:19\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n args\n \n any[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@angular/core';\n\nexport interface Logger {\n log(args: string[]): void;\n error(args: string[]): void;\n warn(args: string[]): void;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ConsoleLoggerService implements Logger {\n log(...args: any[]) {\n console.log.apply(console, args);\n }\n error(...args: any[]) {\n console.error.apply(console, args);\n }\n warn(...args: any[]) {\n console.warn.apply(console, args);\n }\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class NoLoggerService implements Logger {\n log(...args: any[]) {}\n error(...args: any[]) {}\n warn(...args: any[]) {}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/DashboardComponent.html":{"url":"components/DashboardComponent.html","title":"component - DashboardComponent","body":"\n \n\n\n\n\n\n Components\n \n DashboardComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n src/app/dashboard/dashboard.component.ts\n\n\n\n\n\n\n\n\n Metadata\n \n \n\n\n\n\n\n\n\n\n\n\n\n\n \n selector\n ble-dashboard\n \n\n\n\n \n styleUrls\n ./dashboard.component.css\n \n\n\n\n \n templateUrl\n ./dashboard.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n\n \n Constructor\n \n \n \n \nconstructor()\n \n \n \n \n Defined in src/app/dashboard/dashboard.component.ts:9\n \n \n\n \n \n\n\n\n\n\n\n\n\n\n\n\n \n import { Component } from '@angular/core';\n\n@Component({\n selector: 'ble-dashboard',\n templateUrl: './dashboard.component.html',\n styleUrls: ['./dashboard.component.css'],\n standalone: false\n})\nexport class DashboardComponent {\n\n constructor() {}\n}\n\n \n\n \n \n \n Angular Web BLE Demo\n\n\n\n \n\n \n\n \n \n \n \n Battery Level\n \n more_vert\n \n \n \n bluetooth_searching\n Connect\n \n \n bluetooth_disabled\n Disconnect\n \n \n \n \n {{ device.name }}\n \n \n \n \n \n \n \n\n \n\n \n \n \n \n Humidity Level\n \n more_vert\n \n \n \n bluetooth_searching\n Connect\n \n \n bluetooth_disabled\n Disconnect\n \n \n \n \n {{ device.name }}\n \n \n \n \n \n \n \n\n \n\n \n \n \n \n Temperature\n \n more_vert\n \n \n \n bluetooth_searching\n Connect\n \n \n bluetooth_disabled\n Disconnect\n \n \n \n \n {{ device.name }}\n \n \n \n \n \n \n \n\n \n\n \n \n \n \n Stepper\n \n more_vert\n \n \n \n bluetooth_searching\n Connect\n \n \n bluetooth_disabled\n Disconnect\n \n \n \n \n {{ device.name }}\n \n \n \n \n \n \n \n\n \n\n\n \n\n \n \n ./dashboard.component.css\n \n section {\n padding: 40px;\n max-width: 700px;\n margin: 0 auto;\n}\n\n.mat-toolbar.mat-primary {\n position: sticky;\n top: 0;\n z-index: 1;\n}\n\n.grid-container {\n margin: 20px;\n}\n\n.dashboard-card {\n position: absolute;\n top: 15px;\n left: 15px;\n right: 15px;\n bottom: 15px;\n}\n\n.more-button {\n position: absolute;\n top: 5px;\n right: 10px;\n}\n\n.dashboard-card-content {\n text-align: center;\n}\n\n\nimg {\n width: 32px;\n margin: 0 10px;\n}\n\n.mat-icon {\n margin: 0 10px 0 0;\n}\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' Angular Web BLE Demo Battery Level more_vert bluetooth_searching Connect bluetooth_disabled Disconnect {{ device.name }} Humidity Level more_vert bluetooth_searching Connect bluetooth_disabled Disconnect {{ device.name }} Temperature more_vert bluetooth_searching Connect bluetooth_disabled Disconnect {{ device.name }} Stepper more_vert bluetooth_searching Connect bluetooth_disabled Disconnect {{ device.name }} '\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ble-root'},{'name': 'BatteryLevelComponent', 'selector': 'ble-battery-level'},{'name': 'DashboardComponent', 'selector': 'ble-dashboard'},{'name': 'HumidityComponent', 'selector': 'ble-humidity'},{'name': 'StepCounterComponent', 'selector': 'ble-stepcounter'},{'name': 'TemperatureComponent', 'selector': 'ble-temperature'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'DashboardComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FakeBluetoothDevice.html":{"url":"classes/FakeBluetoothDevice.html","title":"class - FakeBluetoothDevice","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FakeBluetoothDevice\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n gatt\n \n \n Public\n id\n \n \n Private\n listeners\n \n \n Public\n name\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n addEventListener\n \n \n clear\n \n \n disconnect\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(id: string, name: string)\n \n \n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts:12\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n \n string\n \n \n \n No\n \n \n \n \n name\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n gatt\n \n \n \n \n \n \n Type : BluetoothRemoteGATTServer | null\n\n \n \n \n \n Default value : null\n \n \n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts:7\n \n \n\n\n \n \n \n \n \n \n \n \n Public\n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n listeners\n \n \n \n \n \n \n Type : literal type\n\n \n \n \n \n Default value : {\n gattserverdisconnected: []\n }\n \n \n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n Public\n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts:14\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n addEventListener\n \n \n \n \n \n \naddEventListener(type: string, listener: EventListener)\n \n \n\n\n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n type\n \n string\n \n\n \n No\n \n\n\n \n \n listener\n \n EventListener\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n clear\n \n \n \n \n \n \nclear()\n \n \n\n\n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts:29\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n disconnect\n \n \n \n \n \n \ndisconnect()\n \n \n\n\n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts:24\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n export class FakeBluetoothDevice {\n gatt: BluetoothRemoteGATTServer | null = null;\n private listeners: {\n [key: string]: EventListener[]\n } = {\n gattserverdisconnected: []\n };\n\n constructor(public id: string, public name: string) {\n }\n\n addEventListener(type: string, listener: EventListener) {\n this.listeners[type] = [\n ...this.listeners[type],\n listener\n ];\n }\n\n disconnect() {\n const mockedEvent = {target: this} as unknown;\n this.listeners['gattserverdisconnected'].forEach(listener => listener(mockedEvent as Event));\n }\n\n clear() {\n this.id = \"\";\n this.name = \"\";\n this.listeners = {\n gattserverdisconnected: []\n };\n }\n}\n\nexport class FakeBluetoothRemoteGATTServer {\n connected = false;\n\n constructor(public device: any, public services: { [key: string]: { service: any, primary: boolean } }) {\n device.gatt = this;\n }\n\n connect() {\n this.connected = true;\n return Promise.resolve(this);\n }\n\n getPrimaryService(service: BluetoothServiceUUID) {\n return Promise.resolve(this.services[service].service);\n }\n\n disconnect() {\n this.device.disconnect();\n this.connected = false;\n }\n}\n\nexport class FakeBluetoothRemoteGATTService {\n constructor(public device: any, public characteristics: any) {\n this.characteristics.service = this;\n }\n\n getCharacteristic(characteristic: BluetoothCharacteristicUUID) {\n return Promise.resolve(this.characteristics[characteristic]);\n }\n}\n\nexport class FakeBluetoothRemoteGATTCharacteristic {\n value: DataView | undefined;\n properties: BluetoothCharacteristicProperties;\n private readonly initialValue: DataView | undefined;\n private listeners: {\n [key: string]: EventListener[]\n } = {\n characteristicvaluechanged: []\n };\n\n constructor(properties: BluetoothCharacteristicProperties, initialValue?: DataView) {\n this.properties = properties;\n this.value = initialValue;\n this.initialValue = initialValue;\n }\n\n readValue() {\n return Promise.resolve(this.value);\n }\n\n addEventListener(type: string, listener: EventListener) {\n this.listeners[type] = [\n ...this.listeners[type],\n listener\n ];\n }\n\n changeValue(value: DataView) {\n this.value = value;\n const mockedEvent = {target: this} as unknown;\n this.listeners['characteristicvaluechanged'].forEach(listener => listener(mockedEvent as Event));\n }\n\n clear() {\n this.value = this.initialValue;\n this.listeners = {\n characteristicvaluechanged: []\n };\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{"url":"classes/FakeBluetoothRemoteGATTCharacteristic.html","title":"class - FakeBluetoothRemoteGATTCharacteristic","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FakeBluetoothRemoteGATTCharacteristic\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Readonly\n initialValue\n \n \n Private\n listeners\n \n \n properties\n \n \n value\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n addEventListener\n \n \n changeValue\n \n \n clear\n \n \n readValue\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(properties: BluetoothCharacteristicProperties, initialValue?: DataView)\n \n \n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts:78\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n properties\n \n \n BluetoothCharacteristicProperties\n \n \n \n No\n \n \n \n \n initialValue\n \n \n DataView\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Readonly\n initialValue\n \n \n \n \n \n \n Type : DataView | undefined\n\n \n \n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts:73\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n listeners\n \n \n \n \n \n \n Type : literal type\n\n \n \n \n \n Default value : {\n characteristicvaluechanged: []\n }\n \n \n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts:74\n \n \n\n\n \n \n \n \n \n \n \n \n properties\n \n \n \n \n \n \n Type : BluetoothCharacteristicProperties\n\n \n \n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts:72\n \n \n\n\n \n \n \n \n \n \n \n \n value\n \n \n \n \n \n \n Type : DataView | undefined\n\n \n \n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts:71\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n addEventListener\n \n \n \n \n \n \naddEventListener(type: string, listener: EventListener)\n \n \n\n\n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts:90\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n type\n \n string\n \n\n \n No\n \n\n\n \n \n listener\n \n EventListener\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n changeValue\n \n \n \n \n \n \nchangeValue(value: DataView)\n \n \n\n\n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts:97\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n DataView\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n clear\n \n \n \n \n \n \nclear()\n \n \n\n\n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts:103\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n readValue\n \n \n \n \n \n \nreadValue()\n \n \n\n\n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts:86\n \n \n\n\n \n \n\n \n Returns : any\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n export class FakeBluetoothDevice {\n gatt: BluetoothRemoteGATTServer | null = null;\n private listeners: {\n [key: string]: EventListener[]\n } = {\n gattserverdisconnected: []\n };\n\n constructor(public id: string, public name: string) {\n }\n\n addEventListener(type: string, listener: EventListener) {\n this.listeners[type] = [\n ...this.listeners[type],\n listener\n ];\n }\n\n disconnect() {\n const mockedEvent = {target: this} as unknown;\n this.listeners['gattserverdisconnected'].forEach(listener => listener(mockedEvent as Event));\n }\n\n clear() {\n this.id = \"\";\n this.name = \"\";\n this.listeners = {\n gattserverdisconnected: []\n };\n }\n}\n\nexport class FakeBluetoothRemoteGATTServer {\n connected = false;\n\n constructor(public device: any, public services: { [key: string]: { service: any, primary: boolean } }) {\n device.gatt = this;\n }\n\n connect() {\n this.connected = true;\n return Promise.resolve(this);\n }\n\n getPrimaryService(service: BluetoothServiceUUID) {\n return Promise.resolve(this.services[service].service);\n }\n\n disconnect() {\n this.device.disconnect();\n this.connected = false;\n }\n}\n\nexport class FakeBluetoothRemoteGATTService {\n constructor(public device: any, public characteristics: any) {\n this.characteristics.service = this;\n }\n\n getCharacteristic(characteristic: BluetoothCharacteristicUUID) {\n return Promise.resolve(this.characteristics[characteristic]);\n }\n}\n\nexport class FakeBluetoothRemoteGATTCharacteristic {\n value: DataView | undefined;\n properties: BluetoothCharacteristicProperties;\n private readonly initialValue: DataView | undefined;\n private listeners: {\n [key: string]: EventListener[]\n } = {\n characteristicvaluechanged: []\n };\n\n constructor(properties: BluetoothCharacteristicProperties, initialValue?: DataView) {\n this.properties = properties;\n this.value = initialValue;\n this.initialValue = initialValue;\n }\n\n readValue() {\n return Promise.resolve(this.value);\n }\n\n addEventListener(type: string, listener: EventListener) {\n this.listeners[type] = [\n ...this.listeners[type],\n listener\n ];\n }\n\n changeValue(value: DataView) {\n this.value = value;\n const mockedEvent = {target: this} as unknown;\n this.listeners['characteristicvaluechanged'].forEach(listener => listener(mockedEvent as Event));\n }\n\n clear() {\n this.value = this.initialValue;\n this.listeners = {\n characteristicvaluechanged: []\n };\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FakeBluetoothRemoteGATTServer.html":{"url":"classes/FakeBluetoothRemoteGATTServer.html","title":"class - FakeBluetoothRemoteGATTServer","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FakeBluetoothRemoteGATTServer\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n connected\n \n \n Public\n device\n \n \n Public\n services\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n connect\n \n \n disconnect\n \n \n getPrimaryService\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(device: any, services: literal type)\n \n \n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts:39\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n device\n \n \n any\n \n \n \n No\n \n \n \n \n services\n \n \n literal type\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n connected\n \n \n \n \n \n \n Default value : false\n \n \n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts:39\n \n \n\n\n \n \n \n \n \n \n \n \n Public\n device\n \n \n \n \n \n \n Type : any\n\n \n \n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts:41\n \n \n\n\n \n \n \n \n \n \n \n \n Public\n services\n \n \n \n \n \n \n Type : literal type\n\n \n \n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts:41\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n connect\n \n \n \n \n \n \nconnect()\n \n \n\n\n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts:45\n \n \n\n\n \n \n\n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n disconnect\n \n \n \n \n \n \ndisconnect()\n \n \n\n\n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts:54\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n getPrimaryService\n \n \n \n \n \n \ngetPrimaryService(service: BluetoothServiceUUID)\n \n \n\n\n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts:50\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n service\n \n BluetoothServiceUUID\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n export class FakeBluetoothDevice {\n gatt: BluetoothRemoteGATTServer | null = null;\n private listeners: {\n [key: string]: EventListener[]\n } = {\n gattserverdisconnected: []\n };\n\n constructor(public id: string, public name: string) {\n }\n\n addEventListener(type: string, listener: EventListener) {\n this.listeners[type] = [\n ...this.listeners[type],\n listener\n ];\n }\n\n disconnect() {\n const mockedEvent = {target: this} as unknown;\n this.listeners['gattserverdisconnected'].forEach(listener => listener(mockedEvent as Event));\n }\n\n clear() {\n this.id = \"\";\n this.name = \"\";\n this.listeners = {\n gattserverdisconnected: []\n };\n }\n}\n\nexport class FakeBluetoothRemoteGATTServer {\n connected = false;\n\n constructor(public device: any, public services: { [key: string]: { service: any, primary: boolean } }) {\n device.gatt = this;\n }\n\n connect() {\n this.connected = true;\n return Promise.resolve(this);\n }\n\n getPrimaryService(service: BluetoothServiceUUID) {\n return Promise.resolve(this.services[service].service);\n }\n\n disconnect() {\n this.device.disconnect();\n this.connected = false;\n }\n}\n\nexport class FakeBluetoothRemoteGATTService {\n constructor(public device: any, public characteristics: any) {\n this.characteristics.service = this;\n }\n\n getCharacteristic(characteristic: BluetoothCharacteristicUUID) {\n return Promise.resolve(this.characteristics[characteristic]);\n }\n}\n\nexport class FakeBluetoothRemoteGATTCharacteristic {\n value: DataView | undefined;\n properties: BluetoothCharacteristicProperties;\n private readonly initialValue: DataView | undefined;\n private listeners: {\n [key: string]: EventListener[]\n } = {\n characteristicvaluechanged: []\n };\n\n constructor(properties: BluetoothCharacteristicProperties, initialValue?: DataView) {\n this.properties = properties;\n this.value = initialValue;\n this.initialValue = initialValue;\n }\n\n readValue() {\n return Promise.resolve(this.value);\n }\n\n addEventListener(type: string, listener: EventListener) {\n this.listeners[type] = [\n ...this.listeners[type],\n listener\n ];\n }\n\n changeValue(value: DataView) {\n this.value = value;\n const mockedEvent = {target: this} as unknown;\n this.listeners['characteristicvaluechanged'].forEach(listener => listener(mockedEvent as Event));\n }\n\n clear() {\n this.value = this.initialValue;\n this.listeners = {\n characteristicvaluechanged: []\n };\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FakeBluetoothRemoteGATTService.html":{"url":"classes/FakeBluetoothRemoteGATTService.html","title":"class - FakeBluetoothRemoteGATTService","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FakeBluetoothRemoteGATTService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Public\n characteristics\n \n \n Public\n device\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n getCharacteristic\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(device: any, characteristics: any)\n \n \n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts:60\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n device\n \n \n any\n \n \n \n No\n \n \n \n \n characteristics\n \n \n any\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Public\n characteristics\n \n \n \n \n \n \n Type : any\n\n \n \n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts:61\n \n \n\n\n \n \n \n \n \n \n \n \n Public\n device\n \n \n \n \n \n \n Type : any\n\n \n \n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts:61\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getCharacteristic\n \n \n \n \n \n \ngetCharacteristic(characteristic: BluetoothCharacteristicUUID)\n \n \n\n\n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts:65\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n characteristic\n \n BluetoothCharacteristicUUID\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n export class FakeBluetoothDevice {\n gatt: BluetoothRemoteGATTServer | null = null;\n private listeners: {\n [key: string]: EventListener[]\n } = {\n gattserverdisconnected: []\n };\n\n constructor(public id: string, public name: string) {\n }\n\n addEventListener(type: string, listener: EventListener) {\n this.listeners[type] = [\n ...this.listeners[type],\n listener\n ];\n }\n\n disconnect() {\n const mockedEvent = {target: this} as unknown;\n this.listeners['gattserverdisconnected'].forEach(listener => listener(mockedEvent as Event));\n }\n\n clear() {\n this.id = \"\";\n this.name = \"\";\n this.listeners = {\n gattserverdisconnected: []\n };\n }\n}\n\nexport class FakeBluetoothRemoteGATTServer {\n connected = false;\n\n constructor(public device: any, public services: { [key: string]: { service: any, primary: boolean } }) {\n device.gatt = this;\n }\n\n connect() {\n this.connected = true;\n return Promise.resolve(this);\n }\n\n getPrimaryService(service: BluetoothServiceUUID) {\n return Promise.resolve(this.services[service].service);\n }\n\n disconnect() {\n this.device.disconnect();\n this.connected = false;\n }\n}\n\nexport class FakeBluetoothRemoteGATTService {\n constructor(public device: any, public characteristics: any) {\n this.characteristics.service = this;\n }\n\n getCharacteristic(characteristic: BluetoothCharacteristicUUID) {\n return Promise.resolve(this.characteristics[characteristic]);\n }\n}\n\nexport class FakeBluetoothRemoteGATTCharacteristic {\n value: DataView | undefined;\n properties: BluetoothCharacteristicProperties;\n private readonly initialValue: DataView | undefined;\n private listeners: {\n [key: string]: EventListener[]\n } = {\n characteristicvaluechanged: []\n };\n\n constructor(properties: BluetoothCharacteristicProperties, initialValue?: DataView) {\n this.properties = properties;\n this.value = initialValue;\n this.initialValue = initialValue;\n }\n\n readValue() {\n return Promise.resolve(this.value);\n }\n\n addEventListener(type: string, listener: EventListener) {\n this.listeners[type] = [\n ...this.listeners[type],\n listener\n ];\n }\n\n changeValue(value: DataView) {\n this.value = value;\n const mockedEvent = {target: this} as unknown;\n this.listeners['characteristicvaluechanged'].forEach(listener => listener(mockedEvent as Event));\n }\n\n clear() {\n this.value = this.initialValue;\n this.listeners = {\n characteristicvaluechanged: []\n };\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/HumidityComponent.html":{"url":"components/HumidityComponent.html","title":"component - HumidityComponent","body":"\n \n\n\n\n\n\n Components\n \n HumidityComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n src/app/thingy52/humidity.component.ts\n\n\n\n\n\n \n Implements\n \n \n OnInit\n OnDestroy\n \n\n\n\n Metadata\n \n \n\n\n\n\n\n\n\n\n\n\n \n providers\n \n PROVIDERS\n \n \n\n\n \n selector\n ble-humidity\n \n\n\n\n\n \n styles\n \n :host {\n display: block;\n }\n canvas {\n margin-left: -16px;\n }\n \n\n \n template\n \n\n \n\n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n chart\n \n \n \n chartRef\n \n \n series\n \n \n Public\n service\n \n \n Public\n snackBar\n \n \n streamSubscription\n \n \n valuesSubscription\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n disconnect\n \n \n hasError\n \n \n initChart\n \n \n ngOnDestroy\n \n \n ngOnInit\n \n \n requestValue\n \n \n updateValue\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n device\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(service: BleService, snackBar: MatSnackBar)\n \n \n \n \n Defined in src/app/thingy52/humidity.component.ts:49\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n service\n \n \n BleService\n \n \n \n No\n \n \n \n \n snackBar\n \n \n MatSnackBar\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n disconnect\n \n \n \n \n \n \ndisconnect()\n \n \n\n\n \n \n Defined in src/app/thingy52/humidity.component.ts:102\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n hasError\n \n \n \n \n \n \nhasError(error: string)\n \n \n\n\n \n \n Defined in src/app/thingy52/humidity.component.ts:109\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n error\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n initChart\n \n \n \n \n \n \ninitChart()\n \n \n\n\n \n \n Defined in src/app/thingy52/humidity.component.ts:72\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n ngOnDestroy\n \n \n \n \n \n \nngOnDestroy()\n \n \n\n\n \n \n Defined in src/app/thingy52/humidity.component.ts:113\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n ngOnInit\n \n \n \n \n \n \nngOnInit()\n \n \n\n\n \n \n Defined in src/app/thingy52/humidity.component.ts:62\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n requestValue\n \n \n \n \n \n \nrequestValue()\n \n \n\n\n \n \n Defined in src/app/thingy52/humidity.component.ts:82\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n updateValue\n \n \n \n \n \n \nupdateValue(value: number | literal type)\n \n \n\n\n \n \n Defined in src/app/thingy52/humidity.component.ts:91\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n number | literal type\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n chart\n \n \n \n \n \n \n Type : SmoothieChart | null\n\n \n \n \n \n Default value : null\n \n \n \n \n Defined in src/app/thingy52/humidity.component.ts:40\n \n \n\n\n \n \n \n \n \n \n \n \n \n chartRef\n \n \n \n \n \n \n Type : ElementRef | null\n\n \n \n \n \n Default value : null\n \n \n \n \n Decorators : \n \n \n @ViewChild('chart', {static: true})\n \n \n \n \n \n Defined in src/app/thingy52/humidity.component.ts:45\n \n \n\n\n \n \n \n \n \n \n \n \n series\n \n \n \n \n \n \n Type : TimeSeries | null\n\n \n \n \n \n Default value : null\n \n \n \n \n Defined in src/app/thingy52/humidity.component.ts:39\n \n \n\n\n \n \n \n \n \n \n \n \n Public\n service\n \n \n \n \n \n \n Type : BleService\n\n \n \n \n \n Defined in src/app/thingy52/humidity.component.ts:52\n \n \n\n\n \n \n \n \n \n \n \n \n Public\n snackBar\n \n \n \n \n \n \n Type : MatSnackBar\n\n \n \n \n \n Defined in src/app/thingy52/humidity.component.ts:53\n \n \n\n\n \n \n \n \n \n \n \n \n streamSubscription\n \n \n \n \n \n \n Type : Subscription | null\n\n \n \n \n \n Default value : null\n \n \n \n \n Defined in src/app/thingy52/humidity.component.ts:42\n \n \n\n\n \n \n \n \n \n \n \n \n valuesSubscription\n \n \n \n \n \n \n Type : Subscription | null\n\n \n \n \n \n Default value : null\n \n \n \n \n Defined in src/app/thingy52/humidity.component.ts:41\n \n \n\n\n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n device\n \n \n\n \n \n getdevice()\n \n \n \n \n Defined in src/app/thingy52/humidity.component.ts:47\n \n \n\n \n \n\n\n\n\n \n import { Component, ElementRef, OnDestroy, OnInit, ViewChild } from '@angular/core';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { BluetoothCore, BrowserWebBluetooth, ConsoleLoggerService } from '@manekinekko/angular-web-bluetooth';\nimport { of, Subscription } from 'rxjs';\nimport { SmoothieChart, TimeSeries } from 'smoothie';\nimport { BleService } from '../ble.service';\n\nexport const bleCore = (b: BrowserWebBluetooth, l: ConsoleLoggerService) => new BluetoothCore(b, l);\nexport const bleService = (b: BluetoothCore) => new BleService(b);\n\n\n// make sure we get a singleton instance of each service\nconst PROVIDERS = [{\n provide: BluetoothCore,\n useFactory: bleCore,\n deps: [BrowserWebBluetooth, ConsoleLoggerService]\n}, {\n provide: BleService,\n useFactory: bleService,\n deps: [BluetoothCore]\n}];\n\n@Component({\n selector: 'ble-humidity',\n template: `\n \n `,\n styles: [`\n :host {\n display: block;\n }\n canvas {\n margin-left: -16px;\n }`],\n providers: PROVIDERS,\n standalone: false\n})\nexport class HumidityComponent implements OnInit, OnDestroy {\n series: TimeSeries | null = null;\n chart: SmoothieChart | null = null;\n valuesSubscription: Subscription | null = null;\n streamSubscription: Subscription | null = null;\n\n @ViewChild('chart', { static: true })\n chartRef: ElementRef | null = null;\n\n get device() {\n return this.service.getDevice();\n }\n\n constructor(\n public service: BleService,\n public snackBar: MatSnackBar) {\n\n service.config({\n decoder: (value: DataView) => value.getInt8(0),\n service: 'ef680200-9b35-4933-9b10-52ffa9740042',\n characteristic: 'ef680203-9b35-4933-9b10-52ffa9740042'\n });\n }\n\n ngOnInit() {\n this.initChart();\n\n this.streamSubscription = this.service.stream()\n .subscribe({\n next: (val: number | { [key: string]: number; }) => this.updateValue(val),\n error: (err) => this.hasError(err)\n });\n }\n\n initChart() {\n this.series = new window.TimeSeries() as TimeSeries;\n const canvas = this.chartRef!.nativeElement;\n // tslint:disable-next-line: max-line-length\n this.chart = new window.SmoothieChart({ interpolation: 'step', grid: { fillStyle: '#ffffff', strokeStyle: 'rgba(119,119,119,0.18)', borderVisible: false }, labels: { fillStyle: '#000000', fontSize: 17 }, tooltip: true });\n this.chart!.addTimeSeries(this.series, { lineWidth: 1, strokeStyle: '#ff0000', fillStyle: 'rgba(255,161,161,0.30)' });\n this.chart!.streamTo(canvas);\n this.chart!.stop();\n }\n\n requestValue() {\n this.valuesSubscription = this.service.value()\n .subscribe(\n () => null,\n () => of(this.hasError.bind(this)),\n );\n }\n\n\n updateValue(value: number | { [key: string]: number; }) {\n console.log('Reading humidity %d', value);\n\n if (typeof value === 'number') {\n this.series!.append(Date.now(), value);\n this.chart!.start();\n }\n\n }\n\n\n disconnect() {\n this.service.disconnectDevice();\n this.series!.clear();\n this.chart!.stop();\n this.valuesSubscription!.unsubscribe();\n }\n\n hasError(error: string) {\n this.snackBar.open(error, 'Close');\n }\n\n ngOnDestroy() {\n this.valuesSubscription!.unsubscribe();\n this.streamSubscription!.unsubscribe();\n }\n}\n\n \n\n\n \n \n :host {\n display: block;\n }\n canvas {\n margin-left: -16px;\n }\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ''\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ble-root'},{'name': 'BatteryLevelComponent', 'selector': 'ble-battery-level'},{'name': 'DashboardComponent', 'selector': 'ble-dashboard'},{'name': 'HumidityComponent', 'selector': 'ble-humidity'},{'name': 'StepCounterComponent', 'selector': 'ble-stepcounter'},{'name': 'TemperatureComponent', 'selector': 'ble-temperature'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'HumidityComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/Logger.html":{"url":"interfaces/Logger.html","title":"interface - Logger","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n Logger\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/manekinekko/angular-web-bluetooth/src/lib/logger.service.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Methods\n \n \n \n \n \n \n \n error\n \n \n \n \n log\n \n \n \n \n warn\n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n error\n \n \n \n \n \n \nerror(args: string[])\n \n \n\n\n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/logger.service.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n args\n \n string[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n log\n \n \n \n \n \n \nlog(args: string[])\n \n \n\n\n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/logger.service.ts:4\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n args\n \n string[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n warn\n \n \n \n \n \n \nwarn(args: string[])\n \n \n\n\n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/logger.service.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n args\n \n string[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@angular/core';\n\nexport interface Logger {\n log(args: string[]): void;\n error(args: string[]): void;\n warn(args: string[]): void;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ConsoleLoggerService implements Logger {\n log(...args: any[]) {\n console.log.apply(console, args);\n }\n error(...args: any[]) {\n console.error.apply(console, args);\n }\n warn(...args: any[]) {\n console.warn.apply(console, args);\n }\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class NoLoggerService implements Logger {\n log(...args: any[]) {}\n error(...args: any[]) {}\n warn(...args: any[]) {}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/NoLoggerService.html":{"url":"injectables/NoLoggerService.html","title":"injectable - NoLoggerService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n NoLoggerService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/manekinekko/angular-web-bluetooth/src/lib/logger.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n error\n \n \n log\n \n \n warn\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n error\n \n \n \n \n \n \nerror(...args: any[])\n \n \n\n\n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/logger.service.ts:29\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n args\n \n any[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n log\n \n \n \n \n \n \nlog(...args: any[])\n \n \n\n\n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/logger.service.ts:28\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n args\n \n any[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n warn\n \n \n \n \n \n \nwarn(...args: any[])\n \n \n\n\n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/logger.service.ts:30\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n args\n \n any[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@angular/core';\n\nexport interface Logger {\n log(args: string[]): void;\n error(args: string[]): void;\n warn(args: string[]): void;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ConsoleLoggerService implements Logger {\n log(...args: any[]) {\n console.log.apply(console, args);\n }\n error(...args: any[]) {\n console.error.apply(console, args);\n }\n warn(...args: any[]) {\n console.warn.apply(console, args);\n }\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class NoLoggerService implements Logger {\n log(...args: any[]) {}\n error(...args: any[]) {}\n warn(...args: any[]) {}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ServerWebBluetooth.html":{"url":"injectables/ServerWebBluetooth.html","title":"injectable - ServerWebBluetooth","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ServerWebBluetooth\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/manekinekko/angular-web-bluetooth/src/lib/platform/server.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n instance\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n instance\n \n \n \n \n \n \n \n instance()\n \n \n\n\n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/platform/server.ts:5\n \n \n\n\n \n \n\n \n Returns : {}\n\n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@angular/core';\n\n@Injectable()\nexport class ServerWebBluetooth {\n static instance() {\n // mocked object for now\n return {};\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/StepCounterComponent.html":{"url":"components/StepCounterComponent.html","title":"component - StepCounterComponent","body":"\n \n\n\n\n\n\n Components\n \n StepCounterComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n src/app/thingy52/stepcounter.component.ts\n\n\n\n\n\n \n Implements\n \n \n OnInit\n OnDestroy\n \n\n\n\n Metadata\n \n \n\n\n\n\n\n\n\n\n\n\n \n providers\n \n PROVIDERS\n \n \n\n\n \n selector\n ble-stepcounter\n \n\n\n\n\n \n styles\n \n :host {\n display: block;\n }\n span {\n font-size: 5em;\n position: absolute;\n top: 112px;\n left: 214px;\n width: 120px;\n display: block;\n text-align: center;\n }\n mat-icon {\n font-size: 11em;\n width: 100%;\n height: 100%;\n }\n \n\n \n template\n {{ value || \"000\" }}\ndirections_walk\n\n \n\n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Public\n service\n \n \n Public\n snackBar\n \n \n streamSubscription\n \n \n value\n \n \n valuesSubscription\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n disconnect\n \n \n hasError\n \n \n ngOnDestroy\n \n \n ngOnInit\n \n \n requestValue\n \n \n updateValue\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n device\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(service: BleService, snackBar: MatSnackBar)\n \n \n \n \n Defined in src/app/thingy52/stepcounter.component.ts:56\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n service\n \n \n BleService\n \n \n \n No\n \n \n \n \n snackBar\n \n \n MatSnackBar\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n disconnect\n \n \n \n \n \n \ndisconnect()\n \n \n\n\n \n \n Defined in src/app/thingy52/stepcounter.component.ts:91\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n hasError\n \n \n \n \n \n \nhasError(error: string)\n \n \n\n\n \n \n Defined in src/app/thingy52/stepcounter.component.ts:96\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n error\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n ngOnDestroy\n \n \n \n \n \n \nngOnDestroy()\n \n \n\n\n \n \n Defined in src/app/thingy52/stepcounter.component.ts:100\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n ngOnInit\n \n \n \n \n \n \nngOnInit()\n \n \n\n\n \n \n Defined in src/app/thingy52/stepcounter.component.ts:73\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n requestValue\n \n \n \n \n \n \nrequestValue()\n \n \n\n\n \n \n Defined in src/app/thingy52/stepcounter.component.ts:81\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n updateValue\n \n \n \n \n \n \nupdateValue(value: number)\n \n \n\n\n \n \n Defined in src/app/thingy52/stepcounter.component.ts:86\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Public\n service\n \n \n \n \n \n \n Type : BleService\n\n \n \n \n \n Defined in src/app/thingy52/stepcounter.component.ts:59\n \n \n\n\n \n \n \n \n \n \n \n \n Public\n snackBar\n \n \n \n \n \n \n Type : MatSnackBar\n\n \n \n \n \n Defined in src/app/thingy52/stepcounter.component.ts:60\n \n \n\n\n \n \n \n \n \n \n \n \n streamSubscription\n \n \n \n \n \n \n Type : Subscription | null\n\n \n \n \n \n Default value : null\n \n \n \n \n Defined in src/app/thingy52/stepcounter.component.ts:51\n \n \n\n\n \n \n \n \n \n \n \n \n value\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Default value : 0\n \n \n \n \n Defined in src/app/thingy52/stepcounter.component.ts:52\n \n \n\n\n \n \n \n \n \n \n \n \n valuesSubscription\n \n \n \n \n \n \n Type : Subscription | null\n\n \n \n \n \n Default value : null\n \n \n \n \n Defined in src/app/thingy52/stepcounter.component.ts:50\n \n \n\n\n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n device\n \n \n\n \n \n getdevice()\n \n \n \n \n Defined in src/app/thingy52/stepcounter.component.ts:54\n \n \n\n \n \n\n\n\n\n \n import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { BluetoothCore, BrowserWebBluetooth, ConsoleLoggerService } from '@manekinekko/angular-web-bluetooth';\nimport { Subscription } from 'rxjs';\nimport { BleService } from '../ble.service';\n\nexport const bleCore = (b: BrowserWebBluetooth, l: ConsoleLoggerService) => new BluetoothCore(b, l);\nexport const bleService = (b: BluetoothCore) => new BleService(b);\n\n\n// make sure we get a singleton instance of each service\nconst PROVIDERS = [{\n provide: BluetoothCore,\n useFactory: bleCore,\n deps: [BrowserWebBluetooth, ConsoleLoggerService]\n}, {\n provide: BleService,\n useFactory: bleService,\n deps: [BluetoothCore]\n}];\n\n@Component({\n selector: 'ble-stepcounter',\n template: `\n {{ value || \"000\" }}\n directions_walk\n `,\n styles: [`\n :host {\n display: block;\n }\n span {\n font-size: 5em;\n position: absolute;\n top: 112px;\n left: 214px;\n width: 120px;\n display: block;\n text-align: center;\n }\n mat-icon {\n font-size: 11em;\n width: 100%;\n height: 100%;\n }`],\n providers: PROVIDERS,\n standalone: false\n})\nexport class StepCounterComponent implements OnInit, OnDestroy {\n valuesSubscription: Subscription | null = null;\n streamSubscription: Subscription | null = null;\n value = 0;\n\n get device() {\n return this.service.getDevice();\n }\n\n constructor(\n public service: BleService,\n public snackBar: MatSnackBar) {\n\n service.config({\n decoder: (value: DataView) => {\n const count = value.getUint32(0, true);\n const time = value.getUint32(4, true);\n return count;\n },\n service: 'ef680400-9b35-4933-9b10-52ffa9740042',\n characteristic: 'ef680405-9b35-4933-9b10-52ffa9740042'\n });\n }\n\n ngOnInit() {\n this.streamSubscription = this.service.stream()\n .subscribe({\n next: (val: number) => this.updateValue(val),\n error: (err) => this.hasError(err)\n });\n }\n\n requestValue() {\n this.valuesSubscription = this.service.value()\n .subscribe(() => null, error => this.hasError.bind(this));\n }\n\n updateValue(value: number) {\n console.log('Reading step counter %d', value);\n this.value = value;\n }\n\n disconnect() {\n this.service.disconnectDevice();\n this.valuesSubscription!.unsubscribe();\n }\n\n hasError(error: string) {\n this.snackBar.open(error, 'Close');\n }\n\n ngOnDestroy() {\n this.valuesSubscription!.unsubscribe();\n this.streamSubscription!.unsubscribe();\n }\n}\n\n\n\n \n\n\n \n \n :host {\n display: block;\n }\n span {\n font-size: 5em;\n position: absolute;\n top: 112px;\n left: 214px;\n width: 120px;\n display: block;\n text-align: center;\n }\n mat-icon {\n font-size: 11em;\n width: 100%;\n height: 100%;\n }\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = '{{ value || \"000\" }}directions_walk'\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ble-root'},{'name': 'BatteryLevelComponent', 'selector': 'ble-battery-level'},{'name': 'DashboardComponent', 'selector': 'ble-dashboard'},{'name': 'HumidityComponent', 'selector': 'ble-humidity'},{'name': 'StepCounterComponent', 'selector': 'ble-stepcounter'},{'name': 'TemperatureComponent', 'selector': 'ble-temperature'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'StepCounterComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/TemperatureComponent.html":{"url":"components/TemperatureComponent.html","title":"component - TemperatureComponent","body":"\n \n\n\n\n\n\n Components\n \n TemperatureComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n src/app/thingy52/temperature.component.ts\n\n\n\n\n\n \n Implements\n \n \n OnInit\n OnDestroy\n \n\n\n\n Metadata\n \n \n\n\n\n\n\n\n\n\n\n\n \n providers\n \n PROVIDERS\n \n \n\n\n \n selector\n ble-temperature\n \n\n\n\n\n \n styles\n \n :host {\n display: block;\n }\n canvas {\n margin-left: -16px;\n }\n \n \n\n \n template\n \n \n\n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n chart\n \n \n \n chartRef\n \n \n series\n \n \n Public\n service\n \n \n Public\n snackBar\n \n \n streamSubscription\n \n \n valuesSubscription\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n disconnect\n \n \n hasError\n \n \n initChart\n \n \n ngOnDestroy\n \n \n ngOnInit\n \n \n requestValue\n \n \n updateValue\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n device\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(service: BleService, snackBar: MatSnackBar)\n \n \n \n \n Defined in src/app/thingy52/temperature.component.ts:63\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n service\n \n \n BleService\n \n \n \n No\n \n \n \n \n snackBar\n \n \n MatSnackBar\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n disconnect\n \n \n \n \n \n \ndisconnect()\n \n \n\n\n \n \n Defined in src/app/thingy52/temperature.component.ts:127\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n hasError\n \n \n \n \n \n \nhasError(error: string)\n \n \n\n\n \n \n Defined in src/app/thingy52/temperature.component.ts:134\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n error\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n initChart\n \n \n \n \n \n \ninitChart()\n \n \n\n\n \n \n Defined in src/app/thingy52/temperature.component.ts:86\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n ngOnDestroy\n \n \n \n \n \n \nngOnDestroy()\n \n \n\n\n \n \n Defined in src/app/thingy52/temperature.component.ts:138\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n ngOnInit\n \n \n \n \n \n \nngOnInit()\n \n \n\n\n \n \n Defined in src/app/thingy52/temperature.component.ts:77\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n requestValue\n \n \n \n \n \n \nrequestValue()\n \n \n\n\n \n \n Defined in src/app/thingy52/temperature.component.ts:111\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n updateValue\n \n \n \n \n \n \nupdateValue(value: number | literal type)\n \n \n\n\n \n \n Defined in src/app/thingy52/temperature.component.ts:118\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n number | literal type\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n chart\n \n \n \n \n \n \n Type : SmoothieChart | null\n\n \n \n \n \n Default value : null\n \n \n \n \n Defined in src/app/thingy52/temperature.component.ts:54\n \n \n\n\n \n \n \n \n \n \n \n \n \n chartRef\n \n \n \n \n \n \n Type : ElementRef | null\n\n \n \n \n \n Default value : null\n \n \n \n \n Decorators : \n \n \n @ViewChild('chart', {static: true})\n \n \n \n \n \n Defined in src/app/thingy52/temperature.component.ts:59\n \n \n\n\n \n \n \n \n \n \n \n \n series\n \n \n \n \n \n \n Type : TimeSeries | null\n\n \n \n \n \n Default value : null\n \n \n \n \n Defined in src/app/thingy52/temperature.component.ts:53\n \n \n\n\n \n \n \n \n \n \n \n \n Public\n service\n \n \n \n \n \n \n Type : BleService\n\n \n \n \n \n Defined in src/app/thingy52/temperature.component.ts:65\n \n \n\n\n \n \n \n \n \n \n \n \n Public\n snackBar\n \n \n \n \n \n \n Type : MatSnackBar\n\n \n \n \n \n Defined in src/app/thingy52/temperature.component.ts:65\n \n \n\n\n \n \n \n \n \n \n \n \n streamSubscription\n \n \n \n \n \n \n Type : Subscription | null\n\n \n \n \n \n Default value : null\n \n \n \n \n Defined in src/app/thingy52/temperature.component.ts:56\n \n \n\n\n \n \n \n \n \n \n \n \n valuesSubscription\n \n \n \n \n \n \n Type : Subscription | null\n\n \n \n \n \n Default value : null\n \n \n \n \n Defined in src/app/thingy52/temperature.component.ts:55\n \n \n\n\n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n device\n \n \n\n \n \n getdevice()\n \n \n \n \n Defined in src/app/thingy52/temperature.component.ts:61\n \n \n\n \n \n\n\n\n\n \n import {\n Component,\n ElementRef,\n OnDestroy,\n OnInit,\n ViewChild,\n} from '@angular/core';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport {\n BluetoothCore,\n BrowserWebBluetooth,\n ConsoleLoggerService,\n} from '@manekinekko/angular-web-bluetooth';\nimport { Subscription } from 'rxjs';\nimport { SmoothieChart, TimeSeries } from 'smoothie';\nimport { BleService } from '../ble.service';\n\nexport const bleCore = (b: BrowserWebBluetooth, l: ConsoleLoggerService) =>\n new BluetoothCore(b, l);\nexport const bleService = (b: BluetoothCore) => new BleService(b);\n\n// make sure we get a singleton instance of each service\nconst PROVIDERS = [\n {\n provide: BluetoothCore,\n useFactory: bleCore,\n deps: [BrowserWebBluetooth, ConsoleLoggerService],\n },\n {\n provide: BleService,\n useFactory: bleService,\n deps: [BluetoothCore],\n },\n];\n\n@Component({\n selector: 'ble-temperature',\n template: ` `,\n styles: [\n `\n :host {\n display: block;\n }\n canvas {\n margin-left: -16px;\n }\n `,\n ],\n providers: PROVIDERS,\n standalone: false\n})\nexport class TemperatureComponent implements OnInit, OnDestroy {\n series: TimeSeries | null = null;\n chart: SmoothieChart | null = null;\n valuesSubscription: Subscription | null = null;\n streamSubscription: Subscription | null = null;\n\n @ViewChild('chart', { static: true })\n chartRef: ElementRef | null = null;\n\n get device() {\n return this.service.getDevice();\n }\n\n constructor(public service: BleService, public snackBar: MatSnackBar) {\n service.config({\n characteristic: 'ef680201-9b35-4933-9b10-52ffa9740042',\n service: 'ef680200-9b35-4933-9b10-52ffa9740042',\n decoder: (value: DataView) => {\n const integer = value.getInt8(0);\n const decimal = value.getUint8(1);\n return integer + decimal / 100;\n },\n });\n }\n\n ngOnInit() {\n this.initChart();\n\n this.streamSubscription = this.service.stream().subscribe({\n next: (val: number | { [key: string]: number; }) => this.updateValue(val),\n error: (err) => this.hasError(err),\n });\n }\n\n initChart() {\n this.series = new window.TimeSeries() as TimeSeries;\n const canvas = this.chartRef!.nativeElement;\n this.chart = new window.SmoothieChart({\n interpolation: 'step',\n grid: {\n fillStyle: '#ffffff',\n strokeStyle: 'rgba(119,119,119,0.18)',\n borderVisible: false,\n },\n labels: {\n fillStyle: '#000000',\n fontSize: 17,\n },\n tooltip: true,\n });\n this.chart!.addTimeSeries(this.series, {\n lineWidth: 1,\n strokeStyle: '#ff0000',\n fillStyle: 'rgba(255,161,161,0.30)',\n });\n this.chart!.streamTo(canvas);\n this.chart!.stop();\n }\n\n requestValue() {\n this.valuesSubscription = this.service.value().subscribe(\n () => null,\n (error) => this.hasError.bind(this)\n );\n }\n\n updateValue(value: number | { [key: string]: number; }) {\n console.log('Reading temperature %d', value);\n\n if (typeof value === 'number') {\n this.series!.append(Date.now(), value);\n this.chart!.start();\n }\n }\n\n disconnect() {\n this.service.disconnectDevice();\n this.series!.clear();\n this.chart!.stop();\n this.valuesSubscription!.unsubscribe();\n }\n\n hasError(error: string) {\n this.snackBar.open(error, 'Close');\n }\n\n ngOnDestroy() {\n this.valuesSubscription!.unsubscribe();\n this.streamSubscription!.unsubscribe();\n }\n}\n\n \n\n\n \n \n :host {\n display: block;\n }\n canvas {\n margin-left: -16px;\n }\n \n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ''\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ble-root'},{'name': 'BatteryLevelComponent', 'selector': 'ble-battery-level'},{'name': 'DashboardComponent', 'selector': 'ble-dashboard'},{'name': 'HumidityComponent', 'selector': 'ble-humidity'},{'name': 'StepCounterComponent', 'selector': 'ble-stepcounter'},{'name': 'TemperatureComponent', 'selector': 'ble-temperature'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'TemperatureComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/WebBluetoothModule.html":{"url":"modules/WebBluetoothModule.html","title":"module - WebBluetoothModule","body":"\n \n\n\n\n\n Modules\n WebBluetoothModule\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/manekinekko/angular-web-bluetooth/src/lib/bluetooth.module.ts\n \n\n\n\n\n\n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n forRoot\n \n \n \n \n \n \n \n forRoot(options: AWBOptions)\n \n \n\n\n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/bluetooth.module.ts:32\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n options\n \n AWBOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : ModuleWithProviders\n\n \n \n \n \n \n \n \n \n\n \n\n\n \n import { NgModule, ModuleWithProviders, InjectionToken, Optional } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { BluetoothCore } from './bluetooth.service';\nimport { BrowserWebBluetooth } from './platform/browser';\n\nimport { ConsoleLoggerService, NoLoggerService } from './logger.service';\n\nexport interface AWBOptions {\n enableTracing?: boolean;\n}\n\nexport function browserWebBluetooth() {\n return new BrowserWebBluetooth();\n}\n\nexport function consoleLoggerServiceConfig(options: AWBOptions) {\n if (options && options.enableTracing) {\n return new ConsoleLoggerService();\n } else {\n return new NoLoggerService();\n }\n}\nexport function makeMeTokenInjector() {\n return new InjectionToken('AWBOptions');\n}\n\n@NgModule({\n imports: [CommonModule]\n})\nexport class WebBluetoothModule {\n static forRoot(options: AWBOptions = {}): ModuleWithProviders {\n return {\n ngModule: WebBluetoothModule,\n providers: [\n BluetoothCore,\n {\n provide: BrowserWebBluetooth,\n useFactory: browserWebBluetooth\n },\n {\n provide: makeMeTokenInjector,\n useValue: options\n },\n {\n provide: ConsoleLoggerService,\n useFactory: consoleLoggerServiceConfig,\n deps: [makeMeTokenInjector]\n }\n ]\n };\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"coverage.html":{"url":"coverage.html","title":"coverage - coverage","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Documentation coverage\n\n\n\n \n\n\n\n \n \n File\n Type\n Identifier\n Statements\n \n \n \n \n \n \n e2e/src/app.po.ts\n \n class\n AppPage\n \n 0 %\n (0/3)\n \n \n \n \n \n projects/manekinekko/angular-web-bluetooth/src/lib/bluetooth.module.ts\n \n interface\n AWBOptions\n \n 0 %\n (0/2)\n \n \n \n \n \n projects/manekinekko/angular-web-bluetooth/src/lib/bluetooth.module.ts\n \n function\n browserWebBluetooth\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/manekinekko/angular-web-bluetooth/src/lib/bluetooth.module.ts\n \n function\n consoleLoggerServiceConfig\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/manekinekko/angular-web-bluetooth/src/lib/bluetooth.module.ts\n \n function\n makeMeTokenInjector\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/manekinekko/angular-web-bluetooth/src/lib/bluetooth.service.ts\n \n injectable\n BluetoothCore\n \n 67 %\n (21/31)\n \n \n \n \n \n projects/manekinekko/angular-web-bluetooth/src/lib/bluetooth.service.ts\n \n type alias\n ReadValueOptions\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/manekinekko/angular-web-bluetooth/src/lib/lang/uuids/ti-sensortag2.ts\n \n variable\n TI_SENSORAG_SERVICES\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/manekinekko/angular-web-bluetooth/src/lib/lang/uuids/ti-sensortag2.ts\n \n variable\n TiTag\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/manekinekko/angular-web-bluetooth/src/lib/logger.service.ts\n \n injectable\n ConsoleLoggerService\n \n 0 %\n (0/4)\n \n \n \n \n \n projects/manekinekko/angular-web-bluetooth/src/lib/logger.service.ts\n \n injectable\n NoLoggerService\n \n 0 %\n (0/4)\n \n \n \n \n \n projects/manekinekko/angular-web-bluetooth/src/lib/logger.service.ts\n \n interface\n Logger\n \n 0 %\n (0/4)\n \n \n \n \n \n projects/manekinekko/angular-web-bluetooth/src/lib/platform/browser.ts\n \n injectable\n BrowserWebBluetooth\n \n 0 %\n (0/4)\n \n \n \n \n \n projects/manekinekko/angular-web-bluetooth/src/lib/platform/server.ts\n \n injectable\n ServerWebBluetooth\n \n 0 %\n (0/2)\n \n \n \n \n \n projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts\n \n class\n FakeBluetoothDevice\n \n 0 %\n (0/9)\n \n \n \n \n \n projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts\n \n class\n FakeBluetoothRemoteGATTCharacteristic\n \n 0 %\n (0/10)\n \n \n \n \n \n projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts\n \n class\n FakeBluetoothRemoteGATTServer\n \n 0 %\n (0/8)\n \n \n \n \n \n projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts\n \n class\n FakeBluetoothRemoteGATTService\n \n 0 %\n (0/5)\n \n \n \n \n \n src/app/app.component.ts\n \n component\n AppComponent\n \n 0 %\n (0/1)\n \n \n \n \n \n src/app/ble.service.ts\n \n injectable\n BleService\n \n 0 %\n (0/9)\n \n \n \n \n \n src/app/ble.service.ts\n \n type alias\n ServiceOptions\n \n 0 %\n (0/1)\n \n \n \n \n \n src/app/dashboard/dashboard.component.ts\n \n component\n DashboardComponent\n \n 0 %\n (0/2)\n \n \n \n \n \n src/app/thingy52/battery-level.component.ts\n \n component\n BatteryLevelComponent\n \n 0 %\n (0/18)\n \n \n \n \n \n src/app/thingy52/battery-level.component.ts\n \n variable\n bleCore\n \n 0 %\n (0/1)\n \n \n \n \n \n src/app/thingy52/battery-level.component.ts\n \n variable\n bleService\n \n 0 %\n (0/1)\n \n \n \n \n \n src/app/thingy52/battery-level.component.ts\n \n variable\n PROVIDERS\n \n 0 %\n (0/1)\n \n \n \n \n \n src/app/thingy52/humidity.component.ts\n \n component\n HumidityComponent\n \n 0 %\n (0/16)\n \n \n \n \n \n src/app/thingy52/humidity.component.ts\n \n variable\n bleCore\n \n 0 %\n (0/1)\n \n \n \n \n \n src/app/thingy52/humidity.component.ts\n \n variable\n bleService\n \n 0 %\n (0/1)\n \n \n \n \n \n src/app/thingy52/humidity.component.ts\n \n variable\n PROVIDERS\n \n 0 %\n (0/1)\n \n \n \n \n \n src/app/thingy52/stepcounter.component.ts\n \n component\n StepCounterComponent\n \n 0 %\n (0/13)\n \n \n \n \n \n src/app/thingy52/stepcounter.component.ts\n \n variable\n bleCore\n \n 0 %\n (0/1)\n \n \n \n \n \n src/app/thingy52/stepcounter.component.ts\n \n variable\n bleService\n \n 0 %\n (0/1)\n \n \n \n \n \n src/app/thingy52/stepcounter.component.ts\n \n variable\n PROVIDERS\n \n 0 %\n (0/1)\n \n \n \n \n \n src/app/thingy52/temperature.component.ts\n \n component\n TemperatureComponent\n \n 0 %\n (0/16)\n \n \n \n \n \n src/app/thingy52/temperature.component.ts\n \n variable\n bleCore\n \n 0 %\n (0/1)\n \n \n \n \n \n src/app/thingy52/temperature.component.ts\n \n variable\n bleService\n \n 0 %\n (0/1)\n \n \n \n \n \n src/app/thingy52/temperature.component.ts\n \n variable\n PROVIDERS\n \n 0 %\n (0/1)\n \n \n \n \n \n src/environments/environment.prod.ts\n \n variable\n environment\n \n 0 %\n (0/1)\n \n \n \n \n \n src/environments/environment.ts\n \n variable\n environment\n \n 0 %\n (0/1)\n \n \n \n\n\n\n\n\n new Tablesort(document.getElementById('coverage-table'));\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"dependencies.html":{"url":"dependencies.html","title":"package-dependencies - dependencies","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n Dependencies\n \n \n \n @angular/animations : ^20.0.5\n \n @angular/cdk : ^20.0.4\n \n @angular/common : ^20.0.5\n \n @angular/compiler : ^20.0.5\n \n @angular/core : ^20.0.5\n \n @angular/forms : ^20.0.5\n \n @angular/material : ^20.0.4\n \n @angular/platform-browser : ^20.0.5\n \n @angular/platform-browser-dynamic : ^20.0.5\n \n @angular/router : ^20.0.5\n \n @types/web-bluetooth : 0.0.6\n \n rxjs : ~7.8.0\n \n smoothie : ^1.35.0\n \n ts-jest : ^29.0.5\n \n tslib : ^2.3.0\n \n zone.js : ~0.15.1\n \n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"miscellaneous/functions.html":{"url":"miscellaneous/functions.html","title":"miscellaneous-functions - functions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Miscellaneous\n Functions\n\n\n\n Index\n \n \n \n \n \n \n browserWebBluetooth   (projects/.../bluetooth.module.ts)\n \n \n consoleLoggerServiceConfig   (projects/.../bluetooth.module.ts)\n \n \n makeMeTokenInjector   (projects/.../bluetooth.module.ts)\n \n \n \n \n \n \n\n\n projects/manekinekko/angular-web-bluetooth/src/lib/bluetooth.module.ts\n \n \n \n \n \n \n \n browserWebBluetooth\n \n \n \n \n \n \nbrowserWebBluetooth()\n \n \n\n\n\n\n \n \n \n \n \n \n \n \n consoleLoggerServiceConfig\n \n \n \n \n \n \nconsoleLoggerServiceConfig(options: AWBOptions)\n \n \n\n\n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n options\n \n AWBOptions\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n makeMeTokenInjector\n \n \n \n \n \n \nmakeMeTokenInjector()\n \n \n\n\n\n\n \n \n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"index.html":{"url":"index.html","title":"getting-started - index","body":"\n \n\n\n \n\nThe missing Web Bluetooth module for Angular\n\n\nInstall\nExample :npm install -S @manekinekko/angular-web-bluetooth @types/web-bluetooth\nNote: Make also sure the @types/web-bluetooth is installed correctly in your node_modules.\n\nGetting started\n1) import the WebBluetoothModule module\nExample :import { NgModule } from '@angular/core';\nimport { WebBluetoothModule } from '@manekinekko/angular-web-bluetooth';\n\n@NgModule({\n imports: [\n //...,\n WebBluetoothModule.forRoot({\n enableTracing: true // or false, this will enable logs in the browser's console\n })\n ]\n //...\n})\nexport class AppModule {}2.a) use it in your service/component (the easiest way)\nHere is an annotated example using the BluetoothCore service:\nExample :import { Injectable } from '@angular/core';\nimport { BluetoothCore } from '@manekinekko/angular-web-bluetooth';\nimport { map } from 'rxjs/operators';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class BatteryLevelService {\n\n constructor(public readonly ble: BluetoothCore) {}\n\n getDevice() {\n // call this method to get the connected device\n return this.ble.getDevice$();\n }\n\n stream() {\n // call this method to get a stream of values emitted by the device for a given characteristic\n return this.ble.streamValues$().pipe(\n map((value: DataView) => value.getInt8(0))\n );\n }\n\n disconnectDevice() {\n // call this method to disconnect from the device. This method will also stop clear all subscribed notifications\n this.ble.disconnectDevice();\n }\n\n value() {\n console.log('Getting Battery level...');\n\n return this.ble\n .value$({\n service: 'battery_service',\n characteristic: 'battery_level'\n });\n }\n\n}2.b) use it in your service/component (the advanced way)\nHere is an annotated example using the BluetoothCore service:\nExample :import { Injectable } from '@angular/core';\nimport { map, mergeMap } from 'rxjs/operators';\nimport { BluetoothCore } from '@manekinekko/angular-web-bluetooth';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class BatteryLevelService {\n static GATT_CHARACTERISTIC_BATTERY_LEVEL = 'battery_level';\n static GATT_PRIMARY_SERVICE = 'battery_service';\n\n constructor(public ble: BluetoothCore) {}\n\n getDevice() {\n // call this method to get the connected device\n return this.ble.getDevice$();\n }\n\n stream() {\n // call this method to get a stream of values emitted by the device\n return this.ble.streamValues$().pipe(map((value: DataView) => value.getUint8(0)));\n }\n\n disconnectDevice() {\n this.ble.disconnectDevice();\n }\n\n /**\n * Get Battery Level GATT Characteristic value.\n * This logic is specific to this service, this is why we can't abstract it elsewhere.\n * The developer is free to provide any service, and characteristics they want.\n *\n * @return Emites the value of the requested service read from the device\n */\n value() {\n console.log('Getting Battery level...');\n\n return this.ble\n\n // 1) call the discover method will trigger the discovery process (by the browser)\n .discover$({\n acceptAllDevices: true,\n optionalServices: [BatteryLevelService.GATT_PRIMARY_SERVICE]\n })\n .pipe(\n\n // 2) get that service\n mergeMap((gatt: BluetoothRemoteGATTServer) => {\n return this.ble.getPrimaryService$(gatt, BatteryLevelService.GATT_PRIMARY_SERVICE);\n }),\n\n // 3) get a specific characteristic on that service\n mergeMap((primaryService: BluetoothRemoteGATTService) => {\n return this.ble.getCharacteristic$(primaryService, BatteryLevelService.GATT_CHARACTERISTIC_BATTERY_LEVEL);\n }),\n\n // 4) ask for the value of that characteristic (will return a DataView)\n mergeMap((characteristic: BluetoothRemoteGATTCharacteristic) => {\n return this.ble.readValue$(characteristic);\n }),\n\n // 5) on that DataView, get the right value\n map((value: DataView) => value.getUint8(0))\n )\n }\n}API documentation\nThe API documentation can be found here: https://manekinekko.github.io/angular-web-bluetooth/\nNeed a starter?\n\n\nThis project serves also as a starter. Run the following command:\nExample :npm startBlog post\nCheckout my full blog post on dev.to about how to use this package in your app.\nHave a PR?\nAll contributions are welcome. Here are few open issues that I need help with ;)\nLicense\nThe MIT License (MIT) Copyright (c) 2017 - Wassim CHEGHAM\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"license.html":{"url":"license.html","title":"getting-started - license","body":"\n \n\nThe MIT License (MIT) Copyright (c) 2017 - Wassim CHEGHAM\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules.html":{"url":"modules.html","title":"modules - modules","body":"\n \n\n\n\n\n Modules\n\n\n \n \n \n \n AppModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n WebBluetoothModule\n \n \n \n No graph available.\n \n \n Browse\n \n \n \n \n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"overview.html":{"url":"overview.html","title":"overview - overview","body":"\n \n\n\n\n Overview\n\n \n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_AppModule\n\n\n\ncluster_AppModule_declarations\n\n\n\ncluster_AppModule_imports\n\n\n\ncluster_AppModule_bootstrap\n\n\n\n\nAppComponent\n\nAppComponent\n\n\n\nAppModule\n\nAppModule\n\nAppModule -->\n\nAppComponent->AppModule\n\n\n\n\n\nBatteryLevelComponent\n\nBatteryLevelComponent\n\nAppModule -->\n\nBatteryLevelComponent->AppModule\n\n\n\n\n\nDashboardComponent\n\nDashboardComponent\n\nAppModule -->\n\nDashboardComponent->AppModule\n\n\n\n\n\nHumidityComponent\n\nHumidityComponent\n\nAppModule -->\n\nHumidityComponent->AppModule\n\n\n\n\n\nStepCounterComponent\n\nStepCounterComponent\n\nAppModule -->\n\nStepCounterComponent->AppModule\n\n\n\n\n\nTemperatureComponent\n\nTemperatureComponent\n\nAppModule -->\n\nTemperatureComponent->AppModule\n\n\n\n\n\nAppComponent \n\nAppComponent \n\nAppComponent -->\n\nAppModule->AppComponent \n\n\n\n\n\nWebBluetoothModule\n\nWebBluetoothModule\n\nAppModule -->\n\nWebBluetoothModule->AppModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n \n\n \n \n \n \n \n \n 2 Modules\n \n \n \n \n \n \n \n \n 6 Components\n \n \n \n \n \n \n \n 6 Injectables\n \n \n \n \n \n \n \n 5 Classes\n \n \n \n \n \n \n \n 2 Interfaces\n \n \n \n \n\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"properties.html":{"url":"properties.html","title":"package-properties - properties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n Properties\n \n \n \n Version : 20.0.0\n \n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"miscellaneous/typealiases.html":{"url":"miscellaneous/typealiases.html","title":"miscellaneous-typealiases - typealiases","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Miscellaneous\n Type aliases\n\n\n\n Index\n \n \n \n \n \n \n ReadValueOptions   (projects/.../bluetooth.service.ts)\n \n \n ServiceOptions   (src/.../ble.service.ts)\n \n \n \n \n \n \n\n\n projects/manekinekko/angular-web-bluetooth/src/lib/bluetooth.service.ts\n \n \n \n \n \n \n ReadValueOptions\n \n \n \n \n literal type\n\n \n \n \n \n src/app/ble.service.ts\n \n \n \n \n \n \n ServiceOptions\n \n \n \n \n literal type\n\n \n \n \n \n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"miscellaneous/variables.html":{"url":"miscellaneous/variables.html","title":"miscellaneous-variables - variables","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Miscellaneous\n Variables\n\n\n\n Index\n \n \n \n \n \n \n bleCore   (src/.../battery-level.component.ts)\n \n \n bleCore   (src/.../humidity.component.ts)\n \n \n bleCore   (src/.../stepcounter.component.ts)\n \n \n bleCore   (src/.../temperature.component.ts)\n \n \n bleService   (src/.../battery-level.component.ts)\n \n \n bleService   (src/.../humidity.component.ts)\n \n \n bleService   (src/.../stepcounter.component.ts)\n \n \n bleService   (src/.../temperature.component.ts)\n \n \n environment   (src/.../environment.prod.ts)\n \n \n environment   (src/.../environment.ts)\n \n \n PROVIDERS   (src/.../battery-level.component.ts)\n \n \n PROVIDERS   (src/.../humidity.component.ts)\n \n \n PROVIDERS   (src/.../stepcounter.component.ts)\n \n \n PROVIDERS   (src/.../temperature.component.ts)\n \n \n TI_SENSORAG_SERVICES   (projects/.../ti-sensortag2.ts)\n \n \n TiTag   (projects/.../ti-sensortag2.ts)\n \n \n \n \n \n \n\n\n src/app/thingy52/battery-level.component.ts\n \n \n \n \n \n \n \n bleCore\n \n \n \n \n \n \n Default value : (b: BrowserWebBluetooth, l: ConsoleLoggerService) =>\n new BluetoothCore(b, l)\n \n \n\n\n \n \n \n \n \n \n \n \n bleService\n \n \n \n \n \n \n Default value : (b: BluetoothCore) => new BleService(b)\n \n \n\n\n \n \n \n \n \n \n \n \n PROVIDERS\n \n \n \n \n \n \n Type : []\n\n \n \n \n \n Default value : [\n {\n provide: BluetoothCore,\n useFactory: bleCore,\n deps: [BrowserWebBluetooth, ConsoleLoggerService],\n },\n {\n provide: BleService,\n useFactory: bleService,\n deps: [BluetoothCore],\n },\n]\n \n \n\n\n \n \n\n src/app/thingy52/humidity.component.ts\n \n \n \n \n \n \n \n bleCore\n \n \n \n \n \n \n Default value : (b: BrowserWebBluetooth, l: ConsoleLoggerService) => new BluetoothCore(b, l)\n \n \n\n\n \n \n \n \n \n \n \n \n bleService\n \n \n \n \n \n \n Default value : (b: BluetoothCore) => new BleService(b)\n \n \n\n\n \n \n \n \n \n \n \n \n PROVIDERS\n \n \n \n \n \n \n Type : []\n\n \n \n \n \n Default value : [{\n provide: BluetoothCore,\n useFactory: bleCore,\n deps: [BrowserWebBluetooth, ConsoleLoggerService]\n}, {\n provide: BleService,\n useFactory: bleService,\n deps: [BluetoothCore]\n}]\n \n \n\n\n \n \n\n src/app/thingy52/stepcounter.component.ts\n \n \n \n \n \n \n \n bleCore\n \n \n \n \n \n \n Default value : (b: BrowserWebBluetooth, l: ConsoleLoggerService) => new BluetoothCore(b, l)\n \n \n\n\n \n \n \n \n \n \n \n \n bleService\n \n \n \n \n \n \n Default value : (b: BluetoothCore) => new BleService(b)\n \n \n\n\n \n \n \n \n \n \n \n \n PROVIDERS\n \n \n \n \n \n \n Type : []\n\n \n \n \n \n Default value : [{\n provide: BluetoothCore,\n useFactory: bleCore,\n deps: [BrowserWebBluetooth, ConsoleLoggerService]\n}, {\n provide: BleService,\n useFactory: bleService,\n deps: [BluetoothCore]\n}]\n \n \n\n\n \n \n\n src/app/thingy52/temperature.component.ts\n \n \n \n \n \n \n \n bleCore\n \n \n \n \n \n \n Default value : (b: BrowserWebBluetooth, l: ConsoleLoggerService) =>\n new BluetoothCore(b, l)\n \n \n\n\n \n \n \n \n \n \n \n \n bleService\n \n \n \n \n \n \n Default value : (b: BluetoothCore) => new BleService(b)\n \n \n\n\n \n \n \n \n \n \n \n \n PROVIDERS\n \n \n \n \n \n \n Type : []\n\n \n \n \n \n Default value : [\n {\n provide: BluetoothCore,\n useFactory: bleCore,\n deps: [BrowserWebBluetooth, ConsoleLoggerService],\n },\n {\n provide: BleService,\n useFactory: bleService,\n deps: [BluetoothCore],\n },\n]\n \n \n\n\n \n \n\n src/environments/environment.prod.ts\n \n \n \n \n \n \n \n environment\n \n \n \n \n \n \n Type : object\n\n \n \n \n \n Default value : {\n production: true\n}\n \n \n\n\n \n \n\n src/environments/environment.ts\n \n \n \n \n \n \n \n environment\n \n \n \n \n \n \n Type : object\n\n \n \n \n \n Default value : {\n production: false\n}\n \n \n\n\n \n \n\n projects/manekinekko/angular-web-bluetooth/src/lib/lang/uuids/ti-sensortag2.ts\n \n \n \n \n \n \n \n TI_SENSORAG_SERVICES\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Default value : Object.keys(TiTag).map((key: string) => (TiTag as any)[key].SERVICE)\n \n \n\n\n \n \n \n \n \n \n \n \n TiTag\n \n \n \n \n \n \n Type : object\n\n \n \n \n \n Default value : {\n\n DEVICE_INFORMATION : {\n SERVICE : 'f000180a-0451-4000-b000-000000000000',\n SYSTEM_ID : 'f0002a23-0451-4000-b000-000000000000',\n MODEL_NUMBER : 'f0002a24-0451-4000-b000-000000000000',\n SERIAL_NUMBER : 'f0002a25-0451-4000-b000-000000000000',\n FIRMWARE_REV : 'f0002a26-0451-4000-b000-000000000000',\n HARDWARE_REV : 'f0002a27-0451-4000-b000-000000000000',\n SOFTWARE_REV : 'f0002a28-0451-4000-b000-000000000000',\n MANIFACTURER : 'f0002a29-0451-4000-b000-000000000000',\n IEEE11073 : 'f0002a2a-0451-4000-b000-000000000000',\n PNP_ID : 'f0002a50-0451-4000-b000-000000000000'\n },\n\n BATTERY : {\n SERVICE : 'f000180f-0451-4000-b000-000000000000',\n LEVEL : 'f0002a19-0451-4000-b000-000000000000'\n },\n\n TEMPERATURE : {\n SERVICE : 'f000aa00-0451-4000-b000-000000000000',\n DATA : 'f000aa01-0451-4000-b000-000000000000',\n CONFIGURATION : 'f000aa02-0451-4000-b000-000000000000',\n PERIOD : 'f000aa03-0451-4000-b000-000000000000'\n },\n\n HUMIDITY : {\n SERVICE : 'f000aa20-0451-4000-b000-000000000000',\n DATA : 'f000aa21-0451-4000-b000-000000000000',\n CONFIGURATION : 'f000aa22-0451-4000-b000-000000000000',\n PERIOD : 'f000aa23-0451-4000-b000-000000000000'\n },\n\n BAROMETER : {\n SERVICE : 'f000aa40-0451-4000-b000-000000000000',\n DATA : 'f000aa41-0451-4000-b000-000000000000',\n CONFIGURATION : 'f000aa42-0451-4000-b000-000000000000',\n PERIOD : 'f000aa44-0451-4000-b000-000000000000'\n },\n\n // service not available in model CC2650\n // ACCELEROMETER : {\n // SERVICE : 'f000aa10-0451-4000-b000-000000000000',\n // DATA : 'f000aa11-0451-4000-b000-000000000000',\n // CONFIGURATION : 'f000aa12-0451-4000-b000-000000000000',\n // PERIOD : 'f000aa13-0451-4000-b000-000000000000'\n // },\n\n // service not available in model CC2650\n // MAGNETOMETER : {\n // SERVICE : 'f000aa30-0451-4000-b000-000000000000',\n // DATA : 'f000aa31-0451-4000-b000-000000000000',\n // CONFIGURATION : 'f000aa32-0451-4000-b000-000000000000',\n // PERIOD : 'f000aa33-0451-4000-b000-000000000000'\n // },\n\n // service not available in model CC2650\n // GYROSCOPE : {\n // SERVICE : 'f000aa50-0451-4000-b000-000000000000',\n // DATA : 'f000aa51-0451-4000-b000-000000000000',\n // CONFIGURATION : 'f000aa52-0451-4000-b000-000000000000',\n // PERIOD : 'f000aa53-0451-4000-b000-000000000000'\n // },\n\n MOVEMENT : {\n SERVICE : 'f000aa80-0451-4000-b000-000000000000',\n DATA : 'f000aa81-0451-4000-b000-000000000000',\n CONFIGURATION : 'f000aa82-0451-4000-b000-000000000000',\n PERIOD : 'f000aa83-0451-4000-b000-000000000000'\n },\n\n LIGHT : {\n SERVICE : 'f000aa70-0451-4000-b000-000000000000',\n DATA : 'f000aa71-0451-4000-b000-000000000000',\n CONFIGURATION : 'f000aa72-0451-4000-b000-000000000000',\n PERIOD : 'f000aa73-0451-4000-b000-000000000000'\n },\n\n KEYPRESS : {\n SERVICE : 'f000ffe0-0451-4000-b000-000000000000',\n STATE : 'f000ffe1-0451-4000-b000-000000000000'\n },\n\n __REGISTER__ : {\n SERVICE : 'f000ac00-0451-4000-b000-000000000000',\n DATA : 'f000ac01-0451-4000-b000-000000000000',\n ADDRESS : 'f000ac02-0451-4000-b000-000000000000',\n DEVICE_ID : 'f000ac03-0451-4000-b000-000000000000'\n },\n\n CONTROL : {\n SERVICE : 'f000ccc0-0451-4000-b000-000000000000',\n CURRENT_USED_PARAMETERS : 'f000ccc1-0451-4000-b000-000000000000',\n REQUEST_NEW_PARAMETERS : 'f000ccc2-0451-4000-b000-000000000000',\n DISCONNECT_REQUEST : 'f000ccc3-0451-4000-b000-000000000000'\n },\n\n OAD : {\n SERVICE : 'f000ffc0-0451-4000-b000-000000000000',\n IMAGE_NOTIFY : 'f000ffc1-0451-4000-b000-000000000000',\n IMAGE_BLOCK_REQUEST : 'f000ffc2-0451-4000-b000-000000000000',\n IMAGE_COUNT : 'f000ffc3-0451-4000-b000-000000000000',\n IMAGE_STATUS : 'f000ffc4-0451-4000-b000-000000000000'\n },\n\n IO : {\n SERVICE : 'f000aa64-0451-4000-b000-000000000000',\n DATA : 'f000aa65-0451-4000-b000-000000000000',\n CONFIG : 'f000aa66-0451-4000-b000-000000000000'\n }\n}\n \n \n\n\n \n \n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"}} } diff --git a/docs/modules/AppModule.html b/docs/modules/AppModule.html index 0c20883..4c6e412 100644 --- a/docs/modules/AppModule.html +++ b/docs/modules/AppModule.html @@ -118,119 +118,119 @@ cluster_AppModule + +cluster_AppModule_declarations + + cluster_AppModule_imports - + cluster_AppModule_bootstrap - - - -cluster_AppModule_declarations - + AppComponent - -AppComponent + +AppComponent AppModule - -AppModule + +AppModule AppComponent->AppModule - - + + BatteryLevelComponent - -BatteryLevelComponent + +BatteryLevelComponent BatteryLevelComponent->AppModule - - + + DashboardComponent - -DashboardComponent + +DashboardComponent DashboardComponent->AppModule - - + + HumidityComponent - -HumidityComponent + +HumidityComponent HumidityComponent->AppModule - - + + StepCounterComponent - -StepCounterComponent + +StepCounterComponent StepCounterComponent->AppModule - - + + TemperatureComponent - -TemperatureComponent + +TemperatureComponent TemperatureComponent->AppModule - - + + AppComponent - -AppComponent + +AppComponent AppModule->AppComponent - - + + WebBluetoothModule - -WebBluetoothModule + +WebBluetoothModule WebBluetoothModule->AppModule - - + + diff --git a/docs/modules/AppModule/dependencies.svg b/docs/modules/AppModule/dependencies.svg index dd21cb1..1bb8609 100644 --- a/docs/modules/AppModule/dependencies.svg +++ b/docs/modules/AppModule/dependencies.svg @@ -24,119 +24,119 @@ cluster_AppModule + +cluster_AppModule_declarations + + cluster_AppModule_imports - + cluster_AppModule_bootstrap - - - -cluster_AppModule_declarations - + AppComponent - -AppComponent + +AppComponent AppModule - -AppModule + +AppModule AppComponent->AppModule - - + + BatteryLevelComponent - -BatteryLevelComponent + +BatteryLevelComponent BatteryLevelComponent->AppModule - - + + DashboardComponent - -DashboardComponent + +DashboardComponent DashboardComponent->AppModule - - + + HumidityComponent - -HumidityComponent + +HumidityComponent HumidityComponent->AppModule - - + + StepCounterComponent - -StepCounterComponent + +StepCounterComponent StepCounterComponent->AppModule - - + + TemperatureComponent - -TemperatureComponent + +TemperatureComponent TemperatureComponent->AppModule - - + + AppComponent - -AppComponent + +AppComponent AppModule->AppComponent - - + + WebBluetoothModule - -WebBluetoothModule + +WebBluetoothModule WebBluetoothModule->AppModule - - + + diff --git a/docs/properties.html b/docs/properties.html index 5a1aeff..cf2c53f 100644 --- a/docs/properties.html +++ b/docs/properties.html @@ -103,7 +103,7 @@
  • - Version : 17.1.0
  • + Version : 20.0.0
diff --git a/package-lock.json b/package-lock.json index cd21bc5..28fc0c5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,12 +9,12 @@ "version": "17.1.0", "dependencies": { "@angular/animations": "^20.0.5", - "@angular/cdk": "^19.2.19", + "@angular/cdk": "^20.0.4", "@angular/common": "^20.0.5", "@angular/compiler": "^20.0.5", "@angular/core": "^20.0.5", "@angular/forms": "^20.0.5", - "@angular/material": "^19.2.19", + "@angular/material": "^20.0.4", "@angular/platform-browser": "^20.0.5", "@angular/platform-browser-dynamic": "^20.0.5", "@angular/router": "^20.0.5", @@ -26,7 +26,7 @@ "zone.js": "~0.15.1" }, "devDependencies": { - "@angular-builders/jest": "^19.0.0", + "@angular-builders/jest": "^20.0.0", "@angular-devkit/build-angular": "^20.0.4", "@angular-devkit/core": "^20.0.4", "@angular/cli": "^20.0.4", @@ -72,260 +72,58 @@ } }, "node_modules/@angular-builders/common": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@angular-builders/common/-/common-3.0.1.tgz", - "integrity": "sha512-AIIqWtlr3sc2+CTEOqbDsrpVvkT6ijfYzvzPk1HLFrcP9Y2tYLXVFc+gGThlE+e1Om0pKminXcINEqm3J/yY5g==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@angular-builders/common/-/common-4.0.0.tgz", + "integrity": "sha512-bepZI1KdXUVhDGqHOudZQJwucSbZWxfWzM+EHFXUoExUO0u7XEuHTF5bhtQZ+YU+ZK2Ayl26QbI/26Yj72vcFQ==", "dev": true, "license": "MIT", "dependencies": { - "@angular-devkit/core": "^19.0.0", + "@angular-devkit/core": "^20.0.0", "ts-node": "^10.0.0", - "tsconfig-paths": "^4.1.0" - }, - "engines": { - "node": "^18.19.1 || ^20.11.1 || >=22.0.0" - } - }, - "node_modules/@angular-builders/common/node_modules/@angular-devkit/core": { - "version": "19.2.15", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-19.2.15.tgz", - "integrity": "sha512-pU2RZYX6vhd7uLSdLwPnuBcr0mXJSjp3EgOXKsrlQFQZevc+Qs+2JdXgIElnOT/aDqtRtriDmLlSbtdE8n3ZbA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ajv": "8.17.1", - "ajv-formats": "3.0.1", - "jsonc-parser": "3.3.1", - "picomatch": "4.0.2", - "rxjs": "7.8.1", - "source-map": "0.7.4" + "tsconfig-paths": "^4.2.0" }, "engines": { - "node": "^18.19.1 || ^20.11.1 || >=22.0.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" - }, - "peerDependencies": { - "chokidar": "^4.0.0" - }, - "peerDependenciesMeta": { - "chokidar": { - "optional": true - } - } - }, - "node_modules/@angular-builders/common/node_modules/ajv-formats": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-3.0.1.tgz", - "integrity": "sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ajv": "^8.0.0" - }, - "peerDependencies": { - "ajv": "^8.0.0" - }, - "peerDependenciesMeta": { - "ajv": { - "optional": true - } - } - }, - "node_modules/@angular-builders/common/node_modules/rxjs": { - "version": "7.8.1", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", - "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.1.0" + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" } }, "node_modules/@angular-builders/jest": { - "version": "19.0.1", - "resolved": "https://registry.npmjs.org/@angular-builders/jest/-/jest-19.0.1.tgz", - "integrity": "sha512-mi4HMQkyb1Z+pPRIKt70Uk/EBoDUirPqhv3xlz1/WpPqpxXz8y+Y3ffutot4JJDmzJw2p4h3x2hh6D3Kbocraw==", + "version": "20.0.0", + "resolved": "https://registry.npmjs.org/@angular-builders/jest/-/jest-20.0.0.tgz", + "integrity": "sha512-3rnobnIdErtjyM3yAAAOdod79lgbkf1QWMFHiRDHW4tw4f+DLFiM2HMFircCoO5WIe/ILEJE9GNxs/vvYa3gvw==", "dev": true, "license": "MIT", "dependencies": { - "@angular-builders/common": "3.0.1", - "@angular-devkit/architect": ">=0.1900.0 < 0.2000.0", - "@angular-devkit/core": "^19.0.0", - "jest-preset-angular": "14.5.4", + "@angular-builders/common": "4.0.0", + "@angular-devkit/architect": ">=0.2000.0 < 0.2100.0", + "@angular-devkit/core": "^20.0.0", + "jest-preset-angular": "14.6.0", "lodash": "^4.17.15" }, "engines": { - "node": "^18.19.1 || ^20.11.1 || >=22.0.0" + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" }, "peerDependencies": { - "@angular-devkit/build-angular": "^19.0.0", - "@angular/compiler-cli": "^19.0.0", - "@angular/core": "^19.0.0", - "@angular/platform-browser-dynamic": "^19.0.0", + "@angular-devkit/build-angular": "^20.0.0", + "@angular/compiler-cli": "^20.0.0", + "@angular/core": "^20.0.0", + "@angular/platform-browser-dynamic": "^20.0.0", "jest": ">=29" } }, - "node_modules/@angular-builders/jest/node_modules/@angular-devkit/core": { - "version": "19.2.15", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-19.2.15.tgz", - "integrity": "sha512-pU2RZYX6vhd7uLSdLwPnuBcr0mXJSjp3EgOXKsrlQFQZevc+Qs+2JdXgIElnOT/aDqtRtriDmLlSbtdE8n3ZbA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ajv": "8.17.1", - "ajv-formats": "3.0.1", - "jsonc-parser": "3.3.1", - "picomatch": "4.0.2", - "rxjs": "7.8.1", - "source-map": "0.7.4" - }, - "engines": { - "node": "^18.19.1 || ^20.11.1 || >=22.0.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" - }, - "peerDependencies": { - "chokidar": "^4.0.0" - }, - "peerDependenciesMeta": { - "chokidar": { - "optional": true - } - } - }, - "node_modules/@angular-builders/jest/node_modules/ajv-formats": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-3.0.1.tgz", - "integrity": "sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ajv": "^8.0.0" - }, - "peerDependencies": { - "ajv": "^8.0.0" - }, - "peerDependenciesMeta": { - "ajv": { - "optional": true - } - } - }, - "node_modules/@angular-builders/jest/node_modules/jest-preset-angular": { - "version": "14.5.4", - "resolved": "https://registry.npmjs.org/jest-preset-angular/-/jest-preset-angular-14.5.4.tgz", - "integrity": "sha512-vbil9qTrZljzVJNsDIxEhWVb4r6BQumXEgIHCAVkHJjpF1fYkIB4bczPAe58lBZH2gKeRHBSj8/IoGpGBI1qiQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "bs-logger": "^0.2.6", - "esbuild-wasm": ">=0.15.13", - "jest-environment-jsdom": "^29.7.0", - "jest-util": "^29.7.0", - "pretty-format": "^29.7.0", - "ts-jest": "^29.3.0" - }, - "engines": { - "node": "^14.15.0 || >=16.10.0" - }, - "optionalDependencies": { - "esbuild": ">=0.15.13" - }, - "peerDependencies": { - "@angular/compiler-cli": ">=15.0.0 <20.0.0", - "@angular/core": ">=15.0.0 <20.0.0", - "@angular/platform-browser-dynamic": ">=15.0.0 <20.0.0", - "jest": "^29.0.0", - "jsdom": ">=20.0.0", - "typescript": ">=4.8" - }, - "peerDependenciesMeta": { - "jsdom": { - "optional": true - } - } - }, - "node_modules/@angular-builders/jest/node_modules/rxjs": { - "version": "7.8.1", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", - "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.1.0" - } - }, "node_modules/@angular-devkit/architect": { - "version": "0.1902.15", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1902.15.tgz", - "integrity": "sha512-RbqhStc6ZoRv57ZqLB36VOkBkAdU3nNezCvIs0AJV5V4+vLPMrb0hpIB0sF+9yMlMjWsolnRsj0/Fil+zQG3bw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@angular-devkit/core": "19.2.15", - "rxjs": "7.8.1" - }, - "engines": { - "node": "^18.19.1 || ^20.11.1 || >=22.0.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" - } - }, - "node_modules/@angular-devkit/architect/node_modules/@angular-devkit/core": { - "version": "19.2.15", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-19.2.15.tgz", - "integrity": "sha512-pU2RZYX6vhd7uLSdLwPnuBcr0mXJSjp3EgOXKsrlQFQZevc+Qs+2JdXgIElnOT/aDqtRtriDmLlSbtdE8n3ZbA==", + "version": "0.2000.4", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.2000.4.tgz", + "integrity": "sha512-pg+EPv/j17ybCoYiKjeRCebkE5CeD009xC6XJfugBmui6CcCQ5UAN82ibBhL869PXR7xCboylcRxlFfcBmvCpA==", "dev": true, "license": "MIT", "dependencies": { - "ajv": "8.17.1", - "ajv-formats": "3.0.1", - "jsonc-parser": "3.3.1", - "picomatch": "4.0.2", - "rxjs": "7.8.1", - "source-map": "0.7.4" + "@angular-devkit/core": "20.0.4", + "rxjs": "7.8.2" }, "engines": { - "node": "^18.19.1 || ^20.11.1 || >=22.0.0", + "node": "^20.19.0 || ^22.12.0 || >=24.0.0", "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", "yarn": ">= 1.13.0" - }, - "peerDependencies": { - "chokidar": "^4.0.0" - }, - "peerDependenciesMeta": { - "chokidar": { - "optional": true - } - } - }, - "node_modules/@angular-devkit/architect/node_modules/ajv-formats": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-3.0.1.tgz", - "integrity": "sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ajv": "^8.0.0" - }, - "peerDependencies": { - "ajv": "^8.0.0" - }, - "peerDependenciesMeta": { - "ajv": { - "optional": true - } - } - }, - "node_modules/@angular-devkit/architect/node_modules/rxjs": { - "version": "7.8.1", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", - "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.1.0" } }, "node_modules/@angular-devkit/build-angular": { @@ -462,22 +260,6 @@ } } }, - "node_modules/@angular-devkit/build-angular/node_modules/@angular-devkit/architect": { - "version": "0.2000.4", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.2000.4.tgz", - "integrity": "sha512-pg+EPv/j17ybCoYiKjeRCebkE5CeD009xC6XJfugBmui6CcCQ5UAN82ibBhL869PXR7xCboylcRxlFfcBmvCpA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@angular-devkit/core": "20.0.4", - "rxjs": "7.8.2" - }, - "engines": { - "node": "^20.19.0 || ^22.12.0 || >=24.0.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" - } - }, "node_modules/@angular-devkit/build-angular/node_modules/@babel/core": { "version": "7.27.1", "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.27.1.tgz", @@ -849,22 +631,6 @@ "webpack-dev-server": "^5.0.2" } }, - "node_modules/@angular-devkit/build-webpack/node_modules/@angular-devkit/architect": { - "version": "0.2000.4", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.2000.4.tgz", - "integrity": "sha512-pg+EPv/j17ybCoYiKjeRCebkE5CeD009xC6XJfugBmui6CcCQ5UAN82ibBhL869PXR7xCboylcRxlFfcBmvCpA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@angular-devkit/core": "20.0.4", - "rxjs": "7.8.2" - }, - "engines": { - "node": "^20.19.0 || ^22.12.0 || >=24.0.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" - } - }, "node_modules/@angular-devkit/core": { "version": "20.0.4", "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-20.0.4.tgz", @@ -1251,22 +1017,6 @@ } } }, - "node_modules/@angular/build/node_modules/@angular-devkit/architect": { - "version": "0.2000.4", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.2000.4.tgz", - "integrity": "sha512-pg+EPv/j17ybCoYiKjeRCebkE5CeD009xC6XJfugBmui6CcCQ5UAN82ibBhL869PXR7xCboylcRxlFfcBmvCpA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@angular-devkit/core": "20.0.4", - "rxjs": "7.8.2" - }, - "engines": { - "node": "^20.19.0 || ^22.12.0 || >=24.0.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" - } - }, "node_modules/@angular/build/node_modules/@babel/core": { "version": "7.27.1", "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.27.1.tgz", @@ -1373,17 +1123,17 @@ } }, "node_modules/@angular/cdk": { - "version": "19.2.19", - "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-19.2.19.tgz", - "integrity": "sha512-PCpJagurPBqciqcq4Z8+3OtKLb7rSl4w/qBJoIMua8CgnrjvA1i+SWawhdtfI1zlY8FSwhzLwXV0CmWWfFzQPg==", + "version": "20.0.4", + "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-20.0.4.tgz", + "integrity": "sha512-NCUuw0qQXwawLsT14JHApNB9or3XGs7D1pWXlOIix/fKqzHVfi4un9xHmpjH2Q1uCiwonuak7fDof8B+IXhbug==", "license": "MIT", "dependencies": { "parse5": "^7.1.2", "tslib": "^2.3.0" }, "peerDependencies": { - "@angular/common": "^19.0.0 || ^20.0.0", - "@angular/core": "^19.0.0 || ^20.0.0", + "@angular/common": "^20.0.0 || ^21.0.0", + "@angular/core": "^20.0.0 || ^21.0.0", "rxjs": "^6.5.3 || ^7.4.0" } }, @@ -1420,22 +1170,6 @@ "yarn": ">= 1.13.0" } }, - "node_modules/@angular/cli/node_modules/@angular-devkit/architect": { - "version": "0.2000.4", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.2000.4.tgz", - "integrity": "sha512-pg+EPv/j17ybCoYiKjeRCebkE5CeD009xC6XJfugBmui6CcCQ5UAN82ibBhL869PXR7xCboylcRxlFfcBmvCpA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@angular-devkit/core": "20.0.4", - "rxjs": "7.8.2" - }, - "engines": { - "node": "^20.19.0 || ^22.12.0 || >=24.0.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" - } - }, "node_modules/@angular/cli/node_modules/semver": { "version": "7.7.2", "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", @@ -1692,19 +1426,19 @@ } }, "node_modules/@angular/material": { - "version": "19.2.19", - "resolved": "https://registry.npmjs.org/@angular/material/-/material-19.2.19.tgz", - "integrity": "sha512-auIE6JUzTIA3LyYklh9J/T7u64crmphxUBgAa0zcOMDog6SYfwbNe9YeLQqua5ek4OUAOdK/BHHfVl5W5iaUoQ==", + "version": "20.0.4", + "resolved": "https://registry.npmjs.org/@angular/material/-/material-20.0.4.tgz", + "integrity": "sha512-ET+znnyOVjBezHsjy7U42/88JPl9Mhumvf01gMBN8mNcaoSpeM4cc2uKBg30/3YzykKIsjXtvUJj/PaTujmJAQ==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" }, "peerDependencies": { - "@angular/cdk": "19.2.19", - "@angular/common": "^19.0.0 || ^20.0.0", - "@angular/core": "^19.0.0 || ^20.0.0", - "@angular/forms": "^19.0.0 || ^20.0.0", - "@angular/platform-browser": "^19.0.0 || ^20.0.0", + "@angular/cdk": "20.0.4", + "@angular/common": "^20.0.0 || ^21.0.0", + "@angular/core": "^20.0.0 || ^21.0.0", + "@angular/forms": "^20.0.0 || ^21.0.0", + "@angular/platform-browser": "^20.0.0 || ^21.0.0", "rxjs": "^6.5.3 || ^7.4.0" } }, diff --git a/package.json b/package.json index 21a10f6..1b93934 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "angular-web-bluetooth-starter", - "version": "17.1.0", + "version": "20.0.0", "scripts": { "ng": "ng", "start": "ng serve", @@ -22,12 +22,12 @@ "private": true, "dependencies": { "@angular/animations": "^20.0.5", - "@angular/cdk": "^19.2.19", + "@angular/cdk": "^20.0.4", "@angular/common": "^20.0.5", "@angular/compiler": "^20.0.5", "@angular/core": "^20.0.5", "@angular/forms": "^20.0.5", - "@angular/material": "^19.2.19", + "@angular/material": "^20.0.4", "@angular/platform-browser": "^20.0.5", "@angular/platform-browser-dynamic": "^20.0.5", "@angular/router": "^20.0.5", diff --git a/projects/manekinekko/angular-web-bluetooth/package.json b/projects/manekinekko/angular-web-bluetooth/package.json index adfebd0..6993ebd 100644 --- a/projects/manekinekko/angular-web-bluetooth/package.json +++ b/projects/manekinekko/angular-web-bluetooth/package.json @@ -1,6 +1,6 @@ { "name": "@manekinekko/angular-web-bluetooth", - "version": "17.0.0", + "version": "20.0.0", "license": "MIT", "author": { "name": "Wassim Chegham", @@ -46,8 +46,8 @@ "sensortag" ], "peerDependencies": { - "@angular/common": "^17.1.0", - "@angular/core": "^17.1.0" + "@angular/common": "^20.0.0", + "@angular/core": "^20.0.0" }, "sideEffects": false } From 20d9ac5035406bf896cea58615a01903229e059d Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 27 Jun 2025 08:11:27 +0000 Subject: [PATCH 08/10] Upgrade CI workflow to use Node.js 22 and update .nvmrc Co-authored-by: manekinekko <1699357+manekinekko@users.noreply.github.com> --- .github/workflows/angular.yml | 6 +++--- .nvmrc | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/angular.yml b/.github/workflows/angular.yml index 432c0f8..cdb072d 100644 --- a/.github/workflows/angular.yml +++ b/.github/workflows/angular.yml @@ -16,13 +16,13 @@ jobs: strategy: matrix: - node-version: [18.x] + node-version: [22.x] # See supported Node.js release schedule at https://nodejs.org/en/about/releases/ steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 - name: Use Node.js ${{ matrix.node-version }} - uses: actions/setup-node@v2 + uses: actions/setup-node@v4 with: node-version: ${{ matrix.node-version }} - run: npm ci --legacy-peer-deps diff --git a/.nvmrc b/.nvmrc index 3c03207..2bd5a0a 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -18 +22 From ff5bb7987a79edab55b920d4ce6892c8f175423a Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 27 Jun 2025 09:43:37 +0000 Subject: [PATCH 09/10] Fix Jest setup deprecation warning by using setupZoneTestEnv function Co-authored-by: manekinekko <1699357+manekinekko@users.noreply.github.com> --- package-lock.json | 4 ++-- projects/manekinekko/angular-web-bluetooth/test-setup.ts | 4 +++- test-setup.ts | 4 +++- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/package-lock.json b/package-lock.json index 28fc0c5..374efbe 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "angular-web-bluetooth-starter", - "version": "17.1.0", + "version": "20.0.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "angular-web-bluetooth-starter", - "version": "17.1.0", + "version": "20.0.0", "dependencies": { "@angular/animations": "^20.0.5", "@angular/cdk": "^20.0.4", diff --git a/projects/manekinekko/angular-web-bluetooth/test-setup.ts b/projects/manekinekko/angular-web-bluetooth/test-setup.ts index 1100b3e..58c511e 100644 --- a/projects/manekinekko/angular-web-bluetooth/test-setup.ts +++ b/projects/manekinekko/angular-web-bluetooth/test-setup.ts @@ -1 +1,3 @@ -import 'jest-preset-angular/setup-jest'; +import { setupZoneTestEnv } from 'jest-preset-angular/setup-env/zone'; + +setupZoneTestEnv(); diff --git a/test-setup.ts b/test-setup.ts index 1100b3e..58c511e 100644 --- a/test-setup.ts +++ b/test-setup.ts @@ -1 +1,3 @@ -import 'jest-preset-angular/setup-jest'; +import { setupZoneTestEnv } from 'jest-preset-angular/setup-env/zone'; + +setupZoneTestEnv(); From f21aa23545fa18392bdbf99d620a49f34637a2a7 Mon Sep 17 00:00:00 2001 From: Wassim Chegham Date: Fri, 27 Jun 2025 13:14:58 +0000 Subject: [PATCH 10/10] chore: Update snapshot styles in BatteryLevelComponent --- .../thingy52/__snapshots__/battery-level.component.spec.ts.snap | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/thingy52/__snapshots__/battery-level.component.spec.ts.snap b/src/app/thingy52/__snapshots__/battery-level.component.spec.ts.snap index 87b7a2f..543bdea 100644 --- a/src/app/thingy52/__snapshots__/battery-level.component.spec.ts.snap +++ b/src/app/thingy52/__snapshots__/battery-level.component.spec.ts.snap @@ -99,7 +99,7 @@ exports[`BatteryLevelComponent should display device connected state 1`] = ` mode="indeterminate" role="progressbar" strokewidth="2" - style="width: 250px; height: 250px; --mdc-circular-progress-size: 250px; --mdc-circular-progress-active-indicator-width: 250px;" + style="width: 250px; height: 250px; --mat-progress-spinner-size: 250px; --mat-progress-spinner-active-indicator-width: 250px;" tabindex="-1" >